/* Folan / 2026 — product collection */
:root { --ink:#202622; --olive:#72783b; --muted:#676c61; --line:#d7d8ce; }
body { -webkit-font-smoothing:antialiased; }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #737d40;outline-offset:5px; }
.hero-visual.has-art { border:0; padding:18px 0; }
.hero-visual.has-art::before,.hero-visual.has-art::after { display:none; }
.hero-visual .tech-label,.tech-caption { display:none; }
h1 { font-size:clamp(23px,3.5vw,52px);letter-spacing:-.055em;line-height:1.12;max-width:none; }
.hero > div { min-width:0; }
.hero-actions .primary { background:#263c32; border-color:#263c32; border-radius:5px; padding:16px 23px; }
.brand-editorial::before { letter-spacing:.06em; }
.catalog-heading { position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:#20372f;color:#f5f3e9; padding:62px 58px;margin-top:90px;border:0;overflow:hidden;border-radius:10px; }
.catalog-heading::after { content:'';position:absolute;right:21%;top:0;height:100%;width:1px;background:#ffffff12; transform:skew(-24deg); }
.catalog-heading .eyebrow { color:#c2cb96; }
.catalog-heading h2 { font-family:"Source Sans 3","Segoe UI",Arial,sans-serif;font-weight:560;font-size:clamp(38px,4.9vw,68px);line-height:1.08;letter-spacing:-.055em;margin:25px 0; }
.catalog-heading h2 span { color:#bdca9c; }
.catalog-intro { color:#d2d9cf;line-height:1.65;font-size:16px; }
.catalog-seal { display:flex;align-items:center;gap:20px;position:relative;z-index:1; }
.catalog-seal strong { font-size:96px;font-weight:420;letter-spacing:-.08em;line-height:1; }
.catalog-seal span { color:#ced5c4;font-size:12px;line-height:1.5; }
.bar { flex-wrap:wrap;gap:16px;margin:24px 0 0;padding:18px 0;top:71px;z-index:12; }
.chips { gap:5px; }
.chips button { border:0;border-radius:5px;padding:10px 12px;font-size:12px; }
.chips button.on { background:#263c32;color:white; }
.search { border:1px solid var(--line);background:#faf9f4;border-radius:5px;width:240px;min-width:0;font-size:13px; }
.result-count { color:var(--muted);font-size:11px;letter-spacing:.06em;margin:12px 0 38px; }
section.family { margin:0 0 78px;scroll-margin-top:195px; }
.family-index { color:var(--olive)!important;font-size:11px;letter-spacing:.06em;margin-bottom:16px!important; }
.family-head { align-items:center;gap:28px;padding-top:0;margin-bottom:28px; }
.family-head h2 { font:560 clamp(28px,3vw,42px)/1.15 "Source Sans 3","Segoe UI",Arial,sans-serif;letter-spacing:-.04em; }
.family-head .story { font-size:14px;max-width:78ch;color:var(--muted);margin-top:15px; }
.family-count { font-size:48px;font-weight:420;line-height:1;opacity:.35; }
.grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.card { display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fffef9;border:1px solid #dcded4;border-radius:9px;padding:0;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s; }
.card:hover { transform:none;border-color:#9ba985;box-shadow:0 14px 28px #20372f0c; }
.product-visual { position:relative;padding:35px 25px 16px;background:#e9ebe2;border-bottom:1px solid #dcded4; }
.product-label { position:absolute;top:16px;left:20px;color:#727b69;font:9px/1.3 ui-monospace,monospace;letter-spacing:.12em; }
.thumb,.thumb.cable-photo { height:142px;width:100%;background-color:transparent;background-size:contain;mix-blend-mode:multiply; }
.product-arrow { position:absolute;right:17px;bottom:15px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #bac2af;border-radius:50%;color:#526247; }
.product-content { padding:24px 22px 0;display:flex;flex-direction:column;flex:1; }
.card .kicker { font:11px/1.5 "Source Sans 3","Segoe UI",Arial,sans-serif;letter-spacing:.035em;color:#697841;text-transform:none;margin-bottom:10px; }
.card h3 { font:700 21px/1.22 "Source Sans 3","Segoe UI",Arial,sans-serif;letter-spacing:-.035em;margin-bottom:14px; }
.card .lead { font-size:13px;line-height:1.65;min-height:64px;margin-bottom:20px; }
.product-facts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:auto;border-top:1px solid #e3e4dc;padding:17px 0; }
.product-facts small { display:block;color:var(--muted);font-size:9px;line-height:1.4;margin-bottom:5px; }
.product-facts strong { display:block;font-size:12px;font-weight:560;line-height:1.4; }
.product-bottom { display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e3e4dc;padding:15px 0; }
.product-bottom .sku { font-size:10px;margin:0; }
.product-more { font-size:10px;color:#324931; }
.shell-PE .product-visual { background:#e1e5e0; }
.shell-HF .product-visual { background:#efe6d8; }
.shell-LSLTx .product-visual { background:#e4ecdb; }
.family-art { border:0;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#e8e9df;margin-bottom:25px; }
.family-art .art-shot,.family-art.cabinet-art .art-shot,.family-art.conduit-art .art-shot { height:230px;aspect-ratio:auto;background:transparent; }
.family-art img { mix-blend-mode:multiply; }
.family-art figcaption { border:0;font-size:15px;padding:32px;max-width:42ch; }
dialog { max-height:90vh;border-radius:12px;width:min(1040px,calc(100% - 32px));background:#fffef9;box-shadow:0 30px 120px #16251b55; }
dialog::backdrop { background:#16251b99;backdrop-filter:blur(5px); }
.sheet { grid-template-columns:30% 1fr;align-items:start; }
.sheet-photo { background-color:#e9ebe2!important;min-height:300px;position:sticky;top:0;border-radius:0;mix-blend-mode:multiply; }
.sheet-body { padding:32px; }
.sheet-body h3 { font-size:26px;letter-spacing:-.035em;line-height:1.25; }
#dlgBody { font-size:14px;line-height:1.75;color:#4d574c; }
#dlgSpecs { margin-top:24px;font-size:12px;width:100%; }
.actions { position:sticky;bottom:0;background:#fffef9;padding:15px 0 0; }
.actions a,.close { border-radius:5px; }
.close { background:#263c32;color:#fff; }
.footer-brand { font-size:23px;letter-spacing:.08em;font-weight:700; }
.footer-brand span { font-size:13px;letter-spacing:0;font-weight:400;margin-left:24px; }
@media(max-width:1150px) { .grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-heading { padding:40px; } .catalog-seal { flex-direction:column;align-items:flex-start;gap:12px; } .bar { position:static; } }
@media(max-width:700px) { .catalog-heading { padding:30px 23px;align-items:flex-start;gap:15px;margin-top:55px; } .catalog-heading h2 { font-size:38px; } .catalog-seal { display:none; } .catalog-intro { font-size:14px; } .grid { grid-template-columns:1fr;gap:18px; } .bar { gap:14px; } .chips { flex-basis:100%; } .chips button { font-size:11px;padding:8px; } .search { width:100%; } .family-count { font-size:34px; } .family-head h2 { font-size:29px; } .family-art { grid-template-columns:1fr; } .family-art .art-shot { height:160px; } .family-art figcaption { padding:18px 24px; } .product-visual { padding-top:32px; } .thumb { height:165px; } .card .lead { min-height:0; } .sheet { display:block; } .sheet-photo { position:static;min-height:170px;height:170px; } .sheet-body { padding:22px; } .sheet-body h3 { font-size:21px;overflow-wrap:anywhere; } .footer-brand span { display:block;margin:10px 0; } section.family { scroll-margin-top:100px; } }
@media(prefers-reduced-motion:reduce) { .card { transition:none; } .card:hover { transform:none; } }
@media print { .catalog-heading { background:white;color:#202622;padding:10mm 0; } .catalog-heading h2 span { color:#4e583b; } .catalog-intro { color:#333; } .catalog-seal,.result-count,.product-arrow,.product-more { display:none; } .grid { grid-template-columns:1fr 1fr;gap:4mm; } .card { break-inside:avoid; } .thumb { height:26mm; } .product-visual { padding:5mm; } .product-label { display:none; } .product-content { padding:4mm; } .card h3 { font-size:12pt; } .card .lead { font-size:9pt;min-height:0; } .product-bottom { padding-bottom:0; } .family-head { break-after:avoid; } .family-head h2 { font-size:22pt; } .bar { display:none; } }
.family-head > div { min-width:0; }
.family-head h2 { overflow-wrap:anywhere; }
@media(max-width:700px) { .family-count { display:none; } .catalog-heading h2 { font-size:clamp(30px,9.7vw,38px); } }

/* The assembly is a primary product, with construction and measured evidence. */
.assembly-feature { scroll-margin-top:95px; }
.assembly-layout { display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center; }
.assembly-layout h2 { font-size:clamp(34px,4vw,54px);line-height:1.1;max-width:15ch;margin:20px 0; }
.assembly-layout .editorial-lead { font-size:18px;line-height:1.65; }
.assembly-layout figure { margin:0; }
.assembly-layout img { width:100%;height:390px;object-fit:contain;mix-blend-mode:multiply; }
.assembly-layout figcaption { border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:12px; }
.assembly-construction { margin:22px 0 14px;color:var(--muted);font-size:14px;line-height:1.7; }
.assembly-catalog-link { display:inline-block;font-size:13px;color:#324931;text-underline-offset:4px; }
.assembly-evidence { display:grid;grid-template-columns:1fr 1.15fr;gap:48px;border-top:2px solid var(--olive);padding-top:30px;margin-top:34px; }
.assembly-evidence h3 { font-size:24px;line-height:1.2;margin:0 0 14px; }
.assembly-evidence p { font-size:14px;line-height:1.65; }
.assembly-evidence .caption { font-size:11px;color:var(--muted);margin-top:16px; }
.assembly-models { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.assembly-models .eyebrow { font-size:10px; }
.assembly-models h3 { margin:10px 0 14px;font-size:24px; }
.assembly-models .assembly-pass { font-size:44px;line-height:1.1;letter-spacing:-.05em;color:#263c32;margin:12px 0; }
.assembly-pass span { font-size:16px;letter-spacing:0; }
.assembly-models a { display:inline-block;margin-top:12px;font-size:12px;text-underline-offset:4px; }
#assemblies .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#assemblies .thumb { height:200px; }
@media(max-width:900px) { .assembly-layout,.assembly-evidence { grid-template-columns:1fr;gap:24px; } .assembly-layout img { height:310px; } }
@media(max-width:700px) { .assembly-layout .editorial-lead { font-size:16px; } .assembly-models { gap:16px; } .assembly-models .assembly-pass { font-size:36px; } .assembly-models .eyebrow { font-size:9px; } .assembly-layout img { height:230px; } #assemblies .grid { grid-template-columns:1fr; } }
@media print { .assembly-layout { grid-template-columns:1fr 1fr;gap:5mm; } .assembly-layout img { height:65mm; } .assembly-layout .editorial-lead { font-size:10pt; } .assembly-evidence { grid-template-columns:1fr;gap:5mm; } .assembly-models .assembly-pass { font-size:26pt; } .assembly-construction { font-size:9pt; } }
@media(max-width:700px) { h1 { font-size:clamp(23px,6.3vw,42px);max-width:none; } }

/* Folan advantages: original SVG icons. */
.advantage-icon { display:block; width:72px; height:72px; object-fit:contain; margin:0 0 20px; }

/* Quick selection, separate from the full assortment. */
.selection-table-wrap { margin-top:28px; overflow-x:auto; }
.selection-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; font-size:15px; line-height:1.5; }
.selection-table th,.selection-table td { padding:18px 16px; border-bottom:1px solid var(--line); vertical-align:top; }
.selection-table thead th { background:#536842; color:#f3f0e7; font-weight:600; }
.selection-table th:first-child { width:24%; }
.selection-table th:nth-child(2) { width:32%; }
.selection-table tbody tr:first-child { background:#e5e8dd; }
@media(max-width:700px) { .selection-table { min-width:640px; font-size:14px; } }
@media print { .selection-table-wrap { overflow:visible; margin-top:0; } .selection-table { min-width:0; font-size:9pt; line-height:1.4; } .selection-table th,.selection-table td { padding:3mm 2mm; } .selection-table tr { break-inside:avoid; } }

/* Editorial type and shared technical diagrams. */
:root { --ink:#161616; --olive:#808000; --paper:#f3f0e7; --sheet:#fffcf6; }
body,button,input { font-family:"Source Sans 3","Segoe UI",Arial,sans-serif; }
h1,h2,h3,.catalog-heading h2,.family-head h2,.card h3,.sheet-body h3 { font-family:"Newsreader",Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.015em; }
h1 { font-size:clamp(32px,4.3vw,64px); line-height:1.1; }
.brand-editorial h2 { font-size:clamp(30px,3.5vw,48px); }
.family-head h2 { font-size:clamp(29px,3.5vw,44px); }
.card h3 { font-size:25px; line-height:1.15; }
.card,.card:hover { transform:none; transition:border-color .2s,box-shadow .2s; }
.inline-arrow { display:inline-block; vertical-align:-.18em; flex:none; }
.product-arrow .inline-arrow { width:23px; height:23px; }
.jacket-sample > img { aspect-ratio:1; }
.application-scheme { margin:16px 0 0; min-width:0; background:transparent; }
.application-scheme-svg { display:block; width:100%; height:auto; max-width:280px; margin:0 auto; }
.application-scheme figcaption { text-align:center; font:12px/1.4 "Source Sans 3","Segoe UI",Arial,sans-serif; padding:6px 0; border:0; white-space:nowrap; color:var(--ink); }
.jacket-sample .application-scheme figcaption { font-size:10px; }
.jacket-legend { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin:22px 0 16px; }
.jacket-legend p { font-size:13px; line-height:1.5; }
.assembly-layout .application-scheme { max-width:250px; margin:20px 0; }
.assembly-layout .application-scheme svg { height:auto; }
@media(max-width:700px) { h1 { font-size:clamp(29px,8.3vw,44px); } .jacket-legend { grid-template-columns:1fr; } .jacket-sample .application-scheme figcaption { font-size:10px; } }
@media(prefers-reduced-motion:no-preference) {
 .motion-ready .reveal-title { opacity:0; transform:translateY(14px); transition:opacity .65s ease,transform .65s ease; }
 .motion-ready .reveal-title.is-visible { opacity:1; transform:none; }
 .motion-ready .screen-render { opacity:0; transition:opacity .75s ease,transform .75s ease; }
 .motion-ready .screen-render:first-child { transform:translateX(-20px); }
 .motion-ready .screen-render:last-child { transform:translateX(20px); }
 .motion-ready .screen-render.is-visible { opacity:1; transform:none; }
 .hero-art { transform:translateY(var(--hero-shift,0px)); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .hero-art,.reveal-title,.screen-render { transform:none!important; opacity:1!important; } }
@media print { .hero-art,.reveal-title,.screen-render { transform:none!important; opacity:1!important; } .application-scheme figcaption { font-size:8pt; } }

main > h2 { font-size:clamp(30px,3.5vw,48px); line-height:1.15; margin:0 0 18px; }

.hero-actions .primary,.chips button.on { background:var(--olive); border-color:var(--olive); }
.catalog-heading { background:var(--ink); }
.assembly-models .assembly-pass { color:var(--olive); }

/* Per-SKU selection characteristics; original card facts are retained. */
.cable-specs { margin:0; padding:12px 0; border-top:1px solid var(--line); display:grid; gap:7px; }
.cable-specs > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:baseline; }
.cable-specs dt { font-size:11px; color:var(--muted); line-height:1.4; }
.cable-specs dd { margin:0; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.cable-specs-source { font-size:10px; line-height:1.4; color:var(--muted); margin:0 0 12px; }
