/* =========================================================================
   SUPPORT + PRIVACY — neutral editorial document pages (studio shell)
   ========================================================================= */
.page-hero{ padding:clamp(56px,10vh,128px) 0 clamp(32px,5vh,56px); }
.page-hero .eyebrow{ margin-bottom:20px; }
.page-hero h1{ font-weight:400; max-width:18ch; }
.page-hero .lede{ margin:24px 0 0; max-width:60ch; font-size:clamp(18px,2vw,21px); line-height:1.62; color:var(--ink-soft); }
.page-hero .lede a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--line); transition:text-decoration-color .15s ease; }
.page-hero .lede a:hover{ text-decoration-color:var(--accent); }
.page-hero .lede b{ color:var(--ink); font-weight:500; }

/* email pill (support) */
.mailto{
  display:inline-flex; align-items:center; gap:10px; margin-top:30px;
  font-family:var(--font-label); font-size:15px; font-weight:600; letter-spacing:.02em;
  text-decoration:none; color:var(--accent-ink); background:var(--accent);
  padding:13px 22px; border-radius:3px; transition:transform .15s ease, filter .15s ease;
}
.mailto:hover{ transform:translateY(-1px); filter:brightness(1.08); }
.mailto .ic{ font-size:16px; }

/* ---- FAQ accordions ---- */
.faq{ padding:clamp(40px,6vh,72px) 0 clamp(64px,10vh,120px); border-top:1px solid var(--line); }
.faq h2{ font-weight:400; margin-bottom:8px; }
.faq .faq-sub{ color:var(--ink-faint); font-family:var(--font-label); font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 28px; }
.faq-list{ border-top:1px solid var(--line); }
details.q{ border-bottom:1px solid var(--line); }
details.q > summary{
  list-style:none; cursor:pointer; padding:24px 48px 24px 0; position:relative;
  font-family:var(--font-display); font-size:clamp(19px,2.2vw,23px); font-weight:500; color:var(--ink);
  transition:color .15s ease;
}
details.q > summary::-webkit-details-marker{ display:none; }
details.q > summary:hover{ color:var(--accent); }
details.q > summary::after{
  content:""; position:absolute; right:6px; top:50%; width:13px; height:13px; margin-top:-6px;
  background:
    linear-gradient(var(--ink-soft),var(--ink-soft)) center/100% 1.5px no-repeat,
    linear-gradient(var(--ink-soft),var(--ink-soft)) center/1.5px 100% no-repeat;
  transition:transform .25s ease;
}
details.q[open] > summary::after{ transform:rotate(90deg); opacity:.5; background:linear-gradient(var(--ink-soft),var(--ink-soft)) center/100% 1.5px no-repeat; }
details.q .a{ padding:0 56px 26px 0; max-width:68ch; color:var(--ink-soft); font-size:17px; line-height:1.66; }
details.q .a a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
details.q .a b, details.q .a strong{ color:var(--ink); font-weight:500; }

.faq-foot{ margin-top:36px; color:var(--ink-soft); font-size:16px; }
.faq-foot a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--accent); }

/* ---- Privacy prose ---- */
.doc{ padding:clamp(32px,5vh,56px) 0 clamp(72px,11vh,130px); border-top:1px solid var(--line); }
.doc .updated{ font-family:var(--font-label); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 36px; }
.doc .short{
  background:var(--bone-2); border-radius:6px; padding:26px 30px; margin:0 0 44px;
  border:1px solid var(--line-soft);
}
.doc .short h2{ font-size:clamp(20px,2.2vw,24px); font-weight:500; margin:0 0 10px; }
.doc .short p{ margin:0; color:var(--ink-soft); font-size:17px; line-height:1.62; }
.doc h2{ font-family:var(--font-display); font-weight:500; font-size:clamp(24px,3vw,32px); letter-spacing:-0.01em; margin:48px 0 16px; }
.doc h2:first-of-type{ margin-top:0; }
.doc h3{ font-family:var(--font-display); font-weight:500; font-size:20px; margin:26px 0 8px; }
.doc p{ color:var(--ink-soft); font-size:17px; line-height:1.7; margin:0 0 16px; max-width:70ch; }
.doc p b, .doc p strong{ color:var(--ink); font-weight:500; }
.doc a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--accent); }
.doc .lead{ font-size:19px; color:var(--ink); }
.doc hr{ border:0; border-top:1px solid var(--line); margin:40px 0; }
.doc .toc{ font-family:var(--font-label); font-size:13px; color:var(--ink-faint); }

/* =========================================================================
   NEWS & PRESS — coverage list (neutral editorial)
   Each .press-item is a self-contained block; copy one to add a new piece.
   ========================================================================= */
.press{ padding:clamp(28px,4vh,52px) 0 clamp(72px,11vh,130px); border-top:1px solid var(--line); }
.press-list{ display:flex; flex-direction:column; }
.press-item{
  display:grid; grid-template-columns:170px 1fr; gap:clamp(16px,4vw,56px);
  padding:clamp(28px,4vh,44px) 0; border-bottom:1px solid var(--line);
}
.press-item:first-child{ border-top:1px solid var(--line); }

.press-meta .date{ font-family:var(--font-label); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.press-meta .outlet{ display:block; margin-top:8px; font-family:var(--font-display); font-size:21px; font-weight:500; color:var(--ink); line-height:1.1; }
.press-meta .tag{ display:inline-block; margin-top:12px; font-family:var(--font-label); font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-ink); background:var(--accent); padding:4px 10px; border-radius:3px; }

.press-body h2{ font-family:var(--font-display); font-weight:500; font-size:clamp(22px,2.6vw,30px); line-height:1.18; letter-spacing:-0.01em; margin:0; }
.press-body blockquote{
  margin:18px 0 0; padding-left:20px; border-left:2px solid var(--accent);
  font-family:var(--font-display); font-style:italic; font-weight:400;
  font-size:clamp(18px,2vw,22px); line-height:1.5; color:var(--ink-soft); max-width:60ch;
}
.press-body .by{ margin:16px 0 0; font-family:var(--font-label); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.press-body .read{
  margin-top:18px; display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-label); font-size:13px; font-weight:600; letter-spacing:.04em;
  text-decoration:none; color:var(--accent);
}
.press-body .read .arr{ transition:transform .18s ease; }
.press-body .read:hover .arr{ transform:translateX(4px); }
@media (max-width:680px){ .press-item{ grid-template-columns:1fr; gap:14px; } }

.press-note{ margin-top:44px; color:var(--ink-soft); font-size:16px; line-height:1.62; max-width:60ch; }
.press-note a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--accent); }
