/* ── Legal/Privacy/Terms page styles ── */
.legal-hero{background:var(--ink);padding:72px 80px 56px;text-align:center;position:relative;overflow:hidden;}
.legal-hero h1{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,48px);font-weight:400;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:10px;}
.legal-hero p{font-size:15px;color:rgba(255,255,255,.52);max-width:500px;margin:0 auto;}
.legal-hero .hero-eye{margin-bottom:16px;justify-content:center;}
.legal-hero time{color:rgba(255,255,255,.4);}

/* ── Body (simple pages: terms, legal) ── */
.legal-body{max-width:760px;margin:0 auto;padding:56px 80px 80px;}
.legal-body h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;color:var(--ink);margin:36px 0 12px;line-height:1.2;}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-size:16px;font-weight:600;color:var(--ink);margin:24px 0 10px;}
.legal-body p{font-size:15px;color:var(--mid);line-height:1.75;margin-bottom:16px;}
.legal-body ul,.legal-body ol{list-style:none;margin-bottom:16px;}
.legal-body li{font-size:15px;color:var(--mid);line-height:1.75;padding-left:18px;position:relative;margin-bottom:6px;}
.legal-body li::before{content:'\2014';position:absolute;left:0;color:var(--soft);}
.legal-body ol li::before{content:none;}
.legal-body ol{counter-reset:legal-ol;}
.legal-body ol li{counter-increment:legal-ol;padding-left:24px;}
.legal-body ol li::after{content:counter(legal-ol) '.';position:absolute;left:0;color:var(--soft);font-weight:500;}
.legal-body a{color:var(--blue);text-decoration:none;}
.legal-body a:hover{text-decoration:underline;}
.legal-body strong{color:var(--ink);font-weight:600;}
.legal-updated{font-size:13px;color:var(--soft);margin-top:40px;padding-top:20px;border-top:1px solid var(--border);}

/* ── TOC sidebar layout (privacy notice) ── */
.legal-wrap{max-width:1200px;margin:0 auto;padding:56px 80px 80px;display:flex;gap:48px;}
.legal-toc{width:220px;flex-shrink:0;}
.legal-toc-inner{position:sticky;top:80px;}
.legal-toc-label{font-family:'DM Mono',monospace;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin-bottom:12px;}
.legal-toc nav{display:flex;flex-direction:column;gap:2px;}
.legal-toc nav a{display:block;font-size:13px;color:var(--mid);text-decoration:none;padding:5px 12px;border-left:2px solid transparent;transition:.14s;line-height:1.4;}
.legal-toc nav a:hover{color:var(--ink);border-left-color:var(--border);}
.legal-toc nav a.active{color:var(--blue);border-left-color:var(--blue);}
.legal-main{flex:1;min-width:0;}
.legal-main h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;color:var(--ink);margin:0 0 14px;line-height:1.2;scroll-margin-top:80px;}
.legal-main h3{font-size:16px;font-weight:600;color:var(--ink);margin:24px 0 10px;}
.legal-main p{font-size:15px;color:var(--mid);line-height:1.75;margin-bottom:16px;}
.legal-main ul{list-style:none;margin-bottom:16px;}
.legal-main li{font-size:15px;color:var(--mid);line-height:1.75;padding-left:18px;position:relative;margin-bottom:6px;}
.legal-main li::before{content:'\2014';position:absolute;left:0;color:var(--soft);}
.legal-main a{color:var(--blue);text-decoration:none;}
.legal-main a:hover{text-decoration:underline;}
.legal-main strong{color:var(--ink);font-weight:600;}
.legal-section{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--border);}
.legal-section:last-child{border-bottom:none;margin-bottom:0;}
.legal-stamp{background:var(--off);border:1px solid var(--border);border-radius:8px;padding:20px 24px;margin-top:40px;}
.legal-stamp p{font-size:13px;color:var(--mid);margin-bottom:4px;}
.legal-stamp strong{color:var(--ink);}

@media(max-width:1100px){
  .legal-wrap{padding:40px;gap:32px;}
  .legal-toc{width:180px;}
}
@media(max-width:680px){
  .legal-hero{padding:56px 20px 40px;}
  .legal-body{padding:36px 20px 56px;}
  .legal-wrap{flex-direction:column;padding:32px 20px 48px;gap:0;}
  .legal-toc{width:100%;margin-bottom:32px;}
  .legal-toc-inner{position:static;}
  .legal-toc nav a{border-left:none;padding:4px 0;}
}
