/* The Busy Professionals Crypto Program — shared styles */

@font-face{
  font-family:"Newsreader";
  src:url("/assets/fonts/newsreader.woff2") format("woff2");
  font-weight:200 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Newsreader";
  src:url("/assets/fonts/newsreader-italic.woff2") format("woff2");
  font-weight:200 800; font-style:italic; font-display:swap;
}
@font-face{
  font-family:"Source Sans 3";
  src:url("/assets/fonts/source-sans-3.woff2") format("woff2");
  font-weight:200 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Source Sans 3";
  src:url("/assets/fonts/source-sans-3-italic.woff2") format("woff2");
  font-weight:200 900; font-style:italic; font-display:swap;
}

:root{
  --paper:#FAFAF8;
  --mist:#EDF1F0;
  --ink:#15233B;
  --ink-soft:#4A576B;
  --ink-faint:#6E7A8B;
  --line:#D6DCDD;
  --accent:#2E6466;
  --accent-soft:#DDE9E7;
  --white:#FFFFFF;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Source Sans 3", "Segoe UI", Helvetica, Arial, sans-serif;
  --wrap:1120px;
  --gutter:28px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.125rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--accent); text-underline-offset:3px; }
a:hover{ color:var(--ink); }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

h1,h2,h3{
  font-family:var(--serif);
  font-weight:500;
  color:var(--ink);
  margin:0;
  letter-spacing:-0.01em;
  font-variation-settings:"opsz" 60;
}
h1{ font-size:clamp(2.35rem, 5.2vw, 3.9rem); line-height:1.06; }
h2{ font-size:clamp(1.85rem, 3.6vw, 2.75rem); line-height:1.12; }
h3{ font-size:1.35rem; line-height:1.25; font-variation-settings:"opsz" 24; }
p{ margin:0 0 1em; }
p:last-child{ margin-bottom:0; }
strong{ font-weight:650; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); }
.narrow{ max-width:760px; }
.measure{ max-width:62ch; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-weight:600; font-size:1.05rem;
  background:var(--ink); color:var(--white);
  border:1.5px solid var(--ink); border-radius:4px;
  padding:15px 30px; text-decoration:none; cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:hover{ background:var(--accent); border-color:var(--accent); color:var(--white); }
.btn-quiet{ background:transparent; color:var(--ink); }
.btn-quiet:hover{ background:var(--ink); border-color:var(--ink); color:var(--white); }
.btn-light{ background:var(--white); color:var(--ink); border-color:var(--white); }
.btn-light:hover{ background:var(--accent-soft); border-color:var(--accent-soft); color:var(--ink); }
.btn-note{ font-size:0.95rem; color:var(--ink-faint); margin-top:12px; }

/* ---------- Header (CHROME) ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(250,250,248,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:72px;
}
.brand{
  font-family:var(--serif); font-weight:500; font-size:1.2rem; line-height:1.2;
  color:var(--ink); text-decoration:none; font-variation-settings:"opsz" 24;
}
.brand:hover{ color:var(--ink); }
.header-nav{ display:flex; align-items:center; gap:40px; flex-shrink:0; }
.nav-link{
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--ink); background:transparent; text-decoration:none;
  font-weight:600; font-size:0.98rem; line-height:1.6;
  border:1.5px solid var(--ink); border-radius:4px; padding:10px 22px;
  transition:background .15s ease, color .15s ease;
}
.nav-link:hover{ background:var(--ink); color:var(--white); }
.nav-link[aria-current="page"]{ background:var(--mist); }
.nav-link[aria-current="page"]:hover{ background:var(--ink); color:var(--white); }
.header-cta{ padding:10px 22px; font-size:0.98rem; }

/* ---------- Footer (CHROME) ---------- */
.site-footer{
  background:var(--ink); color:#C9D1DC;
  padding:48px 0 40px; font-size:0.97rem;
}
.footer-links{
  display:flex; flex-wrap:wrap; gap:10px 28px; margin:0 0 22px; padding:0; list-style:none;
}
.footer-links a{ color:var(--white); text-decoration:none; }
.footer-links a:hover{ color:var(--white); text-decoration:underline; }
.footer-legal{ color:#9AA6B6; font-size:0.9rem; margin:0; }

/* ---------- Sections ---------- */
.section{ padding:96px 0; }
.section-tight{ padding:72px 0; }
.bg-mist{ background:var(--mist); }
.bg-ink{ background:var(--ink); color:#DCE3EC; }
.bg-ink h2, .bg-ink h3{ color:var(--white); }
.section-head{ margin-bottom:40px; }
.section-head p{ color:var(--ink-soft); margin-top:16px; font-size:1.2rem; }
.lead{ font-size:1.25rem; color:var(--ink-soft); }

/* ---------- Hero ---------- */
.hero{ padding:72px 0 88px; }
.hero-grid{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:64px; align-items:center;
}
.hero-kicker{ color:var(--accent); font-weight:600; font-size:1rem; margin-bottom:22px; }
.hero h1{ margin-bottom:28px; }
.hero-body p{ color:var(--ink-soft); font-size:1.2rem; max-width:56ch; }
.hero-strip{
  font-family:var(--serif); font-size:1.3rem; line-height:1.4; font-variation-settings:"opsz" 24;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:16px 0; margin:30px 0 32px; color:var(--ink);
}
.hero-photo{
  border-radius:6px; overflow:hidden; aspect-ratio:4/5; background:var(--mist);
}
.hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:58% 35%; }

/* ---------- Sound familiar ---------- */
.familiar-list{
  list-style:none; margin:0 0 48px; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:0 48px;
}
.familiar-list li{
  border-top:1px solid var(--line); padding:20px 0 22px; color:var(--ink-soft);
}
.familiar-close p{ font-size:1.2rem; color:var(--ink-soft); margin-bottom:0.5em; }
.familiar-close .statement{
  font-family:var(--serif); font-size:clamp(1.5rem, 2.8vw, 2rem); line-height:1.25;
  color:var(--ink); margin-top:28px; font-variation-settings:"opsz" 36; max-width:28ch;
}

/* ---------- Story (Dr. Daniel's voice) ---------- */
.story-grid{
  display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr); gap:64px; align-items:start;
}
.story-photo{ border-radius:6px; overflow:hidden; position:sticky; top:104px; }
.story-photo img{ width:100%; aspect-ratio:16/11; object-fit:cover; object-position:45% 40%; }
.story h2{ margin-bottom:32px; }
.story-letter p{
  font-family:var(--serif); font-size:1.28rem; line-height:1.6; color:var(--ink);
  font-variation-settings:"opsz" 18;
}
.signature{
  font-family:var(--serif); font-style:italic; font-size:1.3rem; margin-top:28px; color:var(--accent);
}

/* ---------- Outcomes ---------- */
.check-list{
  list-style:none; margin:0 0 36px; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:14px 48px;
}
.check-list li{ position:relative; padding-left:34px; }
.check-list li::before{
  content:""; position:absolute; left:0; top:0.42em;
  width:18px; height:10px;
  border-left:2.5px solid var(--accent); border-bottom:2.5px solid var(--accent);
  transform:rotate(-45deg); transform-origin:center;
}
.outcomes-close{ font-family:var(--serif); font-size:1.35rem; line-height:1.4; max-width:44ch; font-variation-settings:"opsz" 24; }

/* ---------- Money band ---------- */
.money-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:64px; align-items:start; }
.money-grid p{ font-size:1.2rem; }
.money-grid .money-last{ color:var(--white); }

/* ---------- Six weeks ---------- */
.weeks-intro{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:end; margin-bottom:48px; }
.weeks-intro .zoom-photo{ border-radius:6px; overflow:hidden; }
.weeks-intro .zoom-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.weeks-intro .sub{ font-size:1.25rem; color:var(--ink-soft); margin-top:16px; }
.weeks-intro .rhythm{ margin-top:16px; font-weight:600; }
.timeline{ list-style:none; margin:0 0 56px; padding:0; border-top:1.5px solid var(--ink); }
.timeline li{
  display:grid; grid-template-columns:200px minmax(0,1fr); gap:32px;
  padding:28px 0; border-bottom:1px solid var(--line);
}
.timeline .when{ font-family:var(--serif); font-size:1.6rem; line-height:1.15; font-variation-settings:"opsz" 36; }
.timeline .when span{ display:block; font-family:var(--sans); font-size:0.95rem; color:var(--accent); font-weight:600; margin-top:6px; }
.timeline .format{ font-weight:600; margin-bottom:6px; }
.timeline p{ color:var(--ink-soft); }
.timeline .ready{ color:var(--ink); font-weight:600; }
.notes-row{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:40px; }
.notes-row div{ border-top:1px solid var(--line); padding-top:18px; color:var(--ink-soft); font-size:1.05rem; }
.notes-row strong{ display:block; color:var(--ink); font-size:1.1rem; margin-bottom:4px; }

/* ---------- One-to-one ---------- */
.one-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.one-grid p{ font-size:1.2rem; color:var(--ink-soft); }

/* ---------- Not / fit ---------- */
.not-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 56px; }
.not-grid div{ border-top:1px solid var(--line); padding:24px 0 28px; color:var(--ink-soft); }
.not-grid strong{ display:block; font-family:var(--serif); font-weight:500; font-size:1.45rem; color:var(--ink); margin-bottom:8px; font-variation-settings:"opsz" 24; }
.fit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.fit-col{ background:var(--white); border:1px solid var(--line); border-radius:6px; padding:36px; }
.fit-col h3{ margin-bottom:20px; }
.fit-col ul{ margin:0; padding:0; list-style:none; }
.fit-col li{ padding:12px 0 12px 30px; border-top:1px solid var(--line); position:relative; color:var(--ink-soft); }
.fit-col li:first-child{ border-top:none; }
.fit-yes li::before{
  content:""; position:absolute; left:2px; top:1.05em; width:14px; height:8px;
  border-left:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(-45deg);
}
.fit-no li::before{
  content:""; position:absolute; left:3px; top:1.35em; width:14px; height:2px; background:var(--ink-faint);
}

/* ---------- Instructor ---------- */
.instructor-grid{ display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.instructor-photo{ border-radius:6px; overflow:hidden; }
.instructor-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; }
.instructor-name{ font-weight:600; margin-top:14px; color:var(--ink); }
.instructor-text h2{ margin-bottom:28px; font-size:clamp(1.7rem, 3vw, 2.35rem); }
.instructor-text p{ color:var(--ink-soft); font-size:1.18rem; }
.instructor-text .wide-photo{ border-radius:6px; overflow:hidden; margin-top:32px; }
.instructor-text .wide-photo img{ width:100%; aspect-ratio:12/5; object-fit:cover; object-position:20% 40%; }

/* ---------- Privacy ---------- */
.privacy-block p{ font-size:1.2rem; color:var(--ink-soft); }
.privacy-block h2{ margin-bottom:24px; }

/* ---------- FAQ ---------- */
.faq{ border-top:1.5px solid var(--ink); }
.faq-item{ display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr); gap:40px; padding:26px 0; border-bottom:1px solid var(--line); }
.faq-item h3{ font-size:1.3rem; }
.faq-item p{ color:var(--ink-soft); }
.faq-more{ margin-top:32px; font-weight:600; font-size:1.1rem; }

/* ---------- Final CTA ---------- */
.final{ text-align:left; }
.final h2{ max-width:20ch; margin-bottom:24px; }
.final p{ font-size:1.2rem; color:var(--ink-soft); max-width:56ch; }
.final .btn{ margin-top:16px; }

/* ---------- Page heads (inner pages) ---------- */
.page-head{ padding:72px 0 48px; }
.page-head h1{ font-size:clamp(2.2rem, 4.6vw, 3.4rem); margin-bottom:20px; }
.page-head p{ font-size:1.25rem; color:var(--ink-soft); max-width:56ch; }

/* ---------- Apply ---------- */
.apply-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:64px; align-items:start; padding-bottom:96px; }
.apply-info section{ padding:0 0 40px; margin-bottom:40px; border-bottom:1px solid var(--line); }
.apply-info section:last-child{ border-bottom:none; margin-bottom:0; }
.apply-info h2{ font-size:1.7rem; margin-bottom:18px; }
.apply-info p{ color:var(--ink-soft); }
.apply-info ul{ margin:0; padding:0; list-style:none; }
.apply-info ul li{ position:relative; padding:6px 0 6px 30px; color:var(--ink-soft); }
.apply-info ul li::before{
  content:""; position:absolute; left:2px; top:0.95em; width:14px; height:8px;
  border-left:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(-45deg);
}
.steps{ margin:0; padding:0; list-style:none; counter-reset:step; }
.steps li{ counter-increment:step; position:relative; padding:4px 0 18px 48px; color:var(--ink-soft); }
.steps li:last-child{ padding-bottom:0; }
.steps li::before{
  content:counter(step); position:absolute; left:0; top:2px;
  width:30px; height:30px; border-radius:50%;
  border:1.5px solid var(--accent); color:var(--accent);
  font-weight:600; font-size:0.95rem;
  display:flex; align-items:center; justify-content:center;
}
.price-cards{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.price-card{ background:var(--white); border:1px solid var(--line); border-radius:6px; padding:22px 22px 24px; }
.price-card .label{ font-weight:600; color:var(--ink); margin-bottom:4px; }
.price-card .amount{ font-family:var(--serif); font-size:2rem; line-height:1.1; color:var(--ink); font-variation-settings:"opsz" 48; }
.price-card .amount span{ display:block; font-family:var(--sans); font-size:0.95rem; color:var(--ink-faint); margin-top:4px; }
.price-card p{ font-size:1rem; margin-top:10px; }

.form-card{
  background:var(--white); border:1px solid var(--line); border-radius:6px;
  padding:40px; position:sticky; top:96px;
}
.form-card h2{ font-size:1.9rem; margin-bottom:12px; }
.form-intro{ color:var(--ink-soft); margin-bottom:28px; }
.field{ margin:0 0 24px; border:none; padding:0; min-width:0; }
.field label, .field legend{ display:block; font-weight:600; margin-bottom:8px; font-size:1.05rem; padding:0; }
.field .hint{ display:block; font-weight:400; color:var(--ink-faint); font-size:0.98rem; margin-top:4px; }
.field input[type=text], .field input[type=email], .field input[type=tel], .field textarea{
  width:100%; font:inherit; font-size:1.05rem; color:var(--ink);
  background:var(--paper); border:1.5px solid var(--line); border-radius:4px;
  padding:12px 14px;
}
.field textarea{ min-height:120px; resize:vertical; line-height:1.5; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--accent); background:var(--white); }
.field .choice{ display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border:1.5px solid var(--line); border-radius:4px; margin-bottom:10px; cursor:pointer; font-weight:400; background:var(--paper); }
.field .choice:hover{ border-color:var(--accent); }
.field .choice input{ margin-top:5px; accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; }
.field .choice:has(input:checked){ border-color:var(--accent); background:var(--accent-soft); }
.agree{ display:flex; gap:12px; align-items:flex-start; font-size:1.02rem; color:var(--ink-soft); margin:8px 0 24px; cursor:pointer; }
.agree input{ margin-top:5px; width:18px; height:18px; accent-color:var(--accent); flex-shrink:0; }
.form-note{ font-size:0.98rem; color:var(--ink-faint); margin-top:16px; }
.form-card .btn{ width:100%; }
.hidden-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ---------- Simple pages (thank-you, welcome) ---------- */
.simple{ padding:88px 0 112px; }
.simple h1{ font-size:clamp(2.2rem, 4.6vw, 3.3rem); margin-bottom:28px; max-width:18ch; }
.simple p{ font-size:1.2rem; color:var(--ink-soft); max-width:58ch; }
.simple .steps{ margin:8px 0 28px; max-width:60ch; }
.simple .steps li{ font-size:1.15rem; }
.simple .sub-title{ font-weight:600; color:var(--ink); margin-top:32px; margin-bottom:16px; }
.simple .actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.sign-off{ display:flex; align-items:center; gap:18px; margin-top:40px; }
.sign-off img{ width:72px; height:72px; border-radius:50%; object-fit:cover; object-position:50% 18%; }
.sign-off p{ font-family:var(--serif); font-size:1.3rem; color:var(--ink); margin:0; line-height:1.35; }
.sign-off p span{ display:block; font-style:italic; color:var(--accent); }

/* ---------- Questions ---------- */
.q-wrap{ padding-bottom:96px; }
.q-group{ margin-top:56px; }
.q-group:first-child{ margin-top:8px; }
.q-group h2{ font-size:1.7rem; margin-bottom:14px; }
.q-item{ border-top:1px solid var(--line); }
.q-group .q-item:last-child{ border-bottom:1px solid var(--line); }
.q-item summary{
  list-style:none; cursor:pointer;
  display:grid; grid-template-columns:44px minmax(0,1fr) 28px; gap:12px; align-items:baseline;
  padding:20px 0; font-size:1.15rem; font-weight:600; color:var(--ink);
}
.q-item summary::-webkit-details-marker{ display:none; }
.q-item summary:hover .q-text{ color:var(--accent); }
.q-num{ font-family:var(--serif); font-weight:400; color:var(--ink-faint); font-size:1.1rem; font-variant-numeric:tabular-nums; }
.q-icon{ position:relative; width:18px; height:18px; justify-self:end; align-self:center; }
.q-icon::before, .q-icon::after{ content:""; position:absolute; left:0; top:8px; width:18px; height:2px; background:var(--accent); transition:transform .2s ease; }
.q-icon::after{ transform:rotate(90deg); }
.q-item[open] .q-icon::after{ transform:rotate(0deg); }
.q-body{ padding:0 0 28px 56px; }
.video-slot{
  position:relative; aspect-ratio:16/9; max-width:640px;
  background:var(--ink); border-radius:6px; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  color:#C9D1DC; cursor:pointer; border:none; width:100%; font:inherit;
}
.video-slot .play{
  width:64px; height:64px; border-radius:50%; background:var(--white); color:var(--ink);
  display:flex; align-items:center; justify-content:center; transition:transform .15s ease;
}
.video-slot:hover .play{ transform:scale(1.06); }
.video-slot .slot-note{ font-size:1rem; }
.video-slot.is-pending{ cursor:default; }
.video-slot.is-pending .play{ background:#2A3A55; color:#7F8DA3; }
.video-frame{ position:relative; aspect-ratio:16/9; max-width:640px; border-radius:6px; overflow:hidden; background:#000; }
.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.q-close{ margin-top:72px; padding:48px; background:var(--mist); border-radius:6px; }
.q-close h2{ margin-bottom:14px; }
.q-close p{ color:var(--ink-soft); font-size:1.2rem; max-width:56ch; }
.q-close .btn{ margin-top:12px; }

/* ---------- Legal ---------- */
.legal{ padding:72px 0 104px; }
.legal-kicker{ color:var(--accent); font-weight:600; font-size:1rem; margin-bottom:14px; }
.legal h1{ font-size:clamp(2.2rem, 4.6vw, 3.2rem); margin-bottom:24px; }
.legal-meta{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 20px; margin:0 0 48px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:1rem; }
.legal-meta dt{ font-weight:600; }
.legal-meta dd{ margin:0; color:var(--ink-soft); }
.legal-body h2{ font-size:1.5rem; margin:44px 0 14px; }
.legal-body h2:first-child{ margin-top:0; }
.legal-body p, .legal-body li{ color:var(--ink-soft); font-size:1.08rem; line-height:1.7; }
.legal-body ul{ padding-left:22px; margin:0 0 1em; }
.legal-body li{ margin-bottom:8px; }
.legal-body li strong, .legal-body p strong{ color:var(--ink); }
.legal-body .closing{ font-style:italic; margin-top:44px; padding-top:28px; border-top:1px solid var(--line); }

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid, .story-grid, .money-grid, .weeks-intro, .one-grid, .instructor-grid, .apply-grid{ grid-template-columns:1fr; gap:40px; }
  .hero-photo{ aspect-ratio:3/2; max-width:640px; }
  .story-photo{ position:static; max-width:640px; }
  .instructor-photo{ max-width:420px; }
  .form-card{ position:static; }
  .faq-item{ grid-template-columns:1fr; gap:8px; }
}
@media (max-width:720px){
  :root{ --gutter:16px; }
  body{ font-size:1.0625rem; }
  .section{ padding:64px 0; }
  .section-tight{ padding:56px 0; }
  .hero{ padding:40px 0 56px; }
  .site-header .wrap{ min-height:62px; }
  .brand{ font-size:1rem; max-width:20ch; }
  .header-cta{ padding:9px 16px; font-size:0.92rem; }
  .header-nav{ gap:16px; }
  .nav-link{ font-size:0.92rem; padding:9px 16px; }
  .familiar-list, .check-list, .not-grid, .fit-grid, .notes-row, .price-cards{ grid-template-columns:1fr; }
  .notes-row{ gap:20px; }
  .timeline li{ grid-template-columns:1fr; gap:10px; }
  .fit-col{ padding:26px 22px; }
  .form-card{ padding:26px 18px; }
  .q-body{ padding-left:0; }
  .q-item summary{ grid-template-columns:34px minmax(0,1fr) 22px; font-size:1.08rem; }
  .q-close{ padding:32px 22px; }
  .legal-meta{ grid-template-columns:1fr; gap:2px; }
  .legal-meta dd{ margin-bottom:10px; }
  .btn{ width:100%; }
  .header-cta{ width:auto; }
}

/* ---------- Form status ---------- */
.form-status{ margin:14px 0 0; font-size:1rem; color:var(--accent); font-weight:600; }
.form-status.is-error{ color:#9B2C2C; }
.btn:disabled{ opacity:.7; cursor:wait; }
