:root {
  color-scheme: dark;
  --ink: #f6fbff;
  --paper: #f8fbff;
  --muted: rgba(226, 241, 247, .74);
  --faint: rgba(226, 241, 247, .5);
  --deep: #071421;
  --deep-2: #0b1f2a;
  --forest: #103949;
  --line: rgba(226, 241, 247, .16);
  --glass: rgba(255, 255, 255, .07);
  --glass-strong: rgba(255, 255, 255, .13);
  --gold: #ffb84d;
  --gold-2: #ffd27a;
  --mint: #54d6a0;
  --trust: #58a6c8;
  --danger: #ff8a4c;
  --shadow: 0 30px 90px rgba(0,0,0,.42);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --max: 1180px;
  --pad: clamp(20px, 3vw, 46px);
}
* { box-sizing: border-box; }
html { scroll-behavior: auto; background: var(--deep); }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(circle at 20% 0%, rgba(84,214,160,.22), transparent 34rem), radial-gradient(circle at 78% 18%, rgba(88,166,200,.16), transparent 28rem), linear-gradient(180deg,#071421 0%,#0a1b25 42%,#06111b 100%);
  color: var(--ink);
  overflow-x: hidden;
  text-rendering: geometricPrecision;
}
body::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 140vh; pointer-events: none; z-index: 0;
  opacity: .14; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: linear-gradient(180deg, black, transparent 82%);
}
a { color: inherit; text-decoration: none; }
img, picture, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { background: rgba(255,184,77,.92); color: #071421; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 12px; }
.skip-link { position: fixed; left: 16px; top: 16px; z-index: 999; transform: translateY(-140%); padding: 12px 16px; border-radius: 999px; background: var(--paper); color: var(--deep); transition: transform 260ms var(--ease-out); }
.skip-link:focus { transform: translateY(0); }
.site-header {
  position: sticky; top: 14px; z-index: 50; width: min(calc(100% - 28px), var(--max)); margin: 14px auto 0; padding: 10px 12px;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; border: 1px solid var(--line); border-radius: 999px;
  background: rgba(7,20,33,.94); box-shadow: 0 14px 50px rgba(0,0,0,.24);
}
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand-mark { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; letter-spacing: .12em; color: var(--deep); background: linear-gradient(135deg,var(--trust),var(--mint)); }
.brand strong { display:block; font-size:14px; letter-spacing:-.02em; }
.brand small { display:block; color:var(--faint); font-size:11px; margin-top:1px; }
.nav-links { justify-self:center; display:flex; align-items:center; gap:clamp(12px,2vw,26px); color:var(--muted); font-size:13px; }
.nav-links a, .text-link { transition: color 220ms var(--ease-out), transform 220ms var(--ease-out); }
.nav-links a:hover, .text-link:hover { color: var(--paper); transform: translateY(-1px); }
.nav-cta { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border-radius:999px; color:var(--deep); background:var(--gold); font-weight:800; font-size:13px; box-shadow:0 12px 32px rgba(255,184,77,.18); }
.section-shell { position: relative; z-index: 1; width:min(calc(100% - (var(--pad) * 2)), var(--max)); margin-inline:auto; padding-block: clamp(74px, 10vw, 150px); scroll-margin-top: 96px; }
.hero { min-height: calc(100vh - 86px); display:grid; grid-template-columns: minmax(0,1fr) minmax(320px,.46fr); gap: clamp(28px, 5vw, 70px); align-items:end; padding-top: clamp(80px, 10vw, 150px); }
.video-backdrop { position:absolute; inset:0 calc(50% - 50vw); z-index:-1; overflow:hidden; }
.motion-video { width:100%; height:100%; object-fit:cover; background:#071421; }
.hero-video { min-height:100%; opacity:.72; filter:saturate(.92) contrast(1.04); }
.video-scrim { position:absolute; inset:0; background: radial-gradient(circle at 70% 46%, transparent, rgba(7,20,33,.72) 58%), linear-gradient(90deg, rgba(7,20,33,.97), rgba(7,20,33,.6) 48%, rgba(7,20,33,.9)); pointer-events:none; }
.video-scrim.soft { background: linear-gradient(180deg, rgba(7,20,33,.16), rgba(7,20,33,.74)); }
.eyebrow { margin:0 0 18px; font-size:12px; line-height:1; text-transform:uppercase; letter-spacing:.22em; color:var(--gold); font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family: Georgia, "Times New Roman", serif; font-weight:400; letter-spacing:-.06em; text-wrap:balance; }
h1 { font-size: clamp(58px, 9.5vw, 138px); line-height:.84; margin-bottom:28px; max-width:980px; }
h2 { font-size: clamp(42px, 7vw, 96px); line-height:.9; margin-bottom:20px; }
h3 { font-size: clamp(22px, 2.4vw, 34px); line-height:1.02; letter-spacing:-.04em; margin-bottom:14px; }
p { color:var(--muted); font-size:clamp(16px,1.25vw,19px); line-height:1.62; }
.hero-lede { font-size:clamp(24px,2.7vw,42px); line-height:1.08; max-width:820px; color:var(--paper); letter-spacing:-.055em; }
.hero-support { max-width:720px; margin-bottom:28px; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cta-row.center { justify-content:center; }
.cta-row.stacked { align-items:stretch; }
.button { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 22px; border-radius:999px; border:1px solid var(--line); font-weight:850; letter-spacing:-.02em; overflow:hidden; transform:translateZ(0); transition: transform 240ms var(--ease-out), border-color 240ms var(--ease-out), background 240ms var(--ease-out); cursor:pointer; }
.button::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent, rgba(255,255,255,.2), transparent); transform:translateX(-120%); transition:transform 700ms var(--ease-out); }
.button:hover { transform:translateY(-2px); }
.button:hover::after { transform:translateX(120%); }
.button-primary { color:var(--deep); background:linear-gradient(135deg,var(--gold),var(--gold-2)); border-color:rgba(255,255,255,.24); box-shadow:0 16px 42px rgba(255,184,77,.18); }
.button-secondary { color:var(--paper); background:rgba(88,166,200,.13); border-color:rgba(88,166,200,.26); }
.button-tertiary { color:rgba(226,241,247,.84); background:transparent; }
.button.disabled { opacity:.52; pointer-events:none; }
.microcopy { margin-top:14px; max-width:720px; color:var(--faint); font-size:13px; line-height:1.5; }
.proof-strip { margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; max-width:790px; }
.proof-strip span { padding:10px 13px; border:1px solid var(--line); border-radius:999px; color:rgba(226,241,247,.76); background:rgba(88,166,200,.07); font-size:13px; }
.hero-console, .scan-card, .scan-result, .leak-card, .story-step, .offer-card, .fit-grid article, .faq-grid details, .final-card { border:1px solid var(--line); background:linear-gradient(180deg, rgba(16,57,73,.72), rgba(8,28,42,.72)); box-shadow:var(--shadow); }
.hero-console { border-radius:32px; padding:22px; align-self:end; overflow:hidden; }
.hero-console h2 { font-size: clamp(28px, 2.7vw, 42px); line-height:1; letter-spacing:-.045em; margin-bottom:16px; max-width:100%; }
.status-pill { display:inline-flex; width:max-content; margin-bottom:16px; padding:8px 11px; border-radius:999px; background:rgba(84,214,160,.12); color:var(--mint); border:1px solid rgba(84,214,160,.28); font-size:12px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
.check-list { padding:0; margin:18px 0; list-style:none; }
.check-list li { position:relative; padding-left:28px; margin:11px 0; color:rgba(226,241,247,.78); }
.check-list li::before { content:""; position:absolute; left:0; top:.55em; width:12px; height:12px; border-radius:50%; background:var(--gold); box-shadow:0 0 22px rgba(255,184,77,.45); }
.text-link { color:var(--gold); font-weight:750; text-decoration: underline; text-decoration-color: rgba(255,184,77,.38); text-underline-offset:4px; }
.split-head { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(24px,6vw,90px); align-items:end; margin-bottom:clamp(32px,6vw,78px); }
.split-head .eyebrow { grid-column:1/-1; margin-bottom:0; }
.split-head h2 { margin-bottom:0; }
.split-head p { max-width:610px; justify-self:end; }
.split-head.centered { display:block; text-align:center; max-width:850px; margin-inline:auto; }
.split-head.centered p { margin-inline:auto; }
.scan-grid { display:grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); gap:18px; align-items:stretch; }
.scan-card, .scan-result { border-radius:32px; padding:24px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
label { display:grid; gap:8px; color:rgba(226,241,247,.82); font-size:13px; font-weight:750; }
input, select { width:100%; min-height:48px; border-radius:16px; border:1px solid rgba(226,241,247,.16); background:rgba(7,20,33,.78); color:var(--paper); padding:0 14px; outline:none; }
input:focus, select:focus { border-color:rgba(255,184,77,.85); box-shadow:0 0 0 4px rgba(255,184,77,.12); }
.form-note { margin:16px 0; font-size:13px; color:var(--faint); }
.impact-meter { margin: 18px 0 18px; }
.impact-track { height: 16px; overflow: hidden; border-radius: 999px; border:1px solid rgba(255,184,77,.3); background: rgba(0,0,0,.24); }
.impact-track span { display:block; width:0; height:100%; border-radius: inherit; background: linear-gradient(90deg, var(--trust), var(--mint), var(--gold), var(--danger)); transition: width 420ms var(--ease-out); box-shadow: 0 0 30px rgba(255,184,77,.38); }
.impact-meter small, .formula-note { display:block; margin-top: 10px; color: var(--faint); font-size: 13px; line-height: 1.45; }
.metric-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 12px; }
.money-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin: 0 0 18px; }
.metric-row div, .money-grid div, .price-stack div { border:1px solid var(--line); border-radius:22px; padding:16px; background:rgba(0,0,0,.18); }
.metric-row span, .money-grid span, .price-stack span { display:block; color:var(--faint); font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; }
.metric-row strong, .price-stack strong { display:block; color:var(--paper); font-size:clamp(25px,3vw,42px); line-height:.95; letter-spacing:-.06em; }
.money-grid strong { display:block; color:var(--paper); font-size:clamp(20px,2vw,30px); line-height:1; letter-spacing:-.05em; }
.money-row div:first-child strong { color: var(--gold); }
.money-row div:nth-child(2) strong { color: var(--gold-2); }
.motion-panel { position:relative; min-height:clamp(520px,70vw,760px); overflow:hidden; border-radius:40px; border:1px solid rgba(255,255,255,.16); box-shadow:var(--shadow); background:#071421; contain: layout paint; }
.motion-panel .motion-video { position:absolute; inset:0; }
.panel-copy { position:absolute; inset:auto 28px 28px 28px; max-width:780px; padding:clamp(22px,4vw,40px); border:1px solid rgba(255,255,255,.16); border-radius:32px; background:rgba(7,20,33,.86); }
.panel-copy.narrow { max-width:640px; }
.leak-grid, .story-grid, .fit-grid, .faq-grid { display:grid; gap:14px; }
.leak-grid { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:18px; }
.leak-card, .story-step, .fit-grid article { border-radius:28px; padding:22px; }
.leak-card span, .story-step span { display:block; color:var(--gold); font-weight:850; margin-bottom:18px; }
.story-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.offer-card { border-radius:40px; padding:clamp(24px,5vw,58px); display:grid; grid-template-columns:1fr .92fr; gap:clamp(24px,5vw,64px); align-items:center; }
.offer-lede { color:var(--paper); font-size:clamp(22px,2.5vw,34px); line-height:1.12; letter-spacing:-.05em; }
.price-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.price-stack small { display:block; color:var(--faint); margin-top:6px; }
.fit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }
.faq-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
details { border-radius:26px; padding:20px 22px; }
details:not([open]) { padding-bottom:20px; }
details:not([open]) p { display:none; }
summary { cursor:pointer; color:var(--paper); font-weight:850; font-size:18px; letter-spacing:-.03em; }
details p { margin:14px 0 0; }
.final-card { border-radius:42px; padding:clamp(28px,6vw,72px); text-align:center; }
.final-card p { margin-inline:auto; max-width:760px; }
.site-footer { position:relative; z-index:1; width:min(calc(100% - 40px), var(--max)); margin:0 auto 28px; padding:20px 0; display:flex; justify-content:space-between; gap:18px; color:var(--faint); border-top:1px solid var(--line); }
[data-reveal] { opacity:1; transform:translate3d(0,0,0); transition:opacity 720ms var(--ease-out), transform 720ms var(--ease-out); }
[data-reveal].is-visible { opacity:1; transform:translate3d(0,0,0); }
@media (max-width: 960px) {
  .site-header { grid-template-columns:1fr auto; border-radius:26px; }
  .nav-links { display:none; }
  .hero, .scan-grid, .offer-card, .split-head { grid-template-columns:1fr; }
  .split-head p { justify-self:start; }
  .leak-grid, .story-grid, .fit-grid, .faq-grid { grid-template-columns:1fr; }
  .field-grid, .price-stack, .metric-row, .money-grid { grid-template-columns:1fr; }
  .hero-console { align-self:start; }
  .site-footer { flex-direction:column; }
}
@media (max-width: 620px) {
  .section-shell { width:min(calc(100% - 32px), var(--max)); padding-block:72px; }
  .hero { padding-top:90px; }
  h1 { font-size: clamp(48px, 16vw, 76px); }
  h2 { font-size: clamp(38px, 13vw, 62px); }
  .nav-cta { display:none; }
  .motion-panel { min-height:540px; border-radius:28px; }
  .panel-copy { inset:auto 14px 14px 14px; border-radius:24px; padding:20px; }
  .cta-row .button { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .motion-video { display:none; }
  .video-backdrop { background: linear-gradient(135deg, rgba(16,57,73,.92), rgba(7,20,33,.98)), url('higgsfield/hero-poster.jpg') center/cover; }
  [data-reveal] { opacity:1; transform:none; }
}
@media (hover: none) {
  .button:hover, .nav-links a:hover, .text-link:hover { transform:none; }
  .button::after { display:none; }
}
