/* =====================================================================
   NOBLE AGENCY VSL PAGE: black + orange theme (Oct 8, 2026)
   Restyle of the source page CSS (gilded-rugelach-1d65d9.netlify.app). Same selectors,
   same markup, same copy; only the visual layer changed. Fonts: self-hosted Archivo
   (assets/fonts.css), no external font requests.
   Every text/background pair below is checked for WCAG AA in dev/browser-test.js (section H).
   ===================================================================== */
:root{
  color-scheme:dark;
  /* surfaces (darkest -> lifted) */
  --bg:#0B0B0C;        /* page base */
  --band:#111113;      /* alternate sections */
  --surface:#151518;   /* cards, form card */
  --surface-2:#1C1C20; /* pills, raised controls */
  --input:#0E0E10;     /* inset fields */
  --line:#26262B;      /* hairlines, dividers */
  --line-2:#3A3A42;    /* card-level borders */
  --control:#6A6A73;   /* form control borders: >=3:1 vs card + pill fill (WCAG 1.4.11) */
  --control-hi:#8E8E97;/* control hover */
  /* text */
  --ink:#FFFFFF;       /* headings */
  --text:#E7E7EA;      /* body */
  --muted:#A1A1AA;     /* secondary */
  --faint:#8E8E97;     /* tertiary: placeholders, disclaimer, inactive labels */
  /* accent */
  --accent:#FF6A00;    /* Noble orange: CTAs, progress, highlights */
  --accent-hi:#FF8A3D; /* hover + orange text links on dark */
  --accent-soft:rgba(255,106,0,.12);
  --on-accent:#0B0B0C; /* dark text on orange badges/links (non-button) */
  --btn-bg:#C44500;    /* Oct 15: deeper orange behind WHITE button text = 5.0:1 (plain #FF6A00 is only 2.9:1) */
  --btn-hi:#D44E00;
  /* status */
  --check:#4ADE80; --check-soft:#0F2418; --check-line:#1F5133;
  --warn:#FCD34D;  --warn-soft:#241D0B;  --warn-line:#5C4A12;
  --danger:#FF8080;
  --hl:#FFD166;
  --font:"Archivo", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --r-sm:10px; --r:14px; --r-lg:18px;
  --shadow:0 24px 60px -24px rgba(0,0,0,.85), 0 2px 0 rgba(255,255,255,.02) inset;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--on-accent)}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:740px;margin:0 auto}

/* eyebrow bar */
.qual{background:var(--band);color:var(--accent-hi);text-align:center;font-weight:800;font-size:11.5px;letter-spacing:.16em;padding:10px 12px;border-bottom:1px solid var(--line)}

/* TOP */
.top{background-color:var(--bg);background-image:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(255,106,0,.13),rgba(255,106,0,0) 70%);padding:20px 0 26px;text-align:center}
/* wordmark: heavy, tracked caps + orange diamond mark (text + CSS only) */
.brand,footer .wrap>strong:first-child{font-weight:900;font-size:15px;line-height:1;color:var(--ink);letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand{margin:18px 0 30px;display:flex;justify-content:center}
.brand-legacy-dot::before{content:"";flex:none;width:11px;height:11px;background:var(--accent);transform:rotate(45deg);box-shadow:0 0 14px rgba(255,106,0,.55)}
.brand img{display:block;height:76px;width:auto}
.foot-brand{display:inline-flex;line-height:0}.foot-brand img{display:block;height:36px;width:auto}
@media (max-width:600px){.brand img{height:58px}.foot-brand img{height:30px}}
.received{display:inline-flex;align-items:center;gap:8px;background:var(--check-soft);border:1px solid var(--check-line);color:var(--check);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px 7px 8px;border-radius:999px;margin:0 0 14px}
.received::before{content:"✓";width:20px;height:20px;border-radius:50%;background:var(--check);color:#06140B;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:0}
h1{color:var(--ink);font-weight:900;font-size:clamp(30px,6.4vw,46px);line-height:1.04;letter-spacing:-.028em;margin:0 auto 10px;max-width:20ch;text-wrap:balance}
.sub{font-size:16px;line-height:1.55;margin:0 auto;max-width:58ch;color:var(--muted)}

/* CALENDAR */
.book{padding:18px 0 40px;background:var(--bg)}
#book{scroll-margin-top:10px}
.cal{background:var(--input);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.calendly-inline-widget{min-width:280px;min-height:420px}
.calendly-inline-widget iframe{display:block}
.cal{position:relative}
.cal-loading{position:absolute;top:0;left:0;right:0;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:14px;font-weight:600;z-index:0}
#calendlySlot{position:relative;z-index:1}
.spin{width:26px;height:26px;border:3px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
.slot-empty{min-height:140px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);font-size:15px}
.slot-empty code{background:var(--surface-2);color:var(--text);padding:2px 6px;border-radius:4px;font-size:13px}

/* PROOF */
.proof{background:var(--band);padding:48px 0 52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.proof::before{content:"";position:absolute;left:50%;top:-1px;width:120px;height:2px;margin-left:-60px;background:var(--accent);border-radius:2px}
.sec-title{color:var(--ink);font-weight:900;font-size:clamp(26px,3.6vw,38px);line-height:1.1;letter-spacing:-.022em;margin:0 auto 28px;text-align:center;max-width:860px;text-wrap:balance}
.t-grid{display:grid;gap:20px}
@media (min-width:860px){.t-grid{grid-template-columns:repeat(3,1fr)}}
.t{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);transition:border-color .2s,transform .2s;text-align:center}
.t:hover{border-color:var(--line-2);transform:translateY(-2px)}
.t-result{font-weight:900;font-size:26px;line-height:1.1;color:var(--ink);letter-spacing:-.015em}
.t-result mark{background:none;color:var(--accent);padding:0}
.t-head{margin:0;font-size:14.5px;font-weight:500;line-height:1.5;color:var(--muted)}
.t-video{position:relative;aspect-ratio:9/16;width:100%;max-width:none;margin:0 auto;border-radius:12px;overflow:hidden;background:var(--surface-2);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 16px 30px -16px rgba(0,0,0,.9)}
.t-video.landscape{aspect-ratio:16/9;max-width:none}
.t-video iframe,.t-video video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.t-video iframe.ytp{inset:auto;top:-72px;left:0;width:100%;height:calc(100% + 144px)}
.yt{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.yt:hover img{transform:scale(1.03)}
.yt .play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(11,11,12,.72);box-shadow:0 0 0 1px rgba(255,255,255,.25);transition:background .15s,transform .15s}
.yt .play::after{content:"";position:absolute;left:25px;top:19px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #fff}
.yt:hover .play,.yt:focus-visible .play{background:var(--accent);transform:scale(1.06)}
.yt:hover .play::after,.yt:focus-visible .play::after{border-left-color:var(--on-accent)}
.t-video .empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:14px;font-size:13px;color:var(--muted);border:2px dashed var(--line-2);border-radius:12px}
.t-who{font-size:14px;color:var(--muted);text-align:center}
.t-who b{color:var(--ink)}
.dots{display:none}

/* HOW IT WORKS */
.how{padding:44px 0 36px;background:var(--bg)}
.how h2{color:var(--ink);font-weight:900;font-size:clamp(22px,2.6vw,28px);letter-spacing:-.015em;margin:0 0 20px;text-align:center}
.steps{list-style:none;margin:0 auto;padding:0;display:grid;gap:10px;max-width:960px;counter-reset:s}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,1fr);gap:16px}}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:center;font-size:15.5px;font-weight:600;line-height:1.4;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.steps li::before{content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:900;display:grid;place-items:center;font-size:14px}

footer{padding:30px 0 36px;font-size:13px;color:var(--muted);text-align:center;background:var(--bg);border-top:1px solid var(--line)}
footer .wrap>strong:first-child{font-size:13px;color:var(--ink)!important}
footer .wrap>strong:first-child::before{width:9px;height:9px}
footer nav{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:14px 0 14px}
footer nav a{text-decoration:none;color:var(--text);font-weight:600;transition:color .15s}
footer nav a:hover{color:var(--accent-hi);text-decoration:underline;text-underline-offset:3px}
.disclaimer{max-width:80ch;margin:0 auto;font-size:12px;line-height:1.55;color:var(--faint)}

.sticky-cta{display:none}

@media (min-width:860px){
  .top{padding:22px 0 30px}
  .book{padding:22px 0 56px}
  .proof{padding:60px 0 64px}
  .how{padding:56px 0 44px}
}
@media (max-width:859px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .wrap{padding:0 16px}
  .book .wrap{padding:0 12px}
  /* testimonial swipe carousel */
  .t-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none;scroll-padding:0 16px}
  .t-grid::-webkit-scrollbar{display:none}
  .t{flex:0 0 86%;scroll-snap-align:start;padding:16px}
  .t:hover{transform:none}
  .t-result{font-size:23px}
  .t-video{max-width:none}
  .qual{letter-spacing:.12em;font-size:11px}
  .dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
  .dots span{width:7px;height:7px;border-radius:50%;background:#4A4A52;transition:width .2s,background .2s}
  .dots span.on{background:var(--accent);width:20px;border-radius:4px}
  /* sticky CTA */
  .sticky-cta{display:block;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:50;
    background:var(--btn-bg);color:#fff;text-align:center;font-weight:800;font-size:17px;letter-spacing:.01em;padding:15px;border-radius:12px;text-decoration:none;
    box-shadow:0 10px 30px -6px rgba(255,106,0,.45),0 0 0 1px rgba(0,0,0,.4);transition:transform .25s ease,opacity .25s ease}
  .sticky-cta.hide{transform:translateY(140%);opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.sticky-cta,.t,.yt img,.btn,.pills span{transition:none}}

/* =====================================================================
   VSL + 3-step form
   ===================================================================== */
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--on-accent);font-weight:800;padding:8px 12px;z-index:99;border-radius:0 0 8px 0}
.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ph-inline{color:var(--hl);font-size:.85em;font-weight:700}

/* VSL at the top */
.vsl-h{font-size:clamp(28px,6.4vw,46px);max-width:22ch;margin:0 auto 18px}
.top .brand+.vsl-h{margin-top:0}
.vsl{margin:0 auto 20px;max-width:700px;padding:6px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));box-shadow:0 0 0 1px rgba(255,255,255,.07),0 30px 80px -30px rgba(255,106,0,.35),0 30px 60px -30px rgba(0,0,0,.9)}
.vsl__frame{position:relative;aspect-ratio:3/2;width:100%;border-radius:16px;overflow:hidden;background:#0E0E10 center/cover no-repeat;
  background-image:radial-gradient(ellipse at 50% 120%,rgba(255,106,0,.28),rgba(255,106,0,0) 60%),linear-gradient(160deg,#1A1A1E,#0B0B0C 70%);border:1px solid rgba(255,255,255,.08)}
.vsl__frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.vsl__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsl__play{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;cursor:pointer;padding:0;border-radius:16px}
.vsl__play:focus-visible{outline-offset:-4px}
.vsl__play .play{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 10px rgba(255,106,0,.18),0 0 0 22px rgba(255,106,0,.07),0 14px 40px rgba(255,106,0,.45);transition:transform .18s ease,box-shadow .18s ease}
.vsl__play .play::after{content:"";position:absolute;left:35px;top:27px;border-style:solid;border-width:17px 0 17px 27px;border-color:transparent transparent transparent var(--on-accent)}
.vsl__play:hover .play{transform:scale(1.07);box-shadow:0 0 0 12px rgba(255,106,0,.24),0 0 0 28px rgba(255,106,0,.09),0 18px 50px rgba(255,106,0,.55)}
.vsl__tag{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.72);color:var(--hl);font-weight:800;font-size:12px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,209,102,.25);pointer-events:none}

@media (max-width:859px){
  .vsl{padding:4px;border-radius:18px}
  .vsl__frame,.vsl__play{border-radius:14px}
  .vsl__play .play{width:70px;height:70px;margin:-35px 0 0 -35px;box-shadow:0 0 0 8px rgba(255,106,0,.18),0 0 0 16px rgba(255,106,0,.07),0 10px 30px rgba(255,106,0,.45)}
  .vsl__play .play::after{left:28px;top:22px;border-width:13px 0 13px 21px}
  .vsl__tag{left:8px;top:8px;font-size:11px;padding:5px 8px}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:12px;border:2px solid var(--btn-bg);background:var(--btn-bg);color:#fff;
  font:800 17px/1.2 var(--font);letter-spacing:.005em;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px -10px rgba(255,106,0,.6);transition:background-color .15s,border-color .15s,box-shadow .15s,transform .08s;text-align:center}
.btn:hover{background:var(--btn-hi);border-color:var(--btn-hi);box-shadow:0 16px 36px -10px rgba(255,106,0,.75)}
.btn:active{transform:translateY(1px);background:var(--btn-hi);border-color:var(--btn-hi)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:4px} /* focus ring = outline w/ offset; border stays the fill colour */
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.btn:hover svg{transform:translateX(3px)}
.btn--cta{width:100%;max-width:420px;font-size:18px;min-height:58px}
.btn--block{width:100%}
.btn--grow{flex:1}
.btn--ghost{background:transparent;color:var(--text);box-shadow:none;border:1px solid var(--control)}
.btn--ghost:hover{background:var(--surface-2);border-color:var(--control-hi);color:var(--ink);box-shadow:none}

/* form card */
.formcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow);overflow:hidden}
.formcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hi) 60%,rgba(255,138,61,0))}
.progress{margin-bottom:22px}
.progress__bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden}
.progress__bar span{display:block;height:100%;width:33.33%;background-color:var(--accent);background-image:linear-gradient(90deg,var(--accent),var(--accent-hi));border-radius:99px;transition:width .35s ease;box-shadow:0 0 12px rgba(255,106,0,.6)}
.progress__labels{list-style:none;padding:0;margin:10px 0 0;display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;color:var(--faint);text-transform:uppercase;letter-spacing:.12em}
.progress__labels li.on{color:var(--ink)}
.progress__labels li.done{color:var(--accent-hi)}
.step__title{margin:0 0 18px;font-size:21px;line-height:1.25;color:var(--ink);font-weight:900;letter-spacing:-.01em}
.step__title--big{font-size:clamp(26px,4.6vw,36px);letter-spacing:-.025em;max-width:20ch;margin:0 auto 10px}
.step3__head{text-align:center;margin-bottom:18px}
.step .muted{color:var(--muted);margin-top:-6px}
.field{border:0;margin:0 0 18px;padding:0;min-width:0}
.field legend,.field>label{display:block;font-weight:700;font-size:15px;margin-bottom:9px;padding:0;color:var(--ink)}
.opt{font-weight:500;color:var(--muted)}
.field input[type=text],.field input[type=tel],.field input[type=email]{width:100%;height:52px;border:1px solid var(--control);border-radius:var(--r-sm);padding:0 15px;font:500 16px var(--font);color:var(--ink);background:var(--input);transition:border-color .15s,box-shadow .15s}
.field input::placeholder{color:var(--faint);opacity:1}
.field input[type=text]:hover,.field input[type=tel]:hover,.field input[type=email]:hover{border-color:var(--control-hi)}
.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(255,106,0,.25)}
.pills{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.pills--2{grid-template-columns:1fr 1fr}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pills span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 10px;border:1px solid var(--control);border-radius:var(--r-sm);font-weight:700;font-size:15px;text-align:center;transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s;background:var(--surface-2);color:var(--text)}
.pills label:hover span{border-color:var(--control-hi);background:#222227;color:var(--ink)}
.pills input:checked+span{border-color:var(--accent);background:#2A1A0E;color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px rgba(255,106,0,.12)}
.pills input:focus-visible+span{outline:2px solid var(--accent-hi);outline-offset:3px}
.err{display:none;color:var(--danger);font-size:14px;font-weight:700;margin:7px 0 0}
.field.invalid .err{display:block}
.field.invalid input[type=text],.field.invalid input[type=tel],.field.invalid input[type=email],.field.invalid .pills span{border-color:var(--danger)}
.row2{display:grid;gap:0}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--muted);font-weight:400!important;cursor:pointer;background:var(--input);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px}
.field.invalid .check{border-color:var(--danger)}
.field>label.check{display:flex;color:#C9C9CF;font-size:13px;margin:0;padding:13px 14px} /* beat .field>label (block, white) so the checkbox sits beside the text */
.check input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--accent)}
.check a{color:var(--accent-hi);text-underline-offset:2px}
.check a:hover{color:#FFA866}
.step__nav{display:flex;gap:10px;margin-top:8px}
.soft-dq{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);border-radius:var(--r-sm);padding:13px 15px;font-size:15px;margin-bottom:18px}
.goodnews{background:var(--check-soft);border:1px solid var(--check-line);color:var(--check);border-radius:var(--r-sm);padding:13px 15px;font-size:15px;margin:0 0 18px;font-weight:700}
.booked{display:flex;gap:12px;align-items:flex-start;background:var(--check-soft);border:1px solid var(--check-line);color:#BBF7D0;border-radius:var(--r-sm);padding:14px;margin:14px 0}
.booked svg{width:26px;height:26px;flex:none;stroke:var(--check);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
/* Calendly inside step 3 (inline widget sizes itself; these are the fallbacks) */
#calendlyMount{position:relative;z-index:1;min-width:280px;height:720px} /* Calendly's inline widget needs a real height on its container */
#calendlyMount.cal-ph-mode{height:auto}
#calendlyMount iframe{display:block;width:100%;height:100%;border:0}
.cal-ph{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:var(--muted);background:var(--input)}
.cal-ph a{color:var(--accent-hi)}
.cal-ph code{background:var(--surface-2);color:var(--text);padding:2px 6px;border-radius:4px;font-size:13px;word-break:break-all}

@media (min-width:720px){
  .formcard{padding:32px 32px 30px}
  .row2{grid-template-columns:1fr 1fr;gap:14px}
}
@media (max-width:859px){
  .book .formcard{padding:20px 14px 18px}
  #calendlyMount{height:1000px} /* Calendly stacks to one column on phones */
}
/* step titles get programmatic focus (for screen readers) when a step opens; no focus ring needed there */
.step__title:focus{outline:none}

/* =====================================================================
   LEGAL PAGES (privacy.html, terms.html)
   ===================================================================== */
.draft-banner{background:#FFD24A;border-bottom:1px solid #B38900;color:#1A1400;text-align:center;font-weight:800;font-size:14px;line-height:1.4;padding:10px 14px}
.legal-top{background:var(--band);border-bottom:1px solid var(--line);padding:18px 0;text-align:center}
.legal-top .brand{margin:0;display:inline-flex}
.legal-top a{text-decoration:none}
.legal-top a.brand:hover{color:var(--accent-hi)}
.legal{background:var(--surface);margin:28px auto 16px;max-width:820px;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 20px 30px;color:var(--text);font-size:15.5px;line-height:1.7;box-shadow:var(--shadow);position:relative;overflow:hidden}
.legal::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hi) 60%,rgba(255,138,61,0))}
.legal h1{max-width:none;margin:0 0 8px;font-size:clamp(28px,4.6vw,40px)}
.legal .meta{color:var(--muted);font-size:14px;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.legal .meta strong{color:var(--text)}
.legal h2{color:var(--ink);font-weight:900;font-size:20px;line-height:1.25;letter-spacing:-.01em;margin:34px 0 10px}
.legal h3{color:var(--ink);font-weight:800;font-size:16px;margin:18px 0 6px}
.legal strong{color:var(--ink)}
.legal p,.legal ul{margin:0 0 12px}
.legal ul{padding-left:22px}
.legal li{margin:4px 0}
.legal li::marker{color:var(--accent)}
.legal a{color:var(--accent-hi);text-underline-offset:2px}
.legal a:hover{color:#FFA866}
.legal .toc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 18px 14px 38px;margin:0 0 8px;font-size:14.5px}
.legal .toc li::marker{color:var(--accent-hi);font-weight:700}
.legal .callout{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:8px;padding:12px 16px}
.legal .caps{text-transform:uppercase;font-size:14px}
.back-link{display:inline-block;margin-top:22px;font-weight:800;color:var(--accent-hi)!important;text-decoration:none}
.back-link:hover{text-decoration:underline}
@media (min-width:860px){.legal{padding:40px 48px 44px}}

/* =====================================================================
   DR COPY ADDITIONS (Oct 8): eyebrow, subhead, CTA note, proof stats,
   How-it-works intro and the 90-Day Promise box. Presentational only.
   ===================================================================== */
.eyebrow{margin:0 auto 10px;color:var(--accent-hi);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.vsl-h mark{background:none;color:var(--accent-hi);padding:0}
.vsl-sub{margin:-6px auto 18px;max-width:56ch;color:var(--muted);font-size:16.5px;line-height:1.5}
.cta-note{margin:10px 0 0;color:var(--muted);font-size:13.5px;font-weight:600}
.proof-stats{margin:-14px auto 26px;text-align:center;color:var(--text);font-size:15px;max-width:70ch}
.proof-stats strong{color:var(--accent);font-weight:900}
.how-intro{margin:-8px auto 22px;max-width:62ch;text-align:center;color:var(--muted);font-size:16px}
.promise{margin:28px auto 0;max-width:760px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 20px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.promise::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hi) 60%,rgba(255,138,61,0))}
.promise__tag{margin:0 0 8px;color:var(--accent-hi);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.promise__text{margin:0 auto 18px;color:var(--ink);font-weight:700;font-size:18px;line-height:1.45;max-width:52ch}
.pills--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:720px){.pills--4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1024px){
  .top .eyebrow{margin-bottom:8px}
  .vsl-h{max-width:30ch;font-size:42px;line-height:1.12;margin-bottom:8px}
  .vsl-sub{margin:0 auto 12px;font-size:16px}
}

/* ---- VSL pre-play overlay (Oct 13): hook, pulse, pill, sound hint, muted preview loop ---- */
.vsl__frame .vsl__preview{object-fit:cover;background:transparent;pointer-events:none;opacity:0;transition:opacity .4s ease}
.vsl__frame .vsl__preview.on{opacity:1}
.vsl__play{overflow:hidden;color:#fff;font-family:inherit;text-align:center}
.vsl__play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;box-shadow:inset 0 0 0 6px rgba(255,106,0,.35)}
.vsl__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.05) 30%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.82) 100%);transition:background .25s ease}
.vsl__pill,.vsl__sound{position:absolute;top:14px;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:99px;line-height:1}
.vsl__pill{left:14px;background:var(--accent);color:var(--on-accent);box-shadow:0 6px 18px rgba(255,106,0,.45)}
.vsl__sound{right:14px;background:rgba(0,0,0,.62);color:#fff;border:1px solid rgba(255,255,255,.22)}
.vsl__hook{position:absolute;left:16px;right:16px;bottom:18px;font-weight:900;font-size:clamp(20px,3.6vw,34px);line-height:1.1;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.75);text-transform:uppercase}
.vsl__hook mark{background:none;color:#FF6A00;padding:0}
.vsl__play .play{width:104px;height:104px;margin:-52px 0 0 -52px;animation:vslPulse 1.8s ease-out infinite}
.vsl__play .play::after{left:41px;top:32px;border-width:20px 0 20px 32px}
@keyframes vslPulse{0%{box-shadow:0 0 0 0 rgba(255,106,0,.55),0 14px 40px rgba(255,106,0,.45)}70%{box-shadow:0 0 0 26px rgba(255,106,0,0),0 14px 40px rgba(255,106,0,.45)}100%{box-shadow:0 0 0 0 rgba(255,106,0,0),0 14px 40px rgba(255,106,0,.45)}}
.vsl__frame{transition:box-shadow .25s ease}
.vsl__frame,.vsl__frame .vsl__preview{background-size:cover}
.vsl:hover .vsl__frame{box-shadow:0 0 0 1px rgba(255,106,0,.55),0 0 50px rgba(255,106,0,.35)}
.vsl__frame{background-position:center;transition:background-size .4s ease,box-shadow .25s ease}
.vsl__preview,.vsl__shade{transition:transform .4s ease,opacity .4s ease}
.vsl__play:hover .vsl__shade,.vsl__play:focus-visible .vsl__shade{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.75) 100%)}
.vsl:hover .vsl__preview{transform:scale(1.04)}
.vsl:hover .vsl__frame{background-size:104%}
.vsl__play:hover .play,.vsl__play:focus-visible .play{transform:scale(1.08)}
@media (max-width:859px){
  .vsl__play .play{width:80px;height:80px;margin:-40px 0 0 -40px}
  .vsl__play .play::after{left:32px;top:25px;border-width:15px 0 15px 24px}
  .vsl__pill,.vsl__sound{top:10px;font-size:10.5px;padding:6px 9px}
  .vsl__pill{left:10px}.vsl__sound{right:10px}
  .vsl__hook{bottom:12px;left:10px;right:10px;font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  .vsl__play .play{animation:none;box-shadow:0 0 0 10px rgba(255,106,0,.18),0 14px 40px rgba(255,106,0,.45)}
  .vsl:hover .vsl__preview,.vsl__play:hover .play{transform:none}
  .vsl:hover .vsl__frame{background-size:cover}
}
.vsl__hook mark{display:block}

/* Oct 15: consent note (no checkbox) */
.consent-note{margin:4px 0 14px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.consent-note a{color:var(--accent-hi);text-underline-offset:2px}

/* Oct 15 batch 2 */
.steps li{text-align:left}
.how-cta{margin:30px 0 0;text-align:center}
.btn--white{background:#fff;color:#0B0B0C;border:2px solid #fff;box-shadow:0 12px 30px -12px rgba(255,255,255,.35)}
.btn--white:hover{background:#F2F2F4;border-color:#F2F2F4;box-shadow:0 16px 36px -12px rgba(255,255,255,.5)}
.btn--white.btn--cta{width:100%;max-width:420px;font-size:18px;min-height:58px}

.btn--white:active,.btn--white:focus-visible{border-color:#fff}
.btn--white:active{background:#E6E6E9;border-color:#E6E6E9}
.sticky-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Oct 15 form2: long-label radio lists stack one per row */
.pills--stack{grid-template-columns:1fr}
