/* Moneyfall v4 — navy + champagne gold. One spacing scale, one card style, one button style. */
.mf{
  --n950:#040C1C; --n900:#071530; --n800:#0B1F44; --n700:#132E5C; --n600:#1D3D73;
  --gold:#C6A66C; --gold-hi:#EAD9AA; --gold-lo:#9E7D45; --gold-ink:#8A6A33;
  --grad-gold:linear-gradient(135deg,#F0E1B5 0%,#D2B47A 38%,#B08C4E 72%,#D9BD84 100%);
  --ivory:#FAF7F1; --sand:#F2ECE0; --white:#FFFFFF;
  --ink:#0A1A33; --ink-2:#22324D; --muted:#5A667B; --muted-dk:#AFBCD0; --dim-dk:#7F8DA6;
  --line:#E7E1D4; --line-2:#D8D0BE; --line-dk:rgba(198,166,108,.18); --line-dk2:rgba(175,188,208,.14);
  --r-sm:8px; --r:14px; --r-lg:20px;
  --sh-sm:0 1px 2px rgba(10,26,51,.04),0 6px 20px rgba(10,26,51,.05);
  --sh-lg:0 2px 6px rgba(10,26,51,.05),0 24px 60px rgba(10,26,51,.13);
  --sh-gold:0 10px 30px rgba(198,166,108,.28);
  --ease:cubic-bezier(.2,.7,.2,1);
  --display:'Playfair Display',Georgia,'Times New Roman',serif;
  --caps:'Cinzel','Trajan Pro',Georgia,serif;
  --body:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  font-family:var(--body); font-size:17px; line-height:1.65; color:var(--ink); background:var(--ivory);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.mf *,.mf *::before,.mf *::after{box-sizing:border-box}
.mf h1,.mf h2,.mf h3,.mf h4{font-family:var(--display); font-weight:700; margin:0; line-height:1.15; text-wrap:balance; letter-spacing:-.015em; color:inherit}
.mf p{margin:0}
.mf a{color:inherit}
.mf img{max-width:100%}
.mf ::selection{background:rgba(198,166,108,.35)}
.mf a:focus-visible,.mf button:focus-visible,.mf input:focus-visible,.mf select:focus-visible,.mf textarea:focus-visible,.mf summary:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:4px}
.mf .wrap{max-width:1240px; margin:0 auto; padding-left:40px; padding-right:40px}
.mf .muted{color:var(--muted)}
.mf .sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.mf [hidden]{display:none!important}

/* ---------- type helpers ---------- */
.mf .eyebrow{display:inline-flex; align-items:center; gap:14px; font-family:var(--caps); font-weight:600; font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold)}
.mf .eyebrow::before{content:""; width:32px; height:1px; background:currentColor; opacity:.8}
.mf .eyebrow.ink{color:var(--gold-ink)}
.mf .gold-text{background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent}

/* ---------- buttons ---------- */
.mf .btn{position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 30px; border-radius:var(--r-sm); font-family:var(--body); font-weight:600; font-size:15.5px; letter-spacing:.02em; text-decoration:none; border:1.5px solid transparent; cursor:pointer; white-space:nowrap; transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .2s,border-color .2s,color .2s}
.mf .btn svg{width:18px; height:18px; flex:none}
.mf .btn-gold{background:var(--grad-gold); background-size:140% 140%; color:var(--n900); box-shadow:var(--sh-gold)}
.mf .btn-gold::after{content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); transition:left .7s var(--ease)}
.mf .btn-gold:hover{transform:translateY(-2px); box-shadow:0 14px 36px rgba(198,166,108,.4)}
.mf .btn-gold:hover::after{left:130%}
.mf .btn-ghost{border-color:rgba(234,217,170,.45); color:var(--white); background:rgba(255,255,255,.02)}
.mf .btn-ghost:hover{border-color:var(--gold-hi); background:rgba(234,217,170,.08); transform:translateY(-2px)}
.mf .btn-navy{background:var(--n800); color:var(--white); box-shadow:0 8px 22px rgba(11,31,68,.22)}
.mf .btn-navy:hover{background:var(--n700); transform:translateY(-2px)}
.mf .btn-line{border-color:var(--line-2); color:var(--ink); background:var(--white)}
.mf .btn-line:hover{border-color:var(--gold); transform:translateY(-2px)}
.mf .btn-sm{min-height:44px; padding:0 20px; font-size:14.5px}
.mf .btn-lg{min-height:60px; padding:0 36px; font-size:16.5px}
.mf .cta-row{display:flex; flex-wrap:wrap; gap:14px}

/* ---------- top bar + header ---------- */
.mf .topbar{background:var(--n950); color:var(--muted-dk); font-size:13.5px; border-bottom:1px solid var(--line-dk2)}
.mf .topbar .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:42px}
.mf .topbar .links{display:flex; gap:28px}
.mf .topbar a{color:var(--muted-dk); text-decoration:none; transition:color .2s}
.mf .topbar a:hover{color:var(--gold-hi)}
.mf .topbar b{color:var(--white); font-weight:600}
.mf .topbar .tb-phone{display:inline-flex; align-items:center; gap:8px; color:var(--gold-hi); font-weight:700; letter-spacing:.02em}
.mf .topbar .tb-phone svg{width:15px; height:15px}

.mf .site-header{position:sticky; top:0; z-index:50; background:rgba(7,21,48,.92); -webkit-backdrop-filter:saturate(140%) blur(14px); backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid var(--line-dk); transition:background .3s,box-shadow .3s}
.mf .site-header.scrolled{background:rgba(4,12,28,.96); box-shadow:0 10px 30px rgba(0,0,0,.25)}
.mf .nav{display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:92px; transition:min-height .3s var(--ease)}
.mf .site-header.scrolled .nav{min-height:74px}
.mf .nav .logo{display:block; line-height:0; flex:none}
.mf .nav .logo img{height:62px; width:auto; display:block; transition:height .3s var(--ease)}
.mf .site-header.scrolled .nav .logo img{height:52px}
.mf .nav nav{flex:1; display:flex; justify-content:center}
.mf .nav nav > ul{list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px}
.mf .nav nav > ul > li{position:relative}
.mf .nav .top{position:relative; white-space:nowrap; display:inline-flex; align-items:center; gap:7px; min-height:46px; padding:0 14px; color:#D3DCEA; text-decoration:none; background:none; border:0; font:inherit; font-size:15px; font-weight:500; cursor:pointer; border-radius:6px; transition:color .2s}
.mf .nav .top::after{content:""; position:absolute; left:14px; right:14px; bottom:6px; height:1.5px; background:var(--grad-gold); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease)}
.mf .nav .top:hover,.mf .nav li:focus-within > .top{color:var(--white)}
.mf .nav .top:hover::after,.mf .nav .top.on::after{transform:scaleX(1)}
.mf .nav .top.on{color:var(--gold-hi)}
.mf .nav .caret{width:9px; height:9px; opacity:.7; transition:transform .25s}
.mf .nav li:hover .caret,.mf .nav li:focus-within .caret{transform:rotate(180deg)}
.mf .nav .menu{position:absolute; top:calc(100% + 10px); left:50%; min-width:300px; padding:10px; background:var(--white); border-radius:var(--r); box-shadow:0 30px 70px rgba(4,12,28,.35); display:flex; flex-direction:column; gap:2px; opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:opacity .2s,transform .25s var(--ease),visibility .2s; z-index:60}
.mf .nav .menu::before{content:""; position:absolute; left:0; right:0; top:-14px; height:14px}
.mf .nav li:hover > .menu,.mf .nav li:focus-within > .menu{opacity:1; visibility:visible; transform:translate(-50%,0)}
.mf .nav .menu a{display:flex; flex-direction:column; gap:1px; padding:12px 16px; border-radius:10px; text-decoration:none; color:var(--ink); font-weight:600; font-size:15px; transition:background .15s}
.mf .nav .menu a small{color:var(--muted); font-size:13px; font-weight:400}
.mf .nav .menu a:hover,.mf .nav .menu a:focus-visible{background:var(--ivory)}
.mf .nav .menu a.on{background:var(--sand)}
.mf .nav .actions{display:flex; align-items:center; gap:14px; flex:none}
.mf .phone-pill{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--white); padding:6px 16px 6px 6px; border:1px solid rgba(234,217,170,.35); border-radius:999px; transition:border-color .2s,background .2s}
.mf .phone-pill:hover{border-color:var(--gold-hi); background:rgba(234,217,170,.08)}
.mf .phone-pill .ic{display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--grad-gold); color:var(--n900)}
.mf .phone-pill .ic svg{width:17px; height:17px}
.mf .phone-pill span{display:flex; flex-direction:column; line-height:1.15}
.mf .phone-pill small{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-dk)}
.mf .phone-pill b{font-size:16.5px; font-weight:700; letter-spacing:.01em; color:var(--white)}
.mf .burger{display:none; width:48px; height:48px; border-radius:10px; border:1px solid rgba(234,217,170,.35); background:transparent; color:var(--white); cursor:pointer; place-items:center}
.mf .burger svg{width:22px; height:22px}

/* mobile drawer */
.mf .drawer{position:fixed; inset:0; z-index:90; background:var(--n900); color:var(--white); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .4s var(--ease); visibility:hidden; overflow-y:auto}
.mf .drawer.open{transform:none; visibility:visible}
.mf .drawer .d-head{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line-dk)}
.mf .drawer .d-head img{height:46px; width:auto}
.mf .drawer .d-body{padding:8px 20px 24px; display:flex; flex-direction:column}
.mf .drawer details{border-bottom:1px solid var(--line-dk2)}
.mf .drawer summary{list-style:none; cursor:pointer; padding:18px 0; font-family:var(--display); font-size:22px; font-weight:600; display:flex; justify-content:space-between; align-items:center}
.mf .drawer summary::-webkit-details-marker{display:none}
.mf .drawer summary::after{content:"+"; font-family:var(--body); font-weight:300; font-size:28px; color:var(--gold)}
.mf .drawer details[open] summary::after{content:"\2013"}
.mf .drawer details a,.mf .drawer .d-link{display:block; text-decoration:none; color:var(--muted-dk); padding:10px 0 10px 4px; font-size:16.5px}
.mf .drawer details a:last-child{padding-bottom:18px}
.mf .drawer .d-link{font-family:var(--display); font-size:22px; font-weight:600; color:var(--white); padding:18px 0; border-bottom:1px solid var(--line-dk2)}
.mf .drawer .d-contact{margin-top:auto; padding:24px 20px 32px; background:var(--n950); display:flex; flex-direction:column; gap:14px}
.mf .drawer .d-contact .big{font-size:28px; font-weight:700; text-decoration:none}
.mf .drawer .d-contact .row{display:grid; grid-template-columns:1fr 1fr; gap:10px}

/* ---------- heroes ---------- */
.mf .hero,.mf .page-hero{position:relative; isolation:isolate; overflow:hidden; color:var(--white); background:var(--n900)}
.mf .hero::before,.mf .page-hero::before{content:""; position:absolute; inset:-20%; z-index:-2; background:
  radial-gradient(40% 50% at 78% 18%, rgba(46,86,156,.55), transparent 70%),
  radial-gradient(30% 40% at 12% 90%, rgba(198,166,108,.16), transparent 70%),
  linear-gradient(180deg,#071530 0%,#0A1C3E 100%); animation:mfGlow 22s ease-in-out infinite alternate}
.mf .hero::after,.mf .page-hero::after{content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(234,217,170,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(234,217,170,.045) 1px,transparent 1px); background-size:64px 64px; -webkit-mask-image:radial-gradient(70% 80% at 70% 30%,#000 20%,transparent 75%); mask-image:radial-gradient(70% 80% at 70% 30%,#000 20%,transparent 75%)}
@keyframes mfGlow{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-4%,3%,0) scale(1.06)}}
.mf .hero-body{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr); align-items:center; gap:72px; padding-top:96px; padding-bottom:112px}
.mf .hero-copy{display:flex; flex-direction:column; gap:28px}
.mf .hero h1{font-size:clamp(42px,5.6vw,76px); line-height:1.03; letter-spacing:-.025em}
.mf .hero h1 em{font-style:italic; font-weight:600; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em}
.mf .hero .lede,.mf .page-hero .lede{font-size:19.5px; line-height:1.6; color:var(--muted-dk); max-width:56ch}
.mf .callout{display:inline-flex; align-items:center; gap:16px; margin-top:6px; text-decoration:none; color:var(--white); width:max-content; max-width:100%}
.mf .callout .ic{display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:rgba(234,217,170,.1); border:1px solid rgba(234,217,170,.4); color:var(--gold-hi); flex:none; position:relative}
.mf .callout .ic::after{content:""; position:absolute; inset:-6px; border-radius:50%; border:1px solid rgba(234,217,170,.35); animation:mfPulse 2.6s ease-out infinite}
@keyframes mfPulse{0%{transform:scale(.85); opacity:.9}100%{transform:scale(1.35); opacity:0}}
.mf .callout .ic svg{width:24px; height:24px}
.mf .callout small{display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-dk); font-weight:600}
.mf .callout b{display:block; font-family:var(--body); font-size:clamp(26px,2.6vw,34px); font-weight:700; letter-spacing:.005em; line-height:1.15; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent}

.mf .glance{position:relative; background:linear-gradient(180deg,rgba(19,46,92,.72),rgba(7,21,48,.82)); border:1px solid rgba(234,217,170,.22); border-radius:var(--r-lg); padding:36px; box-shadow:0 40px 80px rgba(0,0,0,.35); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px)}
.mf .glance::before{content:""; position:absolute; left:36px; right:36px; top:-1px; height:2px; background:var(--grad-gold); border-radius:2px}
.mf .glance h2{font-size:24px; margin-bottom:14px}
.mf .glance .row{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid var(--line-dk2); font-size:15.5px}
.mf .glance .row span{color:var(--muted-dk)}
.mf .glance .row b{font-weight:600; color:var(--white); text-align:right}
.mf .glance .btn{margin-top:22px; width:100%}
.mf .glance p{font-size:13px; color:var(--dim-dk); margin-top:14px; text-align:center}

.mf .page-hero .inner{padding-top:72px; padding-bottom:84px; display:flex; flex-direction:column; gap:20px}
.mf .page-hero h1{max-width:20ch}
.mf .page-hero h1{font-size:clamp(38px,4.8vw,62px); line-height:1.06; letter-spacing:-.02em}
.mf .crumbs{font-size:13.5px; color:var(--dim-dk); display:flex; gap:8px}
.mf .crumbs a{color:var(--dim-dk); text-decoration:none}
.mf .crumbs a:hover{color:var(--gold-hi)}
.mf .jump{background:var(--n950); border-top:1px solid var(--line-dk2); position:relative}
.mf .jump ul{list-style:none; margin:0; padding:16px 0; display:flex; gap:10px; overflow-x:auto; scrollbar-width:none}
.mf .jump ul::-webkit-scrollbar{display:none}
.mf .jump a{display:inline-flex; align-items:center; min-height:40px; padding:0 18px; border:1px solid var(--line-dk2); border-radius:999px; color:var(--muted-dk); text-decoration:none; font-size:14px; white-space:nowrap; transition:all .2s}
.mf .jump a:hover{border-color:var(--gold); color:var(--gold-hi); background:rgba(234,217,170,.06)}

/* ---------- sections ---------- */
.mf .block{padding-top:120px; padding-bottom:120px; position:relative}
.mf .block + .block:not(.alt):not(.dark){border-top:1px solid var(--line)}
.mf .block.alt{background:var(--white)}
.mf .block.alt + .block.alt{border-top:1px solid var(--line)}
.mf .block.dark{background:var(--n900); color:var(--white)}
.mf .block.dark .muted,.mf .block.dark .sec-head p{color:var(--muted-dk)}
.mf .sec-head{display:flex; flex-direction:column; align-items:flex-start; gap:18px; max-width:780px; margin-bottom:64px}
.mf .sec-head > div{display:flex; flex-direction:column; gap:18px}
.mf .sec-head h2{font-size:clamp(34px,4.2vw,52px); line-height:1.08; letter-spacing:-.02em}
.mf .sec-head p{font-size:18.5px; color:var(--muted); max-width:62ch}
.mf .sec-head p a,.mf .prose a,.mf .note a{color:var(--gold-ink); font-weight:600; text-underline-offset:3px}
.mf .two{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:56px 80px; align-items:start}
.mf .two > .side{display:flex; flex-direction:column; gap:18px; position:sticky; top:120px}
.mf .two > .main{display:flex; flex-direction:column; gap:26px; min-width:0}
.mf .side h2,.mf .main h2{font-size:clamp(30px,3.4vw,44px); line-height:1.1; letter-spacing:-.02em}
.mf .side .cta-row{margin-top:8px}
.mf .main h3{font-size:23px}
.mf .prose{max-width:70ch; display:flex; flex-direction:column; gap:16px; color:var(--ink-2)}
.mf .prose ul,.mf .prose ol{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:10px}
.mf .prose li::marker{color:var(--gold)}
.mf .prose h3{font-family:var(--display); font-size:23px; margin:14px 0 0; color:var(--ink)}

/* ---------- unified cards ---------- */
.mf .cards,.mf .doors,.mf .steps,.mf .prog,.mf .toc,.mf .ind,.mf .dir,.mf .tiles{display:grid; gap:24px; align-items:stretch}
.mf .cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.mf .main .cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mf .doors,.mf .steps{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.mf .prog{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.mf .toc{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.mf .ind{grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
.mf .steps{list-style:none; margin:0; padding:0}
.mf .card,.mf .door,.mf .steps li,.mf .prog article,.mf .toc a,.mf .ind > div,.mf .tile{
  position:relative; overflow:hidden; background:var(--white); border:1px solid var(--line); border-radius:var(--r);
  padding:36px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--sh-sm); color:var(--ink); text-decoration:none;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.mf .card::before,.mf .door::before,.mf .steps li::before,.mf .prog article::before,.mf .toc a::before,.mf .ind > div::before{
  content:""; position:absolute; left:0; top:0; right:0; height:3px; background:var(--grad-gold); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease)}
.mf .card.gold::before,.mf .prog article::before,.mf .steps li::before{transform:scaleX(1)}
.mf a.card:hover,.mf .door:hover,.mf .toc a:hover,.mf .card:hover,.mf .steps li:hover,.mf .prog article:hover,.mf .ind > div:hover{transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:rgba(198,166,108,.45)}
.mf .card:hover::before,.mf .door:hover::before,.mf .toc a:hover::before,.mf .ind > div:hover::before{transform:scaleX(1)}
.mf .alt .card,.mf .alt .door,.mf .alt .steps li,.mf .alt .prog article,.mf .alt .toc a,.mf .alt .ind > div{background:var(--ivory)}
.mf .card h3,.mf .door h3,.mf .prog h3{font-size:24px; line-height:1.2}
.mf .card p,.mf .door p,.mf .steps p,.mf .toc span,.mf .ind span{color:var(--muted)}
.mf .card .more,.mf .door .go{margin-top:auto; padding-top:10px; font-weight:600; font-size:15px; color:var(--gold-ink); text-decoration:none; display:inline-flex; align-items:center; gap:8px}
.mf .card .more::after,.mf .door .go::after{content:"\2192"; transition:transform .3s var(--ease)}
.mf .card:hover .more::after,.mf .door:hover .go::after{transform:translateX(5px)}
.mf .door .tag{font-family:var(--caps); font-weight:600; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-ink)}
.mf .door h3{font-size:28px}
.mf .door ul{list-style:none; margin:4px 0 0; padding:16px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; font-size:15.5px; color:var(--ink-2)}
.mf .door ul li{display:flex; gap:10px; align-items:baseline}
.mf .door ul li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; transform:translateY(-2px)}
.mf .steps .num{display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--grad-gold); color:var(--n900); font-family:var(--caps); font-weight:700; font-size:15px; letter-spacing:.04em; box-shadow:var(--sh-gold); margin-bottom:6px}
.mf .steps h3{font-size:25px}
.mf .toc b{font-family:var(--display); font-size:21px; line-height:1.25}
.mf .toc a{padding:30px}
.mf .ind > div{padding:28px; gap:6px}
.mf .ind b{display:block; font-family:var(--display); font-size:20px}
.mf .ind span{font-size:15.5px}
.mf .prog article{padding:40px; gap:16px}
.mf .prog h3{font-size:28px}
.mf .prog .meta{display:flex; flex-wrap:wrap; gap:8px}
.mf .prog .meta span{font-size:13px; font-weight:500; padding:5px 12px; background:var(--sand); border-radius:999px; color:var(--ink-2)}
.mf .prog dl{margin:6px 0 0; display:grid; grid-template-columns:130px 1fr; gap:0; font-size:15.5px}
.mf .prog dt,.mf .prog dd{padding:11px 0; border-top:1px solid var(--line); margin:0}
.mf .prog dt{color:var(--muted)}
.mf .prog dd{font-weight:500}
.mf .block.dark .card,.mf .block.dark .tile,.mf .block.dark .steps li{background:rgba(19,46,92,.42); border-color:var(--line-dk2); color:var(--white); box-shadow:none}
.mf .block.dark .card p,.mf .block.dark .tile span{color:var(--muted-dk)}
.mf .block.dark .card .more{color:var(--gold-hi)}
.mf .tile b{font-family:var(--display); font-size:36px; font-weight:700; line-height:1.1}
.mf .tile span{color:var(--muted)}

/* stat band */
.mf .band{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); background:var(--white); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); overflow:hidden}
.mf .band > div{padding:30px 28px; border-left:1px solid var(--line)}
.mf .band > div:first-child{border-left:0}
.mf .band b{display:block; font-family:var(--display); font-size:32px; font-weight:700; color:var(--ink); line-height:1.15; margin-bottom:4px}
.mf .band span{color:var(--muted); font-size:15px}

/* tables */
.mf .table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:var(--white); box-shadow:var(--sh-sm)}
.mf table{width:100%; border-collapse:collapse; font-size:16px; min-width:560px}
.mf th,.mf td{text-align:left; padding:16px 22px; border-bottom:1px solid var(--line); vertical-align:top}
.mf thead th{background:var(--n900); color:var(--white); font-weight:600; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase}
.mf tbody tr{transition:background .2s}
.mf tbody tr:hover{background:var(--ivory)}
.mf tbody tr:last-child td,.mf tbody tr:last-child th{border-bottom:0}
.mf td.num{font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap}
.mf tbody th{font-weight:600; width:36%}

/* notes, timeline, checklist */
.mf .note{border:1px solid rgba(198,166,108,.35); border-left:3px solid var(--gold); background:#FBF6EA; padding:20px 24px; border-radius:0 var(--r-sm) var(--r-sm) 0; color:#4A4232; max-width:72ch}
.mf .note b{color:#2E2610}
.mf .block.dark .note{background:rgba(198,166,108,.1); color:var(--muted-dk); border-color:rgba(198,166,108,.3)}
.mf .block.dark .note b{color:var(--white)}
.mf .timeline{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; counter-reset:t}
.mf .timeline li{display:grid; grid-template-columns:60px 1fr; gap:20px; padding:26px 0; border-top:1px solid var(--line); position:relative}
.mf .timeline li:last-child{border-bottom:1px solid var(--line)}
.mf .timeline .n{display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--gold); font-family:var(--display); font-size:20px; font-weight:700; color:var(--gold-ink); line-height:1}
.mf .timeline h3{font-size:22px; margin:6px 0 8px}
.mf .timeline p{color:var(--muted); margin:0}
.mf .block.dark .timeline li{border-color:var(--line-dk2)}
.mf .block.dark .timeline p{color:var(--muted-dk)}
.mf .block.dark .timeline .n{color:var(--gold-hi); border-color:rgba(234,217,170,.55)}
.mf .checklist{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:0 36px}
.mf .checklist li{display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line)}
.mf .checklist svg{flex:none; margin-top:3px}
.mf .checklist strong{display:block}
.mf .block.dark .checklist li{border-color:var(--line-dk2)}
.mf .block.dark .checklist strong{color:var(--white)}

/* ---------- forms ---------- */
.mf .formcard{position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(28px,4vw,52px); display:flex; flex-direction:column; gap:22px; box-shadow:var(--sh-lg); overflow:hidden}
.mf .formcard::before{content:""; position:absolute; left:0; top:0; right:0; height:4px; background:var(--grad-gold)}
.mf .formcard h3{font-size:clamp(26px,2.6vw,32px)}
.mf .formcard .grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px}
.mf .apply form,.mf .formcard form{display:flex; flex-direction:column; gap:0}
.mf .field{display:flex; flex-direction:column; gap:8px; min-width:0}
.mf .field.full{grid-column:1 / -1}
.mf .field label{font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--ink-2)}
.mf .field input,.mf .field select,.mf .field textarea{width:100%; min-height:54px; padding:0 16px; border:1.5px solid var(--line-2); border-radius:var(--r-sm); font:inherit; font-size:16px; color:var(--ink); background:#FFFDF9; transition:border-color .2s,box-shadow .2s,background .2s; -webkit-appearance:none; appearance:none}
.mf .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238A6A33' stroke-width='1.8'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px}
.mf .field textarea{min-height:140px; padding:14px 16px; resize:vertical; line-height:1.55}
.mf .field input[type=file]{padding:14px 16px; min-height:auto; background:var(--ivory); border-style:dashed}
.mf .field input:hover,.mf .field select:hover,.mf .field textarea:hover{border-color:#C9BEA6}
.mf .field input:focus,.mf .field select:focus,.mf .field textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(198,166,108,.18); background:var(--white)}
.mf .field small{color:var(--muted); font-size:13px}
.mf .field .group-label,.mf .group-label{font-family:var(--caps); letter-spacing:.2em; font-size:12px; font-weight:600; color:var(--gold-ink); text-transform:uppercase; padding-top:10px; border-top:1px solid var(--line); margin-top:6px}
.mf .grid > .field.full:first-child .group-label{border-top:0; padding-top:0; margin-top:0}
.mf .form-foot{display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:26px}
.mf .form-foot span{font-size:14px; color:var(--muted)}
.mf .form-ok{display:none; gap:12px; align-items:flex-start; margin-top:18px; padding:16px 18px; border-radius:var(--r-sm); background:#EEF5EC; border:1px solid #BFD8BA; color:#244322; font-size:15px}
.mf .form-ok.show{display:flex}
.mf .tabs-note{font-size:14px; color:var(--muted)}

/* ---------- contact page ---------- */
.mf .contact-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:32px; align-items:stretch}
.mf .contact-panel{position:relative; overflow:hidden; background:var(--n900); color:var(--white); border-radius:var(--r-lg); padding:clamp(30px,4vw,52px); display:flex; flex-direction:column; gap:28px; box-shadow:var(--sh-lg)}
.mf .contact-panel::before{content:""; position:absolute; inset:0; background:radial-gradient(60% 50% at 100% 0%,rgba(46,86,156,.55),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(198,166,108,.18),transparent 70%); pointer-events:none}
.mf .contact-panel > *{position:relative}
.mf .contact-panel .big-phone{display:block; text-decoration:none; font-family:var(--body); font-weight:700; font-size:clamp(34px,3.6vw,46px); line-height:1.05; letter-spacing:-.005em; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent}
.mf .contact-panel .lbl{font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--muted-dk); margin-bottom:8px}
.mf .contact-panel .row2{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px}
.mf .contact-panel .row2 .btn{padding:0 16px}
.mf .contact-panel .item{padding-top:24px; border-top:1px solid var(--line-dk2)}
.mf .contact-panel .email{font-size:clamp(20px,2vw,24px); font-weight:700; color:var(--white); text-decoration:none; word-break:break-word}
.mf .contact-panel .email:hover{color:var(--gold-hi)}
.mf .contact-panel address{font-style:normal; color:var(--muted-dk); font-size:16px; line-height:1.6}
.mf .contact-panel address b{color:var(--white); font-weight:600}
.mf .contact-panel .chips{display:flex; flex-wrap:wrap; gap:8px}
.mf .contact-panel .chips span{font-size:13px; padding:6px 12px; border:1px solid var(--line-dk2); border-radius:999px; color:var(--muted-dk)}

/* ---------- faq ---------- */
.mf .faq-group{display:flex; flex-direction:column; margin-bottom:56px}
.mf .faq-group h2{font-size:30px; margin-bottom:16px}
.mf details{border-top:1px solid var(--line)}
.mf details:last-child{border-bottom:1px solid var(--line)}
.mf summary{cursor:pointer; list-style:none; padding:24px 56px 24px 0; position:relative; font-family:var(--display); font-weight:600; font-size:20.5px; transition:color .2s}
.mf summary:hover{color:var(--gold-ink)}
.mf summary::-webkit-details-marker{display:none}
.mf summary::after{content:""; position:absolute; right:4px; top:50%; width:34px; height:34px; margin-top:-17px; border-radius:50%; border:1px solid var(--line-2); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%238A6A33' stroke-width='1.6'/%3E%3C/svg%3E") center no-repeat; transition:transform .3s var(--ease),background-color .2s}
.mf details[open] summary::after{transform:rotate(45deg); background-color:var(--sand)}
.mf details .a{padding:0 0 26px; color:var(--muted); max-width:72ch; display:flex; flex-direction:column; gap:10px}

/* ---------- guides, glossary, legal ---------- */
.mf article.guide{max-width:74ch; display:flex; flex-direction:column; gap:16px; padding:56px 0; border-top:1px solid var(--line); scroll-margin-top:110px}
.mf article.guide:first-of-type{border-top:0; padding-top:0}
.mf article.guide h2{font-size:clamp(28px,3vw,36px)}
.mf article.guide h3{font-family:var(--display); font-size:22px; margin:10px 0 0}
.mf article.guide ul,.mf article.guide ol{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:10px}
.mf article.guide li::marker{color:var(--gold)}
.mf article.guide .back{font-size:14px; color:var(--gold-ink); font-weight:600}
.mf .gloss{display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:0 56px}
.mf .gloss div{padding:22px 0; border-top:1px solid var(--line)}
.mf .gloss dt{font-family:var(--display); font-weight:600; font-size:20px; margin-bottom:6px}
.mf .gloss dd{margin:0; color:var(--muted)}
.mf .letters{display:flex; flex-wrap:wrap; gap:6px}
.mf .legaldoc{max-width:76ch; display:flex; flex-direction:column; gap:16px}
.mf .legaldoc h2{font-size:26px; margin-top:26px}
.mf .legaldoc p,.mf .legaldoc li{color:var(--ink-2)}
.mf .legaldoc ul{margin:0; padding-left:22px; display:flex; flex-direction:column; gap:8px}
.mf .draft{background:#FDF3E2; border:1px solid #E7C98B; color:#5A4313; padding:14px 18px; border-radius:var(--r-sm); font-size:14px}
[id]{scroll-margin-top:110px}

/* ---------- calculator ---------- */
.mf .calc{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px}
.mf .calc .in{display:flex; flex-direction:column; gap:22px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:36px; box-shadow:var(--sh-sm)}
.mf .calc .outp{position:relative; overflow:hidden; background:var(--n900); color:var(--white); border-radius:var(--r-lg); padding:36px; display:flex; flex-direction:column; gap:4px; box-shadow:var(--sh-lg)}
.mf .calc .outp::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--grad-gold)}
.mf .calc .outp .row{display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--line-dk2)}
.mf .calc .outp .row:first-of-type{border-top:0}
.mf .calc .outp span{color:var(--muted-dk)}
.mf .calc .outp b{font-variant-numeric:tabular-nums; font-weight:600}
.mf .calc .outp .big b{font-family:var(--display); font-size:32px; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent}
.mf .calc input[type=range]{width:100%; accent-color:#C6A66C; height:28px}
.mf .calc .val{font-variant-numeric:tabular-nums; font-weight:700}

/* ---------- CTA band + footer ---------- */
.mf .cta-band{position:relative; isolation:isolate; overflow:hidden; background:var(--n800); color:var(--white)}
.mf .cta-band::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(50% 120% at 100% 50%,rgba(198,166,108,.22),transparent 70%),radial-gradient(40% 100% at 0% 0%,rgba(46,86,156,.5),transparent 70%)}
.mf .cta-band .wrap{display:grid; grid-template-columns:minmax(0,1.2fr) auto; align-items:center; gap:40px; padding-top:88px; padding-bottom:88px}
.mf .cta-band h2{font-size:clamp(32px,3.8vw,48px); letter-spacing:-.02em}
.mf .cta-band p{color:var(--muted-dk); margin-top:12px; font-size:18px}
.mf .cta-band .callout{margin-top:26px}
.mf .cta-band .cta-row{justify-content:flex-end}

.mf footer{background:var(--n950); color:var(--muted-dk); font-size:15px}
.mf footer .top{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:56px; padding-top:88px; padding-bottom:56px}
.mf footer .brand{display:flex; flex-direction:column; gap:22px}
.mf footer .brand img{height:58px; width:auto; display:block}
.mf footer .f-phone{display:block; text-decoration:none; font-weight:700; font-size:30px; line-height:1.1; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent}
.mf footer .f-mail{display:block; text-decoration:none; font-weight:700; font-size:19px; color:var(--white)}
.mf footer .f-mail:hover{color:var(--gold-hi)}
.mf footer .f-lbl{font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--dim-dk); font-weight:600; margin-bottom:6px}
.mf footer address{font-style:normal; line-height:1.65}
.mf footer .cols{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 32px}
.mf footer .cols h4{font-family:var(--caps); font-weight:600; font-size:12px; letter-spacing:.2em; color:var(--gold); margin:0 0 16px; text-transform:uppercase}
.mf footer .cols ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px}
.mf footer .cols a{color:var(--muted-dk); text-decoration:none; transition:color .2s}
.mf footer .cols a:hover{color:var(--gold-hi)}
.mf footer .legal{padding-top:28px; padding-bottom:44px; border-top:1px solid var(--line-dk2); color:var(--dim-dk); font-size:13.5px; line-height:1.7}

/* mobile action bar */
.mf .mbar{display:none}

/* ---------- reveal on scroll ---------- */
.js .mf .rv{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .mf .rv.in{opacity:1; transform:none}
.js .mf .hero-copy > *{animation:mfUp .9s var(--ease) both}
.js .mf .hero-copy > *:nth-child(2){animation-delay:.08s}
.js .mf .hero-copy > *:nth-child(3){animation-delay:.16s}
.js .mf .hero-copy > *:nth-child(4){animation-delay:.24s}
.js .mf .hero-copy > *:nth-child(5){animation-delay:.32s}
.js .mf .glance{animation:mfUp 1s .25s var(--ease) both}
.js .mf .page-hero .inner > *{animation:mfUp .8s var(--ease) both}
.js .mf .page-hero .inner > *:nth-child(2){animation-delay:.06s}
.js .mf .page-hero .inner > *:nth-child(3){animation-delay:.12s}
.js .mf .page-hero .inner > *:nth-child(4){animation-delay:.18s}
@keyframes mfUp{from{opacity:0; transform:translateY(22px)}to{opacity:1; transform:none}}

/* ---------- responsive ---------- */
@media (max-width:1260px){
  .mf .nav nav,.mf .phone-pill span{display:none}
  .mf .phone-pill{padding:6px; border-color:transparent}
  .mf .burger{display:grid}
}
@media (max-width:980px){
  .mf .ind{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf .wrap{padding-left:28px; padding-right:28px}
  .mf .hero-body,.mf .two,.mf .contact-grid,.mf .calc,.mf .cta-band .wrap,.mf footer .top{grid-template-columns:minmax(0,1fr)}
  .mf .hero-body{gap:48px; padding-top:64px; padding-bottom:80px}
  .mf .two > .side{position:static}
  .mf .block{padding-top:88px; padding-bottom:88px}
  .mf .sec-head{margin-bottom:44px}
  .mf .cta-band .cta-row{justify-content:flex-start}
  .mf .topbar .links{display:none}
  .mf .topbar .wrap{justify-content:center}
}
@media (max-width:760px){
  .mf{font-size:16.5px}
  .mf .wrap{padding-left:20px; padding-right:20px}
  .mf .topbar{display:none}
  .mf .nav{min-height:72px; gap:12px}
  .mf .nav .logo img{height:46px}
  .mf .site-header.scrolled .nav{min-height:64px}
  .mf .site-header.scrolled .nav .logo img{height:42px}
  .mf .nav .actions .btn{display:none}
  .mf .hero-body{padding-top:48px; padding-bottom:64px; gap:40px}
  .mf .hero h1{font-size:clamp(38px,10.5vw,52px)}
  .mf .eyebrow{letter-spacing:.18em; font-size:11.5px; gap:10px}
  .mf .eyebrow::before{width:20px}
  .mf .cta-band h2{font-size:34px}
  .mf .hero .lede,.mf .page-hero .lede{font-size:17.5px}
  .mf .cta-row{flex-direction:column; align-items:stretch}
  .mf .cta-row .btn{width:100%}
  .mf .glance{padding:28px 24px}
  .mf .page-hero .inner{padding-top:48px; padding-bottom:56px}
  .mf .block{padding-top:72px; padding-bottom:72px}
  .mf .sec-head{margin-bottom:36px; gap:14px}
  .mf .sec-head p{font-size:17px}
  .mf .card,.mf .door,.mf .steps li,.mf .prog article,.mf .toc a,.mf .tile{padding:28px 24px}
  .mf .cards,.mf .doors,.mf .steps,.mf .prog,.mf .toc,.mf .main .cards{grid-template-columns:minmax(0,1fr); gap:18px}
  .mf .ind{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px}
  .mf .ind > div{padding:20px 18px}
  .mf .ind b{font-size:17px}
  .mf .ind span{font-size:14px}
  .mf .formcard .grid{grid-template-columns:minmax(0,1fr)}
  .mf .form-foot .btn{width:100%}
  .mf .band{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mf .band > div{border-left:0; border-top:1px solid var(--line); padding:22px 20px}
  .mf .band > div:nth-child(even){border-left:1px solid var(--line)}
  .mf .band > div:nth-child(-n+2){border-top:0}
  .mf .band b{font-size:24px}
  .mf .prog dl{grid-template-columns:110px 1fr}
  .mf .timeline li{grid-template-columns:48px 1fr; gap:14px}
  .mf .gloss{grid-template-columns:minmax(0,1fr)}
  .mf footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mf footer .top{padding-top:64px; gap:44px}
  .mf .cta-band .wrap{padding-top:64px; padding-bottom:64px}
  .mf summary{font-size:18.5px}
  .mf .mbar{display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:80; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(4,12,28,.96); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--line-dk); transform:translateY(110%); transition:transform .4s var(--ease)}
  .mf .mbar.show{transform:none}
  .mf .mbar a{display:flex; align-items:center; justify-content:center; gap:8px; min-height:50px; border-radius:10px; text-decoration:none; font-weight:700; font-size:15px; color:var(--white); border:1px solid rgba(234,217,170,.35)}
  .mf .mbar a svg{width:18px; height:18px}
  .mf .mbar a.go{background:var(--grad-gold); color:var(--n900); border:0}
  .mf footer{padding-bottom:76px}
}
@media (max-width:420px){
  .mf .ind{grid-template-columns:minmax(0,1fr)}
  .mf .contact-panel .row2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .mf *,.mf *::before,.mf *::after{animation:none!important; transition:none!important}
  .js .mf .rv{opacity:1; transform:none}
}
.mf .drawer details{border-top:0; border-bottom:1px solid var(--line-dk2)}
.mf .drawer details:last-child{border-bottom:1px solid var(--line-dk2)}
.mf .drawer summary{padding:18px 0; color:var(--white)}
.mf .drawer summary:hover{color:var(--gold-hi)}
.mf .drawer summary::after{content:"+"; position:static; width:auto; height:auto; margin:0; border:0; border-radius:0; background:none; transform:none; font-family:var(--body); font-weight:300; font-size:28px; line-height:1; color:var(--gold)}
.mf .drawer details[open] summary::after{content:"\2013"; transform:none; background:none}
.mf .drawer details[open] summary{color:var(--gold-hi)}
.mf .checklist br{display:none}
.mf .checklist li > div > span{display:block; margin-top:3px; font-size:15.5px}
.mf .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.mf .cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
.mf .main .cards,.mf .main .cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.mf .prog{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1100px){.mf .cards,.mf .cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.mf .cards,.mf .cards:has(> :nth-child(4):last-child),.mf .main .cards,.mf .main .cards:has(> :nth-child(4):last-child),.mf .prog{grid-template-columns:minmax(0,1fr)}}
.mf .page-hero h1 em{font-style:italic; font-weight:600; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; padding-right:.06em}
