:root{
  --bg:#09090B; --bg2:#0F0F12; --panel:#121216; --line:rgba(214,178,94,.22); --line2:rgba(244,237,224,.08);
  --ivory:#F4EDE0; --muted:#A39B8B; --dim:#6F695E;
  --g1:#F7E7B0; --g2:#D9B45A; --g3:#B8872B; --g4:#8E6820;
  --gold:linear-gradient(115deg,#8E6820 0%,#D9B45A 22%,#F7E7B0 38%,#C99A3E 55%,#E9CC7A 75%,#8E6820 100%);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--ivory);font-family:Manrope,system-ui,sans-serif;font-weight:400;line-height:1.7;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.01em;line-height:1.04}
.wrap{width:min(1180px,88vw);margin:0 auto}
.gold{background:var(--gold);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite}
@keyframes sheen{0%,100%{background-position:0% center}50%{background-position:100% center}}
.eyebrow{font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--g2);display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--g2))}
.hair{height:1px;background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent)}

/* background */
#dust{position:fixed;inset:0;z-index:-1;pointer-events:none}
.vignette{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 70% 10%,rgba(185,135,43,.10),transparent 60%),radial-gradient(ellipse 60% 50% at 10% 90%,rgba(185,135,43,.06),transparent 60%)}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .6s,border-color .6s,backdrop-filter .6s;border-bottom:1px solid transparent}
nav.solid{background:rgba(9,9,11,.78);backdrop-filter:blur(14px);border-color:var(--line2)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:26px;height:34px}
.brand .wm{font-family:"Cormorant Garamond";font-size:25px;font-weight:600;letter-spacing:.02em;line-height:1}
.brand .wm small{display:block;font-family:Manrope;font-size:8.5px;letter-spacing:.42em;color:var(--g2);font-weight:600;margin-top:4px}
.links{display:flex;gap:40px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.links a{transition:color .4s}.links a:hover{color:var(--g1)}
.btn{display:inline-flex;align-items:center;gap:14px;padding:16px 30px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:all .6s var(--ease);position:relative;overflow:hidden;cursor:pointer}
.btn-gold{background:var(--gold);background-size:220% auto;color:#140F06;border-radius:2px}
.btn-gold:hover{background-position:100% center;box-shadow:0 14px 50px -16px rgba(217,180,90,.65);transform:translateY(-2px)}
.btn-line{border:1px solid var(--line);color:var(--ivory);border-radius:2px}
.btn-line:hover{border-color:var(--g2);color:var(--g1);background:rgba(217,180,90,.05)}
.btn .ar{display:inline-block;width:22px;height:1px;background:currentColor;position:relative;transition:width .6s var(--ease)}
.btn .ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .ar{width:34px}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.hero h1{font-size:clamp(52px,6.4vw,96px);margin:28px 0 30px}
.hero h1 em{font-style:italic;font-weight:400}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block;transform:translateY(105%);opacity:0;animation:up 1.6s var(--ease) forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.18s}.hero h1 .ln:nth-child(3)>span{animation-delay:.36s}
@keyframes up{to{transform:none;opacity:1}}
.fade{opacity:0;animation:fade 1.6s var(--ease) forwards}
@keyframes fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero p.lead{font-size:18px;color:var(--muted);max-width:540px;font-weight:300}
.hero .ctas{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap}
.cred{display:flex;align-items:center;gap:18px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line2);font-size:13.5px;color:var(--muted);max-width:540px}
.cred .stars{color:var(--g2);letter-spacing:3px;font-size:13px}
.cred b{color:var(--ivory);font-weight:500}

/* map */
.mapcard{position:relative;aspect-ratio:1/1.08;border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#16151a,#0c0c0f 70%);overflow:hidden}
.mapcard::before,.mapcard::after{content:"";position:absolute;width:22px;height:22px;border-color:var(--g2);border-style:solid;opacity:.8}
.mapcard::before{top:12px;left:12px;border-width:1px 0 0 1px}.mapcard::after{bottom:12px;right:12px;border-width:0 1px 1px 0}
.mapcard svg.map{position:absolute;inset:0;width:100%;height:100%}
.map .road{stroke:rgba(244,237,224,.09);fill:none}
.map .major{stroke:rgba(217,180,90,.22);stroke-width:1.4}
.map .river{stroke:rgba(217,180,90,.10);stroke-width:18;fill:none;stroke-linecap:round}
.map .blk{fill:rgba(244,237,224,.025)}
.map .dot{fill:rgba(244,237,224,.25)}
.droppin{position:absolute;left:50%;top:44%;width:62px;margin-left:-31px;transform:translateY(-140%);opacity:0;filter:drop-shadow(0 18px 18px rgba(0,0,0,.6))}
.mapcard.go .droppin{animation:drop 1.5s var(--ease) .5s forwards}
@keyframes drop{0%{transform:translateY(-260%);opacity:0}55%{opacity:1}100%{transform:translateY(-100%);opacity:1}}
.ripple{position:absolute;left:50%;top:44%;width:30px;height:12px;margin:-6px 0 0 -15px;border:1px solid var(--g2);border-radius:50%;opacity:0}
.mapcard.go .ripple{animation:rip 4.2s ease-out infinite}
.mapcard.go .ripple:nth-of-type(2){animation-delay:1.4s}.mapcard.go .ripple:nth-of-type(3){animation-delay:2.8s}
.mapcard.go .r0{animation-delay:1.55s!important}
@keyframes rip{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(9)}}
.shadow{position:absolute;left:50%;top:44%;width:26px;height:8px;margin:-4px 0 0 -13px;border-radius:50%;background:rgba(0,0,0,.7);filter:blur(3px);opacity:0}
.mapcard.go .shadow{animation:fade 1s ease 1.4s forwards}
.mapcard .label{position:absolute;left:50%;top:44%;transform:translate(-50%,24px);opacity:0;white-space:nowrap;padding:9px 16px;background:rgba(9,9,11,.85);border:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--g1);backdrop-filter:blur(6px)}
.mapcard.go .label{animation:lab 1.2s var(--ease) 1.9s forwards}
@keyframes lab{to{opacity:1;transform:translate(-50%,34px)}}
.mapcard .cap{position:absolute;bottom:22px;left:26px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}

/* credibility band */
.band{border-block:1px solid var(--line2);padding:30px 0}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.band b{color:var(--g1);font-weight:500}
.band .sep{width:5px;height:5px;transform:rotate(45deg);background:var(--g3)}

section{padding:150px 0;position:relative}
.h2{font-size:clamp(40px,4.8vw,70px);margin:26px 0 24px;max-width:860px}
.h2 em{font-style:italic;font-weight:400}
.sub{color:var(--muted);font-size:17.5px;max-width:600px;font-weight:300}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1.6s var(--ease),transform 1.6s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s!important}.d2{transition-delay:.24s!important}.d3{transition-delay:.36s!important}

/* results */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:46px 30px 42px;border-right:1px solid var(--line2)}
.stat:last-child{border-right:0}
.stat .n{font-family:"Cormorant Garamond";font-size:clamp(54px,5.6vw,84px);font-weight:500;line-height:1}
.stat .l{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:18px}
.stat .w{font-size:14px;color:var(--dim);margin-top:8px}
.stat .w b{color:var(--g2);font-weight:500}
.chart{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;margin-top:90px}
.chart h3{font-size:42px}
.chart p{color:var(--muted);margin-top:16px;font-weight:300}
.legend{display:flex;gap:28px;margin-top:26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.legend i{display:inline-block;width:22px;height:1px;vertical-align:middle;margin-right:10px}
#chart .ln{stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 3.6s cubic-bezier(.65,0,.25,1)}
#chart.in .ln{stroke-dashoffset:0}
#chart .ar{opacity:0;transition:opacity 2s 2.2s}
#chart.in .ar{opacity:1}
#chart .end{opacity:0;transition:opacity 1s 3.4s}#chart.in .end{opacity:1}
.src{font-size:12px;color:var(--dim);margin-top:24px;letter-spacing:.04em}

/* case */
.case{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin-top:80px;background:linear-gradient(180deg,rgba(18,18,22,.9),rgba(12,12,15,.9))}
.case .l{padding:64px;border-right:1px solid var(--line2)}
.case .r{padding:64px}
.case h3{font-size:46px;margin:20px 0 10px}
.case .meta{color:var(--muted);font-size:14px;letter-spacing:.06em}
.case blockquote{font-family:"Cormorant Garamond";font-style:italic;font-size:26px;line-height:1.35;color:var(--ivory);margin-top:36px;padding-left:24px;border-left:1px solid var(--g3)}
.case .did{list-style:none;margin-top:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:14px;color:var(--muted)}
.case .did li::before{content:"";display:inline-block;width:5px;height:5px;background:var(--g2);transform:rotate(45deg);margin-right:12px;vertical-align:2px}
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-weight:500;text-align:left;padding:0 0 16px}
.tbl th:not(:first-child),.tbl td:not(:first-child){text-align:right}
.tbl td{padding:20px 0;border-top:1px solid var(--line2);font-size:15px;color:var(--muted)}
.tbl td.a{font-family:"Cormorant Garamond";font-size:30px;color:var(--ivory);line-height:1}
.tbl td.b{font-family:"Cormorant Garamond";font-size:22px;color:var(--dim)}
.tbl caption{caption-side:bottom;text-align:left;font-size:12px;color:var(--dim);padding-top:18px}

/* climb */
.climb{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.serp{border:1px solid var(--line);background:var(--panel);padding:34px;position:relative}
.serp .tag{position:absolute;top:-10px;right:24px;background:var(--bg);padding:0 10px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}
.sbar{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:0 0 18px;font-size:17px;color:var(--ivory);font-weight:300}
.sbar svg{flex:none}
.caret{display:inline-block;width:1px;height:20px;background:var(--g2);vertical-align:middle;animation:bl 1.1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.results{position:relative;height:372px;margin-top:22px;overflow:hidden}
.res{position:absolute;left:0;right:0;height:66px;display:flex;align-items:center;gap:18px;padding:0 18px;border:1px solid var(--line2);transition:top 1.6s var(--ease),opacity 1.2s,border-color 1s,background 1s}
.res .p{font-family:"Cormorant Garamond";font-size:20px;color:var(--dim);width:34px}
.res .t{flex:1}
.res .t i{display:block;height:6px;background:rgba(244,237,224,.07);margin:7px 0;width:70%}
.res .t i+i{width:44%;background:rgba(244,237,224,.045)}
.res.you{border-color:var(--line);background:linear-gradient(90deg,rgba(217,180,90,.10),rgba(217,180,90,.02));z-index:2}
.res.you .p{color:var(--g1)}
.res.you .nm{font-family:"Cormorant Garamond";font-size:22px;line-height:1.1}
.res.you .u{font-size:12px;color:var(--g2);letter-spacing:.06em}
.res.you .crown{margin-left:auto;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#140F06;background:var(--gold);padding:6px 12px;opacity:0;transition:opacity 1s}
.res.you.top{box-shadow:0 0 60px -18px rgba(217,180,90,.5);border-color:rgba(217,180,90,.55)}
.res.you.top .crown{opacity:1}

/* services */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);margin-top:80px}
.svc{background:var(--bg);padding:48px 40px 52px;position:relative;transition:transform .9s var(--ease),background .9s,box-shadow .9s}
.svc::after{content:"";position:absolute;left:40px;right:40px;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.svc:hover{background:#111014;transform:translateY(-6px);box-shadow:0 30px 70px -30px rgba(217,180,90,.28);z-index:2}
.svc:hover::after{transform:scaleX(1)}
.svc .num{font-family:"Cormorant Garamond";font-style:italic;font-size:20px;color:var(--g2)}
.svc h3{font-size:31px;margin:22px 0 14px}
.svc p{color:var(--muted);font-size:15px;font-weight:300}
.svc ul{list-style:none;margin-top:18px;font-size:13px;color:var(--dim);letter-spacing:.04em}
.svc ul li{padding:4px 0}
.svc ul li::before{content:"— ";color:var(--g3)}
.svc.wide{grid-column:span 2}
.svc.audit{background:linear-gradient(150deg,#17140d,#0d0c0a)}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:90px;position:relative}
.steps .track{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line2)}
.steps .fill{position:absolute;top:0;left:0;height:1px;width:0;background:var(--gold);transition:width 3.4s cubic-bezier(.65,0,.25,1)}
.steps.in .fill{width:100%}
.step{padding:44px 34px 0 0}
.step .k{font-family:"Cormorant Garamond";font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--g3);transition:color 1.4s}
.steps.in .step .k{color:rgba(217,180,90,.14)}
.step h3{font-size:30px;margin:20px 0 12px}
.step p{color:var(--muted);font-size:15px;font-weight:300}
.step .t{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--g2);margin-top:18px}

/* engagements */
.eng{border:1px solid var(--line);padding:70px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;background:radial-gradient(ellipse at 100% 0%,rgba(217,180,90,.08),transparent 60%)}
.eng .price{font-family:"Cormorant Garamond";font-size:clamp(60px,6vw,92px);line-height:1}
.eng .price small{font-size:22px;color:var(--muted);font-style:italic}
.eng .note{color:var(--muted);font-size:14.5px;margin-top:14px;font-weight:300}

/* faq */
.faq{margin-top:70px;border-top:1px solid var(--line2);max-width:900px}
details{border-bottom:1px solid var(--line2)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0;font-family:"Cormorant Garamond";font-size:27px;font-weight:500;transition:color .5s}
summary:hover{color:var(--g1)}
summary::-webkit-details-marker{display:none}
summary .x{position:relative;width:16px;height:16px;flex:none}
summary .x::before,summary .x::after{content:"";position:absolute;left:0;top:50%;width:16px;height:1px;background:var(--g2);transition:transform .7s var(--ease)}
summary .x::after{transform:rotate(90deg)}
details[open] summary .x::after{transform:rotate(0)}
details .a{color:var(--muted);font-weight:300;padding:0 0 32px;max-width:760px;animation:fade .9s var(--ease)}

/* cta */
.cta{text-align:center;padding:180px 0;overflow:hidden}
.cta .halo{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;background:radial-gradient(circle,rgba(217,180,90,.13),transparent 60%);z-index:-1}
.cta .rings i{position:absolute;left:50%;top:50%;border:1px solid rgba(217,180,90,.14);border-radius:50%;transform:translate(-50%,-50%)}
.cta h2{font-size:clamp(52px,7.4vw,118px);margin:28px auto 26px;max-width:1000px}
.cta p{color:var(--muted);max-width:560px;margin:0 auto 50px;font-size:17.5px;font-weight:300}
.cta .mail{display:block;margin-top:28px;font-size:13px;letter-spacing:.14em;color:var(--dim)}
footer{border-top:1px solid var(--line2);padding:50px 0;font-size:13px;color:var(--dim)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
footer a:hover{color:var(--g1)}

@media (max-width:1020px){
  .hero .wrap,.chart,.case,.climb,.eng{grid-template-columns:1fr}
  .hero{min-height:auto}
  .mapcard{max-width:520px;width:100%;margin:0 auto}
  .stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line2)}
  .svcs{grid-template-columns:1fr 1fr}.svc.wide{grid-column:auto}.svc.wide:last-child{grid-column:span 2}
  .case .l{border-right:0;border-bottom:1px solid var(--line2)}
  .links{display:none}
  .steps{grid-template-columns:1fr 1fr;row-gap:20px}
}
@media (max-width:640px){
  .res{gap:10px;padding:0 12px}.res .p{width:22px}.res.you .nm{font-size:18px;white-space:nowrap}.res.you .crown{font-size:9px;letter-spacing:.16em;padding:5px 8px;white-space:nowrap}
  .tbl td{font-size:13px}.tbl td.a{font-size:24px;padding-left:14px}.tbl td.b{font-size:18px;padding-left:10px}
  section{padding:100px 0}
  .hero{padding:120px 0 70px}
  .nav-cta{display:none}
  .svcs{grid-template-columns:1fr}.svc.wide,.svc.wide:last-child{grid-column:auto}.svc{padding:40px 28px}
  .stat{padding:34px 18px}
  .case .l,.case .r,.eng{padding:36px 26px}
  .case .did{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}.steps .track,.steps .fill{display:none}
  .step{padding:30px 0 0;border-top:1px solid var(--line2)}
  .band .wrap{justify-content:center;text-align:center;font-size:11px}.band .sep{display:none}
  .serp{padding:24px 18px}.res{padding:0 12px;gap:12px}
  summary{font-size:23px}
  .cta{padding:130px 0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv,.fade{opacity:1!important;transform:none!important}
  .hero h1 .ln>span{transform:none;opacity:1}
  .droppin{transform:translateY(-100%);opacity:1}.shadow{opacity:1}
  .mapcard .label{opacity:1;transform:translate(-50%,34px)}
  .ripple.r0{opacity:.6;transform:scale(3)}
  #chart .ln{stroke-dashoffset:0}#chart .ar,#chart .end{opacity:1}
  .steps .fill{width:100%}
}

/* sprite sheen (was a second inline <style> block in the original) */
.sheenbar{animation:sweep 6s var(--ease) infinite}
@keyframes sweep{0%{transform:skewX(-18deg) translateX(0)}45%,100%{transform:skewX(-18deg) translateX(190px)}}

/* ---- WordPress integration ---- */
/* keep the fixed nav below the admin bar for logged-in users */
.admin-bar nav#nav{top:32px}
@media screen and (max-width:782px){.admin-bar nav#nav{top:46px}}
@media screen and (max-width:600px){.admin-bar #wpadminbar{position:fixed!important}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;z-index:100000;top:8px;left:8px;padding:12px 18px;background:#09090B;color:#F7E7B0;border:1px solid #D9B45A}
