/* Shared styles for /privacy and /terms. Tokens match index.html. */
:root {
  color-scheme: light;
  --paper: #F3F3EF;
  --paper-2: #E6E6E0;
  --ink: #111111;
  --ink-2: #4A4A45;
  --mute: #76766F;
  --line: #D6D6CF;
  --blue: #2438FF;
  --blue-deep: #1A2BD6;
  --sans: 'Archivo', 'Helvetica Neue', Helvetica, sans-serif;
  --gutter: clamp(16px, 2.3vw, 36px);
  --night: #111111;
  --ease: cubic-bezier(.22, .8, .18, 1);
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: clamp(16px, 1.05vw, 17px); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: 3px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
p { margin: 0; text-wrap: pretty; }

/* Header: same as the homepage (Menu left, wordmark centered, blue CTA right), on a paper band so the text scrolls under it cleanly */
.site-head { position: sticky; top: 0; z-index: 50; padding: calc(env(safe-area-inset-top, 0px) + 16px) var(--gutter) 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; background: var(--paper); }
.brand { display: inline-flex; align-items: center; padding: 6px 8px; text-decoration: none; }
.site-head .brand { justify-self: center; }
.wm { display: inline-block; height: var(--wm-h, 44px); aspect-ratio: 1000 / 515; background: currentColor; -webkit-mask: url("/assets/wordmark.svg") center / contain no-repeat; mask: url("/assets/wordmark.svg") center / contain no-repeat; }
.menu-btn, .menu-close { justify-self: start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; background: none; border: 0; color: inherit; cursor: pointer; font: 500 13px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.menu-btn svg, .menu-close svg { display: block; }
.cta { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; background: var(--blue); color: #fff; border-radius: 12px; font-size: 14px; font-weight: 600; padding: 14px 18px; transition: background .25s ease; }
.cta:hover { background: var(--blue-deep); }
.site-head .cta { justify-self: end; }
.cta-short { display: none; }
@media (max-width: 720px) {
  .wm { --wm-h: 36px; }
  .cta { padding: 13px 14px; }
  .site-head .cta-long, .site-head .cta .arr { display: none; }
  .site-head .cta-short { display: inline; }
}

/* Menu: full-screen, dark, huge links */
.menu { position: fixed; inset: 0; z-index: 60; background: var(--night); color: var(--paper); display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: calc(env(safe-area-inset-top, 0px) + 16px) var(--gutter) 32px; overflow-y: auto; animation: menu-in .35s ease both; }
.menu[hidden] { display: none; }
.menu-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; }
.menu-top .brand { justify-self: center; }
.menu-mail { justify-self: end; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.menu-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.menu-links a { display: inline-block; text-decoration: none; font-stretch: 70%; font-weight: 600; text-transform: uppercase; letter-spacing: -.015em; line-height: .86; font-size: clamp(64px, 11.6vw, 168px); transition: color .25s ease; }
.menu-links a:hover { color: #B4B4AE; }
.menu-links li { animation: menu-rise .6s var(--ease) both; }
.menu-links li:nth-child(2) { animation-delay: .06s; }
.menu-links li:nth-child(3) { animation-delay: .12s; }
.menu-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.menu-foot .cta { font-size: 16px; padding: 18px 24px; }
.menu-foot .menu-mail-m { display: none; color: #B4B4AE; font-size: 14px; }
.menu a:focus-visible, .menu button:focus-visible { outline-color: #fff; }
html.menu-open { overflow: hidden; }
@keyframes menu-in { from { opacity: 0; } }
@keyframes menu-rise { from { opacity: 0; transform: translateY(24px); } }
@media (max-width: 720px) {
  .menu-mail { display: none; }
  .menu-foot { flex-direction: column; align-items: stretch; }
  .menu-foot .cta { justify-content: center; }
  .menu-foot .menu-mail-m { display: block; }
}
@media (prefers-reduced-motion: reduce) { .menu, .menu-links li { animation: none; } .cta { transition: none; } }

.doc { width: min(100%, 720px); margin: 0 auto; padding: clamp(56px, 10vh, 104px) var(--gutter) clamp(72px, 12vh, 120px); }
.doc-head { display: grid; gap: 16px; padding-bottom: 32px; margin-bottom: 40px; border-bottom: 1px solid var(--line); }
.doc h1 { margin: 0; font-stretch: 70%; font-weight: 600; text-transform: uppercase; letter-spacing: -.015em; font-size: clamp(52px, 8vw, 104px); line-height: .88; }
.doc .updated { font-size: 14px; color: var(--mute); }
.doc h2 { margin: 40px 0 12px; font-size: 18px; font-weight: 600; letter-spacing: -.005em; }
.doc p + p { margin-top: 14px; }
.doc p, .doc li { color: var(--ink-2); }
.doc ul { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 10px; }
.doc address { font-style: normal; color: var(--ink-2); }

/* Footer: blue, link columns, giant wordmark (same as the homepage) */
.eyebrow { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.site-foot { background: var(--blue); color: #fff; padding: clamp(56px, 8vh, 80px) 0 22px; display: grid; gap: clamp(40px, 6vh, 64px); }
.site-foot a, .site-foot button { color: inherit; }
.site-foot a:focus-visible, .site-foot button:focus-visible { outline-color: #fff; }
.pad { padding-inline: var(--gutter); }
.foot-top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px 24px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.35); }
.foot-intro { grid-column: span 5; display: grid; gap: 16px; align-content: start; }
.foot-intro p { font-size: clamp(22px, 1.9vw, 26px); line-height: 1.25; letter-spacing: -.01em; max-width: 24ch; }
.foot-intro a { font-size: 17px; text-underline-offset: 4px; justify-self: start; }
.foot-col { grid-column: span 2; display: grid; gap: 12px; align-content: start; }
.foot-col:first-of-type { grid-column: 7 / span 2; }
.site-foot .eyebrow { color: rgba(255,255,255,.72); }
.foot-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 16px; }
.foot-col a, .foot-col button { text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.foot-col a:hover, .foot-col button:hover, .foot-col a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.foot-mark .wm { display: block; --wm-h: clamp(140px, 25vw, 360px); }
.foot-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-size: 13px; color: rgba(255,255,255,.8); }
@media (max-width: 860px) {
  .foot-intro { grid-column: 1 / -1; }
  .foot-col, .foot-col:first-of-type { grid-column: span 6; }
}
.linkish { font: inherit; color: var(--ink); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
