/* =========================================================
   PREVAIL ALTERNATIVE ASSETS — shared styling for the inner
   pages (/contact, /disclosures, /privacy, /terms).
   Institutional system, matched to the home page (2026-09-30):
   navy ink + warm paper, one brass accent, Cormorant Garamond
   over Inter, square corners, hairline rules. Self-hosted only
   (CSP style-src 'self'); no CDNs.
   ========================================================= */

@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fonts/cormorant-garamond-500-normal.woff2) format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url(/assets/fonts/cormorant-garamond-500-italic.woff2) format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url(/assets/fonts/cormorant-garamond-600-normal.woff2) format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fonts/inter-400-normal.woff2) format('woff2'); }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fonts/inter-500-normal.woff2) format('woff2'); }

:root{
  /* Prevail brand blues (the 2026 tokens): ink = brand void, ink-2 = brand navy */
  --ink:#0d1130; --ink-2:#141a3f; --ink-3:#1f2858;
  --paper:#f6f3ec; --paper-2:#ede8dd; --card:#fbfaf6;
  --tx-1:#12173a; --tx-2:#454b66; --tx-3:#5d6380;
  --rl-1:rgba(18,23,58,.13); --rl-2:rgba(18,23,58,.3);
  --on-ink:#f4f0e7; --on-ink-2:#c7cad9; --on-ink-3:#a3a9c4;
  --rule-ink:rgba(244,240,231,.14); --rule-ink-2:rgba(244,240,231,.34);
  --brass:#c2a068; --brass-hover:#d4b886; --brass-deep:#7a5d33;
  /* working names: paper values here, flipped inside the blue title band */
  --text:var(--tx-1); --text-2:var(--tx-2); --text-3:var(--tx-3);
  --rule:var(--rl-1); --rule-2:var(--rl-2); --brass-ink:var(--brass-deep);
  --serif:'Cormorant Garamond','EB Garamond',Garamond,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1240px;
  --gut:clamp(1.25rem,4vw,3rem);
  --stage-top:clamp(3.5rem,9vh,6rem);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
html{background:var(--ink);}
body{font-family:var(--sans);font-size:1rem;line-height:1.6;color:var(--text);background:var(--paper);min-height:100svh;overflow-x:hidden;display:flex;flex-direction:column;font-variant-numeric:lining-nums;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--brass-ink);outline-offset:3px;}
.masthead :focus-visible,.lfoot :focus-visible{outline-color:var(--brass);}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);}

/* ---------- Masthead (solid navy on inner pages) ---------- */
.masthead{background:var(--ink);color:var(--on-ink);border-bottom:1px solid var(--rule-ink);}
.masthead .wrap{max-width:1400px;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.brand{display:inline-flex;flex-direction:column;gap:.42rem;line-height:1;text-decoration:none;color:inherit;}
.brand-mark{font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.24em;text-transform:uppercase;margin-right:-.24em;}
.brand-sub{font-family:var(--sans);font-weight:500;font-size:.6875rem;letter-spacing:.3em;text-transform:uppercase;color:var(--on-ink-2);white-space:nowrap;}
.primary-nav{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2.25rem);}
.primary-nav a{position:relative;font-weight:500;font-size:.8125rem;letter-spacing:.06em;color:var(--on-ink-2);text-decoration:none;padding:.75rem 0;white-space:nowrap;transition:color .3s var(--ease);}
.primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:.35rem;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--on-ink);}
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after{transform:scaleX(1);}
.primary-nav a.nav-login{padding:.8rem 1.1rem;border:1px solid var(--rule-ink-2);color:var(--on-ink);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;}
.primary-nav a.nav-login::after{display:none;}
.primary-nav a.nav-login:hover{border-color:var(--on-ink);background:rgba(244,240,231,.06);}
@media (max-width:760px){ .primary-nav .nav-opt{display:none;} }
@media (max-width:480px){
  .masthead .wrap{min-height:68px;}
  .brand-mark{font-size:1.3rem;letter-spacing:.2em;}
  .brand-sub{letter-spacing:.22em;}
  .primary-nav{gap:1rem;}
  .primary-nav a.nav-login{padding:.7rem .75rem;letter-spacing:.08em;}
}
@media (max-width:430px){ .primary-nav a.nav-hide-xs{display:none;} }
@media (max-width:640px){ .brand-sub{font-size:.75rem;} }   /* 12px floor for micro-labels on phones */

/* ---------- Type primitives ---------- */
.kicker{display:inline-flex;align-items:center;gap:.85rem;font-weight:500;font-size:.75rem;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:1.4rem;}
.kicker::before{content:"";flex:none;width:2.25rem;height:1px;background:currentColor;opacity:.75;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;font-family:var(--sans);font-weight:500;font-size:.8125rem;line-height:1;
  letter-spacing:.14em;text-transform:uppercase;padding:1.15rem 1.75rem;border:1px solid transparent;border-radius:1px;text-decoration:none;cursor:pointer;
  white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);}
.btn .arrow{display:inline-block;transition:transform .35s var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}
.btn-ink{background:var(--ink);color:var(--on-ink);}
.btn-ink:hover{background:var(--ink-3);}
.btn-outline{border-color:var(--rule-2);color:var(--text);background:transparent;}
.btn-outline:hover{border-color:var(--ink);background:var(--card);}

/* ---------- Stage: the reading column ---------- */
.stage{flex:1;width:100%;max-width:880px;margin:0 auto;padding:var(--stage-top) var(--gut) clamp(3.5rem,9vh,5.5rem);}
.stage-wide{max-width:var(--wrap);}
/* Title band: deep brand blue, full-bleed behind the reading column (paints from the masthead down). */
.legal-head{position:relative;isolation:isolate;padding-bottom:clamp(2.75rem,6vh,3.75rem);
  --text:var(--on-ink);--text-2:var(--on-ink-2);--text-3:var(--on-ink-3);--rule:var(--rule-ink);--rule-2:var(--rule-ink-2);--brass-ink:var(--brass);color:var(--text);}
.legal-head::before{content:"";position:absolute;z-index:-1;top:calc(-1 * var(--stage-top));bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--ink-2);}
.legal-head .btn-outline{border-color:var(--rule-ink-2);color:var(--on-ink);}
.legal-head .btn-outline:hover{border-color:var(--on-ink);background:rgba(244,240,231,.06);}

/* Motion, matched to the home page: gold-foil button with an unhurried sweep of light
   (reveal.js adds .is-sheen and removes it on animationend, so a sweep always finishes),
   brass rules that draw. */
.btn{transition:background-position 1.4s cubic-bezier(.25,.1,.25,1),background-color .7s cubic-bezier(.25,.1,.25,1),border-color .7s cubic-bezier(.25,.1,.25,1),
  box-shadow .9s cubic-bezier(.25,.1,.25,1),color .6s cubic-bezier(.25,.1,.25,1),transform .7s cubic-bezier(.22,1,.36,1);}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:none;transition-duration:.25s;}
.btn .arrow{transition:transform .9s cubic-bezier(.22,1,.36,1);}
.btn:hover .arrow{transform:translateX(5px);}
.legal-head .btn-ink{position:relative;overflow:hidden;isolation:isolate;color:var(--ink);
  background-image:linear-gradient(110deg,#a6854b 0%,#c7a76c 28%,#e4cd99 48%,#c2a068 66%,#a3824a 100%);
  background-size:200% 100%;background-position:0% 50%;
  box-shadow:inset 0 1px 0 rgba(255,247,226,.55),inset 0 -1px 0 rgba(84,58,22,.4),0 10px 24px -16px rgba(194,160,104,.45);}
.legal-head .btn-ink:hover,.legal-head .btn-ink:focus-visible{background-position:55% 50%;
  box-shadow:inset 0 1px 0 rgba(255,247,226,.7),inset 0 -1px 0 rgba(84,58,22,.4),0 14px 30px -16px rgba(194,160,104,.6);}
.btn-ink::after{content:"";position:absolute;top:0;bottom:0;left:0;width:70%;pointer-events:none;will-change:transform;
  background:linear-gradient(90deg,rgba(255,251,238,0) 0%,rgba(255,251,238,.1) 30%,rgba(255,251,238,.62) 50%,rgba(255,251,238,.1) 70%,rgba(255,251,238,0) 100%);
  transform:translateX(-120%) skewX(-18deg);}
.btn.is-sheen::after{animation:sheen 1.7s cubic-bezier(.37,0,.63,1);}
@keyframes sheen{from{transform:translateX(-120%) skewX(-18deg)}to{transform:translateX(175%) skewX(-18deg)}}
.btn-ink{position:relative;overflow:hidden;isolation:isolate;}
.kicker::before{transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.22,1,.36,1) .15s;}
.play .kicker::before{transform:scaleX(1);}
.masthead{position:relative;}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(194,160,104,0),rgba(194,160,104,.7) 50%,rgba(194,160,104,0));}
.legal-head h1,.stage h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.012em;color:var(--text);max-width:18ch;text-wrap:balance;}
.stage h1 em{font-style:italic;}
.legal-head .meta{margin-top:1.1rem;font-weight:500;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);}
.legal-head .lede,.stage .lede{margin-top:1.4rem;font-size:clamp(1.02rem,1.2vw,1.14rem);line-height:1.7;color:var(--text-2);max-width:60ch;text-wrap:pretty;}

/* ---------- Legal prose ---------- */
.prose{margin-top:clamp(2.75rem,6vh,3.75rem);}
.prose section{padding-top:1.9rem;margin-top:1.9rem;border-top:1px solid var(--rule);}
.prose section:first-child{border-top:none;padding-top:0;margin-top:0;}
.prose h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.4vw,1.85rem);line-height:1.15;color:var(--text);display:flex;gap:.9rem;align-items:baseline;}
.prose h2 .n{flex:none;font-family:var(--serif);font-weight:500;font-style:italic;font-size:1.05em;color:var(--brass-ink);font-variant-numeric:lining-nums;min-width:1.4em;}
.prose p{margin-top:.9rem;font-size:1rem;line-height:1.75;color:var(--text-2);max-width:68ch;}
.prose p:first-of-type{margin-top:1rem;}
.prose ul{margin:.9rem 0 0 0;padding-left:1.15rem;max-width:68ch;}
.prose li{margin-top:.5rem;font-size:1rem;line-height:1.7;color:var(--text-2);}
.prose li::marker{color:var(--brass-ink);}
.prose strong{color:var(--text);font-weight:500;}
.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--brass-ink);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .25s var(--ease);}
.prose a:hover{color:var(--brass-ink);}

/* Analytics opt-out control (privacy page) */
.optout{margin:1.2rem 0 1.4rem;padding:1.1rem 1.25rem;border:1px solid var(--rule-2);border-left:2px solid var(--brass-ink);background:var(--card);}
.optout-status{margin:0 0 .8rem;}
.optout-btn{font:inherit;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);cursor:pointer;padding:.75rem 1.1rem;border-radius:1px;border:1px solid var(--rule-2);background:transparent;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);}
.optout-btn:hover,.optout-btn:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--on-ink);outline:none;}

/* ---------- Contact ---------- */
.actions{margin-top:clamp(2rem,4.5vh,2.75rem);}
.cta-row{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;}
.methods{margin-top:clamp(3rem,7vh,4.5rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule);}
.method{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:1.9rem clamp(1rem,2.4vw,2rem) 2rem;border-left:1px solid var(--rule);transition:background .3s var(--ease);}
.method:first-child{border-left:0;padding-left:0;}
.method:hover{background:linear-gradient(180deg,rgba(13,17,48,.03),rgba(13,17,48,0));}
.method .mlabel{font-weight:500;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink);}
.method .mval{margin-top:.9rem;font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.1;color:var(--text);}
.method .msub{margin-top:.45rem;font-size:.9rem;line-height:1.5;color:var(--text-2);}
.method .mgo{margin-top:1.3rem;font-weight:500;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text);display:inline-flex;gap:.5em;}
.method .mgo::after{content:"\2192";transition:transform .3s var(--ease);}
.method:hover .mgo::after{transform:translateX(4px);}
.disclaimer{margin-top:1.6rem;font-size:.8125rem;line-height:1.65;color:var(--text-3);max-width:78ch;}
.disclaimer a{color:var(--text);text-decoration:underline;text-decoration-color:var(--brass-ink);text-decoration-thickness:1px;text-underline-offset:.22em;white-space:nowrap;}
@media (max-width:760px){
  .methods{grid-template-columns:1fr;}
  .method,.method:first-child{padding:1.6rem 0;border-left:0;border-top:1px solid var(--rule);}
  .method:first-child{border-top:0;}
  .cta-row .btn{flex:1 1 100%;}
}

/* ---------- Footer ---------- */
.lfoot{background:var(--ink);color:var(--on-ink-2);padding:2.25rem 0 2.5rem;}
.lfoot-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;}
.lfoot-ent{font-size:.8125rem;line-height:1.7;color:var(--on-ink-2);}
.lfoot-ent a{color:var(--on-ink);text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:1px;text-underline-offset:.22em;padding:.4rem 0;}
.lfoot-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;}
.lfoot-nav a{padding:.3rem 0;font-size:.8125rem;color:var(--on-ink-2);text-decoration:none;transition:color .25s var(--ease);}
.lfoot-nav a:hover{color:var(--brass);}

/* ---------- Entrance ---------- */
.reveal{opacity:0;transform:translateY(14px);}
.play .reveal{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease);}
.play .d1{transition-delay:.06s}.play .d2{transition-delay:.16s}.play .d3{transition-delay:.26s}.play .d4{transition-delay:.36s}.play .d5{transition-delay:.46s}

/* Reduced motion removes movement, not smoothing (see the home page): hover fades stay,
   the gold sweep becomes a glow that fades in. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;}
  .btn-ink::after{width:100%;transform:none;opacity:0;transition:opacity .9s cubic-bezier(.25,.1,.25,1);
    background:linear-gradient(110deg,rgba(255,251,238,0) 15%,rgba(255,251,238,.34) 50%,rgba(255,251,238,0) 85%);}
  .btn:hover::after,.btn:focus-visible::after{opacity:1;}
  .kicker::before{transform:none;}
  .reveal{opacity:1;transform:none;}
}
