/* Stable fixed header: keep content clear and anchor destinations visible. */
:root{scroll-padding-top:82px}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;transform:translateZ(0);will-change:background-color,backdrop-filter}
.hero,.legal-page{scroll-margin-top:82px}
.legal-page{padding-top:150px;min-height:70vh}
.legal-page section{max-width:800px;margin-inline:auto;padding:27px 0;border-top:1px solid rgba(255,255,255,.13)}
.legal-page h1{font:600 clamp(42px,6vw,72px)/1.05 var(--serif);margin:0}
.legal-page h2{font:600 25px var(--serif)}
@media(max-width:800px){:root{scroll-padding-top:68px}.hero,.legal-page{scroll-margin-top:68px}.legal-page{padding-top:118px}}
:root{--ink:#0a0f1e;--ink2:#0f1628;--paper:#f5f3ee;--white:#fffdf8;--muted:#aeb7c8;--gold:#c9a24b;--gold-light:#e0c477;--line:rgba(255,255,255,.13);--serif:'Playfair Display',Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--white);font:400 15px/1.7 var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:absolute;left:12px;top:-50px;background:var(--gold);color:var(--ink);z-index:9999;padding:8px 12px}
.skip-link:focus{top:12px}
.site-header{position:fixed;top:0;z-index:100;width:100%;height:82px;border-bottom:1px solid transparent;transition:.35s;background:transparent}
.site-header.scrolled{background:rgba(10,15,30,.88);backdrop-filter:blur(16px);border-color:var(--line)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:13px;font-weight:700;letter-spacing:.16em}
.brand span{color:var(--gold)}
nav{display:flex;align-items:center;gap:25px;font-size:12px}
.nav-link{color:#dce0ea;transition:.2s}
.nav-link:hover,.nav-link.active{color:var(--gold)}
.nav-cta,.button{border:1px solid var(--gold);padding:11px 16px;transition:.25s}
.nav-cta:hover,.button-gold:hover{background:var(--gold-light);color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;color:white}
.hero{min-height:780px;position:relative;overflow:hidden;display:grid;align-items:center;background:radial-gradient(circle at 75% 40%,#202c4b 0,transparent 35%),var(--ink)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,162,75,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,75,.08) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,#000,transparent 85%)}
.orb{position:absolute;border-radius:50%;filter:blur(1px);border:1px solid rgba(224,196,119,.22)}
.orb-one{width:480px;height:480px;right:-100px;top:170px;box-shadow:inset 0 0 80px rgba(201,162,75,.09),0 0 100px rgba(201,162,75,.08)}
.orb-two{width:200px;height:200px;right:22%;top:110px;background:rgba(201,162,75,.05)}
.hero-content{position:relative;padding:170px 0 105px}
.kicker{margin:0 0 18px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hero h1,.section h2,.contact-section h2{font:600 clamp(45px,6.3vw,88px)/1.02 var(--serif);letter-spacing:-.045em;max-width:880px;margin:0}
.hero h1 em,h2 em{color:var(--gold);font-style:italic}
.hero-copy{max-width:580px;margin:30px 0;color:#c7cedb;font-size:17px}
.hero-actions{display:flex;gap:26px;align-items:center}
.button{display:inline-block;background:transparent;font-weight:600;font-size:13px}
.button span{padding-left:12px}
.text-link{font-weight:600;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:5px}
.scroll-hint{position:absolute;bottom:35px;left:50%;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transform:translateX(-50%)}
.scroll-hint i{display:inline-block;width:36px;height:1px;background:var(--gold);vertical-align:middle;margin-left:10px}
.stats{background:var(--gold);color:var(--ink);padding:27px 0}
.stats-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:20px;align-items:center}
.stats-note{font-size:12px;line-height:1.35;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.stats-note small{font-weight:400;text-transform:none;letter-spacing:0}
.stat-item{border-left:1px solid rgba(10,15,30,.25);padding-left:25px}
.stat-item strong{display:block;font:600 36px/1 var(--serif)}
.stat-item span{font-size:11px}
.section{padding:125px 0}
.section-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end;margin-bottom:58px}
.section h2{font-size:clamp(38px,4.5vw,64px)}
.section-intro>p:not(.kicker){color:#aeb7c8;max-width:360px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.service-card{min-height:385px;padding:28px;border:1px solid var(--line);position:relative;background:linear-gradient(150deg,rgba(255,255,255,.035),transparent);transition:.35s}
.service-card:hover{transform:translateY(-7px);border-color:rgba(201,162,75,.7);background:rgba(255,255,255,.055)}
.service-number{color:var(--gold);font-size:11px;letter-spacing:.12em}
.service-card svg{display:block;width:36px;height:36px;stroke:var(--gold-light);stroke-width:1.3;fill:none;margin:40px 0 28px;transition:.35s}
.service-card:hover svg{transform:rotate(-7deg) scale(1.1)}
.service-card h3{font:600 22px var(--serif);margin:0 0 13px}
.service-card p{font-size:12px;color:var(--muted);margin:0}
.service-card a{position:absolute;bottom:25px;color:var(--gold-light);font-size:11px}
.service-card a span{padding-left:8px}
.section-dark{background:var(--ink2);border-block:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.principles article{display:flex;gap:22px;padding:19px 0;border-top:1px solid var(--line)}
.principles article:last-child{border-bottom:1px solid var(--line)}
.principles span{color:var(--gold);font-size:11px}
.principles h3{margin:0;font:600 20px var(--serif)}
.principles p{margin:5px 0 0;color:var(--muted);font-size:13px}
.process{counter-reset:item;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.process li{position:relative;padding-top:76px;border-top:1px solid var(--line)}
.process b{position:absolute;top:18px;color:var(--gold);font:600 36px var(--serif)}
.process h3{font:600 19px var(--serif);margin:0 0 8px}
.process p{color:var(--muted);font-size:12px;margin:0}
.testimonials{background:#0d1425}
.disclaimer{font-size:11px;color:var(--gold)!important}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testimonial-grid figure{margin:0;padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
blockquote{margin:0 0 35px;font:500 20px/1.45 var(--serif)}
figcaption{font-size:12px;color:var(--gold-light)}
figcaption span{color:var(--muted)}
.contact-section{padding:130px 0;background:radial-gradient(circle at 10% 50%,#273556,transparent 45%),var(--ink)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}
.contact-section h2{font-size:clamp(40px,4.7vw,66px)}
.contact-section>p,.contact-grid>div>p:not(.kicker){color:var(--muted)}
address{font-style:normal;margin-top:45px;display:grid;gap:9px;color:#c8cfdb;font-size:13px}
address a{color:var(--gold-light)}
.contact-form{padding:32px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-group{margin-bottom:18px}
.form-group label{display:block;color:#dfe4ee;font-size:12px;margin-bottom:7px}
.form-group sup,.consent sup{color:var(--gold)}
.form-group small{color:var(--muted)}
input,textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.19);color:white;padding:12px;outline:0;border-radius:0}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.12)}
.consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0}
.consent input{width:16px;margin-top:4px}
.consent label,.form-note{color:var(--muted);font-size:11px}
.consent a{color:var(--gold-light);text-decoration:underline}
.error-message{min-height:15px;margin:4px 0 0;color:#f2a2a2;font-size:11px}
.form-status{min-height:23px;font-size:12px}
.form-status.success{color:#bce5a1}
.form-status.error{color:#f2a2a2}
footer{padding:65px 0 26px;background:#070b16;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr 1.4fr;gap:30px}
.footer-grid p{color:var(--muted);font-size:12px}
.footer-grid h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 13px}
.footer-grid a:not(.brand){display:block;color:#c9d0dc;font-size:12px;margin:7px 0}
.legal-line{padding-top:40px;margin-top:35px;border-top:1px solid var(--line);font-size:10px;color:#788195;line-height:1.9}
.legal-line span{color:#9fa8b9}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:68px}
.menu-toggle{display:grid;gap:5px;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:23px;height:1px;background:white}
nav{position:absolute;top:68px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;background:#0f1628;padding:25px 20px;border-bottom:1px solid var(--line);gap:20px}
nav.active{display:flex}
.nav-cta{width:100%;text-align:center}
.hero{min-height:690px}
.hero-content{padding:130px 0 80px}
.stats-grid,.section-intro,.split,.contact-grid{grid-template-columns:1fr;gap:30px}
.stats-grid{gap:18px}
.stat-item{border-left:0;padding-left:0;border-top:1px solid rgba(10,15,30,.2);padding-top:13px}
.services-grid,.testimonial-grid{grid-template-columns:1fr 1fr}
.section{padding:82px 0}
.process{grid-template-columns:1fr 1fr;gap:35px}
.contact-section{padding:85px 0}
.footer-grid{grid-template-columns:1fr 1fr}
.orb-one{right:-270px}
}
@media(max-width:500px){.shell{width:min(100% - 32px,1180px)}
.hero h1{font-size:43px}
.services-grid,.testimonial-grid,.process,.form-row,.footer-grid{grid-template-columns:1fr}
.hero-actions{flex-direction:column;align-items:flex-start}
.service-card{min-height:330px}
.section h2{font-size:39px}
.scroll-hint{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}

/* Legal pages: one document scroll, a stable fixed header, and no mobile overflow. */
:root{--header-height:82px;scroll-padding-top:var(--header-height)}
html,body{max-width:100%;overflow-x:clip}
.site-header{height:var(--header-height);left:0;right:0;top:0;bottom:auto}
.header-inner{min-width:0;gap:16px}
.header-inner .brand,.header-inner .nav-cta{min-width:0}
.header-inner .nav-cta{white-space:nowrap}
.legal-page{min-height:0;padding-block:calc(var(--header-height) + 64px) 72px;overflow:visible;scroll-margin-top:var(--header-height)}
.legal-page .shell{max-width:min(800px,calc(100% - 40px))}
.legal-page p,.legal-page a{overflow-wrap:anywhere}
@media(max-width:800px){:root{--header-height:68px}.legal-page{padding-block:calc(var(--header-height) + 42px) 56px}.legal-page .shell{max-width:calc(100% - 32px)}}
@media(max-width:360px){.header-inner{gap:8px}.header-inner .brand{font-size:11px}.header-inner .nav-cta{padding:9px 10px;font-size:11px}}

/* The fixed header is outside normal flow: reserve its exact space for legal pages. */
.legal-page{margin-top:var(--header-height);padding-top:42px!important}
@media(max-width:800px){.legal-page{margin-top:var(--header-height);padding-top:34px!important}}

/* Apply the same header clearance to every current page and anchor target. */
main>section[id],main>article[id],main>div[id]{scroll-margin-top:calc(var(--header-height) + 16px)}
main:not(.legal-page)>:first-child{scroll-margin-top:var(--header-height)}

/* Normal-flow header: it scrolls away with the document. */
.site-header{position:relative;inset:auto;z-index:auto;transform:none;will-change:auto}
:root{scroll-padding-top:0}
.legal-page{margin-top:0;padding-top:64px!important;scroll-margin-top:0}
main>section[id],main>article[id],main>div[id],main:not(.legal-page)>:first-child{scroll-margin-top:0}
@media(max-width:800px){.legal-page{margin-top:0;padding-top:42px!important}}
