/* Fjordverk theme styles. Tokens from the design system; five locked colors, two type families. */
@font-face{font-family:"Switzer";src:url("fonts/Switzer-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Switzer";src:url("fonts/Switzer-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Switzer";src:url("fonts/Switzer-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/JetBrainsMono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
--fjord-obsidian:#0D1114;--fjord-frost:#F3F5F4;--fjord-north-sound:#20343C;--fjord-cold-steel:#879297;--fjord-signal:#E85B2A;
--obsidian:var(--fjord-obsidian);--frost:var(--fjord-frost);--north-sound:var(--fjord-north-sound);--cold-steel:var(--fjord-cold-steel);--signal:var(--fjord-signal);
--frost-2:#E9ECEB;--frost-3:#DDE1E0;--obsidian-2:#151A1E;--obsidian-3:#1B2227;--steel-dark:#5F6B70;--steel-light:#A9B2B6;
--signal-hover:#D2501F;--signal-active:#B9451A;--signal-tint:rgba(232,91,42,.10);
--line-steel:rgba(135,146,151,.40);--line-steel-strong:rgba(135,146,151,.70);--line-frost:rgba(243,245,244,.18);--line-frost-strong:rgba(243,245,244,.36);
--bg:var(--frost);--bg-recessed:var(--frost-2);--surface:#FFFFFF;--surface-card:var(--frost);
--text:var(--obsidian);--text-muted:var(--steel-dark);--text-technical:var(--north-sound);
--line:var(--line-steel);--line-strong:var(--line-steel-strong);
--control-bg:#FFFFFF;--control-line:var(--line-steel-strong);--control-fg:var(--obsidian);--control-placeholder:var(--cold-steel);
--btn-primary-bg:var(--obsidian);--btn-primary-fg:var(--frost);--btn-primary-hover:var(--north-sound);--btn-primary-active:var(--obsidian-3);
--btn-secondary-hover:var(--frost-2);--btn-secondary-active:var(--frost-3);
--font-sans:"Switzer","Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
--text-hero:clamp(40px,4.8vw,68px);--text-section:clamp(28px,2.9vw,42px);--tracking-tight:-0.03em;
--text-h1:clamp(40px,5vw,72px);--text-h2:clamp(32px,3.6vw,52px);--text-h3:clamp(24px,2.4vw,34px);
--radius-technical:2px;--radius-control:4px;--radius-card:6px;
--ease:cubic-bezier(.2,0,0,1);--dur-fast:120ms;--dur-base:180ms;
--shadow-dialog:0 1px 0 rgba(13,17,20,.06),0 16px 40px rgba(13,17,20,.18);
--margin:64px;--header-h:64px;
}
.fv-dark{--bg:var(--obsidian);--bg-recessed:var(--obsidian-2);--surface:var(--obsidian-2);--surface-card:var(--obsidian-2);--text:var(--frost);--text-muted:var(--steel-light);--text-technical:var(--steel-light);--line:var(--line-frost);--line-strong:var(--line-frost-strong);--control-bg:var(--obsidian-2);--control-line:var(--line-frost-strong);--control-fg:var(--frost);--btn-primary-bg:var(--frost);--btn-primary-fg:var(--obsidian);--btn-primary-hover:#FFFFFF;--btn-primary-active:var(--frost-3);--btn-secondary-hover:var(--obsidian-3);--btn-secondary-active:var(--obsidian-3);color:var(--frost)}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(h1,h2,h3,h4,h5,h6,p,figure,dl,dd,ol,ul){margin:0}
:where(ol,ul){padding:0}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease)}
a:hover{color:var(--signal)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.fv-skip{position:absolute;left:-9999px;top:8px;background:var(--obsidian);color:var(--frost);padding:8px 12px;z-index:100}
.fv-skip:focus{left:8px}
.fv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Type ---------- */
.fv-h1{font-size:var(--text-h1);font-weight:600;line-height:1.1;letter-spacing:-.02em;text-wrap:pretty}
.fv-h2{font-size:var(--text-h2);font-weight:600;line-height:1.1;letter-spacing:-.01em;text-wrap:pretty}
.fv-h3{font-size:var(--text-h3);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.fv-body{font-size:16px;font-weight:400;line-height:1.55}
.fv-body-lg{font-size:18px;font-weight:400;line-height:1.55}
.fv-small{font-size:13px}
.fv-ui{font-size:14px;font-weight:500;line-height:1.3}
.fv-caps{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.fv-mono{font-family:var(--font-mono);font-weight:500}
.fv-muted{color:var(--text-muted)}
.fv-steel{color:var(--steel-light)}
.fv-measure{max-width:560px}
.fv-measure-wide{max-width:720px}
.fv-wrap{white-space:normal!important}
.fv-tech{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--text-technical);white-space:nowrap}
.fv-tech--muted{color:var(--text-muted)}.fv-tech--signal{color:var(--signal)}.fv-tech--sm{font-size:11px}.fv-tech--lg{font-size:14px}.fv-tech--inherit{color:inherit}.fv-tech--frost{color:var(--frost)}.fv-tech--steel{color:var(--steel-light)}
.fv-tech__marker{width:8px;height:8px;background:var(--signal);flex:none}
a.fv-tech:hover{color:var(--signal)}

/* ---------- Layout ---------- */
.fv-container{max-width:1440px;margin:0 auto;padding:0 var(--margin)}
.fv-container--text{max-width:720px}
.fv-container--wc{max-width:1120px}
.fv-section{padding:80px 0}
.fv-section--tight{padding-top:0}
.fv-section--hero{padding:64px 0 48px}
.fv-hero{padding:96px 0}
.fv-section--page{padding:48px 0 80px}
.fv-section--crumbs{padding:32px 0 0}
.fv-section--place{background:var(--north-sound);color:var(--frost)}
.fv-grid-7-5{display:grid;grid-template-columns:7fr 5fr;gap:64px}
.fv-grid-5-7{display:grid;grid-template-columns:5fr 7fr;gap:64px}
.fv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fv-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fv-grid--end{align-items:end}.fv-grid--center{align-items:center}.fv-grid--start{align-items:start}
.fv-stack-2{display:flex;flex-direction:column;gap:2px}.fv-stack-4{display:flex;flex-direction:column;gap:4px}.fv-stack-8{display:flex;flex-direction:column;gap:8px}.fv-stack-12{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.fv-stack-16{display:flex;flex-direction:column;gap:16px}.fv-stack-20{display:flex;flex-direction:column;gap:20px}.fv-stack-24{display:flex;flex-direction:column;gap:24px;align-items:flex-start}.fv-stack-32{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.fv-stack-12>*,.fv-stack-16>*,.fv-stack-24>*,.fv-stack-32>*{max-width:100%;display:block}\n.fv-stack-12>.fv-tech,.fv-stack-16>.fv-tech,.fv-stack-24>.fv-tech,.fv-stack-32>.fv-tech,.fv-stack-12>.fv-btn,.fv-stack-16>.fv-btn,.fv-stack-24>.fv-btn,.fv-stack-12>.fv-badge{display:inline-flex}\n.fv-stack-12>.fv-row-8,.fv-stack-12>.fv-row-12,.fv-stack-16>.fv-row-8,.fv-stack-16>.fv-row-12,.fv-stack-24>.fv-row-8,.fv-stack-24>.fv-row-12,.fv-stack-32>.fv-row-12,.fv-stack-24>.fv-fields-2,.fv-stack-24>.fv-fields-3,.fv-stack-24>.fv-stack-12,.fv-stack-12>.fv-record,.fv-stack-32>.fv-grid-3,.fv-stack-32>.fv-grid-2,.fv-stack-32>.fv-paths,.fv-stack-24>.fv-ways,.fv-stack-32>.fv-tabs,.fv-stack-24>.fv-lines,.fv-stack-16>.fv-list,.fv-stack-12>.fv-list,.fv-stack-12>.fv-numlist,.fv-stack-32>.fv-section-head,.fv-stack-24>.fv-stepper{display:flex}\n.fv-stack-24>.fv-fields-2,.fv-stack-24>.fv-fields-3,.fv-stack-12>.fv-record,.fv-stack-32>.fv-grid-3,.fv-stack-32>.fv-grid-2,.fv-stack-32>.fv-paths,.fv-stack-24>.fv-ways,.fv-stack-24>.fv-stepper{display:grid}
.fv-stack-12>.fv-grid-3,.fv-stack-32>.fv-grid-3,.fv-stack-32>.fv-tabs,.fv-stack-32>.fv-grid-2,.fv-stack-32>.fv-section-head,.fv-stack-32>.fv-card,.fv-stack-24>form,.fv-stack-24>.fv-notice,.fv-stack-12>.fv-record,.fv-stack-12>.fv-numlist,.fv-stack-12>.fv-list,.fv-stack-12>p{width:100%;align-self:stretch}
.fv-row-8{display:flex;gap:8px;align-items:center}.fv-row-12{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fv-row--wrap{flex-wrap:wrap}.fv-row--center{align-items:center}
.fv-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.fv-section-head .fv-h2{margin-top:12px}
.fv-pillars{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fv-pillar{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fv-pillar__title{font-size:24px}
a.fv-pillar:hover{color:inherit}a.fv-pillar:hover .fv-pillar__title{color:var(--signal)}
.fv-list{padding-left:18px;display:flex;flex-direction:column;gap:6px}
.fv-list a{text-decoration:underline;text-decoration-color:var(--line-strong)}
.fv-numlist{list-style:none;display:flex;flex-direction:column;gap:10px}
.fv-numlist li{display:flex;gap:12px;align-items:baseline}
.fv-record{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.fv-record dt{color:var(--text-muted)}.fv-record dd{color:var(--text-technical)}.fv-record__signal{color:var(--signal)!important}
.fv-prose{font-size:16px;line-height:1.6}
.fv-prose p,.fv-prose ul,.fv-prose ol{margin:0 0 16px}.fv-prose ul,.fv-prose ol{padding-left:20px}
.fv-prose h2{font-size:24px;font-weight:600;margin:32px 0 12px}.fv-prose h3{font-size:18px;font-weight:600;margin:24px 0 8px}
.fv-prose a{text-decoration:underline;text-decoration-color:var(--line-strong)}
.fv-page-title{margin:12px 0 32px}

/* ---------- Header ---------- */
.fv-header{position:sticky;top:0;z-index:50;background:var(--frost);border-bottom:1px solid var(--line)}
.fv-header__row{height:var(--header-h);display:flex;align-items:center;gap:40px}
.fv-header__brand{display:flex;align-items:center;gap:6px}
.fv-header__brand:hover{color:inherit}
.fv-nav{display:flex;gap:28px;height:100%}
.fv-nav__link{display:flex;align-items:center;height:var(--header-h);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid transparent}
.fv-nav__link:hover{color:var(--text)}
.fv-nav__link.is-active{color:var(--text);border-bottom-color:var(--signal)}
.fv-header__tools{margin-left:auto;display:flex;align-items:center;gap:4px}
.fv-header__tools .fv-btn{margin-left:12px}
.fv-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-control);background:transparent;border:0;color:var(--text);position:relative}
.fv-iconbtn:hover{background:var(--frost-2);color:var(--text)}
.fv-cartbtn__count{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;background:var(--signal);color:var(--obsidian);font-family:var(--font-mono);font-size:10px;font-weight:500;line-height:16px;text-align:center;border-radius:2px}
.fv-menubtn{display:none}
.fv-menubtn__close{display:none}
.fv-menubtn[aria-expanded="true"] .fv-menubtn__open{display:none}
.fv-menubtn[aria-expanded="true"] .fv-menubtn__close{display:block}

/* ---------- Footer ---------- */
.fv-footer{background:var(--obsidian);color:var(--frost);margin-top:96px}
.fv-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-top:64px;padding-bottom:40px}
.fv-footer__brand{display:flex;flex-direction:column;gap:24px}
.fv-footer__brand p{max-width:360px;color:var(--steel-light)}
.fv-footer__col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.fv-footer__col a{font-size:14px;font-weight:400;line-height:1.4;color:var(--frost)}
.fv-footer__col a:hover{color:var(--signal)}
.fv-footer__base{border-top:1px solid var(--line-frost)}
.fv-footer__baserow{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:20px;padding-bottom:20px;flex-wrap:wrap}

/* ---------- Buttons ---------- */
.fv-btn,.fv-woo .button,.fv-woo button[type="submit"],.fv-woo input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;color:var(--btn-primary-fg);background:var(--btn-primary-bg);border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease);text-decoration:none}
.fv-btn:hover,.fv-woo .button:hover,.fv-woo button[type="submit"]:hover,.fv-woo input[type="submit"]:hover{background:var(--btn-primary-hover);color:var(--btn-primary-fg)}
.fv-btn:active{background:var(--btn-primary-active)}
.fv-btn--sm{height:32px;padding:0 12px;font-size:13px}
.fv-btn--lg{height:48px;padding:0 24px;font-size:16px}
.fv-btn--full{display:flex;width:100%}
.fv-btn--signal{background:var(--signal);color:var(--obsidian)}
.fv-btn--signal:hover{background:var(--signal-hover);color:var(--obsidian)}
.fv-btn--signal:active{background:var(--signal-active)}
.fv-btn--secondary{background:transparent;color:var(--text);border-color:var(--line-strong)}
.fv-btn--secondary:hover{background:var(--btn-secondary-hover);color:var(--text)}
.fv-btn--secondary:active{background:var(--btn-secondary-active)}
.fv-btn--ghost{background:transparent;color:var(--text)}
.fv-btn--ghost:hover{background:var(--btn-secondary-hover);color:var(--text)}
.fv-btn:disabled,.fv-btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed}

/* ---------- Badges, tags, cards ---------- */
.fv-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--bg-recessed);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-technical);white-space:nowrap}
.fv-badge--dark{background:var(--obsidian);color:var(--frost);border-color:transparent}
.fv-badge--signal{background:var(--signal-tint);color:var(--signal-active);border-color:rgba(232,91,42,.4)}
.fv-tag{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:14px;font-weight:500;color:var(--text);background:var(--control-bg);border:1px solid var(--control-line);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease);position:relative}
.fv-tag:hover{background:var(--bg-recessed);color:var(--text)}
.fv-tag.is-selected{padding:0 11px;border:2px solid var(--signal);background:var(--control-bg)}
.fv-tag input{position:absolute;opacity:0;width:1px;height:1px}
.fv-tag:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:2px}
.fv-filter{display:flex;gap:8px;flex-wrap:wrap}
.fv-card{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-card);display:flex;flex-direction:column;transition:border-color var(--dur-fast) var(--ease)}
.fv-card--frost{background:var(--frost)}
.fv-card--dark{background:var(--obsidian-2);border-color:var(--line-frost)}
.fv-card__body{padding:24px;flex:1}
.fv-card--dark .fv-body{color:var(--frost)}
.fv-figure{aspect-ratio:var(--ratio,4/3);overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--frost-2);width:100%;margin:0}
.fv-figure img{width:100%;height:100%;object-fit:cover}
.fv-figure--band{aspect-ratio:3/1}
.fv-dark .fv-figure{border-color:var(--line-frost)}
.fv-notice{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border:1px solid var(--line-strong);border-left:2px solid var(--signal);border-radius:var(--radius-control);background:var(--surface)}
.fv-notice p{margin:0}

/* ---------- Product cards ---------- */
.fv-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fv-product-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--dur-fast) var(--ease)}
.fv-product-card:hover{border-color:var(--line-strong)}
.fv-product-card__media{aspect-ratio:4/3;background:var(--frost-2);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.fv-product-card__media img{width:100%;height:100%;object-fit:cover}
.fv-product-card__prov{position:absolute;top:12px;left:12px;background:var(--obsidian);color:var(--frost);padding:3px 6px;border-radius:var(--radius-technical)}
.fv-product-card__body{padding:20px;display:flex;flex-direction:column;gap:6px;flex:1}
.fv-product-card__name{font-size:20px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.01em}
.fv-product-card__fit{font-size:14px;color:var(--text-muted);line-height:1.4}
.fv-product-card__foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:14px;gap:12px}
.fv-product-card__price{font-size:15px}
.fv-product-card__price .woocommerce-Price-amount{font-family:inherit}

/* ---------- Product detail ---------- */
.fv-crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fv-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fv-gallery__main{grid-column:1/-1;aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--frost-2)}
.fv-gallery__main img,.fv-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.fv-gallery__thumb{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--frost-2)}
.fv-buy{position:sticky;top:calc(var(--header-h) + 24px)}
.fv-buy__title{font-size:clamp(28px,3vw,36px);font-weight:600;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.fv-cart-form{width:100%;border-top:1px solid var(--line);padding-top:24px}
.fv-config__group{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.fv-config__head{display:flex;justify-content:space-between;align-items:center}
.fv-buy__qtyrow{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:end}
.fv-buy__price{font-size:24px}
.fv-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;width:100%}
.fv-tab{background:none;border:0;padding:12px 0 14px;margin-bottom:-1px;font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--dur-fast) var(--ease)}
.fv-tab:hover{color:var(--text)}
.fv-tab.is-active{color:var(--text);border-bottom-color:var(--signal)}

/* ---------- Forms ---------- */
.fv-form{width:100%}
.fv-form>*,.fv-stack-24>.fv-field,.fv-stack-24>.fv-check,.fv-stack-24>.fv-lines,.fv-stack-24>.fv-stack-12,.fv-stack-24>.fv-tabs,.fv-stack-24>.fv-stepper,.fv-stack-24>.fv-cart-form,.fv-stack-24>.fv-row-8{align-self:stretch;width:100%}
.fv-stack-24>.fv-row-12,.fv-form>.fv-row-12{width:auto}
.fv-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%}
.fv-fields-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}
.fv-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fv-field__label{font-size:14px;font-weight:500;line-height:1.3}
.fv-field__req{color:var(--signal);margin-left:4px}
.fv-field__hint{font-size:13px;color:var(--text-muted)}
.fv-input,.fv-select,.fv-textarea,.fv-woo input.input-text,.fv-woo select,.fv-woo textarea,.fv-woo .select2-container .select2-selection--single{width:100%;height:40px;padding:0 12px;background:var(--control-bg);border:1px solid var(--control-line);border-radius:var(--radius-control);color:var(--control-fg);font-size:14px;transition:border-color var(--dur-fast) var(--ease)}
.fv-input::placeholder,.fv-textarea::placeholder,.fv-woo input::placeholder{color:var(--control-placeholder)}
.fv-input:focus,.fv-textarea:focus,.fv-select:focus-within,.fv-woo input.input-text:focus,.fv-woo textarea:focus,.fv-woo select:focus{border-color:var(--text);outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--signal)}
.fv-input--mono{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em}
.fv-input--sm{height:32px;width:80px}
.fv-textarea,.fv-woo textarea{height:auto;padding:12px;line-height:1.5;resize:vertical;min-height:96px}
.fv-select{position:relative;display:flex;align-items:center;padding:0}
.fv-select select{appearance:none;-webkit-appearance:none;width:100%;height:100%;padding:0 36px 0 12px;border:0;outline:0;background:transparent;color:var(--control-fg);font-size:14px;cursor:pointer}
.fv-select svg{position:absolute;right:12px;pointer-events:none;color:var(--cold-steel)}
input[type=number]{-moz-appearance:textfield}
.fv-check{display:inline-flex;align-items:flex-start;gap:10px;position:relative;cursor:pointer}
.fv-check input{position:absolute;opacity:0;width:1px;height:1px}
.fv-check__box{width:18px;height:18px;flex:none;margin-top:1px;border-radius:var(--radius-technical);border:1px solid var(--control-line);background:var(--control-bg);display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease),border var(--dur-fast) var(--ease)}
.fv-check--radio .fv-check__box{border-radius:50%}
.fv-check input:checked+.fv-check__box{background:var(--obsidian);border-color:var(--obsidian)}
.fv-check--radio input:checked+.fv-check__box{background:var(--control-bg);border:5px solid var(--obsidian)}
.fv-check--checkbox input:checked+.fv-check__box::after{content:"";width:9px;height:5px;border-left:2px solid var(--frost);border-bottom:2px solid var(--frost);transform:translateY(-1px) rotate(-45deg)}
.fv-check input:focus-visible+.fv-check__box{outline:2px solid var(--signal);outline-offset:2px}
.fv-check__text{display:flex;flex-direction:column;gap:2px}
.fv-check__label{font-size:14px;font-weight:500;line-height:1.3}
.fv-check__desc{font-size:13px;color:var(--text-muted);line-height:1.4}
.fv-lines{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;width:100%}
.fv-lines__head,.fv-lines__row{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr;gap:12px;padding:10px 16px;align-items:center}
.fv-lines__head{background:var(--frost-2);border-bottom:1px solid var(--line)}
.fv-lines__row{padding:12px 16px;border-bottom:1px solid var(--line)}
.fv-lines__foot{padding:10px 16px}

/* ---------- Stepper ---------- */
.fv-stepper{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fv-step{display:flex;flex-direction:column;gap:10px}
.fv-step__rule{height:1px;background:var(--line-strong);margin-top:1px}
.fv-step.is-current .fv-step__rule{height:2px;background:var(--signal);margin-top:0}
.fv-step.is-done .fv-step__rule{background:var(--obsidian)}
.fv-step__head{display:flex;align-items:baseline;gap:8px}
.fv-step__num{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--text-muted)}
.fv-step.is-current .fv-step__num{color:var(--signal)}
.fv-step__name{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.fv-step.is-next .fv-step__name{color:var(--text-muted)}
.fv-step__desc{font-size:14px;line-height:1.45;color:var(--text-muted)}

/* ---------- WooCommerce classic pages (cart, checkout, account) ---------- */
.fv-woo .woocommerce-notices-wrapper:empty{display:none}
.fv-woo .woocommerce-message,.fv-woo .woocommerce-info,.fv-woo .woocommerce-error{list-style:none;margin:0 0 24px;padding:16px 20px;border:1px solid var(--line-strong);border-left:2px solid var(--signal);border-radius:var(--radius-control);background:var(--surface);font-size:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.fv-woo .woocommerce-error li{margin:0}
.fv-woo .woocommerce-message .button,.fv-woo .woocommerce-info .button{order:2;height:32px;padding:0 12px;font-size:13px}
.fv-woo table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;font-size:14px}
.fv-woo table.shop_table th{text-align:left;padding:10px 16px;background:var(--frost-2);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.fv-woo table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.fv-woo table.shop_table tr:last-child td{border-bottom:0}
.fv-woo .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-technical);border:1px solid var(--line)}
.fv-woo .product-remove a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-technical);color:var(--text-muted);font-size:16px}
.fv-woo .product-remove a:hover{color:var(--signal);background:var(--frost-2)}
.fv-woo .variation,.fv-woo dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin-top:4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.fv-woo .variation p{margin:0}
.fv-woo .woocommerce-Price-amount,.fv-woo .amount{font-family:var(--font-mono);font-weight:500}
.fv-woo .quantity .qty{width:72px;height:36px;font-family:var(--font-mono)}
.fv-woo .quantity .screen-reader-text{position:absolute;left:-9999px}
.fv-woo .coupon{display:flex;gap:8px;align-items:center}
.fv-woo .coupon .input-text{width:160px;height:36px}
.fv-woo .actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.fv-woo .actions .button{height:36px;padding:0 14px;font-size:13px}
.fv-woo .cart-collaterals{margin-top:32px;display:flex;justify-content:flex-end}
.fv-woo .cart_totals{width:100%;max-width:440px}
.fv-woo .cart_totals h2,.fv-woo #order_review_heading,.fv-woo .woocommerce-billing-fields h3,.fv-woo .woocommerce-shipping-fields h3,.fv-woo .woocommerce-additional-fields h3,.fv-woo h2,.fv-woo h3{font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px}
.fv-woo .wc-proceed-to-checkout{margin-top:16px}
.fv-woo .wc-proceed-to-checkout .button{display:flex;width:100%;height:48px;font-size:16px;background:var(--signal);color:var(--obsidian)}
.fv-woo .wc-proceed-to-checkout .button:hover{background:var(--signal-hover)}
.fv-woo .return-to-shop{margin-top:16px}
.fv-woo .woocommerce-shipping-destination{font-size:13px;color:var(--text-muted)}
.fv-woo ul#shipping_method{list-style:none;display:flex;flex-direction:column;gap:6px}
.fv-woo form.checkout{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.fv-woo form.checkout .col2-set{display:grid;gap:32px}
.fv-woo form.checkout #order_review_heading{display:none}
.fv-woo form.checkout #order_review{position:sticky;top:calc(var(--header-h) + 24px);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;background:var(--surface)}
.fv-woo form.checkout #order_review table.shop_table{border:0}
.fv-woo form.checkout #order_review table.shop_table th,.fv-woo form.checkout #order_review table.shop_table td{padding:10px 0;background:none}
.fv-woo .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;position:relative}
.fv-woo .form-row label{font-size:14px;font-weight:500;line-height:1.3}
.fv-woo .form-row .required{color:var(--signal);text-decoration:none}
.fv-woo .form-row .optional{color:var(--text-muted);font-weight:400}
.fv-woo .form-row-first,.fv-woo .form-row-last{width:calc(50% - 10px);display:inline-flex;vertical-align:top}
.fv-woo .form-row-first{margin-right:20px}
.fv-woo .select2-container .select2-selection--single{display:flex;align-items:center}
.fv-woo .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:38px;padding-left:0;color:var(--control-fg)}
.fv-woo .select2-container--default .select2-selection--single .select2-selection__arrow{height:38px}
.fv-woo .wc_payment_methods{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.fv-woo .wc_payment_method{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 16px}
.fv-woo .wc_payment_method label{font-size:14px;font-weight:500;display:inline-flex;gap:10px;align-items:center}
.fv-woo .wc_payment_method .payment_box{margin-top:8px;font-size:13px;color:var(--text-muted)}
.fv-woo .wc_payment_method .payment_box p{margin:0}
.fv-woo #place_order{display:flex;width:100%;height:48px;font-size:16px;background:var(--signal);color:var(--obsidian)}
.fv-woo #place_order:hover{background:var(--signal-hover)}
.fv-woo .woocommerce-terms-and-conditions-wrapper,.fv-woo .woocommerce-privacy-policy-text{font-size:13px;color:var(--text-muted);margin-bottom:16px}
.fv-woo .woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.fv-woo .woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;font-size:14px;font-weight:500;border-left:2px solid transparent;border-radius:0 var(--radius-control) var(--radius-control) 0}
.fv-woo .woocommerce-MyAccount-navigation a:hover{background:var(--frost-2);color:var(--text)}
.fv-woo .woocommerce-MyAccount-navigation .is-active a{border-left-color:var(--signal);color:var(--text)}
.fv-woo .woocommerce-MyAccount-content{display:flex;flex-direction:column;gap:16px;font-size:15px}
.fv-woo .woocommerce-MyAccount-content p{margin:0}
.fv-woo .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.fv-woo .woocommerce-form-login,.fv-woo .woocommerce-form-register,.fv-woo .woocommerce-ResetPassword{max-width:440px;border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;background:var(--surface)}
.fv-woo .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.fv-woo .u-columns h2{margin-bottom:16px}
.fv-woo .woocommerce-form-login__rememberme{display:inline-flex;gap:8px;align-items:center;font-weight:400}
.fv-woo .lost_password{font-size:13px;margin-top:12px}
.fv-woo .lost_password a{text-decoration:underline;text-decoration-color:var(--line-strong)}
.fv-woo .show-password-input{display:none}
.fv-woo .woocommerce-order{display:flex;flex-direction:column;gap:32px}
.fv-woo .woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;border:1px solid var(--line);border-radius:var(--radius-card);padding:20px;font-size:13px;color:var(--text-muted)}
.fv-woo .woocommerce-order-overview strong{display:block;color:var(--text);font-family:var(--font-mono);font-size:13px;margin-top:4px}
.fv-woo .woocommerce-thankyou-order-received{font-size:20px;font-weight:600}
.fv-woo .woocommerce-customer-details address{font-style:normal;font-size:14px;line-height:1.6}
.fv-woo .woocommerce-pagination ul,.woocommerce-pagination ul{list-style:none;display:flex;gap:4px;margin-top:32px}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:13px}
.woocommerce-pagination span.current{border-color:var(--signal);border-width:2px}
.fv-woo a.edit,.fv-woo .woocommerce-Address-title a{font-size:13px;text-decoration:underline;text-decoration-color:var(--line-strong)}
.fv-woo .blockUI.blockOverlay{background:var(--frost)!important;opacity:.6!important}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
 .fv-nav{gap:20px}
 .fv-header__row{gap:28px}
 #fv-quote-btn{display:none}
}
@media (max-width:1024px){
 :root{--margin:32px}
 .fv-grid-7-5,.fv-grid-5-7,.fv-woo form.checkout,.fv-woo .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr;gap:40px}
 .fv-pillars,.fv-products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fv-grid-3{grid-template-columns:1fr}
 .fv-buy,.fv-woo form.checkout #order_review{position:static}
 .fv-hero{padding:64px 0}
 .fv-section{padding:64px 0}
 .fv-footer__grid{grid-template-columns:1fr 1fr}
 .fv-footer__brand{grid-column:1/-1}
 .fv-menubtn{display:inline-flex}
 .fv-nav{position:absolute;left:0;right:0;top:var(--header-h);background:var(--frost);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px var(--margin) 16px;display:none}
 .fv-nav.is-open{display:flex}
 .fv-nav__link{height:48px;border-bottom:0;border-left:2px solid transparent;padding-left:12px}
 .fv-nav__link.is-active{border-left-color:var(--signal)}
}
@media (max-width:640px){
 :root{--margin:16px}
 .fv-section{padding:48px 0}
 .fv-hero{padding:48px 0}
 .fv-pillars,.fv-products,.fv-grid-2,.fv-fields-2,.fv-fields-3,.fv-stepper,.fv-u-columns,.fv-woo .u-columns{grid-template-columns:1fr}
 .fv-footer__grid{grid-template-columns:1fr}
 .fv-header__tools .fv-btn{display:none}
 .fv-lines__head{display:none}
 .fv-lines__row{grid-template-columns:1fr auto;grid-template-areas:"sku price" "name qty"}
 .fv-lines__row>:nth-child(1){grid-area:sku}.fv-lines__row>:nth-child(2){grid-area:name}.fv-lines__row>:nth-child(3){grid-area:qty;justify-self:end}.fv-lines__row>:nth-child(4){grid-area:price;justify-self:end}
 .fv-section-head{align-items:flex-start;flex-direction:column}
 .fv-woo .form-row-first,.fv-woo .form-row-last{width:100%;display:flex;margin-right:0}
 .fv-woo table.shop_table thead{display:none}
 .fv-woo table.shop_table.cart tr{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:12px 16px;border-bottom:1px solid var(--line)}
 .fv-woo table.shop_table.cart td{padding:0;border:0}
 .fv-woo table.shop_table.cart .product-thumbnail{grid-row:span 3}
 .fv-woo table.shop_table.cart .product-remove{grid-column:2;justify-self:end}
 .fv-woo .actions{flex-direction:column;align-items:stretch}
 .fv-row-8{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* ---------- v1.1 additions: equipment-first home, pathways, professional, search ---------- */
.fv-textlink{font-size:15px;font-weight:500;color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.fv-textlink:hover{color:var(--signal);text-decoration-color:currentColor}
.fv-index{background:var(--obsidian);color:var(--frost);border-radius:var(--radius-card);display:flex;flex-direction:column;width:100%}
.fv-index__head{padding:20px 24px 12px}
.fv-index__row{display:grid;grid-template-columns:32px 1fr;gap:4px 16px;padding:16px 24px;border-top:1px solid var(--line-frost);color:var(--frost);transition:background var(--dur-fast) var(--ease)}
.fv-index__row:hover{background:var(--obsidian-2);color:var(--frost)}
.fv-index__row:hover .fv-index__name{color:var(--signal)}
.fv-index__name{font-size:20px;font-weight:600;line-height:1.2;transition:color var(--dur-fast) var(--ease)}
.fv-index__desc{grid-column:2;font-size:14px;color:var(--steel-light);line-height:1.45}
.fv-lines-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fv-lines-grid--3{gap:24px 32px}
.fv-lines-grid--3 .fv-pillar{border-top:1px solid var(--line);padding-top:16px;gap:8px}
.fv-linecard:hover{border-color:var(--line-strong);color:inherit}
.fv-linecard:hover .fv-linecard__name{color:var(--signal)}
.fv-linecard__name{font-size:22px;line-height:1.2;transition:color var(--dur-fast) var(--ease)}
.fv-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%}
.fv-path{scroll-margin-top:96px}
a.fv-path:hover{border-color:var(--line-strong);color:inherit}
a.fv-path:hover .fv-h3{color:var(--signal)}
.fv-path .fv-h3{transition:color var(--dur-fast) var(--ease)}
.fv-ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%}
.fv-ways--compact{grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}
.fv-ways--compact .fv-way{padding:20px 24px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.fv-ways--compact .fv-way:nth-child(2n){border-right:0}
.fv-ways--compact .fv-way:nth-last-child(-n+2){border-bottom:0}
.fv-way__name{font-size:16px;font-weight:600}
.fv-waters{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-frost);border-radius:var(--radius-card);overflow:hidden}
.fv-waters li{padding:20px 24px;border-bottom:1px solid var(--line-frost);border-right:1px solid var(--line-frost)}
.fv-waters li:nth-child(2n){border-right:0}
.fv-waters li:last-child{grid-column:1/-1;border-right:0;border-bottom:0}
.fv-waters li:nth-last-child(2),.fv-waters li:nth-last-child(3){border-bottom:0}
.fv-prov{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:start}
.fv-prov__classes{display:flex;flex-direction:column;margin:0}
.fv-prov__classes>div{display:grid;grid-template-columns:minmax(200px,2fr) 3fr;gap:4px 24px;padding:12px 0;border-top:1px solid var(--line)}
.fv-prov__classes>div:first-child{border-top:0;padding-top:0}
.fv-prov__classes dd{margin:0}
.fv-ctaband{background:var(--obsidian);color:var(--frost);border-radius:var(--radius-card);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.fv-ctaband .fv-h3{max-width:520px}
.fv-search{border-top:1px solid var(--line);background:var(--frost)}
.fv-search__row{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}
.fv-search__row .fv-input{flex:1;height:40px}
.fv-footer__contact{display:flex;flex-direction:column;gap:8px}
.fv-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr}
.fv-product-card__nophoto{display:block;width:100%;height:100%;background:var(--frost-2)}
.fv-product-card__meta{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.fv-gallery__empty{background:var(--frost-2)}
.fv-buy__paths{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fv-buy__paths .fv-btn{white-space:normal;text-align:center;height:auto;min-height:40px;padding:8px 12px;line-height:1.2}
.fv-hero .fv-grid--start>.fv-stack-32{padding-top:16px}
@media (max-width:1024px){
 .fv-ways{grid-template-columns:1fr 1fr}
 .fv-lines-grid{grid-template-columns:1fr 1fr}
 .fv-footer__grid{grid-template-columns:1fr 1fr}
 .fv-prov{grid-template-columns:1fr}
 .fv-prov__classes>div{grid-template-columns:1fr}
}
@media (max-width:640px){
 .fv-paths,.fv-ways,.fv-ways--compact,.fv-lines-grid,.fv-waters{grid-template-columns:1fr}
 .fv-ways--compact .fv-way{border-right:0}
 .fv-ways--compact .fv-way:nth-last-child(2){border-bottom:1px solid var(--line)}
 .fv-waters li{border-right:0}
 .fv-waters li:nth-last-child(2),.fv-waters li:nth-last-child(3){border-bottom:1px solid var(--line-frost)}
 .fv-ctaband{padding:32px 24px}
 .fv-search__row{flex-wrap:wrap}
 .fv-search__row .fv-input{flex-basis:100%}
 .fv-index__name{font-size:18px}
 .fv-buy__paths{grid-template-columns:1fr}
}
/* ---------- v1.2: design system surface rhythm ---------- */
.fv-header{background:var(--obsidian);color:var(--frost);border-bottom:1px solid var(--line-frost)}
.fv-header__row{height:72px;gap:56px}
.fv-header__brand{gap:5px}
.fv-nav{gap:32px}
.fv-nav__link{height:72px;letter-spacing:.1em;color:var(--steel-light)}
.fv-nav__link:hover{color:var(--frost)}
.fv-nav__link.is-active{color:var(--frost);border-bottom-color:var(--signal)}
.fv-iconbtn{color:var(--frost)}
.fv-iconbtn:hover{background:var(--obsidian-2);color:var(--frost)}
.fv-search{background:var(--obsidian);border-top:1px solid var(--line-frost)}
.fv-footer{margin-top:0;border-top:1px solid var(--line-frost)}
.fv-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}
:root{--header-h:72px}
.fv-field{position:relative;overflow:hidden}
.fv-field--obsidian{background:var(--obsidian);color:var(--frost)}
.fv-field--sound{background:var(--north-sound);color:var(--frost)}
.fv-field--frost{background:var(--frost);color:var(--obsidian)}
.fv-field--ruled{border-top:1px solid var(--line-frost)}
.fv-field__in{max-width:1440px;margin:0 auto;padding:96px var(--margin);position:relative}
.fv-hero-t{margin:0;font-size:var(--text-hero);font-weight:600;line-height:.98;letter-spacing:var(--tracking-tight);text-wrap:balance}
.fv-sec-t{margin:0;font-size:var(--text-section);font-weight:600;line-height:1.02;letter-spacing:var(--tracking-tight);text-wrap:balance}
.fv-caps-l{font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.fv-caps-l--strong{font-size:16px;font-weight:600}
.fv-home-lede{max-width:480px;margin:0}
.fv-home-head{margin-bottom:48px}
.fv-home-head--split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:end}
.fv-home-head--split>.fv-tech{justify-self:end}
.fv-home-head--end{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.fv-arrow{display:inline-flex;flex:none;align-items:center;gap:10px;padding-bottom:6px;font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--text);border-bottom:2px solid transparent;transition:border-color var(--dur-fast) var(--ease)}
.fv-arrow span{color:var(--cold-steel);transition:color var(--dur-fast) var(--ease)}
.fv-arrow:hover{color:var(--text);border-bottom-color:var(--signal)}
.fv-arrow:hover span{color:var(--signal)}
.fv-home-hero{padding-top:88px;padding-bottom:0;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:stretch}
.fv-home-hero__copy{display:flex;flex-direction:column;gap:32px;justify-content:center;align-items:flex-start;padding-bottom:96px}
.fv-home-hero__copy .fv-row-12{margin-top:8px}
.fv-media{background:var(--obsidian-2);position:relative;overflow:hidden}
.fv-media img{width:100%;height:100%;object-fit:cover;display:block}
.fv-home-hero__media{min-height:560px}
.fv-home-hero__media::after{content:"";position:absolute;left:0;bottom:0;width:38%;height:2px;background:var(--signal)}
.fv-caps{border-bottom:1px solid var(--line-frost)}
.fv-cap{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.2fr) 40px;align-items:center;gap:24px;padding:28px 0;border-top:1px solid var(--line-frost);color:var(--frost);position:relative}
.fv-cap::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--signal);transition:width var(--dur-base) var(--ease)}
.fv-cap:hover{color:var(--frost)}
.fv-cap:hover::before{width:96px}
.fv-cap__n{color:var(--cold-steel);transition:color var(--dur-fast) var(--ease)}
.fv-cap:hover .fv-cap__n,.fv-cap:hover .fv-cap__a{color:var(--signal)}
.fv-cap__t{font-size:24px;font-weight:500;letter-spacing:-0.01em;line-height:1.15}
.fv-cap__d{color:var(--steel-light)}
.fv-cap__a{justify-self:end;font-size:20px;color:var(--cold-steel);transition:color var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}
.fv-cap:hover .fv-cap__a{transform:translateX(4px)}
.fv-entries{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.fv-entry{display:flex;flex-direction:column;color:var(--obsidian)}
.fv-entry:hover{color:var(--obsidian)}
.fv-entry__media{display:block;aspect-ratio:4/5;background:var(--frost-3);position:relative;overflow:hidden}
.fv-entry__media img{width:100%;height:100%;object-fit:cover}
.fv-entry__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;transition:background var(--dur-fast) var(--ease)}
.fv-entry:hover .fv-entry__media::after{background:var(--signal)}
.fv-entry__body{display:flex;flex-direction:column;gap:8px;padding-top:20px}
.fv-entry__name{font-size:24px;font-weight:600;letter-spacing:-0.015em;line-height:1.1}
.fv-entry__foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.fv-entry__price{font-size:15px}
.fv-split{display:grid;grid-template-columns:1fr 1px 1fr;gap:64px}
.fv-split__rule{background:var(--cold-steel);opacity:.4}
.fv-split__col{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.fv-split__col p{margin:0;max-width:440px}
.fv-split__col .fv-arrow{margin-top:12px}
.fv-outline-n{font-family:var(--font-mono);font-size:96px;line-height:1;font-weight:400;color:var(--obsidian-3);-webkit-text-stroke:1px var(--line-frost-strong)}
.fv-ledger{margin:8px 0 0;border-bottom:1px solid var(--line-frost-strong)}
.fv-ledger__row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-top:1px solid var(--line-frost-strong)}
.fv-ledger__row dd{margin:0}
.fv-place{padding-top:0;padding-bottom:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:stretch}
.fv-place__copy{padding:96px 0;justify-content:center}
.fv-place__waters{color:var(--cold-steel);line-height:1.8}
.fv-place__media{background:#1A2B32;margin-right:calc(var(--margin) * -1);min-height:520px}
.fv-origins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.fv-origin{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding-top:20px;border-top:1px solid var(--line-strong)}
.fv-origin p{margin:0;max-width:340px}
.fv-final{padding-top:144px;padding-bottom:144px}
.fv-final__mark{position:absolute;right:-40px;top:50%;transform:translateY(-50%);height:620px;width:auto;opacity:.07;pointer-events:none}
.fv-final__copy{position:relative;max-width:900px;display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.fv-final__copy .fv-row-12{margin-top:8px}
.fv-final__t{font-size:clamp(44px,5.4vw,80px)}
@media (max-width:1180px){.fv-header__row{gap:32px}.fv-nav{gap:24px}}
@media (max-width:1024px){
 .fv-nav{background:var(--obsidian);border-bottom:1px solid var(--line-frost);top:72px}
 .fv-nav__link{height:48px}
 .fv-field__in{padding:72px var(--margin)}
 .fv-home-hero{grid-template-columns:1fr;gap:0;padding-top:64px}
 .fv-home-hero__copy{padding-bottom:56px}
 .fv-home-hero__media{min-height:0;aspect-ratio:16/10;margin:0 calc(var(--margin) * -1)}
 .fv-home-head--split{grid-template-columns:1fr;gap:16px}
 .fv-home-head--split>.fv-tech{justify-self:start}
 .fv-cap{grid-template-columns:64px minmax(0,1fr) 32px;gap:4px 16px}
 .fv-cap__d{grid-column:2;grid-row:2}
 .fv-cap__a{grid-column:3;grid-row:1/3}
 .fv-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
 .fv-split{grid-template-columns:1fr;gap:48px}
 .fv-split__rule{height:1px}
 .fv-place{grid-template-columns:1fr;gap:0}
 .fv-place__copy{padding:72px 0 48px}
 .fv-place__media{margin:0 calc(var(--margin) * -1);min-height:0;aspect-ratio:16/10}
 .fv-origins{grid-template-columns:1fr;gap:32px}
 .fv-final{padding-top:96px;padding-bottom:96px}
 .fv-final__mark{height:420px;right:-120px}
}
@media (max-width:640px){
 .fv-header__row{gap:16px}
 .fv-field__in{padding:56px var(--margin)}
 .fv-home-hero{padding-top:48px}
 .fv-home-hero__copy{gap:24px;padding-bottom:48px}
 .fv-home-hero__copy .fv-row-12,.fv-final__copy .fv-row-12{flex-direction:column;align-items:stretch;width:100%}
 .fv-home-head--end{flex-direction:column;align-items:flex-start}
 .fv-cap{grid-template-columns:40px minmax(0,1fr) 24px;padding:22px 0}
 .fv-cap__t{font-size:20px}
 .fv-entries{grid-template-columns:1fr}
 .fv-outline-n{font-size:64px}
 .fv-ledger__row{flex-direction:column;align-items:flex-start;gap:6px;padding:20px 0}
 .fv-final__mark{display:none}
}
/* ---------- v1.3: density pass ---------- */
:root{--header-h:60px}
.fv-header__row{height:60px;gap:48px}
.fv-header__brand{gap:4px}
.fv-nav__link{height:60px;font-size:12px}
.fv-field__in{padding-top:72px;padding-bottom:72px}
.fv-caps-l{font-size:13px}
.fv-caps-l--strong{font-size:14px}
.fv-arrow{font-size:13px}
.fv-home-head{margin-bottom:48px}
.fv-home-head--end{margin-bottom:36px}
.fv-origins-head{margin-bottom:40px}
.fv-home-hero{padding-top:64px;padding-bottom:0}
.fv-home-hero__copy{gap:24px;padding-bottom:72px}
.fv-home-hero__media{min-height:440px}
.fv-cap{grid-template-columns:72px minmax(0,1fr) minmax(0,1.2fr) 32px;padding:18px 0}
.fv-cap:hover::before{width:72px}
.fv-cap__t{font-size:19px;line-height:1.2}
.fv-cap__a{font-size:17px}
.fv-entry__media{aspect-ratio:1/1}
.fv-entry__name{font-size:20px;line-height:1.15}
.fv-outline-n{font-size:64px}
.fv-ledger__row{padding:18px 0}
.fv-place{padding-top:0;padding-bottom:0}
.fv-place__copy{padding:72px 0;gap:20px}
.fv-place__media{min-height:420px}
.fv-final{padding-top:104px;padding-bottom:104px}
.fv-final__mark{height:480px}
.fv-final__t{font-size:clamp(36px,4.2vw,60px)}
@media (max-width:1024px){
 .fv-nav{top:60px}
 .fv-field__in{padding-top:56px;padding-bottom:56px}
 .fv-home-hero{padding-top:48px;padding-bottom:0}
 .fv-home-hero__copy{padding-bottom:48px}
 .fv-home-hero__media{min-height:0}
 .fv-cap{grid-template-columns:56px minmax(0,1fr) 28px}
 .fv-place{padding-top:0;padding-bottom:0}
 .fv-place__copy{padding:56px 0 40px}
 .fv-place__media{min-height:0}
 .fv-final{padding-top:80px;padding-bottom:80px}
 .fv-final__mark{height:360px}
}
@media (max-width:640px){
 .fv-field__in{padding-top:48px;padding-bottom:48px}
 .fv-home-hero{padding-top:40px;padding-bottom:0}
 .fv-place{padding-top:0;padding-bottom:0}
 .fv-cap{grid-template-columns:36px minmax(0,1fr) 20px;padding:16px 0}
 .fv-cap__t{font-size:17px}
 .fv-outline-n{font-size:48px}
 .fv-ledger__row{padding:16px 0}
}