:root{
  --navy:#071a2f;
  --navy-soft:#0d2946;
  --ink:#132235;
  --gold:#c99a3d;
  --gold-light:#e7c36f;
  --cream:#f5f2ea;
  --paper:#fbfaf7;
  --muted:#66717d;
  --line:#dcdedc;
  --white:#fff;
  --serif:"Libre Caslon Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
  --shadow:0 24px 70px rgba(7,26,47,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;z-index:1000;left:16px;top:-80px;background:#fff;padding:10px 16px;border-radius:4px}
.skip-link:focus{top:16px}

.topbar{height:36px;background:var(--navy);color:#b7c2cc;font-size:11px;letter-spacing:.045em}
.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.topbar p{margin:0}
.topbar-inner>div{display:flex;align-items:center;gap:16px}
.topbar-inner>div span{width:1px;height:12px;background:#526174}
.topbar a:hover{color:var(--gold-light)}

.site-header{position:sticky;top:0;z-index:100;background:rgba(251,250,247,.93);border-bottom:1px solid rgba(7,26,47,.1);backdrop-filter:blur(16px);transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 10px 32px rgba(7,26,47,.08)}
.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px;width:max-content}
.brand img{width:47px;height:47px;object-fit:contain}
.brand-type strong{display:block;color:var(--navy);font-size:15px;line-height:1.1;letter-spacing:.09em}
.brand-type i{color:var(--gold);font-style:normal}
.brand-type small{display:block;color:#78828d;font-size:9px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;margin-top:6px}
nav{display:flex;align-items:center;gap:32px;color:#394959;font-size:13px;font-weight:600}
nav>a:not(.nav-button){position:relative}
nav>a:not(.nav-button):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:right .22s ease}
nav>a:not(.nav-button):hover:after{right:0}
.nav-button{border:1px solid var(--navy);padding:11px 19px;color:var(--navy);transition:.2s ease}
.nav-button:hover{background:var(--navy);color:#fff}
.menu-toggle{display:none}

.hero{position:relative;overflow:hidden;min-height:720px;background:var(--navy);color:#fff;padding:104px 0 86px}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 14%,rgba(62,100,135,.28),transparent 31%),linear-gradient(115deg,transparent 64%,rgba(255,255,255,.025) 64%)}
.hero-lines{position:absolute;right:-300px;top:-300px;width:850px;height:850px;border:1px solid rgba(201,154,61,.2);border-radius:50%;box-shadow:0 0 0 100px rgba(201,154,61,.035),0 0 0 200px rgba(201,154,61,.025)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.14fr .86fr;gap:100px;align-items:center}
.kicker{margin:0;color:#997126;font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.kicker.light{color:var(--gold-light)}
.hero h1,.intro h2,.section-title h2,.diagnostic h2,.final-cta h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.05}
.hero h1{max-width:760px;margin:24px 0;font-size:clamp(54px,6.1vw,82px)}
.hero h1 em{color:var(--gold-light);font-style:normal}
.hero-lead{max-width:660px;margin:0;color:#bdc9d4;font-size:18px;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:30px;margin:37px 0 45px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 22px;font-size:13px;font-weight:700;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-gold{background:var(--gold);color:var(--navy)}
.button-gold:hover{background:var(--gold-light)}
.quiet-link{color:#e1e8ee;font-size:13px;font-weight:600;border-bottom:1px solid #718091;padding-bottom:4px}
.hero-proof{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.13);max-width:670px;padding-top:23px}
.hero-proof div{flex:1;border-left:1px solid rgba(255,255,255,.13);padding-left:20px}
.hero-proof div:first-child{border-left:0;padding-left:0}
.hero-proof strong,.hero-proof span{display:block}
.hero-proof strong{color:#f5f7f9;font:400 21px var(--serif)}
.hero-proof span{color:#8798a8;font-size:10px;margin-top:4px}
.hero-photo{position:relative;margin:0;min-height:520px;box-shadow:0 30px 70px rgba(0,0,0,.28)}
.hero-photo:before{content:"";position:absolute;z-index:2;top:-14px;right:-14px;width:70%;height:70%;border-top:1px solid var(--gold);border-right:1px solid var(--gold);pointer-events:none}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,26,47,.92),transparent 58%)}
.hero-photo>img{width:100%;height:520px;object-fit:cover;object-position:center}
.hero-photo figcaption{position:absolute;z-index:3;left:34px;right:34px;bottom:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.35)}
.hero-photo figcaption span{display:block;color:var(--gold-light);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-bottom:7px}
.hero-photo figcaption strong{display:block;max-width:390px;color:#fff;font:400 27px/1.2 var(--serif)}

.intro{padding:115px 0;background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:.32fr 1.68fr;gap:50px}
.section-index{margin:10px 0 0;color:#8d7760;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.intro h2{max-width:930px;margin:0 0 50px;font-size:clamp(43px,5vw,65px);color:var(--navy)}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:900px}
.intro-columns p{margin:0;color:var(--muted);font-size:16px}
.intro-media{grid-column:1/-1;position:relative;margin:55px 0 0;min-height:400px;overflow:hidden}
.intro-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,47,.88),rgba(7,26,47,.05) 70%)}
.intro-media>img{width:100%;height:430px;object-fit:cover;object-position:center 58%}
.intro-media figcaption{position:absolute;z-index:2;left:55px;bottom:48px;max-width:430px;color:#fff}
.intro-media figcaption span{display:block;color:var(--gold-light);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}
.intro-media figcaption p{margin:12px 0 0;font:400 32px/1.22 var(--serif)}

.services{padding:120px 0;background:var(--paper)}
.section-title{display:grid;grid-template-columns:1.12fr .68fr;gap:100px;align-items:end;margin-bottom:65px}
.section-title h2{margin:18px 0 0;color:var(--navy);font-size:clamp(45px,5vw,66px)}
.section-title>p{margin:0;color:var(--muted);font-size:16px}
.service-list{border-top:1px solid #bfc4c4}
.service-item{display:grid;grid-template-columns:70px 1fr 1fr 52px;gap:30px;align-items:center;min-height:164px;border-bottom:1px solid var(--line);transition:background .25s ease,padding .25s ease}
.service-item:hover{background:#fff;padding-inline:20px}
.service-no{color:#ad8950;font-size:11px;letter-spacing:.1em}
.service-label{margin:0 0 7px;color:#9a7025;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}
.service-item h3{margin:0;color:var(--navy);font:400 31px/1.15 var(--serif)}
.service-item>p{margin:0;color:var(--muted);font-size:13px;max-width:420px}
.service-item>a{display:grid;place-items:center;width:46px;height:46px;border:1px solid #c7b38b;color:var(--navy);font-size:20px;transition:.2s ease}
.service-item>a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

.diagnostic{position:relative;overflow:hidden;padding:120px 0;background:var(--navy);color:#fff}
.diagnostic:after{content:"M";position:absolute;left:-40px;bottom:-170px;color:rgba(255,255,255,.025);font:400 500px/1 var(--serif)}
.diagnostic-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:center}
.diagnostic h2{font-size:clamp(46px,5.2vw,67px);margin:22px 0}
.diagnostic-copy>p:not(.kicker){color:#b5c2ce;font-size:16px;max-width:540px;margin-bottom:34px}
.risk-box{background:#fff;color:var(--ink);padding:42px}
.risk-box>p{margin:0 0 18px;color:#987126;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.risk-box ol{list-style:none;margin:0;padding:0}
.risk-box li{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:24px 0;border-top:1px solid #e0e2e1}
.risk-box li>span{color:#a17a37;font:400 20px var(--serif)}
.risk-box strong{display:block;color:var(--navy);font:400 21px var(--serif)}
.risk-box li p{margin:4px 0 0;color:var(--muted);font-size:12px}

.method{padding:120px 0;background:var(--cream)}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d5ce;list-style:none;padding:0;margin:0}
.method-grid li{min-height:310px;background:var(--cream);padding:44px 40px;transition:background .25s ease}
.method-grid li:hover{background:#fff}
.method-grid li>span{color:#9a7025;font-size:10px;letter-spacing:.14em}
.method-grid h3{margin:70px 0 15px;color:var(--navy);font:400 27px/1.2 var(--serif)}
.method-grid p{margin:0;color:var(--muted);font-size:13px}

.final-cta{padding:80px 0;background:var(--paper)}
.cta-inner{display:grid;grid-template-columns:100px 1fr auto;gap:40px;align-items:center;background:var(--navy-soft);color:#fff;padding:55px 60px;box-shadow:var(--shadow)}
.cta-inner>img{width:88px;height:88px;object-fit:contain}
.final-cta h2{margin:9px 0 5px;font-size:clamp(38px,4vw,52px)}
.final-cta p:not(.kicker){margin:0;color:#aab9c6}
.button-light{background:#fff;color:var(--navy);white-space:nowrap}

footer{background:#050f1b;color:#9eabb6;padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:70px}
.footer-brand .brand-type strong{color:#fff}
.footer-brand>p{max-width:330px;font-size:12px;margin:24px 0 0}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}
.footer-col strong{color:#fff;margin-bottom:10px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.footer-col a:hover{color:var(--gold-light)}
.footer-notes{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;margin-top:35px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.copyright,.photo-credit{margin:0;font-size:10px}.photo-credit a{color:#c9d1d8}.photo-credit a:hover{color:var(--gold-light)}

.floating-wa{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:14px;background:#1fbd64;color:#fff;padding:13px 16px;font-size:12px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.floating-wa b{font-size:17px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.22s}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:70px}.hero-copy{max-width:800px}.hero-photo{max-width:700px}
  .intro-grid{grid-template-columns:1fr}.section-title{grid-template-columns:1fr;gap:28px}
  .service-item{grid-template-columns:50px 1fr 52px}.service-item>p{grid-column:2/3;margin-top:-15px}.service-item>a{grid-column:3;grid-row:1/3}
  .diagnostic-grid{grid-template-columns:1fr;gap:60px}.risk-box{max-width:700px}
  .cta-inner{grid-template-columns:80px 1fr}.cta-inner .button{grid-column:2;width:max-content}
}

@media(max-width:760px){
  .container{width:min(100% - 30px,1180px)}
  .topbar{display:none}.nav-inner{height:76px}.brand img{width:41px;height:41px}.brand-type strong{font-size:12px}.brand-type small{font-size:7px}
  .menu-toggle{display:flex;align-items:center;gap:4px;border:0;background:none;color:var(--navy);padding:12px 0}.menu-toggle span{width:18px;height:1px;background:var(--navy);position:absolute;transition:.2s}.menu-toggle span:nth-child(1){transform:translateY(-5px)}.menu-toggle span:nth-child(3){transform:translateY(5px)}.menu-toggle b{font-size:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
  nav{position:fixed;inset:76px 0 0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:35px 25px;font-size:18px}nav.open{display:flex}nav>a{padding:19px 0;border-bottom:1px solid var(--line)}.nav-button{margin-top:20px;text-align:center;background:var(--navy);color:#fff}
  .hero{min-height:auto;padding:80px 0}.hero-grid{gap:60px}.hero h1{font-size:clamp(49px,14vw,67px)}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero-proof div:nth-child(3){grid-column:1/-1}.hero-proof div{border:0;padding:0}.hero-photo,.hero-photo>img{min-height:420px;height:420px}.hero-photo figcaption{left:24px;right:24px;bottom:24px}.hero-photo figcaption strong{font-size:23px}
  .intro,.services,.diagnostic,.method{padding:82px 0}.intro h2,.section-title h2,.diagnostic h2{font-size:43px}.intro-columns{grid-template-columns:1fr;gap:22px}.intro-media{margin-top:32px}.intro-media,.intro-media>img{min-height:370px;height:370px}.intro-media figcaption{left:25px;right:25px;bottom:30px}.intro-media figcaption p{font-size:26px}.section-title{margin-bottom:45px}
  .service-item{grid-template-columns:42px 1fr 42px;gap:16px;padding:28px 0}.service-item:hover{padding-inline:0;background:transparent}.service-item h3{font-size:26px}.service-item>p{grid-column:2/4;margin:0}.service-item>a{grid-column:3;grid-row:1;width:40px;height:40px}
  .risk-box{padding:28px 24px}.diagnostic:after{font-size:330px}
  .method-grid{grid-template-columns:1fr}.method-grid li{min-height:auto;padding:34px 28px}.method-grid h3{margin:36px 0 12px}
  .final-cta{padding:55px 0}.cta-inner{grid-template-columns:1fr;gap:25px;padding:40px 28px}.cta-inner>img{width:65px;height:65px}.cta-inner .button{grid-column:auto;width:100%}
  .footer-grid{grid-template-columns:1fr;gap:42px}.footer-notes{grid-column:auto;display:grid;gap:10px}.floating-wa span{display:none}.floating-wa{width:54px;height:54px;justify-content:center;border-radius:50%;padding:0}.floating-wa b{font-size:21px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

.legal-page{max-width:820px;padding-top:80px;padding-bottom:100px}
.legal-page h1{margin:12px 0 20px;color:var(--navy);font-size:clamp(45px,7vw,72px)}
.legal-page h2{margin:38px 0 10px;color:var(--navy);font:400 30px/1.2 var(--serif)}
.legal-page p{color:var(--muted)}
.legal-page a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
