:root{--ink:#0f1b2d;--ink2:#1c2b42;--gold:#d9a441;--gold2:#b9852a;--paper:#f7f5f0;--tint:#eef1f5;--text:#1d2633;--muted:#5a6578;--line:#d8dde5;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.65;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Archivo,system-ui,Arial,sans-serif;color:var(--ink);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800}
h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold2)}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}
.eyebrow{font-family:Archivo,sans-serif;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold2);margin-bottom:.8em}
.eyebrow.light{color:var(--gold)}
.muted{color:var(--muted)}
.btn{display:inline-block;font-family:Archivo,sans-serif;font-weight:700;font-size:1rem;padding:15px 26px;border:2px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;transition:.15s}
.btn:hover{background:var(--ink2);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-gold:hover{background:#e8b75a;border-color:#e8b75a;color:var(--ink)}
.btn-outline{background:transparent;color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-sm{padding:9px 16px;font-size:.92rem}
.text-link{font-family:Archivo,sans-serif;font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:2px}
.link-light{color:#fff;font-weight:600}
/* header */
.top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo b{display:block;font-family:Archivo,sans-serif;font-size:1.15rem;color:var(--ink);line-height:1.1}
.logo small{display:block;font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:22px}
.nav a{font-weight:600;font-size:.98rem;text-decoration:none;color:var(--text)}
.nav a[aria-current]{color:var(--gold2)}
.nav a.btn{color:#fff}
.menu-btn{display:none;font:inherit;font-weight:700;background:none;border:2px solid var(--ink);padding:6px 14px;cursor:pointer}
/* hero */
.hero{background:var(--ink);color:#dfe5ee;padding:84px 0 96px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border:60px solid rgba(217,164,65,.07);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:64px;align-items:center;position:relative;z-index:1}
.hero h1{color:#fff}
.hl{color:var(--gold)}
.lede{font-size:1.2rem;max-width:44em}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}
.ledger{background:#fff;color:var(--text);padding:30px 30px 22px;border-top:6px solid var(--gold);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.ledger-h{font-family:Archivo,sans-serif;font-weight:800;color:var(--ink);font-size:1.15rem;margin-bottom:12px}
.ledger ol{list-style:none;margin:0;padding:0;counter-reset:l}
.ledger li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);counter-increment:l}
.ledger li span{font-weight:600}
.ledger li span:before{content:counter(l,decimal-leading-zero) "  ";color:var(--gold2);font-family:Archivo,sans-serif;font-weight:700}
.ledger li em{font-style:normal;color:var(--muted);font-size:.9rem;text-align:right}
.ledger li:nth-child(4){background:#fbf3e3;margin:0 -12px;padding:12px}
.ledger-foot{font-size:.9rem;color:var(--muted);margin:14px 0 0}
/* creds */
.creds{background:var(--gold)}
.creds-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 30px;padding-top:20px;padding-bottom:20px}
.creds p{margin:0;color:var(--ink);font-size:1rem}
.creds b{font-family:Archivo,sans-serif}
/* sections */
.sec{padding:96px 0}
.sec-tint{background:var(--tint)}
.sec-dark{background:var(--ink);color:#dfe5ee}
.sec-dark h2,.sec-dark h3{color:#fff}
.sec-head{max-width:720px;margin-bottom:44px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.prose p{font-size:1.1rem}
.pull{font-family:Archivo,sans-serif;font-weight:700;font-size:1.3rem!important;color:var(--ink);border-left:5px solid var(--gold);padding-left:22px;margin-top:1.6em}
.narrow{max-width:760px}
.narrow h2{font-size:1.5rem;margin-top:1.4em}
/* numbered rows */
.rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.rows li{display:grid;grid-template-columns:90px 1fr 60px;gap:24px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.rows .num,.svc .num{font-family:Archivo,sans-serif;font-weight:800;font-size:2.2rem;color:var(--gold2);line-height:1}
.rows h3{font-size:1.45rem}
.rows h3 a{text-decoration:none}
.rows p{margin:0;max-width:62ch}
.arrow{font-size:1.8rem;text-decoration:none;justify-self:end;transition:transform .15s}
.rows li:hover .arrow{transform:translateX(6px)}
/* areas */
.areas{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.area-list{list-style:none;margin:0;padding:0;columns:1}
.area-list li{border-bottom:1px solid var(--line)}
.area-list a{display:flex;justify-content:space-between;padding:16px 4px;text-decoration:none;font-family:Archivo,sans-serif;font-weight:700;font-size:1.12rem;color:var(--ink)}
.area-list a:after{content:"\2192";color:var(--gold2)}
.area-list a:hover{background:var(--tint);padding-left:14px}
/* aeo */
.aeo{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.chat{background:#16243a;border:1px solid #2b3b55;padding:28px;font-size:1.05rem}
.chat .q{background:var(--gold);color:var(--ink);padding:14px 18px;margin-left:15%;font-weight:600}
.chat .a{background:#22324d;color:#e6ebf2;padding:16px 18px;margin-right:10%;margin-bottom:0}
.cursor{display:inline-block;width:9px;height:1.1em;background:var(--gold);vertical-align:text-bottom;margin-left:4px;animation:b 1s steps(1) infinite}
@keyframes b{50%{opacity:0}}
/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border-top:2px solid var(--ink)}
.steps li{padding:28px 26px 10px 0;counter-increment:s;position:relative}
.steps li:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--ink);color:var(--gold);font-family:Archivo,sans-serif;font-weight:800;margin:-51px 0 18px}
.steps b{font-family:Archivo,sans-serif;font-size:1.2rem;color:var(--ink)}
.steps p{margin-top:8px}
.steps-dark{grid-template-columns:1fr 1fr;border-top-color:var(--gold);gap:0 30px}
.steps-dark li:before{background:var(--gold);color:var(--ink)}
.steps-dark b{color:#fff}
/* founder */
.founder{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:center}
.founder-mark{width:220px;height:220px;background:var(--ink);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:Archivo,sans-serif;font-weight:800;font-size:4.5rem;box-shadow:16px 16px 0 var(--gold)}
/* faq */
.faq-in{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px}
.faq-list{border-top:2px solid var(--ink)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;font-family:Archivo,sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:6px;top:16px;font-size:1.7rem;color:var(--gold2)}
details[open] summary:after{content:"\2013"}
details p{padding-right:40px}
/* cta */
.cta-band{background:var(--ink2);color:#dfe5ee;padding:72px 0;border-top:6px solid var(--gold)}
.cta-in{display:grid;grid-template-columns:1.4fr .8fr;gap:56px;align-items:center}
.cta-band h2{color:#fff}
.cta-actions{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.phone-big{font-family:Archivo,sans-serif;font-weight:800;font-size:1.8rem;color:#fff;text-decoration:none}
.phone-big.dark{color:var(--ink);display:block;margin:6px 0 10px}
/* subpages */
.subhero{background:var(--ink);color:#dfe5ee;padding:56px 0 72px}
.subhero h1{color:#fff;max-width:20ch}
.crumbs{font-size:.92rem;margin-bottom:28px;color:#9fb0c6}
.crumbs a{color:#c9d4e2}.crumbs span{margin:0 6px}
.svc article{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:40px 0;border-bottom:1px solid var(--line)}
.svc article:first-child{border-top:2px solid var(--ink)}
.svc article>div{max-width:780px}
.ticks{list-style:none;padding:0;margin:0 0 1.2em}
.ticks li{padding-left:30px;position:relative;margin:6px 0}
.ticks li:before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:7px;border-left:3px solid var(--gold2);border-bottom:3px solid var(--gold2);transform:rotate(-45deg)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.cols3>div{padding:28px 30px 20px 0;border-top:2px solid var(--ink);margin-right:30px}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.feature-list>div{padding:26px 0;border-bottom:1px solid var(--line)}
.feature-list>div:nth-child(-n+2){border-top:2px solid var(--ink)}
.area-wrap{columns:2;column-gap:64px}
.area{break-inside:avoid;padding:28px 0 30px;border-top:2px solid var(--ink);margin-bottom:24px}
.area h2{font-size:1.55rem}
/* contact */
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:64px;align-items:start}
.form label{display:block;font-weight:600;margin-bottom:18px;color:var(--ink)}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;padding:12px 14px;border:2px solid var(--line);background:#fff;color:var(--text)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold2)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hp{position:absolute!important;left:-9999px}
.fine{font-size:.9rem;color:var(--muted);margin-top:14px}
.contact-side{background:var(--tint);padding:34px;border-top:6px solid var(--gold)}
.contact-side h2{font-size:1.5rem}
.contact-side h3{margin-top:1.2em;font-size:1.1rem}
/* footer */
.foot{background:#0a1320;color:#aebacb;padding:64px 0 28px;font-size:.98rem}
.foot a{color:#dfe5ee;text-decoration:none;display:block;margin:4px 0}
.foot a:hover{color:var(--gold)}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.foot-brand{font-family:Archivo,sans-serif;font-weight:800;color:#fff;font-size:1.3rem}
.foot-h{font-family:Archivo,sans-serif;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem}
.foot-grid p a{display:inline}
.foot-legal{border-top:1px solid #23314a;margin-top:44px;padding-top:24px;font-size:.88rem}
.foot-legal a{display:inline;color:#c9d4e2}
/* responsive */
@media (max-width:1020px){
 .nav{position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--line);display:none}
 .nav.open{display:flex}
 .nav a{padding:12px 0;border-bottom:1px solid var(--line)}
 .nav a.btn{margin-top:12px;text-align:center}
 .menu-btn{display:block}
 .hero-grid,.split,.areas,.aeo,.faq-in,.cta-in,.contact-grid{grid-template-columns:1fr;gap:40px}
 .steps{grid-template-columns:1fr 1fr;gap:40px 24px}
 .cols3{grid-template-columns:1fr 1fr}
 .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 body{font-size:17px}
 .sec{padding:64px 0}
 .hero{padding:56px 0 64px}
 .rows li{grid-template-columns:52px 1fr;gap:14px}
 .rows .num,.svc .num{font-size:1.6rem}
 .arrow{display:none}
 .svc article{grid-template-columns:1fr;gap:6px}
 .steps,.steps-dark,.cols3,.feature-list,.f2{grid-template-columns:1fr}
 .feature-list>div:nth-child(2){border-top:0}
 .area-wrap{columns:1}
 .founder{grid-template-columns:1fr}
 .founder-mark{width:140px;height:140px;font-size:3rem}
 .foot-grid{grid-template-columns:1fr}
 .ledger li{flex-direction:column;gap:2px}.ledger li em{text-align:left}
 .creds-in{flex-direction:column}
}
