/* ============================================================
   odNOVA legal V2 family
   Shared presentation contract for Privacy, Terms and Complaints.
   This file is intentionally scoped to .legalv2-page so no original
   legal page, or unrelated V2 candidate, can inherit the redesign.
   ============================================================ */

body.legalv2-page{
  --legalv2-paper:#f1eee7;
  --legalv2-paper-deep:#e7e1d7;
  --legalv2-ink:#172321;
  --legalv2-copy:#56615f;
  --legalv2-muted:#76807d;
  --legalv2-navy:#08121a;
  --legalv2-navy-2:#0d1a24;
  --legalv2-gold:#967144;
  --legalv2-gold-pale:#dfc69d;
  --legalv2-line:rgba(23,35,33,.15);
  --legalv2-line-dark:rgba(223,198,157,.18);
  color:var(--legalv2-ink);
  background:var(--legalv2-navy);
}

body.legalv2-page *,
body.legalv2-page *::before,
body.legalv2-page *::after{box-sizing:border-box;}
body.legalv2-page a{color:inherit;}
body.legalv2-page .page{overflow:clip;}

/* --- shared non-treatment hero adapter --- */
body.legalv2-page #top.legalv2-hero{
  position:relative;
  min-height:100svh!important;
  height:100svh!important;
  max-height:100svh!important;
  overflow:hidden!important;
}
body.legalv2-page #top.legalv2-hero::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  top:16%!important;
  right:-13vw!important;
  width:min(48vw,620px)!important;
  height:auto!important;
  aspect-ratio:1!important;
  border:1px solid rgba(201,183,154,.085)!important;
  border-radius:50%!important;
  background:none!important;
  box-shadow:0 0 0 8vw rgba(255,255,255,.003),0 0 0 16vw rgba(201,183,154,.008)!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  pointer-events:none!important;
}
body.legalv2-page #top .legalv2-field::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(42% 66% at 9% 92%,rgba(107,139,134,.055),transparent 74%),
    linear-gradient(108deg,transparent 19%,rgba(227,210,180,.015) 39%,rgba(205,223,218,.055) 50%,rgba(199,163,107,.025) 58%,transparent 78%);
  opacity:.72;
}
body.legalv2-page #top .legalv2-hero-copy .hs-eyebrow .od-dash{background:var(--legalv2-gold-pale)!important;}
body.legalv2-page #top .legalv2-hero-copy .ntv2-title .sub{color:var(--legalv2-gold-pale)!important;}
body.legalv2-page #top .legalv2-hero-copy .hs-lede{max-width:64ch!important;}
body.legalv2-page #top .legalv2-hero-copy .ntv2-hero-action{border-left-color:rgba(150,113,68,.78);}
body.legalv2-page #top .legalv2-hero-copy .ntv2-hero-action span:last-child{color:var(--legalv2-gold-pale);}

/* --- document shell and editorial prologue --- */
body.legalv2-page .legalv2-document{
  position:relative;
  isolation:isolate;
  overflow:clip;
  padding:clamp(92px,10vw,150px) 0 clamp(110px,12vw,176px);
  background:
    linear-gradient(90deg,transparent 0 7.4%,rgba(23,35,33,.035) 7.45%,transparent 7.55%),
    var(--legalv2-paper);
}
body.legalv2-page .legalv2-document::before{
  content:"POLICY";
  position:absolute;
  z-index:-1;
  top:clamp(170px,20vw,300px);
  right:-.05em;
  color:rgba(23,35,33,.022);
  font:300 clamp(150px,28vw,420px)/.75 var(--font-serif);
  letter-spacing:-.08em;
  pointer-events:none;
}
body.legalv2-page .legalv2-shell{
  width:min(1260px,calc(100% - clamp(44px,9vw,138px)));
  margin-inline:auto;
}
body.legalv2-page .legalv2-kicker,
body.legalv2-page .legalv2-index-label,
body.legalv2-page .legalv2-chapter-label,
body.legalv2-page .legalv2-terminal-kicker{
  margin:0;
  color:var(--legalv2-gold);
  font:400 10px/1.45 var(--font-mono);
  letter-spacing:.2em;
  text-transform:uppercase;
}
body.legalv2-page .legalv2-intro{
  display:grid;
  grid-template-columns:minmax(250px,4fr) minmax(0,8fr);
  gap:clamp(58px,8vw,126px);
  align-items:start;
  padding-bottom:clamp(72px,8vw,112px);
  border-bottom:1px solid var(--legalv2-line);
  scroll-margin-top:90px;
}
body.legalv2-page .legalv2-intro-heading{position:sticky;top:42px;}
body.legalv2-page .legalv2-intro h2{
  max-width:7.5ch;
  margin:22px 0 0;
  color:var(--legalv2-ink);
  font:300 clamp(52px,6vw,88px)/.91 var(--font-serif);
  letter-spacing:-.052em;
  text-wrap:balance;
}
body.legalv2-page .legalv2-intro-copy{padding-top:clamp(54px,6vw,88px);}
body.legalv2-page .legalv2-lead{
  max-width:61ch;
  margin:0 0 clamp(46px,5vw,70px);
  color:var(--legalv2-copy);
  font:300 clamp(18px,1.55vw,21px)/1.72 var(--font-sans);
  text-wrap:pretty;
}

/* Principles are a reading ledger, not a card grid. */
body.legalv2-page .legalv2-principles{
  counter-reset:legalv2-principle;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:0;
  border-top:1px solid var(--legalv2-line);
  list-style:none;
}
body.legalv2-page .legalv2-principles li{
  counter-increment:legalv2-principle;
  position:relative;
  min-width:0;
  padding:24px clamp(18px,3vw,36px) 26px 38px;
  border-bottom:1px solid var(--legalv2-line);
  color:var(--legalv2-copy);
  font:300 14.5px/1.68 var(--font-sans);
}
body.legalv2-page .legalv2-principles li:nth-child(odd){border-right:1px solid var(--legalv2-line);}
body.legalv2-page .legalv2-principles li::before{
  content:counter(legalv2-principle,decimal-leading-zero);
  position:absolute;
  top:27px;
  left:0;
  color:var(--legalv2-gold);
  font:400 9px/1 var(--font-mono);
  letter-spacing:.08em;
}

/* --- sticky reading map + long-form copy --- */
body.legalv2-page .legalv2-layout{
  display:grid;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr);
  gap:clamp(54px,7vw,112px);
  align-items:start;
  padding-top:clamp(72px,8vw,112px);
}
body.legalv2-page .legalv2-index{
  position:sticky;
  top:28px;
  align-self:start;
  min-width:0;
  padding:0 clamp(24px,3vw,42px) 30px 0;
  border-right:1px solid var(--legalv2-line);
}
body.legalv2-page .legalv2-index-label{margin-bottom:18px;}
body.legalv2-page .legalv2-index-links{display:flex;flex-direction:column;gap:2px;}
body.legalv2-page .legalv2-index-links > .legalv2-chapter-label{
  display:block;
  margin:18px 0 5px;
  color:var(--legalv2-gold);
  font:400 8.5px/1.35 var(--font-mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.legalv2-page .legalv2-index a{
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
  min-height:42px;
  padding:9px 7px 9px 18px;
  color:#697370;
  font:300 12.5px/1.4 var(--font-sans);
  text-decoration:none;
  transition:color .2s ease,transform .32s cubic-bezier(.16,1,.3,1);
}
body.legalv2-page .legalv2-index a::before{
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  left:0;
  width:1px;
  background:transparent;
  transition:background-color .2s ease,transform .32s cubic-bezier(.16,1,.3,1);
}
body.legalv2-page .legalv2-index a:hover,
body.legalv2-page .legalv2-index a:focus-visible,
body.legalv2-page .legalv2-index a[aria-current="location"]{
  color:var(--legalv2-ink);
  transform:translateX(3px);
}
body.legalv2-page .legalv2-index a[aria-current="location"]::before{background:var(--legalv2-gold);transform:scaleY(1.3);}
body.legalv2-page .legalv2-index a:focus-visible{outline:2px solid var(--legalv2-gold);outline-offset:3px;}

body.legalv2-page .legalv2-content{min-width:0;max-width:900px;}
body.legalv2-page .legalv2-chapter{
  max-width:880px;
  padding:0 0 clamp(70px,8vw,108px);
  scroll-margin-top:90px;
}
body.legalv2-page .legalv2-chapter + .legalv2-chapter{
  padding-top:clamp(64px,7vw,96px);
  border-top:1px solid var(--legalv2-line);
}
body.legalv2-page .legalv2-chapter:nth-child(even){margin-left:clamp(0px,3vw,44px);}
body.legalv2-page .legalv2-chapter h2{
  max-width:14ch;
  margin:0 0 clamp(30px,4vw,48px);
  color:var(--legalv2-ink);
  font:300 clamp(42px,5vw,68px)/.96 var(--font-serif);
  letter-spacing:-.045em;
  text-wrap:balance;
}
body.legalv2-page .legalv2-chapter h3{
  max-width:34ch;
  margin:clamp(42px,5vw,64px) 0 18px;
  color:var(--legalv2-ink);
  font:300 clamp(27px,3vw,38px)/1.05 var(--font-serif);
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.legalv2-page .legalv2-chapter p,
body.legalv2-page .legalv2-chapter li,
body.legalv2-page .legalv2-review-ledger dd{
  max-width:68ch;
  color:var(--legalv2-copy);
  font:300 clamp(15.5px,1.35vw,17px)/1.75 var(--font-sans);
  text-wrap:pretty;
}
body.legalv2-page .legalv2-chapter p{margin:0 0 20px;}
body.legalv2-page .legalv2-chapter ul,
body.legalv2-page .legalv2-chapter ol{max-width:68ch;margin:0 0 24px;padding-left:22px;}
body.legalv2-page .legalv2-chapter li{margin:0 0 12px;padding-left:5px;}
body.legalv2-page .legalv2-chapter ol ol{margin-top:12px;}
body.legalv2-page .legalv2-chapter a{
  color:#6f5334;
  text-decoration:none;
  border-bottom:1px solid rgba(150,113,68,.35);
  overflow-wrap:anywhere;
}
body.legalv2-page .legalv2-chapter a:hover{color:var(--legalv2-ink);border-bottom-color:var(--legalv2-gold);}
body.legalv2-page .legalv2-chapter a:focus-visible{outline:2px solid var(--legalv2-gold);outline-offset:3px;}

/* Generic legal-page components available to Terms and Complaints. */
body.legalv2-page .legalv2-note{
  max-width:68ch;
  margin:34px 0;
  padding:22px 24px;
  border-left:1px solid var(--legalv2-gold);
  background:rgba(255,255,255,.24);
}
body.legalv2-page .legalv2-note > :last-child{margin-bottom:0;}
body.legalv2-page .legalv2-note-label,
body.legalv2-page .legalv2-chapter__number{
  display:block;
  margin:0 0 10px;
  color:var(--legalv2-gold);
  font:400 10px/1.45 var(--font-mono);
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.legalv2-page .legalv2-chapter__header{display:flex;gap:20px;align-items:baseline;margin-bottom:clamp(30px,4vw,48px);}
body.legalv2-page .legalv2-chapter__header h2{margin:0;}
body.legalv2-page .legalv2-chapter__number{flex:none;margin:0;}
body.legalv2-page .legalv2-source-gap{margin-top:clamp(42px,5vw,68px);}
body.legalv2-page .legalv2-timing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:72ch;
  margin:34px 0;
  border-top:1px solid var(--legalv2-line);
  border-bottom:1px solid var(--legalv2-line);
}
body.legalv2-page .legalv2-timing > *{min-width:0;padding:18px 20px;border-right:1px solid var(--legalv2-line);}
body.legalv2-page .legalv2-timing > :last-child{border-right:0;}
body.legalv2-page .legalv2-review-ledger{max-width:72ch;margin:34px 0 0;border-top:1px solid var(--legalv2-line);}
body.legalv2-page .legalv2-review-ledger > div{
  display:grid;
  grid-template-columns:minmax(120px,3fr) minmax(0,9fr);
  gap:24px;
  padding:22px 0 24px;
  border-bottom:1px solid var(--legalv2-line);
}
body.legalv2-page .legalv2-review-ledger dt{
  color:var(--legalv2-gold);
  font:400 10px/1.5 var(--font-mono);
  letter-spacing:.15em;
  text-transform:uppercase;
}
body.legalv2-page .legalv2-review-ledger dd{margin:0;}
body.legalv2-page .legalv2-review-ledger__body p,
body.legalv2-page .legalv2-review-ledger__body li{
  color:var(--legalv2-copy);
  font:300 clamp(15.5px,1.35vw,17px)/1.75 var(--font-sans);
}
body.legalv2-page .legalv2-review-ledger__body p{margin:0 0 18px;}
body.legalv2-page .legalv2-review-ledger__body ol,
body.legalv2-page .legalv2-review-ledger__body ul{
  max-width:68ch;
  margin:0 0 20px;
  padding-left:22px;
}
body.legalv2-page .legalv2-review-ledger__body li{margin:0 0 10px;padding-left:5px;}
body.legalv2-page .legalv2-review-ledger__body > :last-child{margin-bottom:0;}
body.legalv2-page details.legalv2-disclosure{max-width:72ch;border-top:1px solid var(--legalv2-line);}
body.legalv2-page details.legalv2-disclosure:last-child{border-bottom:1px solid var(--legalv2-line);}
body.legalv2-page details.legalv2-disclosure > summary{
  min-height:56px;
  padding:17px 40px 17px 0;
  color:var(--legalv2-ink);
  font:300 16px/1.45 var(--font-sans);
  cursor:pointer;
}
body.legalv2-page details.legalv2-disclosure > :not(summary){margin-left:0;margin-right:0;}
body.legalv2-page details.legalv2-disclosure > div{padding:2px 0 26px;}
body.legalv2-page details.legalv2-disclosure.legalv2-review-ledger{display:block;margin-top:34px;}
body.legalv2-page details.legalv2-disclosure.legalv2-review-ledger > summary{border-bottom:1px solid var(--legalv2-line);}
body.legalv2-page details.legalv2-disclosure.legalv2-review-ledger[open] > summary{border-bottom:0;}

/* --- calm decision-free terminal --- */
body.legalv2-page .legalv2-terminal{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#edf0ee;
  background:
    radial-gradient(70% 120% at 100% 20%,rgba(85,112,133,.16),transparent 67%),
    linear-gradient(145deg,#071119 0%,#0b1721 58%,#101f2a 100%);
}
body.legalv2-page .legalv2-terminal::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-18vw;
  bottom:-48%;
  width:min(62vw,820px);
  aspect-ratio:1;
  border:1px solid rgba(223,198,157,.09);
  border-radius:50%;
  box-shadow:0 0 0 10vw rgba(223,198,157,.012);
}
body.legalv2-page .legalv2-terminal-inner{
  width:min(1180px,calc(100% - clamp(44px,10vw,150px)));
  min-height:min(76svh,760px);
  margin-inline:auto;
  padding:clamp(92px,10vw,150px) 0;
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(300px,5fr);
  gap:clamp(64px,9vw,142px);
  align-items:center;
}
body.legalv2-page .legalv2-terminal h2{
  max-width:9ch;
  margin:22px 0 26px;
  color:#f2eee7;
  font:300 clamp(52px,6.5vw,92px)/.91 var(--font-serif);
  letter-spacing:-.052em;
}
body.legalv2-page .legalv2-terminal-copy > p:last-child{
  max-width:49ch;
  margin:0;
  color:#aeb9c1;
  font:300 16px/1.7 var(--font-sans);
}
body.legalv2-page .legalv2-terminal-links{border-top:1px solid var(--legalv2-line-dark);}
body.legalv2-page .legalv2-terminal-links a,
body.legalv2-page .legalv2-terminal-links span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-width:0;
  min-height:64px;
  border-bottom:1px solid var(--legalv2-line-dark);
  color:#c2cbd1;
  font:400 10.5px/1.45 var(--font-mono);
  letter-spacing:.11em;
  text-decoration:none;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
body.legalv2-page .legalv2-terminal-links a::after{content:"→";flex:none;color:var(--legalv2-gold-pale);font-size:15px;}
body.legalv2-page .legalv2-terminal-links a:hover{color:#f2eee7;}
body.legalv2-page .legalv2-terminal-links a:focus-visible{outline:2px solid var(--legalv2-gold-pale);outline-offset:4px;}

/* --- responsive reading choreography --- */
@media (max-width:860px){
  body.legalv2-page #top.legalv2-hero::before{
    top:19%!important;
    right:-40vw!important;
    width:96vw!important;
  }
  body.legalv2-page .legalv2-shell{width:min(100%,calc(100% - 40px));}
  body.legalv2-page .legalv2-intro{grid-template-columns:minmax(0,1fr);gap:0;}
  body.legalv2-page .legalv2-intro-heading{position:static;}
  body.legalv2-page .legalv2-intro h2{max-width:10ch;}
  body.legalv2-page .legalv2-intro-copy{padding-top:42px;}
  body.legalv2-page .legalv2-layout{display:block;padding-top:0;}
  body.legalv2-page .legalv2-index{
    position:sticky;
    z-index:18;
    top:0;
    width:calc(100% + 40px);
    margin-left:-20px;
    padding:0;
    border:0;
    border-top:1px solid rgba(23,35,33,.09);
    border-bottom:1px solid rgba(23,35,33,.11);
    background:rgba(241,238,231,.92);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }
  body.legalv2-page .legalv2-index-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  body.legalv2-page .legalv2-index-links{
    display:flex;
    flex-direction:row;
    gap:0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    padding:0 20px;
    scroll-padding-inline:20px;
  }
  body.legalv2-page .legalv2-index-links::-webkit-scrollbar{display:none;}
  body.legalv2-page .legalv2-index a{
    flex:none;
    min-height:54px;
    padding:0 17px;
    white-space:nowrap;
    font:400 9.5px/1.2 var(--font-mono);
    letter-spacing:.08em;
    text-transform:uppercase;
    transform:none!important;
  }
  body.legalv2-page .legalv2-index a:first-child{padding-left:0;}
  body.legalv2-page .legalv2-index a::before{top:auto;right:17px;bottom:0;left:17px;width:auto;height:1px;transform:none!important;}
  body.legalv2-page .legalv2-index a:first-child::before{left:0;}
  body.legalv2-page .legalv2-index-links > .legalv2-chapter-label{
    flex:none;
    display:flex;
    align-items:center;
    margin:0;
    padding:0 13px;
    white-space:nowrap;
  }
  body.legalv2-page .legalv2-content{padding-top:clamp(70px,10vw,96px);}
  body.legalv2-page .legalv2-chapter:nth-child(even){margin-left:0;}
  body.legalv2-page .legalv2-terminal-inner{grid-template-columns:minmax(0,1fr);min-height:0;gap:54px;}
}

@media (max-width:600px){
  body.legalv2-page #top.legalv2-hero::before{top:23%!important;right:-55vw!important;width:124vw!important;opacity:.78!important;}
  body.legalv2-page #top .legalv2-hero-copy .ntv2-title .big{display:block!important;}
  body.legalv2-page #top .legalv2-hero-copy .ntv2-title .sub{display:block!important;max-width:12ch;margin-top:9px!important;}
  body.legalv2-page .legalv2-document{padding:82px 0 104px;}
  body.legalv2-page .legalv2-shell{width:calc(100% - 40px);}
  body.legalv2-page .legalv2-intro{padding-bottom:66px;}
  body.legalv2-page .legalv2-intro h2{font-size:48px;}
  body.legalv2-page .legalv2-lead{font-size:17px;line-height:1.68;}
  body.legalv2-page .legalv2-principles{grid-template-columns:minmax(0,1fr);}
  body.legalv2-page .legalv2-principles li:nth-child(odd){border-right:0;}
  body.legalv2-page .legalv2-principles li{padding-right:0;}
  body.legalv2-page .legalv2-chapter{padding-bottom:70px;scroll-margin-top:68px;}
  body.legalv2-page .legalv2-chapter + .legalv2-chapter{padding-top:62px;}
  body.legalv2-page .legalv2-chapter h2{font-size:42px;}
  body.legalv2-page .legalv2-chapter h3{font-size:29px;}
  body.legalv2-page .legalv2-chapter p,
  body.legalv2-page .legalv2-chapter li{font-size:15.5px;line-height:1.7;}
  body.legalv2-page .legalv2-review-ledger > div{grid-template-columns:minmax(0,1fr);gap:8px;}
  body.legalv2-page .legalv2-timing{grid-template-columns:minmax(0,1fr);}
  body.legalv2-page .legalv2-timing > *{border-right:0;border-bottom:1px solid var(--legalv2-line);}
  body.legalv2-page .legalv2-timing > :last-child{border-bottom:0;}
  body.legalv2-page .legalv2-terminal-inner{width:calc(100% - 40px);padding:86px 0 92px;}
  body.legalv2-page .legalv2-terminal h2{font-size:52px;}
}

@media (prefers-reduced-motion:reduce){
  body.legalv2-page *,
  body.legalv2-page *::before,
  body.legalv2-page *::after{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}
