  :root {
    --page:#faf8f5; --surface:#faf8f5; --panel:#ffffff; --bed:#f2eee7; --bed-2:#e9e3d9;
    --ink:#111111; --ink-2:#333333; --ink-3:#666666; --rule:#d0d0c8;
    --navy:#344774; --navy-deep:#26355a; --navy-wash:#e0e5f0; --brass:#c17f3a; --brass-btn:#9a5f22;
    --on-mass:#faf8f5; --on-mass-2:rgba(250,248,245,0.68);
    --lift-1:0 1px 2px rgba(17,17,17,.035), 0 10px 26px rgba(17,17,17,.04);
    --lift-2:0 1px 2px rgba(17,17,17,.045), 0 20px 44px rgba(17,17,17,.065);
    --r:22px; --r-sm:13px;
    --serif:'Playfair Display', Georgia, serif;
    --body:'Source Serif 4', Georgia, serif;
    --sans:'DM Sans', system-ui, sans-serif;
  }
  /* single committed light identity: the page is beige in every theme */
  :root[data-theme="dark"] {
    --page:#faf8f5; --surface:#faf8f5; --panel:#ffffff; --bed:#f2eee7; --bed-2:#e9e3d9;
    --ink:#111111; --ink-2:#333333; --ink-3:#666666; --rule:#d0d0c8;
    --navy:#344774; --navy-deep:#26355a; --navy-wash:#e0e5f0; --brass:#c17f3a; --brass-btn:#9a5f22;
  }
  :root[data-theme="light"] {
    --page:#faf8f5; --surface:#faf8f5; --panel:#ffffff; --bed:#f2eee7; --bed-2:#e9e3d9;
    --ink:#111111; --ink-2:#333333; --ink-3:#666666; --rule:#d0d0c8;
    --navy:#344774; --navy-deep:#26355a; --navy-wash:#e0e5f0; --brass:#c17f3a; --brass-btn:#9a5f22; }

  :root { color-scheme: light; }
  * { box-sizing:border-box; }
  body { background:var(--page); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.6; }
  h1,h2,h3 { font-family:var(--serif); font-weight:700; letter-spacing:-.02em; text-wrap:balance; margin:0; }
  p { margin:0; } a { color:inherit; }
  .num { font-variant-numeric:tabular-nums; }

  .deck { max-width:1180px; margin:0 auto; padding:26px 20px 80px; }
  .kicker { font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
  .dtitle { font-family:var(--serif); font-size:27px; margin-bottom:6px; }
  .dnote { font-family:var(--sans); font-size:13px; color:var(--ink-3); max-width:64ch; line-height:1.55; margin-bottom:22px; }
  .frame { background:var(--surface); border-radius:var(--r); box-shadow:var(--lift-2); overflow:hidden; }

  .dateline { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; background:linear-gradient(155deg,var(--navy),var(--navy-deep) 80%); color:var(--on-mass);
    font-family:var(--sans); font-size:11.5px; font-weight:500; letter-spacing:.09em; text-transform:uppercase; padding:8px 34px; }
  .masthead { background:var(--surface); padding:24px 34px 18px; text-align:center; box-shadow: inset 0 -3px 0 var(--ink); }
  .masthead .wordmark { font-family:var(--serif); font-size:clamp(34px,5vw,54px); font-weight:800; letter-spacing:-.022em; line-height:1; display:block; }
  .masthead .standing { font-family:var(--sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); margin-top:9px; }
  .navstrip { display:flex; gap:4px; justify-content:center; flex-wrap:wrap; padding:10px 34px; background:var(--surface); box-shadow: inset 0 -1px 0 var(--rule); }
  .navstrip a { font-family:var(--sans); font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; color:var(--ink-2); padding:6px 13px; border-radius:999px; }
  .navstrip a[aria-current="page"] { background:var(--navy-wash); color:var(--navy); }

  .btn { font-family:var(--sans); font-size:14px; font-weight:600; border:0; border-radius:999px; padding:11px 20px; cursor:pointer; text-decoration:none; display:inline-block; }
  /* White on --brass (#c17f3a) is 3.30:1 — below the 4.5:1 solid button text
     needs. Navy on brass is worse (2.77:1), so the fill darkens instead:
     white on #9a5f22 is 5.21:1. --brass itself is unchanged; it is used for
     accent text, rules and dots where the ratio is already fine. */
  .btn-brass { background:var(--brass-btn); color:#fff; }
  .btn-quiet { background:rgba(250,248,245,.15); color:var(--on-mass); }
  .btn-outline { background:var(--panel); color:var(--navy); box-shadow: inset 0 0 0 1.5px var(--navy); }
  .btn:focus-visible { outline:2px solid var(--brass); outline-offset:2px; }

  /* &#9472;&#9472; SIGNATURE: a physical stack of briefs you flick through &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472; */
  .hero { padding:24px 22px 22px; }
  .mass { background:var(--bed); color:var(--ink);
    border-radius:var(--r); padding:40px 40px 34px; }
  .mass h1 { font-size:clamp(28px,3.8vw,46px); line-height:1.06; letter-spacing:-.026em; color:var(--ink);
    text-align:center; max-width:20ch; margin:0 auto; }
  .mass h1::after { content:""; display:block; width:64px; height:2px; margin:20px auto 0; background:var(--brass); }

  .stage { margin-top:30px; perspective: 1400px; height: 430px; position:relative; touch-action: pan-y; cursor: grab; }
  .stage:active { cursor: grabbing; }
  .card {
    position:absolute; left:50%; top:0; width:min(560px, 88%); transform:translateX(-50%);
    background:var(--panel); color:var(--ink); border-radius:var(--r-sm); padding:24px 26px;
    box-shadow:0 14px 34px rgba(17,17,17,.14); transform-origin: 50% 120%;
    transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .45s ease;
    will-change: transform;
  }
  .card .cat { font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); }
  .card h3 { font-size:22px; line-height:1.2; margin-top:10px; }
  .card .stats { display:flex; flex-wrap:wrap; gap:0; margin-top:16px; background:var(--bed-2); border-radius:10px; overflow:hidden; }
  .card .stats div { padding:10px 14px; flex:1 1 110px; }
  .card .stats div + div { box-shadow: inset 1px 0 0 var(--rule); }
  .card .stats .k { font-family:var(--sans); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
  .card .stats .v { font-family:var(--sans); font-size:14px; font-weight:600; margin-top:3px; font-variant-numeric:tabular-nums; }
  .card p { color:var(--ink-2); font-size:15px; line-height:1.65; margin-top:14px; }
  .card .cite { font-family:var(--sans); font-size:11.5px; color:var(--ink-3); margin-top:14px; padding-left:12px; box-shadow: inset 3px 0 0 var(--navy); line-height:1.5; }

  .stack-ui { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:8px; position:relative; z-index:60; }
  .stack-ui button { font-family:var(--sans); font-size:13px; font-weight:700; border:0; background:var(--panel); color:var(--navy);
    border-radius:999px; padding:9px 16px; cursor:pointer; box-shadow: inset 0 0 0 1.5px var(--navy); }
  .stack-ui button:hover { background:var(--navy-wash); }
  .dots { display:flex; gap:6px; }
  .dots i { width:6px; height:6px; border-radius:999px; background:rgba(17,17,17,.22); display:block; transition: all .3s ease; }
  .dots i.on { background:var(--brass); width:20px; }
  .hint { font-family:var(--sans); font-size:12px; color:var(--ink-3); text-align:center; margin-top:10px; }

  .mass-cta { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }

  .band { padding:32px 34px 38px; }
  .band + .band { box-shadow: inset 0 1px 0 var(--rule); }
  .band-head { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:16px; flex-wrap:wrap; }
  .band-head h2 { font-size:25px; }
  .meta { font-family:var(--sans); font-size:13px; color:var(--ink-3); }

  .plans { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:18px; }
  .plan { background:var(--bed); border-radius:var(--r); padding:26px; display:flex; flex-direction:column; }
  .plan-hero { background:linear-gradient(155deg,var(--navy),var(--navy-deep) 80%); color:var(--on-mass); padding:34px 34px 26px; }
  .plan h3 { font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
  .plan-hero h3 { color:var(--on-mass-2); }
  .plan .price { font-family:var(--body); font-size:62px; line-height:1; margin-top:10px; font-variant-numeric:lining-nums tabular-nums; }
  .plan .price small { font-family:inherit; font-size:15px; font-weight:500; }
  .plan ul { list-style:none; margin:20px 0 26px; padding:0; display:grid; gap:10px; font-size:15px; }
  .plan-hero ul { color:var(--on-mass-2); }
  .plan li { padding-left:16px; box-shadow: inset 2px 0 0 var(--rule); line-height:1.45; }
  .plan-hero li { box-shadow: inset 2px 0 0 rgba(250,248,245,.4); }
  .plan > .btn { margin-top:auto; align-self:flex-start; }

  /* &#8212; the full sample brief &#8212; */
  .brief { background:var(--bed); border-radius:var(--r); padding:34px; display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:30px; }
  .brief-cat { font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--brass); }
  .brief h3 { font-size:27px; line-height:1.16; margin:12px 0 16px; }
  .brief-sec { font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); margin:22px 0 7px; }
  .brief p { color:var(--ink-2); line-height:1.72; }
  .brief-cite { font-family:var(--sans); font-size:12.5px; color:var(--ink-3); line-height:1.6; padding-left:14px; box-shadow: inset 3px 0 0 var(--brass); margin-top:24px; }
  .facts { background:var(--panel); border-radius:var(--r-sm); padding:20px; align-self:start; box-shadow:var(--lift-1); }
  .fact { padding:11px 0; }
  .fact + .fact { box-shadow: inset 0 1px 0 var(--rule); }
  .fact .k { font-family:var(--sans); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); }
  .fact .v { font-size:17px; margin-top:3px; }
  @media (max-width:900px) { .brief { grid-template-columns:minmax(0,1fr); padding:24px 20px; } }

  /* &#8212; navy descriptor under the nav &#8212; */
  .descriptor { padding:22px 22px 0; }
  .descriptor-inner { background:linear-gradient(155deg,var(--navy),var(--navy-deep) 80%); color:rgba(250,248,245,.82); border-radius:var(--r); padding:30px 34px; }
  .descriptor h2 { font-size:clamp(21px,2.4vw,28px); line-height:1.2; color:#faf8f5; max-width:34ch; }
  .descriptor-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
  .descriptor-cta { flex:0 0 auto; }
  .descriptor p { margin-top:12px; font-size:16.5px; line-height:1.68; max-width:70ch; }
  .descriptor .means { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; margin-top:24px;
    background:rgba(0,0,0,.18); border-radius:var(--r-sm); overflow:hidden; }
  .descriptor .means div { padding:16px 18px; }
  .descriptor .means .k { font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:rgba(250,248,245,.62); }
  .descriptor .means .v { font-size:15.5px; color:#faf8f5; margin-top:6px; line-height:1.45; }
  .descriptor .means .ast { font-family:var(--sans); font-size:.62em; font-weight:500; line-height:0;
    vertical-align:super; margin-left:3px; color:rgba(250,248,245,.62); }
  .descriptor h2 .ast {
    font-family:var(--sans); font-size:.42em; font-weight:500; line-height:0;
    vertical-align:super; letter-spacing:0; margin-left:6px; color:rgba(250,248,245,.72);
  }
  .descriptor p.descriptor-note { font-family:var(--sans); font-size:10.5px; line-height:1.5; font-weight:400; color:rgba(250,248,245,.55); margin-top:16px; letter-spacing:.01em; max-width:none; }
  @media (max-width:900px) { .descriptor { padding:18px 20px 0; } .descriptor-inner { padding:24px 20px; } .descriptor .means { grid-template-columns:minmax(0,1fr); } }

  footer.site { background:linear-gradient(155deg,var(--navy),var(--navy-deep) 80%); padding:34px; font-family:var(--sans); font-size:13px; color:rgba(250,248,245,.7); line-height:1.65; }
  footer.site .cols { display:flex; flex-wrap:wrap; gap:40px; margin-bottom:20px; }
  footer.site a { color:rgba(250,248,245,.9); text-decoration:none; display:block; padding:3px 0; }
  footer.site a:hover { color:#faf8f5; text-decoration:underline; }
  footer.site .disclaimer { display:grid; gap:12px; margin-top:18px; max-width:92ch;
    color:rgba(250,248,245,.82); }
  footer.site .disclaimer strong { color:#faf8f5; }
  footer.site .disclaimer a { display:inline; color:#faf8f5; text-decoration:underline; padding:0; }
  footer.site .fbottom { display:flex; gap:20px; margin-top:20px; padding-top:16px; box-shadow: inset 0 1px 0 rgba(250,248,245,.22); }
  footer.site .fbottom a { display:inline; padding:0; }

  @media (prefers-reduced-motion: reduce) { .card { transition:none; } }
  @media (max-width:900px) {
    .plans { grid-template-columns:minmax(0,1fr); }
    .stage { height:520px; }
    .band, .masthead, .navstrip, .dateline { padding-left:20px; padding-right:20px; }
    .mass { padding:28px 20px; }
    /* The hero CTA cannot shrink (flex:0 0 auto), so at phone widths its
       natural width exceeded the navy box and it was clipped. Let it wrap to
       its own full-width line instead. */
    .descriptor-head { gap:18px; }
    .descriptor-cta { flex:1 1 100%; width:100%; text-align:center; }
  }

  /* Phone. The paper-stack card was laid out for a wide screen: a 22px
     headline wrapping to six lines and a stats row (flex-basis 110px) that
     collapses to ONE stat per line, which together made the card roughly
     twice the height of its own stage. */
  @media (max-width:560px) {
    /* Four nested containers each contributed their desktop side padding, so a
       375px phone was left with a 235px content column and a 200px card. Pull
       the outer paddings in; the innermost box keeps enough to breathe. */
    .deck { padding-left:12px; padding-right:12px; }
    .hero { padding:14px 12px 12px; }
    .mass { padding:24px 14px; }
    .descriptor { padding:14px 12px 0; }
    .descriptor-inner { padding:22px 16px; }
    .band, .masthead, .navstrip, .dateline { padding-left:16px; padding-right:16px; }

    .card { width:96%; padding:20px 18px; }
    .card h3 { font-size:19px; line-height:1.22; }
    /* min-width:0 lets a long value like "Systematic review" wrap instead of
       forcing its stat to full width, which is what collapsed the stats block
       into one tall column per stat. */
    .card .stats div { flex:1 1 calc(50% - 1px); min-width:0; padding:9px 12px; }
    .card p { font-size:14.5px; line-height:1.6; margin-top:12px; }
    .card .cite { font-size:11px; margin-top:12px; }
    .mass h1 { font-size:clamp(24px,7vw,32px); }
  }
/* page content */
  .page-head { padding:34px 34px 6px; }
  .page-head h1 { font-size:clamp(28px,3.4vw,40px); line-height:1.1; }
  .page-head p { margin-top:12px; font-size:17px; color:var(--ink-2); max-width:70ch; }
  .prose { max-width:74ch; }
  .prose h3 { font-size:21px; margin-top:28px; }
  .prose p { margin-top:12px; color:var(--ink-2); line-height:1.72; }
  .prose ul { margin:12px 0 0 0; padding-left:0; list-style:none; display:grid; gap:9px; }
  .prose li { padding-left:16px; box-shadow: inset 2px 0 0 var(--rule); line-height:1.5; color:var(--ink-2); }
  .prose a { color:var(--navy); }
  .fineprint { max-width:88ch; }
  .fineprint h3 { font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.11em;
    text-transform:uppercase; color:var(--ink-3); margin-top:22px; }
  .fineprint p { margin-top:6px; color:var(--ink-2); font-size:12.5px; line-height:1.65; }
  .fineprint a { color:var(--navy); }
  .fineprint .lede { font-size:13px; color:var(--ink-3); }
  .fineprint ul { margin:8px 0 0 0; padding-left:0; list-style:none; display:grid; gap:6px; }
  .fineprint li { padding-left:14px; box-shadow: inset 2px 0 0 var(--rule); color:var(--ink-2); font-size:12.5px; line-height:1.6; }
  .fineprint strong { color:var(--ink); }
  .fineprint .divider { margin-top:34px; padding-top:20px; box-shadow: inset 0 1px 0 var(--rule); }

  .cat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .cat-grid > .cat { background:var(--bed); border-radius:var(--r); padding:24px 26px; }
  .cat-grid > .cat h3 { font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-3); }
  .cat-grid > .cat .count { font-family:var(--sans); font-size:12.5px; color:var(--ink-3); margin-top:4px; }
  .chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
  .chip { font-family:var(--sans); font-size:14px; background:var(--panel); color:var(--ink); border-radius:999px;
    padding:8px 14px; box-shadow:var(--lift-1); }

  .steps { display:grid; gap:2px; background:var(--rule); border-radius:var(--r); overflow:hidden; }
  .step { background:var(--bed); padding:22px 26px; display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:start; }
  .step .n { font-family:var(--serif); font-size:30px; font-weight:800; color:var(--navy); line-height:1; font-variant-numeric:tabular-nums; }
  .step h3 { font-size:19px; }
  .step p { margin-top:6px; color:var(--ink-2); }

  .form { background:var(--bed); border-radius:var(--r); padding:28px; max-width:640px; }
  .form label { display:block; font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.11em;
    text-transform:uppercase; color:var(--ink-3); margin-top:18px; }
  .form .field { background:var(--panel); border-radius:12px; padding:13px 16px; box-shadow:var(--lift-1); margin-top:7px;
    font-family:var(--sans); font-size:15px; color:var(--ink-3); }
  .form .row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .form .note { font-family:var(--sans); font-size:12.5px; color:var(--ink-3); margin-top:14px; line-height:1.5; }
  .form select.field, .form textarea.field, .form input.field {
    width:100%; border:0; outline:none; color:var(--ink); font-family:var(--sans); font-size:15px;
    appearance:none; -webkit-appearance:none;
  }
  .form select.field {
    background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
    background-position: calc(100% - 20px) 20px, calc(100% - 14px) 20px;
    background-size: 6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:40px; cursor:pointer;
  }
  .form textarea.field { min-height:130px; resize:vertical; line-height:1.6; }
  .form select.field:focus-visible, .form textarea.field:focus-visible, .form input.field:focus-visible {
    box-shadow: var(--lift-1), 0 0 0 2px var(--navy);
  }
  .tier-pick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:8px; }
  .tier-opt { background:var(--panel); border-radius:14px; padding:16px 18px; box-shadow:var(--lift-1); }
  .tier-opt[data-on="true"] { box-shadow:var(--lift-1), inset 0 0 0 2px var(--navy); }
  .tier-opt .t { font-family:var(--sans); font-weight:700; font-size:14px; }
  .tier-opt .s { font-family:var(--sans); font-size:12.5px; color:var(--ink-3); margin-top:4px; }
  .tier-opt { cursor:pointer; }
  .tier-opt[data-on="true"] { box-shadow:var(--lift-1), inset 0 0 0 2px var(--navy); }
  .step-lock { opacity:.42; pointer-events:none; }
  .pick-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; }
  .pick-count { font-family:var(--sans); font-size:12px; color:var(--ink-3); font-variant-numeric:tabular-nums; }
  .pick-group { margin-top:14px; }
  .pick-group .g { font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
  .pick-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
  .pick { font-family:var(--sans); font-size:13.5px; border:0; border-radius:999px; padding:8px 14px; cursor:pointer;
    background:var(--panel); color:var(--ink-2); box-shadow:var(--lift-1); }
  .pick[data-on="true"] { background:var(--navy); color:#faf8f5; }
  .pick[data-full="true"] { opacity:.4; cursor:not-allowed; }
  .pick:focus-visible { outline:2px solid var(--brass); outline-offset:2px; }
  .firstsend { background:var(--panel); border-radius:12px; padding:14px 16px; box-shadow:var(--lift-1); margin-top:7px; }
  .firstsend .d { font-family:var(--serif); font-size:19px; }
  .firstsend .r { font-family:var(--sans); font-size:12.5px; color:var(--ink-3); margin-top:3px; }
  label.agree { display:flex; gap:10px; align-items:flex-start; margin-top:22px; cursor:pointer; text-transform:none; letter-spacing:0; font-weight:400;
    font-family:var(--sans); font-size:12.5px; line-height:1.55; color:var(--ink-2); }
  .agree input { margin:2px 0 0 0; width:15px; height:15px; accent-color:var(--navy); flex:0 0 auto; }
  .agree a { color:var(--navy); }
  .whynot { font-family:var(--sans); font-size:12px; color:var(--ink-3); margin-left:12px; }
  .cta-band { display:flex; justify-content:center; padding-top:8px; padding-bottom:34px; }
  .page-head h1 .amp { font-family:var(--body); font-weight:600; font-style:normal; }
  .btn[aria-disabled="true"] { opacity:.45; pointer-events:none; }

  .receipt { background:var(--bed); border-radius:var(--r); padding:26px; max-width:520px; }
  .receipt .line { display:flex; justify-content:space-between; gap:14px; padding:11px 0; font-size:15px; font-variant-numeric:tabular-nums; }
  .receipt .line + .line { box-shadow: inset 0 1px 0 var(--rule); }

  .contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .contact-card { background:var(--bed); border-radius:var(--r); padding:24px 26px; }
  .contact-card .k { font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-3); }
  .contact-card .v { font-size:18px; margin-top:8px; }
  .contact-card p { font-family:var(--sans); font-size:13px; color:var(--ink-3); margin-top:8px; line-height:1.55; }

  /* ── site-only additions ──────────────────────────────────────────── */
  .deck { max-width:1180px; margin:0 auto; padding:26px 20px 80px; }
  .btn-navy { background:var(--navy); color:#faf8f5; }
  .skip { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .skip:focus { position:static; display:inline-block; width:auto; height:auto; margin:8px; overflow:visible; clip-path:none; white-space:normal; }
  .formmsg { font-family:var(--sans); font-size:13.5px; line-height:1.55; color:var(--ink-2);
    margin-top:14px; padding-left:12px; box-shadow: inset 3px 0 0 var(--navy); }
  .formmsg[data-error="true"] { box-shadow: inset 3px 0 0 #a2402c; color:#8c3524; }
  .formmsg:empty { display:none; }
  .fielderr { font-family:var(--sans); font-size:12px; color:#8c3524; margin-top:6px; }
  .fielderr:empty { display:none; }
  .cf-turnstile { margin-top:18px; }
  .form button.btn { border:0; }

  .prefs-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; }
  .tier-badge-site { font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; padding:5px 11px; border-radius:999px; background:var(--navy-wash); color:var(--navy); }
  .tier-badge-site[data-full="true"] { background:var(--brass); color:#fff; }
  .category-group { margin-top:26px; }
  .category-group h2 { font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; color:var(--ink-3); }
  .topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
  .topic-item { background:var(--panel); border-radius:var(--r-sm); padding:13px 15px; cursor:pointer;
    box-shadow:var(--lift-1); }
  .topic-toggle { display:block; width:100%; text-align:left; border:0; margin:0; padding:0; cursor:pointer;
    font:inherit; color:inherit; background:transparent; -webkit-appearance:none; appearance:none; }
  .topic-toggle:focus-visible { outline:2px solid var(--brass); outline-offset:5px; }
  .topic-toggle:disabled { cursor:not-allowed; }
  .topic-item h4 { font-family:var(--sans); font-size:14px; font-weight:600; margin:0; color:var(--ink); }
  .topic-item.selected { box-shadow:var(--lift-1), inset 3px 0 0 var(--navy); }
  .topic-item.disabled { opacity:.4; cursor:not-allowed; }
  .topic-item .day-label { font-family:var(--sans); font-size:11.5px; color:var(--ink-3); display:block; margin-top:3px; }
  .topic-item .day-label:empty { display:none; }
  .day-selector { margin-top:9px; }
  .day-selector:empty { display:none; }
  .day-selector select { width:100%; font-family:var(--sans); font-size:13px; color:var(--ink);
    background:var(--bed); border:0; border-radius:9px; padding:8px 10px; cursor:pointer; }
  .prefs-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:26px; }
  .prefs-actions button.btn { border:0; }
  .prefs-actions button.btn:disabled { opacity:.45; cursor:not-allowed; }
  @media (max-width:900px) { .topic-grid { grid-template-columns:minmax(0,1fr); } }

  [hidden] { display:none !important; }
  .auth-head h1:focus { outline:none; }
  .auth-form .btn { margin-top:18px; }
  .auth-footer { margin-top:0; }
  .eyebrow { display:block; font-family:var(--sans); font-size:10.5px; font-weight:700;
    letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
  .account-email { margin-top:4px; font-family:var(--sans); font-size:15px; color:var(--ink); overflow-wrap:anywhere; }
  .account-summary { padding-top:22px; padding-bottom:22px; }
  .account-section-head { display:flex; justify-content:space-between; align-items:center; gap:22px; }
  .account-section-head > div { min-width:0; }
  .account-section-head p, #account-panel > .band > p, #instructions {
    margin-top:7px; max-width:72ch; color:var(--ink-2); line-height:1.62;
  }
  .account-confirm { margin-top:22px; padding:20px; background:var(--bed); border-radius:var(--r); }
  .account-confirm h3 { font-size:19px; }
  .account-confirm p { margin-top:7px; color:var(--ink-2); }
  .account-confirm > .btn { margin-top:16px; border:0; }
  .account-retry { margin-top:16px; border:0; }
  @media (max-width:560px) {
    .account-section-head { align-items:flex-start; flex-direction:column; }
    .account-section-head .btn { width:100%; text-align:center; }
    .auth-form .btn { width:100%; }
  }


/* Extracted static styles: compatible with style-src without unsafe-inline. */
.wordmark-link{text-decoration:none;color:inherit}
.contact-action{margin-top:22px}
.policy-title{font-size:clamp(22px,2.4vw,28px)}
.policy-effective.lede{font-size:13px;color:var(--ink-3)}
.divider .policy-section-title{font-size:15px;letter-spacing:0;text-transform:none;font-family:var(--serif);color:var(--ink)}
.form.signup-form{max-width:720px}
.spaced-action{margin-top:18px}
.topic-label{margin:0}
