*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
:root{--maroon:#5e0a0a;--dark:#250303;--ink:#202124;--muted:#6c7075;--line:#e7e7e7;--soft:#f7f7f8;--white:#fff;--max:1200px}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.75}
a{color:var(--maroon);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:850;color:var(--maroon);letter-spacing:-.02em}
.header-right{display:flex;align-items:center;gap:18px}
.header-label{font-size:.7rem;letter-spacing:.14em;font-weight:800;color:#777}
.menu-toggle{display:none;border:0;background:none;color:var(--maroon);font-size:1.45rem;cursor:pointer}

.hero{background:linear-gradient(135deg,var(--dark),var(--maroon));color:#fff;padding:68px 0}
.eyebrow{font-size:.68rem;letter-spacing:.17em;font-weight:800;opacity:.7}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.05em;margin:12px 0}
.hero p{max-width:780px;margin:0;font-size:1.02rem;opacity:.9}
.updated{display:block;margin-top:17px;font-size:.77rem;opacity:.62}

.legal-layout{display:grid;grid-template-columns:245px minmax(0,800px);gap:70px;padding-top:58px;padding-bottom:90px}
.sidebar{position:sticky;top:94px;align-self:start;max-height:calc(100vh - 115px);overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--soft);padding:17px}
.side-top{display:flex;justify-content:space-between;align-items:center}
.side-title{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:850;color:#555;margin:0 3px 11px}
.close-menu{display:none;border:0;background:none;font-size:1.5rem;color:var(--maroon)}
.side-nav a{display:flex;gap:9px;align-items:flex-start;padding:7px 4px;font-size:.81rem;color:#555;border-radius:6px}
.side-nav a span{font-size:.65rem;font-weight:800;color:#aaa;min-width:22px;padding-top:2px}
.side-nav a:hover{text-decoration:none;background:#fff;color:var(--maroon)}
.side-nav a.active{background:#fff;color:var(--maroon);font-weight:750;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.side-nav a.active span{color:var(--maroon)}

.legal-content{min-width:0}
.intro-box{background:var(--soft);border-left:4px solid var(--maroon);padding:20px 22px;border-radius:7px;margin-bottom:55px}
.intro-box p:last-child{margin-bottom:0}

.legal-section{padding:15px 0 55px;border-bottom:1px solid var(--line);margin-bottom:45px;scroll-margin-top:100px}
.legal-section:last-of-type{border-bottom:0}
.section-kicker{font-size:.67rem;font-weight:850;letter-spacing:.15em;color:var(--maroon);margin-bottom:4px}
.legal-section>h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 22px}
.legal-section h3{font-size:1.12rem;line-height:1.35;margin:29px 0 9px}
.legal-section h3:first-of-type{margin-top:0}
.legal-section p{margin:0 0 15px}
.legal-section ul{padding-left:23px;margin:8px 0 18px}
.legal-section li{margin:7px 0}
.contact-box{background:var(--soft);border-left:4px solid var(--maroon);border-radius:6px;padding:19px 21px}
.review-note{margin-top:18px;padding:17px 19px;border:1px solid #eadcdc;border-radius:8px;background:#fff8f8;font-size:.88rem}

.footer{border-top:1px solid var(--line);background:#fafafa}
.footer-inner{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:.79rem;color:#777}

@media(max-width:1050px){
 .legal-layout{grid-template-columns:1fr;gap:30px}
 .sidebar{position:fixed;z-index:1100;left:0;top:72px;bottom:0;width:min(330px,88vw);max-height:none;border-radius:0 13px 13px 0;transform:translateX(-105%);transition:transform .22s ease;box-shadow:15px 0 35px rgba(0,0,0,.12)}
 .sidebar.open{transform:translateX(0)}
 .menu-toggle{display:block}
 .close-menu{display:block}
}
@media(max-width:650px){
 .container{width:calc(100% - 28px)}
 .hero{padding:50px 0}
 .header-label{display:none}
 .legal-layout{padding-top:36px;padding-bottom:60px}
 .legal-section{padding-bottom:40px;margin-bottom:35px}
 .legal-section>h2{font-size:1.5rem}
 .footer-inner{padding:18px 0;align-items:flex-start;flex-direction:column}
}
