@font-face { font-family:"Space Grotesk"; font-style:normal; font-weight:300 700; font-display:swap; src:url("space-grotesk-latin-v2.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { --navy:#032c47; --deep:#02273e; --ink:#06304d; --blue:#006bb4; --green:#009846; --aqua:#54d7ca; --sand:#edf0e7; --cream:#f9f8f3; --warm:#e7c97a; --line:rgba(3,44,71,.15); --muted:#476579; --muted-dark:rgba(255,255,255,.7); --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --display:"Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--font); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:3px solid rgba(0,152,70,.55); outline-offset:2px; }
.skip-link { position:absolute; z-index:100; left:1rem; top:-3rem; background:#fff; color:var(--navy); padding:.6rem 1rem; border-radius:.25rem; }.skip-link:focus { top:1rem; }
.content-wrap { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }.section { padding:clamp(5.5rem,10vw,9rem) 0; }.section-dark { color:#f7fbfc; background:var(--navy); }.section-deep { color:#f7fbfc; background:linear-gradient(180deg,var(--navy),var(--deep)); }.section-sand { background:var(--sand); }
h1,h2,h3,.proof-stat,.form-heading h2,.form-success h2 { font-family:var(--display); }
.eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 1rem; color:rgba(255,255,255,.78); font-size:.69rem; font-weight:750; letter-spacing:.16em; text-transform:uppercase; }.eyebrow-blue { color:var(--blue); }.status-dot { width:.5rem; height:.5rem; border-radius:100%; background:var(--aqua); box-shadow:0 0 0 5px rgba(84,215,202,.14); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:.8rem; min-height:52px; padding:.8rem 1.15rem; border:1px solid transparent; border-radius:2px; font-size:.83rem; font-weight:780; letter-spacing:.03em; transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }.button:hover { transform:translateY(-2px); }.button-primary { color:var(--navy); background:#d9eff0; box-shadow:0 6px 22px rgba(0,0,0,.14); }.button-primary:hover { background:#fff; }.button-small { min-height:46px; padding:.6rem .95rem; color:#fff; background:var(--blue); font-size:.88rem; }.button-outline { color:var(--navy); border-color:rgba(3,44,71,.35); background:transparent; }.button-outline:hover { border-color:var(--navy); background:#fff; }
.text-link,.arrow-link,.text-button { display:inline-flex; align-items:center; gap:.55rem; font-weight:760; color:#eaffff; border:0; padding:0; background:transparent; }.text-link:hover,.arrow-link:hover,.text-button:hover { text-decoration:underline; }
.site-header { position:absolute; top:0; left:0; z-index:5; display:flex; align-items:center; justify-content:space-between; width:100%; padding:1.5rem max(24px,calc((100vw - 1180px)/2)); color:#fff; }.brand img { display:block; width:168px; height:auto; filter:brightness(0) invert(1); }
.site-header nav { display:flex; gap:2.3rem; font-size:1.02rem; font-weight:700; text-shadow:0 1px 14px rgba(2,20,33,.55); }
.site-header nav a { padding:.35rem 0; border-bottom:2px solid transparent; transition:color .2s ease, border-color .2s ease; }
.site-header nav a:hover { color:#a9f3ea; border-bottom-color:rgba(169,243,234,.7); }
.header-actions { display:flex; align-items:center; gap:1.5rem; }
.header-phone { font-family:var(--display); font-size:1rem; font-weight:660; letter-spacing:.02em; color:#dff6f4; text-shadow:0 1px 14px rgba(2,20,33,.55); }
.header-phone:hover { color:#fff; text-decoration:underline; }
.hero { position:relative; display:flex; align-items:center; min-height:780px; min-height:100svh; overflow:hidden; color:#fff; background:var(--navy); }
.hero-media,.hero-video,.hero-gradient { position:absolute; inset:0; width:100%; height:100%; }
.hero-fallback { position:absolute; inset:0; }
.hero-fallback img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.hero-video { object-fit:cover; object-position:center; opacity:0; transition:opacity 1.2s ease; }
.hero-video.is-playing { opacity:.92; }
.hero-gradient { background:linear-gradient(90deg,rgba(3,32,52,.96) 0%,rgba(3,33,53,.76) 38%,rgba(3,33,53,.17) 72%,rgba(3,33,53,.05) 100%), linear-gradient(0deg,rgba(3,32,52,.42),transparent 40%); }
.scan-lines { position:absolute; z-index:2; inset:0; width:100%; height:100%; fill:none; stroke:#2dd1b8; stroke-width:1.3; opacity:.32; filter:drop-shadow(0 0 8px #0eafa1); }
.hero-content { position:relative; z-index:3; padding-top:6rem; }
.hero h1 { max-width:880px; margin:0; color:#fff; font-size:clamp(3rem,6.2vw,5.5rem); line-height:.99; letter-spacing:-.045em; font-weight:600; }
.hero h1 em { color:#bdece8; font-style:normal; }
.h1-kicker { display:block; margin-bottom:.42em; color:#8fe4da; font-size:.36em; font-weight:560; letter-spacing:.005em; line-height:1; }
.hero-copy { max-width:660px; margin:1.6rem 0 1.45rem; color:rgba(255,255,255,.9); font-size:clamp(1.02rem,1.5vw,1.22rem); line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:1.6rem; }
.hero-helper { max-width:570px; margin:1.4rem 0 1.65rem; color:rgba(255,255,255,.72); font-size:.78rem; }
.hero-proof { display:flex; flex-wrap:wrap; gap:.65rem; }.hero-proof span { padding:.35rem .6rem; border:1px solid rgba(255,255,255,.26); border-radius:100rem; color:rgba(255,255,255,.82); font-size:.67rem; font-weight:600; }
.hero-caption { position:absolute; z-index:3; right:max(24px,calc((100vw - 1180px)/2)); bottom:2rem; display:flex; align-items:center; gap:.8rem; color:rgba(255,255,255,.6); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }.hero-caption span { color:#bdece8; }
.motion-toggle { position:absolute; z-index:4; right:1.2rem; top:6.1rem; padding:.32rem .6rem; border:1px solid rgba(255,255,255,.35); background:rgba(3,44,71,.45); color:#fff; border-radius:100rem; font-size:.67rem; }
.proof-band { padding:2.2rem 0 2rem; color:#eaf6f6; background:var(--deep); border-top:1px solid rgba(84,215,202,.25); }
.proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; }
.proof-item { display:block; padding-left:1.1rem; border-left:1px solid rgba(84,215,202,.4); }
.proof-item:hover .proof-label { color:#cdeff0; }
.proof-stat { margin:0 0 .35rem; font-size:clamp(1.5rem,2.6vw,2.15rem); font-weight:650; letter-spacing:-.03em; color:#fff; line-height:1; }
.proof-stat span { font-size:.55em; color:#8fe4da; font-weight:600; }
.proof-label { margin:0; color:rgba(255,255,255,.66); font-size:.76rem; line-height:1.5; transition:color .25s ease; }
.proof-note { margin:1.6rem auto 0; color:rgba(255,255,255,.45); font-size:.68rem; }
.intro-band { padding:1.3rem 0; background:#d8ebe9; }.intro-grid { display:grid; grid-template-columns:1fr 2fr auto; align-items:center; gap:2rem; }.intro-grid p { margin:0; }.intro-grid .section-kicker { color:var(--blue); font-size:.72rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }.intro-grid > p:not(.section-kicker) { font-size:1.08rem; font-weight:600; }.arrow-link { color:var(--navy); font-size:.8rem; white-space:nowrap; }
.split-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem,9vw,10rem); align-items:end; }
.split-heading h2,.section-heading h2,.fit h2,.report-copy h2,.final-cta h2,.tech h2,.faq h2 { margin:0; letter-spacing:-.035em; line-height:1.04; font-size:clamp(2.4rem,4.7vw,4.4rem); font-weight:600; }
.split-heading > p { max-width:430px; margin:0; color:rgba(255,255,255,.72); font-size:1.03rem; }
.consequence-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:4rem; }
.consequence-card { min-height:250px; padding:1.6rem; border:1px solid rgba(255,255,255,.19); background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.01)); }
.consequence-card span { color:#78ded5; font-size:.72rem; font-weight:750; }
.consequence-card h3 { margin:3rem 0 .7rem; font-size:1.35rem; font-weight:560; }
.consequence-card p { margin:0; color:rgba(255,255,255,.67); font-size:.91rem; }
.ruin-quote { margin:4.5rem 0 0; padding:0; }
.ruin-quote blockquote { margin:0; padding-left:1.4rem; border-left:2px solid var(--aqua); font-family:var(--display); font-size:clamp(1.5rem,2.6vw,2.3rem); font-weight:500; letter-spacing:-.02em; color:#e9fbf9; line-height:1.25; }
.ruin-quote figcaption { margin:.9rem 0 0 1.4rem; color:rgba(255,255,255,.55); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.ruin-question { margin:4rem 0 0; color:#d9f5f2; font-size:clamp(1.5rem,2.8vw,2.6rem); line-height:1.3; letter-spacing:-.03em; }.ruin-question em { color:#fff; font-style:normal; }
.tech-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2.5rem,7vw,7rem); align-items:center; }
.tech-copy > p:not(.eyebrow):not(.tech-close):not(.tech-source) { max-width:600px; margin:1.5rem 0 0; color:rgba(255,255,255,.75); font-size:1.05rem; }
.layer-list { display:grid; gap:.35rem; margin:2.6rem 0 0; padding:0; list-style:none; }
.layer-list li { display:grid; grid-template-columns:3.2rem 1fr; align-items:center; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.13); }
.layer-list li:first-child { border-top:1px solid rgba(255,255,255,.13); }
.layer-key { color:var(--aqua); font-family:var(--display); font-size:.8rem; font-weight:650; letter-spacing:.08em; }
.layer-list h3 { margin:0; font-size:1rem; font-weight:620; }
.layer-list p { margin:.15rem 0 0; color:rgba(255,255,255,.58); font-size:.82rem; }
.tech-close { max-width:600px; margin:2.4rem 0 0; color:#cdeeeb; font-size:1rem; }
.tech-source { margin:1.4rem 0 0; color:rgba(255,255,255,.5); font-size:.72rem; }
.tech-source a { color:#8fe4da; }.tech-source a:hover { text-decoration:underline; }
.tech-visual { position:relative; }
.strata { position:relative; overflow:hidden; height:520px; border:1px solid rgba(84,215,202,.25); background:#021a2b; }
.strata-layer { position:relative; display:flex; align-items:flex-start; padding:.8rem 1rem; }
.strata-layer span { position:relative; z-index:2; color:rgba(255,255,255,.6); font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.s-surface { height:18%; background:linear-gradient(180deg,#7a6540,#5c4c33); }
.s-shallow { height:16%; background:linear-gradient(180deg,#274a5c,#1d3d4f); }
.s-shallow:after { content:""; position:absolute; inset:auto 0 0 0; height:100%; background:repeating-linear-gradient(-8deg,transparent 0 26px,rgba(120,222,213,.12) 26px 28px); }
.s-rock { height:30%; background:linear-gradient(180deg,#1a2e40,#122435); }
.s-rock:after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(174deg,transparent 0 34px,rgba(255,255,255,.05) 34px 36px); }
.s-deep { height:36%; background:linear-gradient(180deg,#04304d,#02273e); }
.aquifer-glow { position:absolute; inset:12% 6% 10% 6%; border-radius:50%; background:radial-gradient(ellipse at 50% 55%,rgba(84,215,202,.5),rgba(0,107,180,.25) 55%,transparent 75%); filter:blur(6px); animation:aquifer-breathe 6s ease-in-out infinite alternate; }
.strata-scan { position:absolute; z-index:3; left:0; right:0; top:-8%; height:8%; background:linear-gradient(180deg,transparent,rgba(84,215,202,.28) 80%,rgba(84,215,202,.75)); animation:scan-down 7s ease-in-out infinite; }
.strata-target { position:absolute; z-index:2; left:50%; bottom:19%; width:10px; height:10px; margin-left:-5px; border-radius:50%; background:#d6f7f1; box-shadow:0 0 0 3px rgba(84,215,202,.4); animation:target-ping 3.2s ease-out infinite; }
.section-heading { max-width:860px; }.section-heading.narrow { max-width:920px; }.section-heading > p:not(.eyebrow) { max-width:780px; margin:1.4rem 0 0; font-size:1.1rem; }
.phase-track { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; position:relative; margin-top:4.5rem; }
.phase-track:before { content:""; position:absolute; top:3.45rem; left:2rem; right:2rem; height:1px; background:linear-gradient(90deg,var(--blue),rgba(3,44,71,.18)); }
.phase { position:relative; padding:0 1rem 1rem 0; }
.phase-number { position:relative; z-index:1; display:grid; place-items:center; width:4.3rem; height:4.3rem; border:1px solid #9db6c2; border-radius:50%; background:var(--cream); color:var(--blue); font-family:var(--display); font-size:1.5rem; font-weight:700; }
.phase-active .phase-number { border-color:var(--green); background:var(--green); color:#fff; box-shadow:0 0 0 7px #d5eee9; }
.phase-label { margin:1.8rem 0 .4rem; color:var(--green); font-size:.66rem; font-weight:760; letter-spacing:.13em; text-transform:uppercase; }
.phase h3 { margin:0; font-size:1.35rem; font-weight:630; }
.phase > p:not(.phase-label) { max-width:315px; margin:.75rem 0 0; color:var(--muted); font-size:.9rem; }
.phase-tag { display:inline-block; margin-top:1rem; padding:.25rem .55rem; color:#fff; background:var(--green); border-radius:100px; font-size:.64rem; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.method-boundary { max-width:900px; margin:3.5rem 0 0; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.report-section { overflow:hidden; background:#f5f7f3; }
.report-layout { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:clamp(2.5rem,9vw,10rem); }
.report-visual { position:relative; min-height:505px; }
.report-cover { position:absolute; z-index:2; top:1rem; left:10%; width:min(88%,365px); min-height:455px; padding:1.55rem; overflow:hidden; color:#fff; background:linear-gradient(165deg,#075b89,#003858 65%,#032c47); box-shadow:20px 25px 55px rgba(3,44,71,.24); transform:rotate(-5deg); }
.report-cover img { width:130px; height:auto; filter:brightness(0) invert(1); }
.report-cover p { margin:4.7rem 0 .5rem; font-size:.59rem; font-weight:760; letter-spacing:.17em; }
.report-cover h3 { position:relative; z-index:1; margin:0; font-size:3.4rem; line-height:.92; font-weight:590; letter-spacing:-.045em; }
.report-cover span { position:absolute; bottom:1.6rem; font-size:.53rem; letter-spacing:.09em; }
.cover-lines { position:absolute; width:160%; height:50%; right:-48%; bottom:-22%; border-radius:50%; border:1px solid rgba(91,241,208,.46); box-shadow:0 -19px 0 -18px rgba(91,241,208,.37),0 -40px 0 -39px rgba(91,241,208,.3),0 -64px 0 -63px rgba(91,241,208,.25); transform:rotate(-12deg); }
.report-sheet { position:absolute; right:3%; bottom:0; display:flex; flex-direction:column; gap:.6rem; width:315px; height:390px; padding:2rem; background:#fff; box-shadow:10px 14px 40px rgba(3,44,71,.13); transform:rotate(7deg); }
.report-sheet span { color:var(--blue); font-size:.7rem; font-weight:760; }
.report-sheet div { width:100%; height:9px; background:#e9eff2; }
.report-sheet div:nth-of-type(2) { width:72%; }
.report-sheet div:nth-of-type(3) { width:88%; margin-top:3rem; height:82px; background:linear-gradient(135deg,#e4f1ed,#bce1d7); }
.report-clip { position:absolute; top:1.4rem; left:2%; width:54px; height:54px; border:10px solid var(--warm); border-bottom:0; border-radius:30px 30px 0 0; transform:rotate(-10deg); }
.report-copy > p:not(.eyebrow):not(.fine-print) { margin:1.5rem 0; color:var(--muted); font-size:1.04rem; }
.check-list { display:grid; gap:.65rem; padding:0; margin:1.8rem 0 2rem; list-style:none; }
.check-list li { display:flex; gap:.7rem; align-items:flex-start; font-size:.9rem; }
.check-list strong { font-weight:720; }
.check-list span { display:grid; place-items:center; width:1.15rem; height:1.15rem; flex:0 0 auto; color:#fff; background:var(--green); border-radius:50%; font-size:.67rem; }
.fine-print { margin:1rem 0 0; color:var(--muted); font-size:.76rem; }
.offer-value { display:flex; align-items:center; gap:.75rem; margin:1.3rem 0 0; color:var(--muted); font-size:.82rem; font-weight:640; }
.offer-value span { display:inline-block; padding:.32rem .6rem; color:#fff; background:var(--green); border-radius:100px; font-family:var(--display); font-size:.72rem; font-weight:680; letter-spacing:.04em; }
.after-steps { margin:0 0 1.8rem; padding:0 0 0 1.15rem; color:#3c5b70; font-size:.85rem; display:grid; gap:.4rem; }
.after-steps li::marker { color:var(--green); font-weight:750; }
.offer-call { margin:1.1rem 0 0; color:var(--muted); font-size:.84rem; font-weight:600; }
.offer-call a { color:var(--blue); font-weight:750; }.offer-call a:hover { text-decoration:underline; }
.evidence .section-heading { max-width:830px; }
.evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3.5rem; }
.evidence-card { display:flex; flex-direction:column; min-height:330px; padding:1.5rem; border:1px solid rgba(3,44,71,.15); background:rgba(255,255,255,.42); }
.evidence-no { margin:0; color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.evidence-card h3 { margin:2.4rem 0 .75rem; font-size:1.16rem; line-height:1.15; font-weight:630; }
.evidence-card > p:not(.evidence-no) { margin:0; color:var(--muted); font-size:.85rem; }
.evidence-card a { margin-top:auto; padding-top:1.5rem; color:var(--blue); font-size:.77rem; font-weight:760; }
.evidence-card a:hover { text-decoration:underline; }
.bench { margin-top:2.6rem; padding:1.4rem 1.6rem; border:1px solid rgba(3,44,71,.15); background:rgba(255,255,255,.5); }
.bench-label { margin:0 0 .5rem; color:var(--blue); font-size:.68rem; font-weight:780; letter-spacing:.13em; text-transform:uppercase; }
.bench-names { margin:0; color:#2e5068; font-size:.9rem; font-weight:600; line-height:1.6; }
.bench-source { margin:.6rem 0 0; color:var(--muted); font-size:.72rem; }
.bench-source a { color:var(--blue); }.bench-source a:hover { text-decoration:underline; }
.science-row { display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem; margin-top:2.6rem; padding-top:2rem; border-top:1px solid rgba(3,44,71,.15); }
.science-stat { padding-left:1rem; border-left:2px solid var(--green); }
.science-no { margin:0 0 .4rem; font-family:var(--display); font-size:clamp(1.6rem,2.6vw,2.3rem); font-weight:650; letter-spacing:-.03em; color:var(--navy); line-height:1; }
.science-stat p:not(.science-no) { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.evidence-note { max-width:900px; margin:2rem 0 0; color:var(--muted); font-size:.76rem; }
.voices h2 { max-width:820px; }
.voices-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3.5rem; }
.voice-card { display:flex; flex-direction:column; margin:0; padding:1.8rem; border:1px solid rgba(255,255,255,.18); background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); }
.voice-card blockquote { margin:0 0 1.4rem; font-family:var(--display); font-size:1.06rem; font-weight:480; line-height:1.5; color:#e9fbf9; letter-spacing:-.01em; }
.voice-card figcaption { margin-top:auto; color:#78ded5; font-size:.7rem; font-weight:720; letter-spacing:.1em; text-transform:uppercase; }
.voices-note { margin:1.8rem 0 0; color:rgba(255,255,255,.5); font-size:.72rem; }
.voices-note a { color:#8fe4da; }.voices-note a:hover { text-decoration:underline; }
.fit-panels { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:3.5rem; }
.fit-panel { display:flex; flex-direction:column; padding:2rem; border:1px solid var(--line); background:#fff; }
.fit-panel-alt { background:var(--navy); color:#f2fafa; border-color:rgba(84,215,202,.3); }
.fit-kicker { margin:0 0 1rem; color:var(--green); font-size:.66rem; font-weight:780; letter-spacing:.13em; text-transform:uppercase; }
.fit-panel-alt .fit-kicker { color:#78ded5; }
.fit-panel h3 { margin:0 0 1.2rem; font-size:1.5rem; font-weight:630; letter-spacing:-.02em; }
.fit-panel ul { margin:0 0 2rem; padding:0; list-style:none; display:grid; gap:.6rem; }
.fit-panel li { position:relative; padding-left:1.3rem; font-size:.92rem; font-weight:560; }
.fit-panel li:before { content:""; position:absolute; left:0; top:.5em; width:.45rem; height:.45rem; border-radius:50%; background:var(--green); }
.fit-panel-alt li { color:rgba(255,255,255,.85); }
.fit-panel-alt li:before { background:var(--aqua); }
.fit-panel .button { margin-top:auto; align-self:flex-start; }
.fit-panel-alt .button-outline { color:#fff; border-color:rgba(255,255,255,.45); }
.fit-panel-alt .button-outline:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.faq-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(2.5rem,7vw,7rem); align-items:start; }
.faq-intro > p:not(.eyebrow) { max-width:380px; margin:1.4rem 0 0; color:var(--muted); font-size:1.02rem; }
.faq-list { display:grid; gap:.6rem; }
.faq-item { border:1px solid rgba(3,44,71,.16); background:rgba(255,255,255,.55); }
.faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem 1.3rem; font-size:.98rem; font-weight:680; color:var(--navy); cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:after { content:"+"; flex:0 0 auto; color:var(--blue); font-family:var(--display); font-size:1.3rem; font-weight:500; transition:transform .25s ease; }
.faq-item[open] summary:after { transform:rotate(45deg); }
.faq-item p { margin:0; padding:0 1.3rem 1.3rem; color:#3c5b70; font-size:.9rem; }
.final-cta { position:relative; overflow:hidden; color:#fff; background:var(--navy); }
.final-media,.final-media div { position:absolute; inset:0; }
.final-media { opacity:.45; background-image:linear-gradient(90deg,var(--navy) 15%,rgba(3,44,71,.7) 48%,rgba(3,44,71,.15)),image-set(url('hero-poster-720-v2.avif') type('image/avif'),url('hero-poster-720-v2.jpg') type('image/jpeg')); background-position:center; background-size:cover; }
.final-media div { background:radial-gradient(circle at 83% 60%,rgba(0,152,70,.45),transparent 35%); }
.final-content { position:relative; z-index:1; max-width:1180px; }
.final-cta h2 { max-width:770px; }
.final-content > p:not(.eyebrow) { max-width:540px; margin:1.5rem 0 2rem; color:rgba(255,255,255,.78); font-size:1.08rem; }
.final-actions { display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.final-call { color:#cdeff0; font-family:var(--display); font-size:.9rem; font-weight:650; }
.final-call:hover { color:#fff; text-decoration:underline; }
.site-footer { padding:4rem 0 1.4rem; color:#d7e7ec; background:#02273e; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }
.footer-grid img { width:170px; height:auto; filter:brightness(0) invert(1); }
.footer-grid p { max-width:300px; margin:.9rem 0 0; color:#91afbd; font-size:.86rem; }
.footer-tagline { font-family:var(--display); color:#cde5ea!important; font-size:.95rem!important; font-weight:550; }
.footer-grid > div:not(:first-child) { display:flex; flex-direction:column; gap:.45rem; }
.footer-label { margin:0 0 .4rem!important; color:#63cdbf!important; font-size:.65rem!important; font-weight:760; letter-spacing:.12em; text-transform:uppercase; }
.footer-grid a { font-size:.84rem; }.footer-grid a:hover { color:#fff; text-decoration:underline; }
.legal { margin-top:3rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.16); color:#93aebc; font-size:.7rem; }
.sticky-cta { display:none; }
.form-modal { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:1rem; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease, visibility .25s ease; }
.form-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.modal-backdrop { position:absolute; inset:0; background:rgba(2,28,45,.74); backdrop-filter:blur(6px); }
.form-panel { position:relative; width:min(690px,100%); max-height:calc(100svh - 32px); overflow:auto; padding:2.5rem 3rem 2.2rem; background:#f8faf7; box-shadow:0 28px 90px rgba(0,0,0,.42); }
.modal-close { position:absolute; top:1rem; right:1.1rem; width:2rem; height:2rem; border:0; color:var(--navy); background:#e9eeee; border-radius:50%; font-size:1.45rem; line-height:1; }
.form-progress { height:3px; margin:-2.5rem -3rem 2.5rem; background:#dbe6e5; }
.form-progress span { display:block; width:25%; height:100%; background:var(--green); transition:width .25s ease; }
.form-heading h2 { margin:.2rem 0 .4rem; color:var(--navy); font-size:clamp(2rem,4vw,2.8rem); line-height:1; letter-spacing:-.04em; }
.form-heading > p:not(.eyebrow) { margin:0 0 1.6rem; color:#54707f; font-size:.9rem; }
.form-step { display:none; }
.form-step.is-active { display:block; }
.form-step fieldset { padding:0; margin:0; border:0; }
.form-step legend { margin-bottom:1.1rem; color:var(--navy); font-size:1.05rem; font-weight:750; }
.form-panel label { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem; color:#31566d; font-size:.77rem; font-weight:730; }
.form-panel input,.form-panel select,.form-panel textarea { width:100%; min-height:46px; padding:.65rem .7rem; border:1px solid #b7cbd0; border-radius:2px; color:var(--navy); background:#fff; font-size:.93rem; font-weight:500; }
.form-panel textarea { min-height:95px; resize:vertical; }
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus { outline:3px solid rgba(0,152,70,.19); border-color:var(--green); }
.form-panel [aria-invalid="true"] { border-color:#a32c27; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-bottom:1rem; }
.form-panel .choice { position:relative; display:flex; flex-direction:row; align-items:center; gap:.55rem; min-height:63px; margin:0; padding:.7rem; border:1px solid #c9d7d7; background:#fff; font-size:.75rem; font-weight:650; cursor:pointer; }
.choice input { width:1rem; min-height:1rem; accent-color:var(--green); }
.choice:has(input:checked) { border-color:var(--green); background:#edf9f4; }
.field-help,.form-disclaimer { margin:.3rem 0 0; color:#5b7383; font-size:.74rem; }
.consent { flex-direction:row!important; align-items:flex-start; gap:.65rem!important; margin-top:.4rem; font-size:.73rem!important; font-weight:600!important; }
.consent input { width:1rem; min-height:1rem; margin-top:.18rem; accent-color:var(--green); }
.form-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.7rem; }
.form-back { visibility:hidden; border:0; color:var(--blue); background:transparent; font-size:.83rem; font-weight:760; }
.form-back.is-visible { visibility:visible; }
.form-submit { display:none; }
.form-submit.is-visible { display:inline-flex; }
.form-next.is-hidden { display:none; }
.form-error { min-height:0; margin-bottom:0; color:#a32c27; font-size:.77rem; font-weight:700; }
.form-error:not(:empty) { margin-bottom:1rem; }
.form-success { padding:2rem 0; text-align:left; }
.success-icon { display:grid; place-items:center; width:3.25rem; height:3.25rem; margin-bottom:1.5rem; border-radius:50%; color:#fff; background:var(--green); font-size:1.5rem; }
.form-success h2 { margin:.25rem 0 .8rem; color:var(--navy); font-size:2.3rem; line-height:1; letter-spacing:-.04em; }
.form-success > p:not(.eyebrow) { max-width:510px; margin:0 0 2rem; color:#54707f; }
@keyframes scan-drift { 0% { transform:translate(-2%,1%); opacity:.16; } 50% { opacity:.42; } 100% { transform:translate(2%,-1%); opacity:.16; } }
@keyframes slow-breathe { from { transform:scale(1.02); } to { transform:scale(1.075); } }
@keyframes scan-down { 0% { top:-9%; opacity:0; } 8% { opacity:1; } 88% { opacity:1; } 100% { top:104%; opacity:0; } }
@keyframes aquifer-breathe { from { opacity:.65; transform:scale(.97); } to { opacity:1; transform:scale(1.03); } }
@keyframes target-ping { 0% { box-shadow:0 0 0 3px rgba(84,215,202,.45); } 70% { box-shadow:0 0 0 16px rgba(84,215,202,0); } 100% { box-shadow:0 0 0 3px rgba(84,215,202,0); } }
@media (prefers-reduced-motion: no-preference) {
  .scan-lines { animation:scan-drift 15s linear infinite; }
  .hero-fallback img { animation:slow-breathe 20s ease-in-out infinite alternate; }
  html.js .reveal { transition:opacity .7s ease, transform .7s ease; }
  html.js .reveal.is-armed { opacity:0; transform:translateY(20px); }
  html.js .reveal.is-in { opacity:1; transform:none; }
}
.motion-paused .hero-video { opacity:0; }
.motion-paused .hero-fallback img,.motion-paused .scan-lines,.motion-paused .strata-scan,.motion-paused .aquifer-glow,.motion-paused .strata-target { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.hero-video { display:none; }.button { transition:none; }.strata-scan { display:none; }.aquifer-glow,.strata-target { animation:none; } }
@media (max-width:980px) { .evidence-grid { grid-template-columns:repeat(2,1fr); }.tech-layout { grid-template-columns:1fr; }.tech-visual { max-width:520px; }.faq-layout { grid-template-columns:1fr; gap:2.4rem; } }
@media (max-width:760px) {
  .content-wrap { width:min(100% - 32px,1180px); }
  .site-header { padding:1rem 16px; }
  .brand img { width:138px; }
  .site-header nav { display:none; }
  .header-phone { display:none; }
  .header-cta { min-height:38px; padding:.4rem .55rem; font-size:.67rem; }
  .hero { min-height:760px; min-height:100svh; align-items:flex-end; }
  .hero-content { padding-top:6rem; padding-bottom:4.4rem; }
  .hero h1 { font-size:clamp(2.7rem,11.4vw,4.1rem); }
  .hero-copy { margin:1.2rem 0; font-size:.97rem; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:1rem; }
  .hero-actions .button { width:100%; }
  .text-link { justify-content:center; font-size:.82rem; }
  .hero-helper { max-width:350px; margin:1.2rem 0; font-size:.71rem; }
  .hero-proof { display:none; }
  .hero-caption { bottom:1.1rem; right:16px; font-size:.57rem; }
  .motion-toggle { top:5.1rem; right:1rem; }
  .hero-gradient { background:linear-gradient(0deg,rgba(2,26,43,.9) 0%,rgba(3,33,53,.45) 45%,rgba(3,33,53,.1) 75%), linear-gradient(180deg,rgba(3,32,52,.55),transparent 30%); }
  .proof-grid { grid-template-columns:1fr; gap:1.4rem; }
  .proof-note { margin-top:1.3rem; }
  .intro-grid { grid-template-columns:1fr; gap:.5rem; padding:1.2rem 0; }
  .intro-grid > p:not(.section-kicker) { font-size:.96rem; }
  .split-heading,.report-layout,.fit-layout { grid-template-columns:1fr; gap:2.4rem; }
  .split-heading > p { font-size:.98rem; }
  .consequence-grid,.evidence-grid { grid-template-columns:1fr; margin-top:2.5rem; }
  .consequence-card { min-height:0; }
  .consequence-card h3 { margin-top:2rem; }
  .ruin-quote { margin-top:3rem; }
  .ruin-question { margin-top:3rem; font-size:1.55rem; }
  .strata { height:420px; }
  .phase-track { grid-template-columns:1fr; gap:2rem; margin-top:3rem; }
  .phase-track:before { top:2rem; bottom:2rem; left:2.1rem; right:auto; width:1px; height:auto; background:linear-gradient(var(--blue),rgba(3,44,71,.18)); }
  .phase { display:grid; grid-template-columns:4.5rem 1fr; column-gap:1rem; padding:0; }
  .phase-number { grid-row:span 3; }
  .phase-label { margin:.2rem 0 .15rem; }
  .phase h3 { align-self:start; }
  .phase > p:not(.phase-label) { grid-column:2; margin:.5rem 0 0; }
  .phase-tag { grid-column:2; justify-self:start; }
  .method-boundary { margin-top:2.5rem; }
  .report-visual { min-height:385px; margin:0 -8px; transform:scale(.9); }
  .report-cover { left:5%; }
  .report-copy > p:not(.eyebrow):not(.fine-print) { font-size:.99rem; }
  .evidence-card { min-height:0; }
  .evidence-card h3 { margin-top:2rem; }
  .science-row { grid-template-columns:1fr; gap:1.4rem; }
  .voices-grid { grid-template-columns:1fr; margin-top:2.5rem; }
  .final-actions { align-items:stretch; flex-direction:column; gap:1.1rem; }
  .final-actions .button { width:100%; }
  .final-call { text-align:center; }
  .fit-panels { grid-template-columns:1fr; margin-top:2.5rem; }
  .fit-panel .button { align-self:stretch; }
  .final-cta h2 { font-size:2.7rem; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .legal { margin-top:2rem; }
  .sticky-cta { position:fixed; z-index:10; right:12px; bottom:12px; left:12px; display:block; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(10px); transition:.25s ease; }
  .sticky-cta.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
  .sticky-cta .button { width:100%; }
  .form-modal { padding:0; align-items:end; }
  .form-panel { width:100%; max-height:94svh; padding:2rem 1.2rem 1.5rem; border-radius:16px 16px 0 0; }
  .form-progress { margin:-2rem -1.2rem 2rem; }
  .form-heading h2 { font-size:2rem; }
  .field-row,.choice-grid { grid-template-columns:1fr; gap:0; }
  .choice-grid { gap:.55rem; }
  .form-actions { padding-bottom:.4rem; }
  .form-actions .button { flex:1; }
  body.modal-open .sticky-cta { display:none; }
}
