:root{
  --ink:#0b0a09;--ink2:#12100e;--ink3:#1a1714;--ink4:#231f1b;
  --ivory:#f4ede1;--ivory2:#ebe2d2;--paper:#f8f4ec;
  --gold:#c9a46a;--gold2:#e7cc94;--gold3:#9a7642;
  --text:#ece5d8;--muted:#a69d8f;--muted2:#7d756a;
  --line:rgba(201,164,106,.2);--line2:rgba(236,229,216,.09);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;
  --gold-grad:linear-gradient(115deg,#9a7642 0%,#e7cc94 38%,#c9a46a 55%,#f3dfb2 72%,#a8834c 100%);
  --ease:cubic-bezier(.22,.8,.2,1);
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}

/* type */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.eyebrow .rule{width:38px;height:1px;background:var(--gold);opacity:.8}
.eyebrow-sm{font-size:.68rem;letter-spacing:.2em;margin-bottom:12px}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.04;letter-spacing:-.01em;color:var(--ivory)}
.h2 em,.hero-title em,.question h2 em{font-style:italic;font-weight:400;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(1.02rem,1.3vw,1.14rem);color:var(--muted);max-width:56ch;margin-top:22px;font-weight:400}
.fine{font-size:.76rem;color:var(--muted2);margin-top:14px;line-height:1.55}
.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head{max-width:820px;margin-bottom:64px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;font-weight:600;font-size:.92rem;letter-spacing:.02em;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s,color .3s,border-color .3s;white-space:nowrap}
.btn-gold{background:var(--gold-grad);background-size:200% 100%;color:#1a130a;box-shadow:0 10px 30px -12px rgba(201,164,106,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-gold:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 18px 40px -14px rgba(231,204,148,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-ghost{border:1px solid var(--line);color:var(--ivory);background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold2);transform:translateY(-2px)}
.btn-block{width:100%}
.btn svg{width:1.1em;height:1.1em}

/* loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--ink);display:grid;place-items:center;align-content:center;gap:26px;transition:opacity .8s var(--ease),visibility .8s}
.loader img{width:84px;height:84px;animation:breathe 2.4s ease-in-out infinite}
.loader-line{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:sweep 1.4s ease-in-out infinite}
.loaded .loader{opacity:0;visibility:hidden}
@keyframes breathe{50%{opacity:.6;transform:scale(.96)}}
@keyframes sweep{0%{transform:scaleX(.2);opacity:.3}50%{transform:scaleX(1);opacity:1}100%{transform:scaleX(.2);opacity:.3}}

/* urgent bar */
.urgent{background:linear-gradient(90deg,#17120c,#1f1810,#17120c);border-bottom:1px solid var(--line);font-size:.8rem;position:relative;z-index:60}
.urgent-in{display:flex;align-items:center;gap:18px;min-height:42px;justify-content:center;flex-wrap:wrap;padding:6px 0}
.urgent-dot{width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 0 rgba(231,204,148,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(231,204,148,0)}100%{box-shadow:0 0 0 0 rgba(231,204,148,0)}}
.urgent-txt{color:var(--muted)}
.urgent-call{display:inline-flex;align-items:center;gap:7px;color:var(--gold2);font-weight:700;letter-spacing:.03em}
.urgent-alt{color:var(--muted2);border-left:1px solid var(--line2);padding-left:18px}
.urgent-alt b{color:var(--text);font-weight:600}

/* nav */
.nav{position:sticky;top:0;z-index:50;transition:background .5s,backdrop-filter .5s,border-color .5s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(11,10,9,.94);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);border-color:var(--line2)}
.nav-in{display:flex;align-items:center;gap:36px;height:84px;transition:height .4s var(--ease)}
.nav.scrolled .nav-in{height:70px}
.brand img{height:50px;width:auto;transition:height .4s var(--ease)}
.nav.scrolled .brand img{height:42px}
.nav-links{display:flex;gap:30px;margin-left:auto;font-size:.88rem;font-weight:500;color:var(--muted)}
.nav-links a{position:relative;padding:6px 0;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover{color:var(--ivory)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:12px 22px}
.burger{display:none;width:44px;height:44px;margin-left:auto;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ivory);transition:transform .4s var(--ease),top .4s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{top:21px;transform:rotate(45deg)}
.menu-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:rgba(11,10,9,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:22px;padding:calc(var(--menu-top,112px) + 6px) 24px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.menu-open .menu{opacity:1;visibility:visible}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font-family:var(--serif);font-size:clamp(1.35rem,5.6vw,1.75rem);line-height:1.2;color:var(--ivory);padding:clamp(7px,1.6vh,12px) 0;border-bottom:1px solid var(--line2);transform:translateY(16px);opacity:0;transition:transform .6s var(--ease),opacity .6s}
.menu-open .menu nav a{transform:none;opacity:1}
.menu nav a:nth-child(2){transition-delay:.04s}.menu nav a:nth-child(3){transition-delay:.08s}.menu nav a:nth-child(4){transition-delay:.12s}.menu nav a:nth-child(5){transition-delay:.16s}.menu nav a:nth-child(6){transition-delay:.2s}.menu nav a:nth-child(7){transition-delay:.24s}.menu nav a:nth-child(8){transition-delay:.28s}
.menu-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:auto}
.menu-foot .btn{padding:14px 10px;font-size:.86rem;min-width:0}
html.menu-lock{overflow:hidden}

/* hero */
.hero{position:relative;min-height:calc(100svh - 42px);display:flex;align-items:flex-end;padding:140px 0 90px;overflow:hidden;margin-top:-84px}
.hero-media{position:absolute;inset:0}
.hero-media img{position:absolute;right:0;top:0;width:76%;height:100%;object-fit:cover;object-position:50% 45%;transform:scale(1.12);filter:brightness(.95) saturate(.95)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.7) 0%,rgba(11,10,9,.1) 30%,rgba(11,10,9,.35) 60%,var(--ink) 100%),linear-gradient(90deg,var(--ink) 0%,var(--ink) 24%,rgba(11,10,9,.55) 46%,transparent 75%)}
.hero-glow{position:absolute;left:62%;top:36%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(255,196,110,.28),rgba(255,170,80,.08) 40%,transparent 70%);mix-blend-mode:screen;animation:flicker 4.5s ease-in-out infinite;z-index:1}
@keyframes flicker{0%,100%{opacity:.85;transform:scale(1)}22%{opacity:1;transform:scale(1.04)}48%{opacity:.75;transform:scale(.98)}70%{opacity:.95;transform:scale(1.02)}}
.hero-in{position:relative;z-index:2}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(3.3rem,9.4vw,8.6rem);line-height:.94;letter-spacing:-.02em;color:var(--ivory);margin-bottom:28px}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.08em}
.hero-title .line>span{display:inline-block}
.hero-sub{max-width:52ch;color:#cfc6b7;font-size:clamp(1.02rem,1.35vw,1.18rem)}
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:18px;margin-top:46px}
.path{position:relative;display:grid;gap:4px;padding:24px 70px 24px 26px;border-radius:var(--r);border:1px solid var(--line);background:rgba(18,16,14,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .5s var(--ease),border-color .4s,background .4s;overflow:hidden}
.path::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 0% 0%,rgba(201,164,106,.18),transparent 55%);opacity:0;transition:opacity .5s}
.path:hover{transform:translateY(-4px);border-color:rgba(231,204,148,.55)}
.path:hover::before{opacity:1}
.path-k{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.path-t{font-family:var(--serif);font-size:1.6rem;color:var(--ivory);line-height:1.15}
.path-p{font-size:.86rem;color:var(--muted)}
.path-p b{color:var(--gold2);font-weight:700}
.path-go{position:absolute;right:20px;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold2);transition:background .4s,color .4s,transform .5s var(--ease)}
.path:hover .path-go{background:var(--gold2);color:var(--ink);transform:translateX(4px)}
.path-now{border-color:rgba(231,204,148,.42)}
.hero-scroll{position:absolute;left:50%;bottom:26px;width:1px;height:54px;background:var(--line2);overflow:hidden;z-index:2}
.hero-scroll span{position:absolute;inset:0;background:var(--gold);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}

/* trust marquee */
.trust{border-block:1px solid var(--line2);background:var(--ink2);overflow:hidden}
.marquee{padding:20px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;animation:marq 48s linear infinite;font-size:.92rem;color:var(--muted);white-space:nowrap}
.marquee-track b{color:var(--ivory);font-weight:600}
.marquee-track i{color:var(--gold);font-style:normal;font-size:.7rem}
@keyframes marq{to{transform:translateX(-50%)}}

/* intro */
section{position:relative}
.intro{padding:150px 0 130px}
.intro-in{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;padding-top:34px;border-top:1px solid var(--line2)}
.stat-n{display:block;font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-l{display:block;font-size:.8rem;color:var(--muted);margin-top:10px;max-width:16ch}
.frame{overflow:hidden;border-radius:var(--r);position:relative}
.frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.intro-fig .frame{aspect-ratio:4/5}
figcaption{font-size:.76rem;color:var(--muted2);margin-top:14px;letter-spacing:.06em}
.intro-fig{position:relative}
.intro-fig::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--line);border-radius:calc(var(--r) + 6px);pointer-events:none}

/* cover */
.cover{padding:130px 0 140px;background:radial-gradient(70% 50% at 80% 0%,rgba(201,164,106,.07),transparent 60%),var(--ink2);border-top:1px solid var(--line2)}
.starter{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:calc(var(--r) + 4px);overflow:hidden;background:var(--ink3);margin-bottom:28px}
.starter-img img{width:100%;height:100%;object-fit:cover;min-height:280px}
.starter-body{padding:44px 44px 40px}
.starter h3{font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.4rem);font-weight:500;color:var(--ivory);line-height:1.1}
.starter-prices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 4px}
.starter-prices div{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:rgba(255,255,255,.015)}
.starter-prices span{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.starter-prices b{font-family:var(--serif);font-size:2.6rem;line-height:1.1;font-weight:500;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.starter-prices small{font-family:var(--sans);font-size:.9rem;color:var(--muted)}
.starter .btn{margin-top:24px}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.plan{position:relative;padding:34px 28px 28px;border-radius:var(--r);border:1px solid var(--line2);background:linear-gradient(180deg,var(--ink3),var(--ink2));display:flex;flex-direction:column;transition:transform .6s var(--ease),border-color .4s,box-shadow .6s}
.plan:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.plan-hot{border-color:rgba(231,204,148,.5);background:linear-gradient(180deg,#2a2219,#17130f);box-shadow:0 30px 70px -36px rgba(201,164,106,.45)}
.plan-badge{position:absolute;top:-12px;left:28px;background:var(--gold-grad);color:#1a130a;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.plan-name{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.plan-cover{font-family:var(--serif);font-size:3rem;line-height:1;color:var(--ivory);margin:18px 0 6px;font-weight:500}
.plan-cover span{font-size:1.5rem;vertical-align:.7em;margin-right:2px;color:var(--gold)}
.plan-cover small{display:block;font-family:var(--sans);font-size:.74rem;color:var(--muted2);letter-spacing:.08em;margin-top:8px}
.plan-price{font-size:.9rem;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line2)}
.plan-price b{font-size:1.25rem;color:var(--gold2)}
.plan ul{list-style:none;display:grid;gap:10px;margin:22px 0 26px;font-size:.88rem;color:#cfc6b7}
.plan li{position:relative;padding-left:20px}
.plan li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--gold)}
.plan-cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--gold2)}
.plan-cta svg{transition:transform .4s var(--ease)}
.plan-cta:hover svg{transform:translateX(5px)}
.plans-hint{display:none;font-size:.74rem;color:var(--muted2);text-align:center;letter-spacing:.08em;margin-top:2px}
.fplus{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;margin-top:28px;padding:36px 40px;border-radius:calc(var(--r) + 4px);border:1px solid var(--line);background:linear-gradient(110deg,rgba(201,164,106,.08),transparent 60%),var(--ink3)}
.fplus h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.4vw,2.1rem);color:var(--ivory);line-height:1.15}
.fplus-l p:last-child{color:var(--muted);margin-top:10px;font-size:.94rem}
.fplus-r{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fplus-r div{text-align:center;padding:18px 10px;border:1px solid var(--line2);border-radius:14px}
.fplus-r span{display:block;font-size:.72rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.fplus-r b{display:block;font-family:var(--serif);font-size:2.1rem;font-weight:500;color:var(--gold2);line-height:1.2}
.fplus-r small{font-size:.72rem;color:var(--muted2)}
.compare{margin-top:28px;border:1px solid var(--line2);border-radius:var(--r);background:var(--ink3);overflow:hidden}
.compare summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 28px;font-weight:600;color:var(--ivory)}
.compare summary::-webkit-details-marker{display:none}
.compare summary i{width:14px;height:14px;position:relative}
.compare summary i::before,.compare summary i::after{content:"";position:absolute;left:0;right:0;top:6.5px;height:1.5px;background:var(--gold);transition:transform .4s var(--ease)}
.compare summary i::after{transform:rotate(90deg)}
.compare[open] summary i::after{transform:rotate(0)}
.compare-scroll{overflow-x:auto;padding:0 28px 28px}
.compare table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:760px}
.compare th,.compare td{padding:13px 12px;text-align:center;border-bottom:1px solid var(--line2)}
.compare th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.compare td:first-child,.compare th:first-child{text-align:left;color:#cfc6b7}
.compare td{color:var(--muted)}
.compare td.y{color:var(--gold2)}
.compare td.n{color:var(--muted2)}
.compare tbody tr:hover td{background:rgba(201,164,106,.04)}

/* quote */
.quote{padding:140px 0;background:var(--paper);color:#2b241c}
.quote .h2{color:#1b1610}
.quote .h2 em{background:linear-gradient(115deg,#8a6533,#b88f52 50%,#7c5a2c);-webkit-background-clip:text;background-clip:text}
.quote .lead{color:#6c6253}
.quote .eyebrow{color:#9a7642}.quote .eyebrow .rule{background:#9a7642}
.quote-head{max-width:760px;margin-bottom:56px}
.calc{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:28px;align-items:start}
.calc-form{display:grid;gap:22px}
.calc fieldset{border:1px solid #e3d8c4;border-radius:var(--r);padding:26px 26px 24px;background:#fff}
.calc legend{float:left;width:100%;font-family:var(--serif);font-size:1.35rem;font-weight:600;color:#1b1610;padding:0}
.calc legend+*{clear:both}
.calc legend small{font-family:var(--sans);font-size:.78rem;color:#8a7f6e;font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.chips button{padding:11px 18px;border-radius:999px;border:1px solid #dccfb7;font-size:.86rem;font-weight:600;color:#4b4134;transition:all .3s var(--ease)}
.chips button:hover{border-color:#b88f52;color:#1b1610}
.chips button.on{background:#1b1610;border-color:#1b1610;color:var(--gold2)}
.steppers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 16px;border:1px solid #e3d8c4;border-radius:14px;font-size:.86rem;color:#4b4134;font-weight:500}
.stepper div{display:flex;align-items:center;gap:6px}
.stepper button{width:34px;height:34px;border-radius:50%;border:1px solid #dccfb7;font-size:1.1rem;line-height:1;color:#1b1610;transition:all .25s}
.stepper button:hover:not(:disabled){background:#1b1610;color:var(--gold2);border-color:#1b1610}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper output{min-width:20px;text-align:center;font-weight:700;color:#1b1610}
.ext.off .steppers{opacity:.35;pointer-events:none}
.ext-note{font-size:.82rem;color:#8a7f6e;margin-top:12px}
.calc-out{position:sticky;top:100px;background:var(--ink);color:var(--text);border-radius:calc(var(--r) + 4px);padding:34px 32px 30px;box-shadow:0 40px 80px -40px rgba(27,22,16,.6);overflow:hidden}
.calc-out::before{content:"";position:absolute;right:-120px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,164,106,.22),transparent 65%)}
.out-k{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.out-total{font-family:var(--serif);font-size:clamp(3.4rem,6vw,4.6rem);line-height:1;margin:14px 0 6px;color:var(--ivory);font-weight:500}
.out-total .cur{font-size:.5em;vertical-align:.7em;color:var(--gold);margin-right:4px}
.out-plan{color:var(--muted);font-size:.9rem}
.out-lines{list-style:none;margin:22px 0 0;padding:16px 0;border-block:1px solid var(--line2);display:grid;gap:8px;font-size:.86rem}
.out-lines li{display:flex;justify-content:space-between;gap:12px;color:#cfc6b7}
.out-lines li b{color:var(--ivory);font-weight:600}
.out-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}
.out-meta div{padding:12px 14px;border:1px solid var(--line2);border-radius:12px}
.out-meta span{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.out-meta b{font-size:.86rem;color:var(--ivory);font-weight:600}

/* coordination */
.coord{background:var(--ink);padding-bottom:110px}
.coord-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;padding:160px 0 90px}
.coord-hero>img{position:absolute;inset:0;width:100%;height:120%;object-fit:cover;top:-10%;filter:brightness(.6) saturate(.9)}
.coord-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink) 0%,rgba(11,10,9,.2) 30%,rgba(11,10,9,.55) 65%,var(--ink) 100%),linear-gradient(90deg,rgba(11,10,9,.8),transparent 70%)}
.coord-hero-in{position:relative;z-index:2;max-width:840px;margin-left:max(20px,(100% - 1240px)/2)}
.coord-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.steps-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;margin-top:110px;align-items:start}
.steps-side{position:sticky;top:120px}
.steps-side h3{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,3.4vw,3rem);line-height:1.05;color:var(--ivory)}
.steps-side>p{color:var(--gold);margin-top:12px;font-size:1.05rem}
.steps-fig{margin-top:34px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/11}
.steps-fig img{width:100%;height:100%;object-fit:cover}
.steps{list-style:none;position:relative;display:grid}
.steps-line{position:absolute;left:27px;top:28px;bottom:28px;width:1px;background:var(--line2)}
.steps-line span{position:absolute;inset:0;background:linear-gradient(var(--gold2),var(--gold3));transform-origin:top;transform:scaleY(0)}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:26px;padding:26px 0;border-bottom:1px solid var(--line2);position:relative}
.steps li:last-child{border-bottom:0}
.steps .n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;color:var(--gold2);background:var(--ink);border:1px solid var(--line);position:relative;z-index:1;transition:background .5s,color .5s,border-color .5s}
.steps li.lit .n{background:var(--gold-grad);color:var(--ink);border-color:transparent}
.steps h4{font-family:var(--serif);font-weight:500;font-size:1.65rem;color:var(--ivory);line-height:1.2;margin-top:8px}
.steps p{color:var(--muted);margin-top:6px;font-size:.95rem}
.coord-fine{text-align:center;margin-top:50px}

/* showroom */
.showroom{padding:140px 0;background:var(--ink2);border-top:1px solid var(--line2)}
.showroom-in{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.show-fig .frame{aspect-ratio:5/4}
.range{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:32px 0 30px}
.range li{padding:16px 18px;border:1px solid var(--line2);border-radius:14px;font-family:var(--serif);font-size:1.3rem;color:var(--ivory);transition:border-color .4s,background .4s}
.range li:hover{border-color:var(--line);background:rgba(201,164,106,.05)}
.range span{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* benefits */
.benefits{padding:140px 0}
.ben-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2);border-left:1px solid var(--line2)}
.ben{padding:34px 28px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);transition:background .5s}
.ben:hover{background:linear-gradient(160deg,rgba(201,164,106,.08),transparent 70%)}
.ben svg{width:34px;height:34px;color:var(--gold);stroke-width:1.2;margin-bottom:22px;transition:transform .6s var(--ease)}
.ben:hover svg{transform:translateY(-4px) scale(1.06)}
.ben h4{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--ivory);line-height:1.2}
.ben p{font-size:.88rem;color:var(--muted);margin-top:8px}
.oncall{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-top:60px;padding:44px;border-radius:calc(var(--r) + 4px);border:1px solid var(--line);background:radial-gradient(80% 120% at 0% 0%,rgba(201,164,106,.1),transparent 60%),var(--ink3)}
.oncall-num{font-family:var(--serif);font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.05;margin:6px 0 10px}
.oncall-num a{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.oncall-l>p:last-child{color:var(--muted);font-size:.92rem}
.oncall-r{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;align-content:center}
.oncall-r li{position:relative;padding-left:22px;font-size:.92rem;color:#cfc6b7}
.oncall-r li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:.62rem;top:.35em}

/* living */
.living{padding:130px 0;background:linear-gradient(180deg,var(--ink),#15110c 50%,var(--ink));border-block:1px solid var(--line2);overflow:hidden}
.living::before{content:"";position:absolute;right:-10%;top:-20%;width:60%;height:140%;background:radial-gradient(closest-side,rgba(231,204,148,.14),transparent);pointer-events:none}
.living-in{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center;position:relative}
.living-big{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,6.6vw,5.8rem);line-height:.98;color:var(--ivory);letter-spacing:-.015em}
.living-icons{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.living-icons li{display:flex;align-items:center;gap:10px;padding:11px 18px 11px 14px;border:1px solid var(--line);border-radius:999px;font-size:.88rem;color:#cfc6b7}
.living-icons svg{color:var(--gold2)}
.pay{padding:36px;border-radius:calc(var(--r) + 4px);border:1px solid var(--line2);background:rgba(18,16,14,.7);backdrop-filter:blur(8px)}
.pay h3{font-family:var(--serif);font-weight:500;font-size:2rem;color:var(--ivory)}
.pay-list{list-style:none;display:grid;gap:10px;margin:18px 0 24px}
.pay-list li{display:flex;gap:12px;align-items:center;font-size:.92rem;color:#cfc6b7}
.pay-list svg{color:var(--gold2)}
.pay-k{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px}
.stores{display:flex;flex-wrap:wrap;gap:8px}
.stores span{padding:7px 12px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line2);font-size:.8rem;font-weight:600;color:var(--ivory)}

/* question band */
.question{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;text-align:center}
.question>img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;filter:brightness(.42) saturate(.85)}
.question::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 50%,rgba(11,10,9,.2),rgba(11,10,9,.85)),linear-gradient(180deg,var(--ink),transparent 20%,transparent 80%,var(--ink))}
.question-in{position:relative;z-index:2;max-width:900px}
.question h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,5.6vw,4.8rem);line-height:1.04;color:var(--ivory)}
.question p{color:#d8cfbf;margin:22px 0 32px;font-size:1.1rem}

/* churches */
.churches{padding:140px 0}
.churches-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.churches .btn{margin-top:32px}
.ch-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:16px}
.ch-gallery .g1{grid-column:1;grid-row:1}
.ch-gallery .g1 .frame{aspect-ratio:3/2}
.ch-gallery .g2{grid-column:2;grid-row:1/3}
.ch-gallery .g2 .frame{height:100%}
.ch-gallery .g3 .frame{aspect-ratio:4/3}

/* about */
.about{padding:140px 0;background:var(--ink2);border-top:1px solid var(--line2)}
.about-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}
.about-fig .frame{aspect-ratio:3/4}
.about-text>p:not(.eyebrow):not(.lead){color:var(--muted);margin-top:18px;max-width:60ch}
.about blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.4vw,2rem);color:var(--gold2);margin:34px 0;padding-left:24px;border-left:1px solid var(--gold)}
.partners{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.partners div{padding:18px 20px;border:1px solid var(--line2);border-radius:14px}
.partners span{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.partners b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--ivory);margin-top:4px}
.partners small{color:var(--muted);font-size:.8rem}

/* contact */
.contact{padding:140px 0 0}
.contact-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start;padding-bottom:110px}
.cinfo{list-style:none;display:grid;gap:4px;margin-top:40px}
.cinfo li{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line2)}
.cinfo svg{width:44px;height:44px;padding:11px;border-radius:50%;border:1px solid var(--line);color:var(--gold2)}
.cinfo span{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2)}
.cinfo a{color:var(--ivory);font-weight:500;transition:color .3s;word-break:break-word}
.cinfo a:hover{color:var(--gold2)}
.cform{display:grid;gap:16px;padding:36px;border-radius:calc(var(--r) + 4px);border:1px solid var(--line);background:var(--ink3)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:var(--ink);border:1px solid var(--line2);margin-bottom:8px}
.tabs button{flex:1;padding:10px 12px;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--muted);transition:all .35s var(--ease);white-space:nowrap}
.tabs button.on{background:var(--gold-grad);color:#1a130a}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform label span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-weight:600}
.cform input,.cform textarea{width:100%;padding:15px 16px;border-radius:12px;border:1px solid var(--line2);background:var(--ink);color:var(--ivory);font:inherit;font-size:.95rem;transition:border-color .3s,box-shadow .3s;resize:vertical}
.cform input:focus,.cform textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,164,106,.12)}
.cform input.bad{border-color:#c46a5a}
.form-alt{text-align:center;margin-top:2px}
.form-alt a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.map{height:420px;border-top:1px solid var(--line2);filter:grayscale(1) invert(.92) contrast(.88) sepia(.18)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* footer */
.foot{background:#080706;border-top:1px solid var(--line2);padding:90px 0 40px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:50px}
.foot-brand img{width:220px}
.foot-brand p{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold2);margin-top:20px}
.socials{display:flex;gap:18px;margin-top:22px;font-size:.84rem;color:var(--muted)}
.socials a:hover,.foot-col a:hover{color:var(--gold2)}
.foot-col{display:flex;flex-direction:column;gap:10px;font-size:.88rem;color:var(--muted)}
.foot-col h5{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:700}
.foot-col a{transition:color .3s;word-break:break-word}
.legal{margin-top:60px;padding-top:30px;border-top:1px solid var(--line2);display:grid;gap:10px;font-size:.76rem;color:var(--muted2);max-width:980px}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:34px;font-size:.8rem;color:var(--muted2)}
.credit{color:var(--muted);transition:color .3s}
.credit:hover{color:var(--gold2)}

/* floating */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;gap:10px;padding:14px 20px 14px 16px;border-radius:999px;background:#1f8f4e;color:#fff;font-weight:600;font-size:.9rem;box-shadow:0 16px 36px -12px rgba(0,0,0,.6);transition:transform .4s var(--ease)}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:22px;height:22px}
.mbar{display:none}

/* reveal states (JS adds) */
.js .reveal{opacity:0;transform:translateY(34px)}
.js .reveal-img .frame{clip-path:inset(12% 8% 12% 8% round var(--r))}

@media (max-width:1100px){
  .nav-links{display:none}
  .burger{display:block;margin-left:0}
  .nav-cta{margin-left:auto}
  .plans{grid-template-columns:1fr 1fr}
  .ben-grid{grid-template-columns:repeat(3,1fr)}
  .intro-in,.showroom-in,.about-in,.churches-in,.living-in,.contact-in{gap:56px}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .intro-in,.showroom-in,.about-in,.churches-in,.living-in,.contact-in,.steps-wrap,.calc,.starter,.fplus,.oncall{grid-template-columns:1fr}
  .steps-side{position:static}
  .steps-wrap{gap:40px;margin-top:80px}
  .calc-out{position:relative;top:auto}
  .intro-fig{max-width:520px}
  .about-fig{max-width:460px}
  .ben-grid{grid-template-columns:1fr 1fr}
  .paths{grid-template-columns:1fr;max-width:440px}
  .oncall-r{grid-template-columns:1fr}
}
@media (min-width:641px) and (max-width:1100px){
  .intro,.cover,.quote,.showroom,.benefits,.churches,.about,.living{padding:100px 0}
  .contact{padding-top:100px}
  .contact-in{padding-bottom:80px}
  .sec-head,.quote-head{margin-bottom:44px}
  .hero{min-height:0;padding:170px 0 80px}
  .question{min-height:0;padding:150px 0}
  .coord-hero{min-height:0;padding:150px 0 70px}
  .steps-wrap{margin-top:70px}
  .coord{padding-bottom:80px}
}
@media (max-width:640px){
  body{font-size:15px;padding-bottom:64px}
  .wrap{width:calc(100% - 32px)}
  .urgent-txt,.urgent-alt{display:none}
  .urgent-in{min-height:0;padding:0}
  .urgent-call{padding:10px 8px}
  .plan-cta{padding:12px 0;margin-bottom:-8px}
  .cinfo a{display:inline-block;padding:6px 0}
  .cinfo li{padding:12px 0}
  .form-alt a{display:inline-block;padding:9px 2px}
  .foot-col{gap:0}
  .foot-col a,.foot-col span,.socials a{display:inline-block;padding:7px 0}
  .socials{gap:20px;margin-top:10px}
  .nav-in{height:70px;gap:12px}
  .brand img,.nav.scrolled .brand img{height:34px}
  .nav-cta{display:none}
  .burger{margin-left:auto}
  .hero{padding:96px 0 56px;min-height:0;margin-top:-70px}
  .hero-eyebrow .rule,.eyebrow .rule{display:none}
  .eyebrow{font-size:.66rem;letter-spacing:.16em;margin-bottom:14px}
  .hero-title{margin-bottom:20px}
  .paths{margin-top:30px;gap:12px}
  .hero-scroll{display:none}
  .hero-media img{width:100%;object-position:60% 50%;filter:brightness(.7)}
  .hero-media::after{background:linear-gradient(180deg,rgba(11,10,9,.75) 0%,rgba(11,10,9,.35) 35%,rgba(11,10,9,.6) 60%,var(--ink) 100%)}
  .hero-glow{left:60%;top:30%}
  .hero-title{font-size:clamp(3rem,15vw,4.4rem)}
  .path{padding:20px 64px 20px 20px}
  .path-t{font-size:1.4rem}
  .intro,.cover,.quote,.showroom,.benefits,.churches,.about,.living{padding:68px 0}
  .contact{padding-top:68px}
  .contact-in{padding-bottom:56px;gap:36px}
  .sec-head,.quote-head{margin-bottom:30px}
  .lead{margin-top:14px}
  .intro-in,.showroom-in,.about-in,.churches-in,.living-in{gap:36px}
  .stats{margin-top:30px;padding-top:24px}
  .marquee{padding:14px 0}
  .stats{grid-template-columns:repeat(3,1fr);gap:12px}
  .stat-l{font-size:.72rem}
  .plans{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-16px;padding:16px 16px 18px;scrollbar-width:none}
  .plans::-webkit-scrollbar{display:none}
  .plan{flex:0 0 80%;scroll-snap-align:center;padding:28px 22px 22px}
  .plan:hover{transform:none}
  .plan ul{margin:16px 0 18px}
  .plans-hint{display:block}
  .starter{margin-bottom:12px}
  .fplus,.compare{margin-top:14px}
  .fplus{gap:20px}
  .starter-body,.fplus,.oncall,.pay,.cform{padding:26px 22px}
  .starter-prices b{font-size:2.1rem}
  .fplus-r b{font-size:1.6rem}
  .ben-grid{grid-template-columns:1fr 1fr}
  .ben{padding:20px 14px}
  .ben svg{width:26px;height:26px;margin-bottom:12px}
  .ben h4{font-size:1.08rem}
  .ben p{font-size:.78rem;margin-top:4px;line-height:1.45}
  .oncall{margin-top:28px;gap:22px}
  .steppers,.row2,.partners{grid-template-columns:1fr}
  .calc fieldset{padding:22px 18px}
  .calc-out{padding:28px 22px}
  .coord{padding-bottom:64px}
  .coord-hero{min-height:auto;padding:96px 0 40px}
  .steps-wrap{margin-top:44px;gap:28px}
  .steps li{padding:18px 0}
  .steps-fig{margin-top:22px}
  .coord-fine{margin-top:28px}
  .steps li{grid-template-columns:48px 1fr;gap:18px}
  .steps .n{width:48px;height:48px;font-size:1.1rem}
  .steps-line{left:23.5px}
  .steps h4{font-size:1.4rem;margin-top:6px}
  .ch-gallery{grid-template-columns:1fr 1fr;gap:10px}
  .churches .btn{margin-top:22px}
  .about blockquote{margin:24px 0}
  .range li{font-size:1.1rem}
  .foot{padding:56px 0 28px}
  .foot-top{grid-template-columns:1fr 1fr;gap:26px 20px;grid-auto-flow:row dense}
  .foot-brand,.foot-top .foot-col:nth-child(3){grid-column:1/-1}
  .foot-col{gap:7px;font-size:.86rem}
  .legal{margin-top:36px;padding-top:22px}
  .question{min-height:0;padding:96px 0}
  .question p{margin:14px 0 24px}
  .map{height:320px}
  .wa-float{display:none}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(11,10,9,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 9px;font-size:.72rem;font-weight:600;color:var(--ivory)}
  .mbar a:first-child{color:var(--gold2)}
  .mbar svg{width:20px;height:20px}
  .tabs{display:grid;grid-template-columns:1fr 1fr;border-radius:16px;gap:4px}
  .tabs button{font-size:.8rem;padding:10px 8px;border-radius:12px}
  .cform{gap:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .js .reveal-img .frame{clip-path:none}
}

/* lining figures for serif numbers */
.h2,.hero-title,.path-t,.stat-n,.plan-cover,.starter-prices b,.fplus-r b,.out-total,.oncall-num,.living-big,.steps .n,.calc legend,.partners b,.range li,.question h2{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}

/* never let decorative layers or grid min-content widen the page on phones */
.calc fieldset,.calc>*,.paths>*,.plans>*{min-width:0}
@media (max-width:900px){.calc{grid-template-columns:minmax(0,1fr)}}
html,body{overflow-x:clip}

/* WhatsApp buttons in WhatsApp green on phones */
@media (max-width:640px){
  .mbar a[href*="wa.me"]{background:#1f8f4e;color:#fff}
}
.menu-foot a[href*="wa.me"]{background:#1f8f4e;border-color:#1f8f4e;color:#fff}
.menu-foot a[href*="wa.me"]:hover{background:#25a35a;border-color:#25a35a;color:#fff}
