/* =========================================================
   DM Tags — legal-surface stylesheet (/privacy, /terms, /sms)

   The tokens, type scale, buttons, nav and footer rules below are
   COPIED VERBATIM from the inline <style> block in index.html.
   That duplication is deliberate: index.html is the marketing
   deliverable and its inline styles were left untouched on purpose
   (this task was scoped to "do not change the marketing page beyond
   the footer"). If index.html's tokens ever change, change them here
   too — or, better, lift the shared block out of index.html into this
   file and have both pages link it.
   ========================================================= */
:root{
  color-scheme: dark;
  --black:#000000;
  --graphite:#1C1C1E;      /* HIG secondarySystemBackground (dark) */
  --slate:#2C2C2E;         /* HIG tertiarySystemBackground (dark) */
  --iron:#3A3A3C;
  --steel:#8E8E93;         /* HIG systemGray, 6.3:1 on black */
  --silver:#C7CBD1;
  --silver-lo:#9EA4AC;
  --blue:#0071E3;          /* filled buttons, white label 4.7:1 */
  --blue-hover:#0077ED;
  --blue-text:#2997FF;     /* blue text on black, 7:1 */
  --label:#F5F5F7;
  --label-2:rgba(235,235,245,.64);
  --fill:rgba(118,118,128,.24);
  --separator:rgba(84,84,88,.65);
  --metal:linear-gradient(180deg,#FFFFFF 0%,#E4E7EB 42%,#A9AFB7 100%);
  --titanium:linear-gradient(145deg,#EEF0F3 0%,#8D939B 28%,#D3D7DC 52%,#6F757D 78%,#BFC4CA 100%);

  --r-xl:32px; --r-lg:22px; --r-md:14px; --r-sm:9px;
  --font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --wrap:1180px;
  --gutter:clamp(20px,5vw,40px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:60px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--black);color:var(--label);
  font-family:var(--font);font-size:17px;line-height:1.5;letter-spacing:-.011em;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%}
a{color:var(--blue-text)}
::selection{background:rgba(41,151,255,.35)}
:focus-visible{outline:3px solid var(--blue-text);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.band{padding-block:clamp(72px,9vw,128px)}
.metal{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Type scale (index.html) ---------- */
.h2{font-size:clamp(34px,4.6vw,56px);font-weight:700;line-height:1.06;letter-spacing:-.032em;margin:0 0 18px;text-wrap:balance}
.h3{font-size:clamp(24px,2.4vw,28px);font-weight:650;line-height:1.15;letter-spacing:-.02em;margin:0 0 10px}
.section-lead{font-size:clamp(19px,1.7vw,21px);line-height:1.42;letter-spacing:-.015em;color:var(--label-2);max-width:40ch;margin:0;text-wrap:pretty}
.footnote{font-size:13px;line-height:1.4;letter-spacing:-.003em;color:var(--steel)}

/* ---------- Buttons (HIG capsule, 44pt targets) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 24px;border:0;border-radius:999px;cursor:pointer;
  font:600 17px/1 var(--font);letter-spacing:-.012em;text-decoration:none;white-space:nowrap;
  transition:background-color .2s var(--ease),transform .15s var(--ease);
}
.btn:active{transform:scale(.97)}
.btn-filled{background:var(--blue);color:#fff}
.btn-filled:hover{background:var(--blue-hover)}
.btn-small{min-height:36px;padding:0 16px;font-size:14px}

/* ---------- Navigation (HIG bar material) ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(0,0,0,.72);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:.5px solid var(--separator);
}
.nav .wrap{display:flex;align-items:center;gap:32px;height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--label)}
.brand-mark{width:26px;height:26px;flex:none}
.brand-word{font-size:19px;font-weight:700;letter-spacing:-.025em}
.nav-links{display:flex;gap:28px;list-style:none;margin:0 0 0 auto;padding:0}
.nav-links a{color:var(--label-2);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--label)}

/* ---------- Legal document ---------- */
.doc{padding-block:clamp(48px,6vw,80px) clamp(64px,8vw,104px)}
.doc-head{max-width:56ch}
.doc-eyebrow{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
.doc-updated{margin:16px 0 0;color:var(--steel);font-size:15px}

/* One column, measured for reading. The panels are the HIG inset
   grouped-list material the FAQ and booking form already use. */
.doc-body{max-width:72ch;margin-top:clamp(32px,4vw,48px);display:flex;flex-direction:column;gap:14px}
.panel-card{border-radius:var(--r-lg);background:var(--graphite);padding:clamp(22px,2.6vw,30px)}
.panel-card>h2{font-size:clamp(21px,2vw,24px);font-weight:650;line-height:1.2;letter-spacing:-.018em;margin:0 0 12px}
.panel-card>h3{font-size:18px;font-weight:600;letter-spacing:-.014em;margin:22px 0 8px;color:var(--label)}
.panel-card p{margin:0 0 12px;color:var(--label-2);line-height:1.55;text-wrap:pretty}
.panel-card p:last-child{margin-bottom:0}
.panel-card strong{color:var(--label);font-weight:600}
.panel-card ul{margin:0 0 12px;padding-left:20px;color:var(--label-2);line-height:1.55}
.panel-card ul:last-child{margin-bottom:0}
.panel-card li{margin-bottom:8px}
.panel-card li:last-child{margin-bottom:0}
.panel-card li strong{color:var(--label)}

/* The keyword line a carrier looks for. Same fill as the FAQ rows. */
.keyword{
  display:flex;flex-wrap:wrap;gap:10px 14px;margin:0 0 12px;padding:14px 16px;
  border-radius:var(--r-md);background:var(--fill);color:var(--label);
  font-size:16px;line-height:1.4;
}
.keyword:last-child{margin-bottom:0}
.keyword code{
  font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;
  padding:4px 8px;border-radius:6px;background:rgba(41,151,255,.15);color:var(--blue-text);
}

/* Table of contents on the privacy page */
.toc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.toc a{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;
  background:rgba(41,151,255,.15);color:var(--blue-text);text-decoration:none;
  font-size:14px;font-weight:500;transition:background-color .2s var(--ease);
}
.toc a:hover{background:rgba(41,151,255,.22)}

/* ---------- Footer ---------- */
.footer{border-top:.5px solid var(--separator);padding-block:40px 56px}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px 48px}
.footer p{margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0}
.footer-links a{color:var(--label-2);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}
.footer-links a:hover{color:var(--label)}
.footer-legal{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}

@media (max-width:760px){
  .nav-links{display:none}
  .nav .btn-small{margin-left:auto}
  .footer-inner{grid-template-columns:1fr}
  .footer-legal{align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
