/* Policy pages share the site identity while keeping long copy easy to read. */
.legal-page{background:var(--white);color:var(--ink)}
.legal-page .legal-hero{max-width:none;padding:70px max(40px,calc((100% - 1160px)/2)) 64px;background:var(--ink);color:var(--white);border-bottom:6px solid var(--orange)}
.legal-page .legal-hero .eyebrow{color:var(--white);font-size:11px;line-height:1.6;margin-bottom:23px}
.legal-page .legal-hero h1{max-width:19ch;font-family:var(--font-display);font-size:clamp(48px,6vw,80px);font-weight:700;line-height:1.05;letter-spacing:-.045em;overflow-wrap:break-word}
.legal-page .legal-intro{max-width:690px;margin-top:25px;color:#e3e3e3;font-size:16px;line-height:1.75}
.legal-page .legal-updated{margin-top:16px;color:#bcbcbc;font-size:12px;line-height:1.6}
.legal-page .legal-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:space-between;align-items:start;gap:72px;padding-top:60px;padding-bottom:100px}
.legal-page .legal-toc{position:sticky;top:120px;min-width:0;max-height:calc(100vh - 145px);max-height:calc(100svh - 145px);overflow:auto;padding:0 12px 0 18px;border-left:3px solid var(--orange);scrollbar-width:thin}
.legal-page .legal-toc-label{margin:0 0 12px;color:var(--ink);font-size:12px;font-weight:650;line-height:1.5}
.legal-page .legal-toc-desktop{display:block}
.legal-page .legal-toc-mobile{display:none}
.legal-page .legal-toc-mobile>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px;list-style:none;color:var(--ink);font-size:13px;font-weight:650;line-height:1.5;letter-spacing:0;cursor:pointer}
.legal-page .legal-toc-mobile>summary::-webkit-details-marker{display:none}
.legal-page .legal-toc-mobile>summary::marker{content:""}
.legal-page .legal-toc-mobile>summary:after{content:"+";flex:none;width:20px;text-align:center;color:var(--blue);font-size:22px;font-weight:400;line-height:1}
.legal-page .legal-toc-mobile[open]>summary:after{content:"−"}
.legal-page .legal-toc-mobile>summary:hover{color:var(--blue)}
.legal-page .legal-toc-mobile>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:2px}
.legal-page .legal-toc-mobile[open]>ul{padding-top:7px}
.legal-page .legal-toc ul{list-style:none;margin:0;padding:0}
.legal-page .legal-toc li{margin:0;padding:0}
.legal-page .legal-toc a{display:block;padding:8px 3px;color:#343434;font-size:12px;font-weight:550;line-height:1.55;text-decoration:none;overflow-wrap:anywhere}
.legal-page .legal-toc a:hover,.legal-page .legal-toc a[aria-current]{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.legal-page .legal-content{min-width:0;width:100%;max-width:760px;font-size:16px;line-height:1.8;overflow-wrap:break-word}
.legal-page .legal-section{scroll-margin-top:125px;padding-bottom:38px;margin-bottom:39px;border-bottom:1px solid var(--line)}
.legal-page .legal-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.legal-page .legal-content h2{margin:0 0 21px;font-family:var(--font-display);font-size:clamp(27px,2.7vw,35px);font-weight:650;line-height:1.22;letter-spacing:-.025em;color:var(--ink)}
.legal-page .legal-content h3{margin:26px 0 13px;font-size:19px;font-weight:650;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
.legal-page .legal-content p{color:#353535;margin:0 0 18px;font-size:inherit;line-height:inherit}
.legal-page .legal-content :is(ul,ol){margin:18px 0 22px;padding-left:25px;color:#353535}
.legal-page .legal-content li{padding-left:4px;margin-bottom:10px}
.legal-page .legal-content li:last-child{margin-bottom:0}
.legal-page .legal-content li::marker{color:var(--blue)}
.legal-page .legal-content li :is(ul,ol){margin-top:10px;margin-bottom:12px}
.legal-page .legal-content strong{color:var(--ink);font-weight:650}
.legal-page .legal-content a,.legal-page .legal-intro a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page .legal-content a:hover{color:var(--ink);text-decoration-thickness:2px}
.legal-page .legal-intro a{color:var(--white)}
.legal-page .legal-intro a:hover{text-decoration-thickness:2px}
.legal-page a:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:2px}
.legal-page .legal-toc a:focus-visible{outline-offset:0}
.legal-page .legal-hero a:focus-visible{outline-color:var(--white)}
.legal-page .legal-notice{margin:0 0 32px;padding:22px 25px;background:var(--orange-soft,#fff0e8);border-left:4px solid var(--blue);color:var(--ink);font-size:15px;line-height:1.75}
.legal-page .legal-notice p{color:var(--ink)}
.legal-page .legal-notice>:last-child,.legal-page .legal-section>:last-child{margin-bottom:0}

@media(max-width:1000px){
  .legal-page .legal-hero{padding:59px 28px 55px}
  .legal-page .legal-layout{grid-template-columns:190px minmax(0,1fr);gap:42px;padding-top:48px;padding-bottom:80px}
  .legal-page .legal-toc{top:106px;max-height:calc(100svh - 128px);padding-left:14px}
  .legal-page .legal-toc a{font-size:11px}
}
@media(max-width:760px){
  .legal-page .legal-hero{padding:45px 23px 43px}
  .legal-page .legal-hero h1{font-size:clamp(42px,10.8vw,64px);line-height:1.07;letter-spacing:-.04em}
  .legal-page .legal-hero .eyebrow{font-size:10px;margin-bottom:20px}
  .legal-page .legal-intro{margin-top:22px;font-size:15px;line-height:1.75}
  .legal-page .legal-layout{grid-template-columns:minmax(0,1fr);gap:37px;padding-top:31px;padding-bottom:62px}
  .legal-page .legal-toc{position:static;max-height:none;overflow:visible;padding-left:15px;padding-right:0}
  .legal-page .legal-toc-desktop{display:none}
  .legal-page .legal-toc-mobile{display:block}
  .legal-page .legal-toc a{font-size:12px;padding:8px 4px}
  .legal-page .legal-content{font-size:15px;line-height:1.8}
  .legal-page .legal-content h2{font-size:29px;margin-bottom:19px}
  .legal-page .legal-content h3{font-size:18px}
  .legal-page .legal-section{scroll-margin-top:104px;padding-bottom:29px;margin-bottom:31px}
  .legal-page .legal-notice{padding:19px 20px;font-size:14px;margin-bottom:27px}
}
