/* Shared shell for the utility pages that hang off the Beyond Trade Shows
   landing (contact, unsubscribe, privacy policy). Same tokens as
   landing-revenue-room.html so the pages read as one system: radius 0,
   1px hairlines, no shadows, one accent, Geist with Geist Mono for anything
   that is a value rather than prose. Theme follows the data-theme attribute
   the landing sets, with prefers-color-scheme as the fallback for a visitor
   who lands here first. */
:root {
  color-scheme: light dark;
  --canvas: #FFFFFF;
  --surface: #F6F7F5;
  --surface-card: #FFFFFF;
  --text: #101112;
  --grey: #6B6F6B;
  --hairline: rgba(16, 17, 18, 0.14);
  --hairline-soft: rgba(16, 17, 18, 0.07);
  --acc-text: #067647;
  --acc-fill: #05DF72;
  --sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono: 'Geist Mono', 'SF Mono', ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    color-scheme: dark;
    --canvas: #0C0C0E; --surface: #131316; --surface-card: #18181C;
    --text: #E8E4DC; --grey: #9A9690;
    --hairline: rgba(232, 228, 220, 0.14);
    --hairline-soft: rgba(232, 228, 220, 0.08);
    --acc-text: #05DF72;
  }
}
html[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #0C0C0E; --surface: #131316; --surface-card: #18181C;
  --text: #E8E4DC; --grey: #9A9690;
  --hairline: rgba(232, 228, 220, 0.14);
  --hairline-soft: rgba(232, 228, 220, 0.08);
  --acc-text: #05DF72;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: var(--canvas); color: var(--text);
  font-family: var(--sans); line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  padding: 0 24px;
}
.wrap { max-width: 640px; margin: 0 auto; padding: 72px 0 96px; }
.mono { font-family: var(--mono); }
.eyebrow {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--grey);
  display: flex; align-items: center; gap: 8px; margin-bottom: 28px;
}
.eyebrow .dot { width: 6px; height: 6px; background: var(--acc-fill); flex: none; }
h1 { font-size: 34px; line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 20px; }
h2 { font-size: 17px; font-weight: 600; margin: 40px 0 10px; }
p { margin-bottom: 16px; max-width: 62ch; }
p.lede { font-size: 17px; color: var(--grey); }
a { color: var(--acc-text); text-decoration: underline; text-underline-offset: 3px; }
hr { border: 0; border-top: 1px solid var(--hairline); margin: 40px 0; }
label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 8px; }
input[type="email"] {
  width: 100%; padding: 13px 14px; font-family: var(--sans); font-size: 15px;
  color: var(--text); background: var(--surface-card);
  border: 1px solid var(--hairline); border-radius: 0;
}
input[type="email"]:focus { outline: 2px solid var(--acc-text); outline-offset: -2px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
button {
  margin-top: 16px; padding: 13px 26px; font-family: var(--sans); font-size: 15px;
  font-weight: 600; color: #101112; background: var(--acc-fill);
  border: 0; border-radius: 0; cursor: pointer;
}
button:disabled { opacity: 0.55; cursor: default; }
.msg { margin-top: 16px; font-size: 14px; display: none; }
.msg.active { display: block; }
.msg.err { color: #C0392B; }
html[data-theme="dark"] .msg.err, :root:not([data-theme="light"]) .msg.err { color: #FF7A6B; }
.foot { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--hairline);
  font-size: 13px; color: var(--grey); display: flex; gap: 20px; flex-wrap: wrap; }
