/* /new inner-page stock — tokens and chrome from index.html / brand.html.
   Inner pages add .masthead-inner. The nameplate matches the cover
   (clamp(50px, 12.6vw, 133px), 133px from 1100px). Clock figure is not here. */
:root,
:root[data-theme="dark"]{
  color-scheme:dark;
  --surround:#060910;
  --page:#0b0f19;
  --nav-surface:#101624;
  --panel:#0f172a;
  --ink:#e5e7eb;
  --ink-mute:#a3a7af;
  --ink-soft:#6b7280;
  --rule:#1f2937;
  --a1:#ff7a59; --a2:#f97316; --a3:#8b5cf6; --a4:#22d3ee;
  --accent:var(--a4);
  --cyan:var(--a4);
  --coral:var(--a1);
  --rule-strong:var(--rule);
  --brand:'Ubuntu Sans',system-ui,sans-serif;
  --display:'Ubuntu Sans',system-ui,sans-serif;
  --ui:'Ubuntu Sans',system-ui,sans-serif;
  --read:'Ubuntu Sans',system-ui,sans-serif;
}
:root[data-theme="light"]{
  color-scheme:light;
  --surround:#e7eaf2;
  --page:#f7f8fb;
  --nav-surface:#e9ecf4;
  --panel:#ffffff;
  --ink:#12151c;
  --ink-mute:#3e4654;
  --ink-soft:#5c6574;
  --rule:#d8dce6;
  --rule-strong:#c3c8d4;
  --a1:#c2410c; --a2:#c05609; --a3:#6d28d9; --a4:#0e7490;
  --accent:var(--a4);
  --cyan:var(--a4);
  --coral:var(--a1);
}
*,*::before,*::after{box-sizing:border-box}
a,a:hover,a:visited{text-decoration:none}
html{background:var(--surround)}
html body,
html body.hq-page{
  margin:0; background:var(--surround); color:var(--ink);
  font-family:var(--read); font-optical-sizing:auto; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-variation-settings:normal}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--panel); color:var(--ink); padding:12px 18px;
  font-family:var(--ui); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
}
.skip-link:focus{left:12px; top:12px}

.magazine-shell{
  width:calc(100% - 24px); margin:12px auto;
  box-shadow:0 2px 0 rgba(0,0,0,.2), 0 40px 80px -20px rgba(0,0,0,.75);
}
.page{
  width:100%; margin:0; background:var(--page); color:var(--ink);
  padding:13px 22px 24px;
  border:1px solid var(--rule); border-top:0;
}
html body .page,
html body .magazine-shell .page{
  background-color:var(--page);
  color:var(--ink);
}
.hq-page{min-height:0}

.masthead{text-align:center; padding:11px 0 18px}
.nameplate{
  font-family:var(--display); font-weight:600; font-size:clamp(50px,12.6vw,133px);
  line-height:.95; letter-spacing:-.055em; color:var(--ink); margin:0;
}
.nameplate a{color:inherit; text-decoration:none}
.tagline{
  font-family:var(--ui); font-size:12px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase; color:var(--ink-mute);
  margin-top:12px;
}
.double-rule{
  border-top:2px solid var(--rule); border-bottom:.5px solid var(--rule);
  padding-bottom:3px; margin-top:14px;
}
.masthead-inner{padding:14px 0 10px}
.masthead-inner .nameplate{font-size:clamp(50px,12.6vw,133px)}
.masthead-inner .tagline{margin-top:8px}

.hero{
  margin-top:28px; position:relative; background:var(--panel);
  border:1px solid var(--rule);
  padding:26px 22px; display:grid; grid-template-columns:1fr;
  gap:32px; min-height:0; overflow:hidden; max-width:100%;
}
.hero > *{min-width:0}
.hero::before{
  content:''; position:absolute; right:0; top:5%;
  width:min(720px,80%); height:720px; pointer-events:none;
  background:radial-gradient(circle, rgba(139,92,246,.20) 0%, rgba(34,211,238,.10) 45%, transparent 70%);
}
.hero-text{position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between}
.hero-text > div > .dek{margin-top:22px; max-width:36ch}
.cover-line{
  font-family:var(--display); font-weight:500; font-size:clamp(32px,11vw,64px);
  line-height:1.02; letter-spacing:-.04em; color:var(--ink); margin:0;
}
.cover-line .accent{
  display:block; margin-top:10px; font-family:var(--display); font-style:italic; font-weight:400;
  color:var(--accent); background:none; -webkit-text-fill-color:currentColor;
}
.byline{
  margin-top:28px; font-family:var(--ui); font-size:11px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase; color:var(--ink-mute);
}
.hero-secondary{
  margin-top:36px; padding-top:28px;
  border-top:1px solid rgba(34,211,238,.35);
  display:grid; grid-template-columns:1fr; gap:26px;
}
.sec-kicker{
  font-family:var(--ui); font-size:10px; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--accent);
  margin-bottom:8px;
}
.sec-hed{
  font-family:var(--display); font-weight:500; font-size:22px;
  line-height:1.1; letter-spacing:-.02em; color:var(--ink); margin:0 0 6px;
}
.sec-hed em{font-style:italic}
.sec-dek{font-style:italic; font-size:17px; line-height:1.45; color:var(--ink-mute); margin:0}
.hero-secondary a{text-decoration:none; color:inherit; display:block}
.hero-secondary a:hover .sec-hed{color:var(--accent)}
.hero-secondary a.page-ref:hover{color:var(--accent)}

.lower{margin-top:36px}
.lower + .lower{margin-top:44px; padding-top:30px; border-top:1px solid var(--rule)}
.lower-grid{display:grid; grid-template-columns:1fr; gap:26px; padding-top:6px}
.lower > .kicker{margin-bottom:6px}
.lower > .hed{font-size:22px; margin-bottom:8px}
.lower > .dek{margin-bottom:10px}
.lower > .page-ref{margin-bottom:22px}
.lower > .page-ref a{color:inherit; text-decoration:none}
.lower > .page-ref a:hover{color:var(--accent)}
.kicker{
  font-family:var(--ui); font-size:10px; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft);
  margin-bottom:10px;
}
.lower-grid .lower-col:nth-child(3n+1) .kicker{color:var(--a4)}
.lower-grid .lower-col:nth-child(3n+2) .kicker{color:var(--a3)}
.lower-grid .lower-col:nth-child(3n+3) .kicker{color:var(--a1)}
.hed{
  font-family:var(--display); font-weight:500; font-size:20px;
  line-height:1.15; letter-spacing:-.02em; color:var(--ink); margin-bottom:8px;
}
.hed em{font-style:italic; font-weight:400}
.dek{font-style:italic; font-size:17px; line-height:1.5; color:var(--ink-mute); margin:0}
.page-ref{
  margin-top:14px; font-family:var(--ui); font-size:10px; font-weight:600;
  letter-spacing:.25em; text-transform:uppercase; color:var(--ink-soft);
}
a.lower-col{text-decoration:none; color:inherit; display:flex; flex-direction:column}
a.lower-col .page-ref{margin-top:auto; padding-top:16px}
a.lower-col:hover .hed{color:var(--accent)}
a.lower-col:hover .page-ref{color:var(--accent)}
.dek a,.page-ref a{color:var(--ink); text-decoration:none}
.dek a:hover,.page-ref a:hover{color:var(--accent)}

.hq-cta-band{display:grid; gap:28px; align-items:end; margin-bottom:48px}
.hq-cta-band .kicker{margin-bottom:10px}
.hq-cta-band .hed{
  font-size:clamp(32px,5vw,42px); letter-spacing:-.035em; margin-bottom:12px;
}
.hq-cta-band .dek{max-width:36ch}
.hq-joinbar{
  width:100%; max-width:none; margin:0; padding:0;
  background:transparent; border:none;
}
.hq-joinbar label{
  display:block; font-family:var(--ui); font-size:10px; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--accent);
  margin-bottom:10px;
}
.hq-joinbar-row{display:flex; align-items:center; gap:12px}
.hq-joinbar input[type="email"]{
  flex:1; min-width:0; min-height:44px; background:transparent;
  border:none; border-bottom:1px solid var(--rule); color:var(--ink);
  font:inherit; padding:8px 0;
}
.hq-joinbar input::placeholder{color:var(--ink-soft)}
.hq-joinbar input:focus{outline:none; border-bottom-color:var(--accent)}
.hq-join-arrow,
:root[data-theme="light"] .hq-join-arrow{
  flex-shrink:0; width:44px; height:44px; padding:0;
  border:none; border-radius:0; appearance:none;
  background:transparent; background-color:transparent; box-shadow:none;
  color:var(--accent); font-size:1.2rem; cursor:pointer;
}

.footer{
  margin-top:44px; padding-top:20px; border-top:1px solid var(--rule);
  display:flex; flex-direction:column; align-items:flex-start; gap:20px;
}
.footer-brandline{display:flex; align-items:center; gap:12px}
.footer-logo{display:block; width:auto; height:40px; filter:none}
:root[data-theme="light"] .nav-logo img,
:root[data-theme="light"] .footer-logo{
  filter:brightness(0);
}
.nav-logo:hover img,
.footer-brandline a:hover .footer-logo{
  filter:drop-shadow(0 0 6px rgba(34,211,238,.55)) drop-shadow(0 0 14px rgba(139,92,246,.4));
}
:root[data-theme="light"] .nav-logo:hover img,
:root[data-theme="light"] .footer-brandline a:hover .footer-logo{
  filter:brightness(0);
}
.footer-copy{
  font-family:var(--ui); font-size:10px; font-weight:600;
  letter-spacing:.16em; color:var(--ink-soft); white-space:nowrap;
}
.footer-copy a{color:inherit; text-decoration:none}
.footer-copy a:hover{color:var(--accent)}
.footer-menu{
  display:flex; flex-wrap:nowrap; align-items:center; gap:0;
  font-family:var(--ui); font-size:10px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; white-space:nowrap; flex-shrink:0;
}
.footer-menu a{color:var(--ink-soft); text-decoration:none}
.footer-menu a:hover{color:var(--accent)}
.footer-menu span{color:var(--ink-soft); padding:0 .55em}

:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
#bp-theme-toggle{width:44px; height:44px}

.archive-strip{
  background:var(--nav-surface); border:1px solid var(--rule);
  padding:8px 16px;
}
.archive-inner{display:flex; align-items:center; justify-content:center}
.archive-links{display:flex; justify-content:center; align-items:center; gap:2px 6px; flex-wrap:wrap}
.archive-links a{
  font-family:var(--ui); font-size:.76rem; font-weight:700; line-height:1;
  color:var(--ink-mute); text-decoration:none; text-transform:uppercase; letter-spacing:.06em;
  padding:7px 10px; border-radius:999px; border:1px solid transparent;
}
.archive-links a:hover{color:var(--ink); background:rgba(255,255,255,.05); border-color:var(--rule)}
.archive-links a[aria-current="page"]{color:var(--ink); border-color:var(--rule)}
.archive-links .nav-logo{
  display:grid; place-items:center; width:auto; height:40px; padding:0 8px;
  border:none; border-radius:0; background:transparent;
}
.archive-links .nav-logo:hover{background:transparent; border-color:transparent}
.nav-logo img{width:auto; height:32px; display:block}

.hq-label,.kicker{
  font-family:var(--ui); font-size:10px; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft);
  margin-bottom:10px; display:block;
}
.hq-dek{margin:0 0 22px; font-style:italic; font-size:17px; line-height:1.5; color:var(--ink-mute); max-width:68ch}
.hq-page-hero{margin:28px 0 26px}
.hq-page-hero h1{
  font-family:var(--display); font-weight:500; font-size:clamp(32px,8vw,52px);
  line-height:1.02; letter-spacing:-.04em; color:var(--ink); margin:0 0 12px; max-width:22ch;
}
.hq-page-hero h1 em{font-style:italic; font-weight:400; color:var(--accent)}
.hq-page-hero .hq-dek{margin-bottom:0}
.hq-section{margin-top:44px; padding-top:30px; border-top:1px solid var(--rule)}
.hq-grid{display:grid; grid-template-columns:1fr; gap:26px}
.hq-card{text-decoration:none; color:inherit; display:flex; flex-direction:column}
.hq-card h3{font-family:var(--display); font-weight:500; font-size:20px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); margin:0 0 8px}
.hq-card p{margin:0; font-style:italic; font-size:17px; line-height:1.5; color:var(--ink-mute)}
.hq-card .more{margin-top:auto; padding-top:16px; font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.25em; text-transform:uppercase; color:var(--ink-soft)}
.hq-card:hover h3,.hq-card:hover .more{color:var(--accent)}
.hq-grid .hq-card:nth-child(3n+1) .hq-label{color:var(--a4)}
.hq-grid .hq-card:nth-child(3n+2) .hq-label{color:var(--a3)}
.hq-grid .hq-card:nth-child(3n+3) .hq-label{color:var(--a1)}

.hq-agenda{list-style:none; margin:0; padding:0}
.hq-agenda a{display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:baseline; padding:16px 0; border-top:1px solid var(--rule); text-decoration:none; color:var(--ink)}
.hq-agenda li:first-child a{border-top:0; padding-top:0}
.hq-agenda a:hover b{color:var(--accent)}
.hq-agenda .idx{font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.25em; color:var(--ink-soft)}
.hq-agenda b{display:block; font-family:var(--display); font-weight:500; font-size:20px; letter-spacing:-.02em; line-height:1.15}
.hq-agenda small{display:block; margin-top:5px; font-style:italic; font-weight:400; font-size:17px; color:var(--ink-mute)}
.hq-agenda .arrow{color:var(--ink-soft); font-size:18px}

.hq-outline,.heading-link{
  display:inline-block; margin-top:22px; text-decoration:none;
  font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.25em; text-transform:uppercase;
  color:var(--ink-soft); border-bottom:1px solid var(--rule); padding-bottom:5px;
}
.hq-outline:hover,.heading-link:hover{color:var(--accent); border-bottom-color:var(--accent)}
.hq-crisis{margin-top:1.25rem; padding-top:1rem; border-top:1px solid var(--rule); font-size:15px; line-height:1.6; color:var(--ink-mute)}
.hq-crisis a{color:var(--ink); text-decoration:none}
.hq-crisis a:hover{color:var(--accent)}

.about-layout{display:grid; grid-template-columns:1fr; gap:28px; align-items:start}
.about-layout .hq-prose{max-width:none}
.about-portrait{margin:28px 0 0}
.about-portrait img{
  display:block; width:100%; height:auto; object-fit:cover; object-position:center 18%;
  aspect-ratio:3/4; border:1px solid var(--rule);
}
.hq-prose{max-width:68ch; font-size:1.0625rem; line-height:1.65; color:var(--ink)}
.hq-prose h2,.hq-prose h3,.hq-prose h4{font-family:var(--display); font-weight:500; letter-spacing:-.02em; color:var(--ink); margin:2rem 0 .75rem}
.hq-prose p{margin:0 0 1.1rem}
.hq-prose .lede{font-style:italic; font-size:1.15rem; color:var(--ink-mute)}
.hq-prose a{color:var(--ink); text-decoration:none}
.hq-prose a:hover{color:var(--accent)}
.hq-prose blockquote,.hq-prose .a-pull{margin:1.75rem 0; padding:0 0 0 1rem; border-left:2px solid var(--accent); font-style:italic; color:var(--ink-mute)}
.hq-prose .a-rule{border:0; border-top:1px solid var(--rule); margin:2rem 0}
.hq-prose .a-endnote{font-size:.95rem; color:var(--ink-mute)}
.hq-prose .a-coda{display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; font-family:var(--ui); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft)}
.hq-prose .a-coda a{color:inherit; text-decoration:none}
.hq-prose .a-coda a:hover{color:var(--accent)}
.hq-prose .a-compare{display:grid; grid-template-columns:1fr; gap:22px; margin:1.75rem 0}
.hq-prose .a-card{border:1px solid var(--rule); background:var(--panel); padding:18px; margin:0}
.hq-prose .a-roster{margin:1.75rem 0}
.hq-prose .a-roster h3{margin-top:0}
.hq-prose .a-roster dl{margin:0}
.hq-prose .a-roster dt{font-family:var(--ui); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft); margin-top:12px}
.hq-prose .a-roster dd{margin:4px 0 0; color:var(--ink-mute)}

.hq-dir-controls{display:flex; flex-direction:column; gap:14px; margin:0 0 26px}
.hq-dir-controls input[type="search"]{
  font:inherit; font-size:1.05rem; padding:12px 0; border:none; border-bottom:1px solid var(--rule);
  background:transparent; color:var(--ink); width:100%; max-width:36rem;
}
.hq-dir-controls input[type="search"]:focus{outline:none; border-bottom-color:var(--accent)}
.hq-chips{display:flex; flex-wrap:wrap; gap:8px}
.hq-chips .chip{
  display:inline-flex; min-height:44px; align-items:center; padding:0 14px;
  border:1px solid var(--rule); background:transparent; color:var(--ink-mute);
  font-family:var(--ui); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
}
.hq-chips .chip[aria-pressed="true"]{color:var(--page); background:var(--accent); border-color:var(--accent)}
.hq-dir-count{font-family:var(--ui); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft)}
.hq-dir-grid{display:grid; grid-template-columns:1fr; gap:22px}
.hq-dir-card{display:flex; flex-direction:column; gap:6px; border:1px solid var(--rule); padding:18px; text-decoration:none; background:var(--panel); color:inherit}
.hq-dir-card:hover{border-color:var(--accent)}
.hq-dir-card-top{display:flex; justify-content:space-between; align-items:flex-start}
.hq-dir-card-top img{width:40px; height:40px; object-fit:contain}
.hq-dir-card-mark{width:40px; height:40px; display:grid; place-items:center; background:var(--panel); color:var(--accent); border:1px solid var(--rule); font-weight:700}
.hq-dir-card .cat{font-family:var(--ui); font-size:10px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--a4)}
.hq-dir-card h3{margin:0; font-family:var(--display); font-weight:500; font-size:20px; letter-spacing:-.02em}
.hq-dir-card .domain,.hq-dir-card p{font-size:15px; color:var(--ink-mute); margin:0}
.hq-dir-card .open{margin-top:auto; padding-top:12px; font-family:var(--ui); font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:var(--ink-soft)}
.hq-dir-empty{display:none; color:var(--ink-mute); font-style:italic}

.hq-media-grid{display:grid; gap:0}
.hq-media-item{display:grid; grid-template-columns:1fr; gap:16px; text-decoration:none; color:inherit; padding:20px 0; border-top:1px solid var(--rule)}
.hq-media-item:hover h3{color:var(--accent)}
.hq-media-thumb{display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--panel); border:1px solid var(--rule)}
.hq-media-thumb-bsc{background:#f4f4f3 url("/assets/img/bipolar-support-club-logo.jpg") center/contain no-repeat}
.hq-media-item h3{margin:.2rem 0 .4rem; font-family:var(--display); font-weight:500; font-size:22px; letter-spacing:-.02em}
.hq-media-item p{margin:0; font-style:italic; color:var(--ink-mute)}

.a-hero{margin:8px 0 28px}
.a-hero-grid{display:grid; gap:18px}
.a-headline{
  margin:0; font-family:var(--display); font-weight:500;
  font-size:clamp(32px,8vw,52px); line-height:1.02; letter-spacing:-.04em; color:var(--ink);
}
.a-headline em{font-style:italic; font-weight:400; color:var(--accent)}
.a-hero-dek{margin:0; font-style:italic; font-size:17px; line-height:1.5; color:var(--ink-mute)}
.a-meta{margin-top:14px; font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-soft)}
.a-media{background:var(--panel); border:1px solid var(--rule); margin:0 0 1.8em}
.a-media-label{font-family:var(--ui); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); padding:16px 20px 0}
.a-media-frame{position:relative; width:100%; aspect-ratio:16/9; background:#000}
.a-media-frame iframe,.a-media-frame video{position:absolute; inset:0; width:100%; height:100%; border:0; display:block}
.a-media-audio{display:flex; align-items:center; gap:18px; padding:16px 20px; flex-wrap:wrap}
.a-media-audio iframe{width:100%; height:175px; border:0; display:block}
.a-media-services{display:flex; flex-wrap:wrap; gap:10px; padding:0 20px 18px}
.a-listen{
  display:inline-flex; align-items:center; gap:8px; padding:8px 14px;
  border:1px solid var(--rule); border-radius:999px; color:var(--ink);
  font-family:var(--ui); font-size:.68rem; font-weight:650; letter-spacing:.07em; text-transform:uppercase;
}
.a-listen svg{width:15px; height:15px; flex-shrink:0}
.a-listen:hover{border-color:var(--accent); color:var(--accent)}
.a-media-poster{width:72px; height:72px; flex-shrink:0; object-fit:cover; background:var(--page); border:1px solid var(--rule)}
.a-media-poster.is-round{border-radius:50%}
.a-media-audio-body{flex:1 1 260px; min-width:0}
.a-media-audio audio{width:100%; display:block}
.a-media-foot{display:flex; flex-wrap:wrap; gap:6px 18px; padding:14px 20px 18px; font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft)}
.a-media-foot a{color:var(--ink); text-decoration:none}
.a-media-foot a:hover{color:var(--accent)}

.page-hero,.hq-tool-hero{margin:28px 0 20px}
.section-label{font-family:var(--ui); font-size:10px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft); display:block; margin-bottom:10px}
.page-dek,.hero-meta{margin:0 0 12px; font-style:italic; font-size:17px; line-height:1.5; color:var(--ink-mute); max-width:68ch}
.hero-meta{font-style:normal; font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase}
.planner-page .page-hero h1,.hq-tool-hero h1,.page-hero h1{
  font-family:var(--display); font-weight:500; letter-spacing:-.04em;
  font-size:clamp(32px,7vw,52px); max-width:18ch; color:var(--ink);
}
.planner-page .page-hero em{font-style:italic; color:var(--accent)}
.editorial-mark{display:none}
.site-header,.utility-bar,.section-nav{display:none}

.shop-grid{display:grid; grid-template-columns:1fr; gap:28px; margin-top:8px}
.shop-card{display:flex; flex-direction:column; text-decoration:none; color:inherit}
.shop-shot{
  background:var(--panel); border:1px solid var(--rule);
  aspect-ratio:4/5; overflow:hidden; margin-bottom:14px;
}
.shop-shot img{width:100%; height:100%; object-fit:cover; display:block}
.shop-card .hed{font-style:italic; font-weight:400; margin-bottom:6px}
.shop-card:hover .hed{color:var(--accent)}
.shop-card .page-ref{margin-top:0}

@media (min-width:721px){
  .magazine-shell{width:calc(100% - 48px); max-width:1000px; margin:24px auto}
  .page{padding:20px 40px 36px}
  .hero{padding:40px}
  .hero-secondary{grid-template-columns:1fr; gap:28px; margin-top:48px}
  .lower-grid{grid-template-columns:1fr 1fr; gap:36px}
  .hq-cta-band{grid-template-columns:1.15fr 1fr; gap:48px; margin-bottom:72px}
  .hq-grid,.hq-dir-grid{grid-template-columns:1fr 1fr}
  .hq-prose .a-compare{grid-template-columns:1fr 1fr}
  .hq-media-item{grid-template-columns:minmax(0,220px) 1fr; align-items:center}
  .shop-grid{grid-template-columns:1fr 1fr; gap:40px 36px}
  .a-hero-grid{grid-template-columns:1.15fr .85fr; gap:28px; align-items:end}
  .about-layout{grid-template-columns:1.15fr .72fr; gap:48px}
  .about-portrait{position:sticky; top:24px}
}
@media (min-width:1100px){
  .magazine-shell{width:calc(100% - 48px); max-width:1280px; margin:48px auto}
  .page{padding:28px 72px 48px}
  .nameplate,
  .masthead-inner .nameplate{font-size:133px}
  .cover-line{font-size:64px}
  .hero{grid-template-columns:1.15fr 1fr; min-height:680px; padding:56px 64px}
  .lower-grid{grid-template-columns:1fr 1fr 1fr; gap:48px}
  .lower-grid--pair{grid-template-columns:1fr 1fr}
  .footer{flex-direction:row; align-items:center; gap:32px; justify-content:space-between}
  .hq-grid,.hq-dir-grid{grid-template-columns:1fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* BipolarKit section — same tokens. The lid line is the one accent. */
.kit-lid{
  margin:16px 0 0;
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.35rem, 4.2vw, 2rem); letter-spacing:-.03em; line-height:1.05;
  color:var(--accent);
}
.kit-figure{margin:0; background:var(--panel); border:1px solid var(--rule)}
.kit-figure img{display:block; width:100%; height:auto}
.kit-figure figcaption{
  display:flex; flex-direction:column; gap:4px;
  padding:12px 14px 14px;
  font-family:var(--ui); font-size:10px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);
}
.kit-page .hq-prose ul,
.kit-page .hq-prose ol{margin:0 0 1.1rem; padding-left:1.15rem}
.kit-page .hq-prose li{margin:0 0 .4rem}
.kit-page .hq-prose li::marker{color:var(--ink-soft)}
.kit-scale{
  display:flex; justify-content:space-between; gap:16px;
  margin:0 0 16px; padding-bottom:8px; border-bottom:1px solid var(--rule);
  font-family:var(--ui); font-size:10px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);
}
.kit-note{
  margin:1.25rem 0 0; padding-top:1rem; border-top:1px solid var(--rule);
  font-size:15px; line-height:1.55; color:var(--ink-mute);
}
.kit-page .kit-row{
  display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:baseline;
  padding:16px 0; border-top:1px solid var(--rule); color:var(--ink);
}
.kit-page .hq-agenda li:first-child .kit-row{border-top:0; padding-top:0}
.kit-page .kit-row .idx{
  font-family:var(--ui); font-size:10px; font-weight:600; letter-spacing:.25em; color:var(--ink-soft);
}
.kit-page .kit-row b{
  display:block; font-family:var(--display); font-weight:500; font-size:20px;
  letter-spacing:-.02em; line-height:1.15;
}
.kit-page .kit-row small{
  display:block; margin-top:5px; font-style:italic; font-weight:400; font-size:17px; color:var(--ink-mute);
}
.kit-page .hq-outline{
  min-height:44px; display:inline-flex; align-items:center;
}
