/* FinMatters quality-pass: readable brand, responsive navigation, reduced overlarge typography. */
.fm-brand-lockup{display:inline-flex!important;align-items:center;gap:10px;flex:0 0 auto;min-width:192px;max-width:240px;text-decoration:none!important;line-height:1;color:var(--ink);white-space:nowrap}
.fm-brand-lockup .fm-brand-crown{display:block!important;width:43px!important;height:auto!important;max-width:none;max-height:33px;object-fit:contain;filter:invert(1);flex:0 0 auto}
.fm-brand-type{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}
.fm-brand-name{font-family:'Hanken Grotesk',Arial,system-ui,sans-serif;font-weight:700;font-size:23px;line-height:.98;letter-spacing:-.06em;color:var(--ink)}
.fm-brand-sub{font:700 8.5px/1.1 'Hanken Grotesk',Arial,system-ui,sans-serif;letter-spacing:.115em;color:var(--muted);white-space:nowrap}
:root[data-mode='light'] .fm-brand-crown,.fm-v2 .fm-brand-crown{filter:none!important}
.fm-v2 .fm-brand-lockup .fm-brand-name{color:#151515}
.fm-v2 .fm-brand-lockup .fm-brand-sub{color:#555}
.fm-v2 .head-row,.head-row{gap:12px;min-height:72px}
.fm-v2 .site-header{background:rgba(255,255,255,.97)}
/* Leave breathing room and prevent a compressed desktop menu. */
@media(min-width:1260px){
  .fm-v2 .nav{gap:0}
  .fm-v2 .nav>a,.fm-v2 .nav summary{font-size:12px!important;padding:9px 7px!important;white-space:nowrap}
  .fm-v2 .head-cta{gap:10px}
  .fm-v2 .head-cta .phone{font-size:12px}
  .fm-v2 .head-cta .btn{padding:10px 12px!important;white-space:nowrap;font-size:12px}
}
/* On narrow desktops use the already-implemented mobile menu instead of squashing navigation. */
@media (min-width:1080px) and (max-width:1259px){.nav{display:none!important}.menu-btn{display:inline-flex!important}.mobile-menu:not([hidden]){display:block!important}}
@media(max-width:1259px){.fm-brand-lockup{min-width:unset}.fm-brand-name{font-size:22px}.fm-brand-lockup .fm-brand-crown{width:38px!important}}
@media(max-width:480px){.fm-brand-lockup{gap:7px}.fm-brand-name{font-size:21px}.fm-brand-sub{font-size:7px;letter-spacing:.10em}.fm-brand-lockup .fm-brand-crown{width:35px!important}.head-row{min-height:64px}.fm-v2 .head-row{min-height:64px}}
.fm-footer-lockup{display:inline-flex;align-items:center;gap:12px;line-height:1;min-height:45px}
.fm-footer-lockup img{display:block;object-fit:contain;width:48px;height:auto;filter:invert(1)}
.fm-footer-wordmark{font:700 29px/1 'Hanken Grotesk',Arial,sans-serif;letter-spacing:-.055em;color:#fff}
/* More disciplined scale and section density. */
.fm-v2 .h3d h1.v2-main-slogan{font-size:clamp(47px,5vw,74px)}
.fm-v2 .v2-heading-row h2,.fm-v2 .v2-approach h2,.fm-v2 .v2-human h2,.fm-v2 .v2-community h2,.fm-v2 .v2-last h2,.fm-v2 .v2-review-grid h2{font-size:clamp(31px,3.6vw,52px)}
.fm-v2 .v2-section{padding-top:clamp(58px,6vw,88px);padding-bottom:clamp(58px,6vw,88px)}
.fm-v2 .v2-heading-row{margin-bottom:32px}
.fm-v2 .v2-path-card{min-height:315px}
.fm-v2 .v2-stage-shell .hint{max-width:80%;text-wrap:balance;line-height:1.5}
/* Accessibility / focus / motion. */
.fm-brand-lockup:focus-visible,.nav a:focus-visible,.nav summary:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.v2-path-card,.v2-story-feature,.v2-story-side-card,.v2-primary{transition:none!important;transform:none!important}.lt-track{animation:none!important}}
/* Forms and calculator cards never overflow on small screens. */
input,select,textarea{max-width:100%}
@media(max-width:650px){.fm-v2 .v2-section{padding-top:52px;padding-bottom:52px}.v2-tool-card{min-height:275px}.v2-stage-shell .stage{height:355px}}

/* Shared desktop header: never wrap top-level labels or the contact number. */
@media (min-width:1260px) {
 .site-header .head-row{gap:8px}
 .site-header .nav{gap:0;min-width:0;flex:0 1 auto}
 .site-header .nav>a,.site-header .nav summary{font-size:12px!important;padding:9px 6px!important;white-space:nowrap!important;flex-wrap:nowrap!important;line-height:1.2}
 .site-header .head-cta{flex:none;gap:8px}
 .site-header .head-cta .phone{display:none!important}
 .site-header .head-cta .btn{padding:11px 13px!important;white-space:nowrap!important;font-size:12px!important}
 .site-header .head-tools{flex:none;gap:7px}
}
@media(max-width:1259px){.site-header .head-cta .phone{display:none!important}}
/* Keep secondary-page heroes sophisticated instead of gigantic. */
.page-hero h1{font-size:clamp(36px,4.3vw,60px);line-height:1.08;letter-spacing:-.045em}
.page-hero{padding-block:clamp(24px,3vw,38px) clamp(42px,5vw,64px)}
/* Make the non-WebGL experience an actual service chooser, not an empty decorative black panel. */
.stage #scene-fallback{min-height:100%}
