  :root { --bg:#0a0a0a; --card:#161616; --ink:#f5f5f5; --muted:#a8a8a8; --accent:#f26b2a; --accent-ink:#140700; --line:#2b2b2b; color-scheme:dark; }
  * { box-sizing:border-box; }
  body { margin:0; font:17px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; background:var(--bg); color:var(--ink); }
  .wrap { max-width:720px; margin:0 auto; padding:0 16px; }
  header.hero { padding:40px 0 24px; }
  .eyebrow { color:var(--accent); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:13px; }
  h1 { font-size:clamp(30px,6vw,46px); line-height:1.1; margin:.3em 0; }
  .sub { color:var(--muted); font-size:19px; }
  .btn { display:inline-block; background:var(--accent); color:var(--accent-ink); border:0; border-radius:10px; padding:14px 22px; font-weight:700; font-size:17px; cursor:pointer; text-decoration:none; }
  .btn:disabled { opacity:.4; cursor:not-allowed; }
  .pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:32px 0; }
  .pill { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px; }
  .pill b { display:block; margin-bottom:4px; }
  .pill span { color:var(--muted); font-size:15px; }
  #quiz { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:24px; margin:24px 0 48px; }
  .bar { height:6px; background:var(--line); border-radius:3px; margin-bottom:20px; overflow:hidden; }
  .bar i { display:block; height:100%; width:0; background:var(--accent); transition:width .25s; }
  .opt { display:block; width:100%; text-align:left; background:transparent; color:var(--ink); border:1px solid var(--line); border-radius:10px; padding:12px 14px; margin:8px 0; font-size:16px; cursor:pointer; }
  .opt:hover, .opt:focus-visible { border-color:var(--accent); outline:none; }
  label { display:block; margin:12px 0 4px; font-size:15px; color:var(--muted); }
  input[type=text], input[type=email], input[type=tel] { width:100%; padding:12px; border-radius:8px; border:1px solid var(--line); background:var(--bg); color:var(--ink); font-size:16px; }
  .consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); margin:12px 0; }
  .consent input { margin-top:3px; }
  .score { font-size:64px; font-weight:800; color:var(--accent); line-height:1; }
  .note { font-size:12px; color:var(--muted); margin-top:24px; }
  footer { border-top:1px solid var(--line); padding:24px 0 48px; color:var(--muted); font-size:13px; }
  /* Shared site chrome */
  a { color:var(--accent); }
  .topnav { position:sticky; top:0; z-index:10; background:rgba(10,10,10,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
  .topnav .wrap { display:flex; align-items:center; gap:4px; overflow-x:auto; padding-top:10px; padding-bottom:10px; }
  .brand { font-weight:800; color:var(--ink); text-decoration:none; margin-right:auto; white-space:nowrap; }
  .brand span { color:var(--accent); }
  .topnav a.tab { color:var(--muted); text-decoration:none; padding:8px 10px; border-radius:8px; font-size:15px; white-space:nowrap; }
  .topnav a.tab[aria-current=page], .topnav a.tab:hover { color:var(--ink); background:var(--card); }
  .topnav a.tab.lab, .topnav a.tab.fortify { color:var(--accent); }
  section.block { margin:40px 0; }
  h2 { font-size:clamp(22px,4vw,30px); line-height:1.2; margin:0 0 .5em; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; margin:12px 0; }
  .steps { counter-reset:step; list-style:none; padding:0; }
  .steps li { counter-increment:step; position:relative; padding:0 0 18px 44px; }
  .steps li::before { content:counter(step); position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:var(--accent); color:var(--accent-ink); font-weight:800; display:grid; place-items:center; }
  .price { font-size:40px; font-weight:800; }
  .price small { font-size:16px; color:var(--muted); font-weight:400; }
  .spots { display:inline-block; margin-top:14px; padding:6px 12px; border-radius:999px; border:1px solid var(--accent); color:var(--accent); font-size:14px; font-weight:700; }
  .spots.full { border-color:#f26b2a; color:#f26b2a; }
  details { border-bottom:1px solid var(--line); padding:12px 0; }
  summary { cursor:pointer; font-weight:600; }
  ul.check { padding-left:0; list-style:none; }
  ul.check li { padding-left:28px; position:relative; margin:8px 0; }
  ul.check li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:800; }
  /* Photos, video and figures */
  .hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:center; }
  .hero-grid > * { min-width:0; }
  @media (max-width:720px) { .hero-grid { grid-template-columns:1fr; } }
  .wrap-wide { max-width:1040px; margin:0 auto; padding:0 16px; }
  .photo { width:100%; max-width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:16px; border:1px solid var(--line); background:var(--card); display:block; }
  .photo.wide { aspect-ratio:16/10; }
  figure { margin:16px 0; }
  figcaption { color:var(--muted); font-size:13px; margin-top:8px; }
  .photo-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:16px 0; }
  .video { width:100%; max-width:420px; aspect-ratio:9/16; border-radius:16px; border:1px solid var(--line); background:#000; display:block; }
  .video.wide { max-width:none; aspect-ratio:16/9; object-fit:cover; }
  .chart { width:100%; max-width:560px; height:auto; display:block; margin:12px 0; }
  .chart text { fill:var(--ink); font:600 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
  .chart .muted { fill:var(--muted); font-weight:400; }
  .chart .bar-accent { fill:var(--accent); }
  .chart .bar-base { fill:var(--line); }
  .ai-note { color:var(--muted); font-size:12px; }
  #quiz { max-width:720px; margin-left:auto; margin-right:auto; }
  .photo.square { aspect-ratio:1/1; }
  .photo.natural { aspect-ratio:auto; object-fit:contain; background:transparent; }
  .results { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin:16px 0; }
  .testimonials { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin:20px 0; }
  .testimonial { text-align:center; }
  .testimonial img.avatar { width:84px; height:84px; border-radius:50%; object-fit:cover; border:2px solid var(--accent); margin-bottom:10px; }
  .testimonial b { display:block; color:var(--accent); font-size:14px; letter-spacing:.03em; text-transform:uppercase; margin-bottom:8px; }
  .testimonial p { color:var(--muted); font-size:15px; margin:0; }
