/* legal.css — legal page template */
/* hero */
.l-hero { padding:150px var(--navi-pad) 40px; text-align:center; position:relative; overflow:hidden; }
.l-hero__glow { position:absolute; inset:-30% 0 auto 0; height:480px; background:radial-gradient(55% 60% at 50% 0%, rgba(23,41,135,.55), transparent 70%); }
.l-hero__in { position:relative; z-index:1; }
.l-hero h1 { font-size:clamp(34px,5vw,60px); margin-top:14px; }
.l-hero__date { margin-top:16px; font-family:var(--navi-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--navi-muted-dark); }

/* legal switcher tabs */
.l-tabs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding:0 var(--navi-pad); position:relative; z-index:1; }
.l-tab { padding:9px 18px; border-radius:999px; border:1px solid var(--navi-line-dark); font-size:14px; color:var(--navi-muted-dark); transition:all .3s var(--navi-ease); }
.l-tab:hover { color:var(--navi-off-white); border-color:rgba(220,230,253,.4); }
.l-tab.is-on { background:var(--navi-light-blue); color:var(--navi-dark-blue); border-color:var(--navi-light-blue); font-weight:500; }

/* layout: sticky toc + prose */
.l-wrap { max-width:1120px; margin:56px auto 0; padding:0 var(--navi-pad) clamp(80px,10vw,140px); display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start; }
.l-toc { position:sticky; top:96px; border-left:1px solid var(--navi-line-dark); padding-left:18px; display:grid; gap:2px; max-height:calc(100vh - 130px); overflow:auto; }
.l-toc__label { font-family:var(--navi-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--navi-muted-dark); margin-bottom:10px; }
.l-toc a { font-size:13.5px; color:var(--navi-muted-dark); padding:5px 0; line-height:1.35; transition:color .25s; }
.l-toc a:hover { color:var(--navi-off-white); }
.l-toc a.is-here { color:var(--navi-light-blue); }
@media (max-width:880px){ .l-wrap{ grid-template-columns:1fr; } .l-toc{ position:relative; top:0; max-height:none; margin-bottom:10px; } }

/* prose */
.l-prose { font-weight:300; color:var(--navi-pastel-blue); font-size:16px; line-height:1.75; }
.l-prose h2 { font-size:clamp(22px,2.6vw,30px); font-weight:500; color:var(--navi-off-white); margin:2.2em 0 .6em; scroll-margin-top:96px; letter-spacing:-.01em; }
.l-prose h2:first-child { margin-top:0; }
.l-prose h3 { font-size:18px; font-weight:500; color:var(--navi-off-white); margin:1.6em 0 .4em; }
.l-prose p { margin:0 0 1em; }
.l-prose b { font-weight:600; color:var(--navi-off-white); }
.l-prose ul { margin:0 0 1.2em; padding-left:0; list-style:none; display:grid; gap:8px; }
.l-prose ul li { position:relative; padding-left:22px; }
.l-prose ul li::before { content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--navi-light-blue); }
.l-prose a { color:var(--navi-light-blue); }
.l-contact { border:1px solid var(--navi-line-dark); border-radius:14px; padding:18px 20px; background:rgba(220,230,253,.045); line-height:1.9; }

