/* Halo & Vice Media Group — shared legal subpage styles.
   Locked brand system: #0B0B0D base · #F2EDE4 ivory · #B8935B gold · #7A1128 oxblood · #8B8B93 grey
   Oxblood is decorative only (1.82:1 on base) — never used for text. */

:root{
  --bg:#0B0B0D;
  --bg-raise:#111013;
  --ink:#F2EDE4;
  --ink-dim:#C9C6C0;
  --gold:#B8935B;
  --gold-soft:rgba(184,147,91,0.22);
  --oxblood:#7A1128;
  --grey:#8B8B93;
  --hair:rgba(242,237,228,0.09);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --pad-x:clamp(24px,7vw,120px);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.65;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-weight:400;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold);color:var(--bg);}

a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;
}
.skip{
  position:absolute;left:16px;top:-100px;z-index:2000;
  background:var(--gold);color:var(--bg);padding:12px 20px;
  font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  transition:top 0.2s var(--ease);
}
.skip:focus{top:16px;}

/* ---------- ambient ---------- */
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.aurora span{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.4;}
.aurora .a1{
  width:52vw;height:52vw;left:-16vw;top:-14vw;
  background:radial-gradient(circle,rgba(122,17,40,0.5),transparent 68%);
}
.aurora .a2{
  width:44vw;height:44vw;right:-14vw;bottom:-10vh;
  background:radial-gradient(circle,rgba(184,147,91,0.2),transparent 68%);
}
.grain{
  position:fixed;inset:-12%;z-index:60;pointer-events:none;opacity:0.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.34'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* ---------- nav (matches main page) ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:110;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:15px var(--pad-x);
  background:rgba(11,11,13,0.82);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  backdrop-filter:blur(18px) saturate(1.3);
  border-bottom:1px solid var(--hair);
}
.navlinks{display:flex;gap:34px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;}
.navlinks a{position:relative;color:rgba(242,237,228,0.82);padding:6px 0;transition:color 0.25s;}
.navlinks a::after{
  content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform 0.45s var(--ease);
}
.navlinks a:hover{color:var(--ink);}
.navlinks a:hover::after{transform:scaleX(1);transform-origin:0 50%;}
.logo{text-align:center;line-height:1;}
.logo .lg-main{font-family:'Fraunces',serif;font-size:20px;font-weight:500;letter-spacing:0.07em;}
.logo .lg-main .amp{color:var(--gold);font-style:italic;font-weight:300;}
.logo .lg-sub{font-size:8px;letter-spacing:0.36em;color:var(--grey);margin-top:4px;}
.nav-right{display:flex;justify-content:flex-end;}
.nav-cta{
  font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;
  border:1px solid var(--gold);color:var(--gold);padding:10px 20px;
  position:relative;overflow:hidden;transition:color 0.35s var(--ease);
}
.nav-cta::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateY(101%);transition:transform 0.42s var(--ease);z-index:-1;
}
.nav-cta:hover{color:var(--bg);}
.nav-cta:hover::before{transform:translateY(0);}
.nav-cta span{position:relative;z-index:1;}

/* ---------- page head ---------- */
.legal-head{
  position:relative;z-index:1;
  padding:clamp(130px,17vh,180px) var(--pad-x) clamp(40px,6vh,60px);
  border-bottom:1px solid var(--hair);
}
.crumb{
  font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--grey);margin-bottom:20px;display:flex;align-items:center;gap:10px;
}
.crumb a{color:var(--grey);transition:color 0.25s;}
.crumb a:hover{color:var(--gold);}
.crumb .sep{color:var(--gold);font-style:italic;font-family:'Fraunces',serif;}
.legal-head h1{
  font-size:clamp(32px,5.2vw,62px);line-height:1.04;letter-spacing:-0.01em;
  max-width:18ch;
}
.legal-head h1 em{font-style:italic;color:var(--gold);}
.updated{
  margin-top:22px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--grey);
}

/* ---------- body ---------- */
.legal-body{
  position:relative;z-index:1;
  padding:clamp(56px,8vh,88px) var(--pad-x) clamp(72px,10vh,110px);
  max-width:calc(78ch + var(--pad-x) * 2);   /* readable measure */
}
.legal-body .intro{
  font-size:clamp(16px,1.3vw,18.5px);color:var(--ink-dim);
  padding-bottom:34px;margin-bottom:14px;border-bottom:1px solid var(--gold-soft);
}
.legal-body section{margin-top:48px;}
.legal-body h2{
  font-size:clamp(21px,2.3vw,29px);line-height:1.2;margin-bottom:16px;
  display:flex;gap:16px;align-items:baseline;
}
.legal-body h2 .n{
  font-family:'Fraunces',serif;font-style:italic;font-size:0.55em;
  color:var(--gold);flex-shrink:0;
}
.legal-body h3{
  font-size:16.5px;margin:26px 0 10px;color:var(--ink);
  font-family:'Inter',sans-serif;font-weight:600;
  letter-spacing:0.02em;
}
.legal-body p{color:var(--ink-dim);margin-bottom:16px;font-size:15.5px;}
.legal-body ul,.legal-body ol{margin:0 0 16px 20px;color:var(--ink-dim);font-size:15.5px;}
.legal-body li{margin-bottom:9px;padding-left:6px;}
.legal-body li::marker{color:var(--gold);}
.legal-body a:not(.nav-cta):not(.crumb a){
  color:var(--gold);border-bottom:1px solid var(--gold-soft);
  transition:border-color 0.25s;
}
.legal-body a:not(.nav-cta):hover{border-bottom-color:var(--gold);}
.legal-body strong{color:var(--ink);font-weight:600;}

/* callout — used for the 2257 core disclosure and similar */
.callout{
  background:linear-gradient(158deg,rgba(122,17,40,0.26),rgba(11,11,13,0.85));
  border:1px solid var(--gold-soft);border-left:2px solid var(--gold);
  padding:26px 30px;margin:26px 0;
}
.callout p:last-child{margin-bottom:0;}
.callout p{color:var(--ink);}

/* ---------- footer (matches main page) ---------- */
footer{
  position:relative;z-index:1;
  padding:clamp(56px,7vh,80px) var(--pad-x) 36px;
  border-top:1px solid var(--hair);font-size:13px;color:var(--grey);
  background:rgba(11,11,13,0.7);
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:clamp(28px,4vw,48px);margin-bottom:44px;
}
.footer-col h4{
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ink);margin-bottom:18px;font-weight:700;
}
.footer-col div{margin-bottom:11px;line-height:1.65;}
.footer-col a{transition:color 0.25s;}
.footer-col a:hover{color:var(--gold);}
.footer-col a[aria-current]{color:var(--gold);}
.footer-brand{font-family:'Fraunces',serif;font-size:19px;color:var(--ink);margin-bottom:14px;}
.footer-brand .amp{color:var(--gold);font-style:italic;}
.footer-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  padding-top:26px;border-top:1px solid var(--hair);font-size:12px;
}

/* ---------- responsive ---------- */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .navlinks{display:none;}
  nav{grid-template-columns:auto 1fr;padding:14px var(--pad-x);}
  .logo{text-align:left;}
  .legal-body h2{flex-direction:column;gap:4px;}
}
@media(max-width:420px){
  .logo .lg-main{font-size:16px;}
  .logo .lg-sub{font-size:7px;letter-spacing:0.28em;}
  .nav-cta{padding:9px 13px;font-size:9.5px;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:0.001ms !important;transition-duration:0.001ms !important;
  }
  .grain,.aurora{display:none;}
}
