:root { --navy:#051117; --panel:#09212b; --panel-lift:#0e2c36; --brass:#dba85c; --gold:#fcdb9c; --ivory:#ebede6; --muted:#91a9b0; --cyan:#74d2de; --line:rgba(219,168,92,.25); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ivory); background:var(--navy); font-family:ui-rounded, "Avenir Next", Avenir, "Trebuchet MS", system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; z-index:-2; opacity:.7; background:radial-gradient(circle at 84% 8%, rgba(14,44,54,.92), transparent 31rem), radial-gradient(circle at 10% 48%, rgba(219,168,92,.07), transparent 28rem), var(--navy); }
body::after { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.22; background-image:repeating-radial-gradient(ellipse 90% 25% at 58% 18%, transparent 0 15px, rgba(219,168,92,.15) 16px 17px, transparent 18px 32px); background-size:100% 385px; mask-image:linear-gradient(to bottom, black, transparent 80%); }
a { color:inherit; text-decoration:none; }
.shell { max-width:1120px; margin:0 auto; padding:0 32px; }
.site-header { min-height:90px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(219,168,92,.34); }
.brand { display:flex; align-items:center; gap:11px; min-width:0; }
.brand-mark { display:block; flex:0 0 34px; width:34px; height:34px; }
.brand-mark svg { display:block; width:100%; height:100%; overflow:visible; filter:drop-shadow(0 1px 5px rgba(252,219,156,.24)); }
.brand-name { display:grid; gap:2px; color:var(--ivory); font-family:"Avenir Next", Avenir, ui-rounded, system-ui, sans-serif; font-size:.68rem; font-weight:300; letter-spacing:.29em; line-height:1; white-space:nowrap; }
.nav { display:flex; align-items:center; gap:27px; color:rgba(235,237,230,.88); font-size:.78rem; font-weight:500; letter-spacing:.08em; }
.nav a:hover, .legal-content a:hover, footer a:hover { color:var(--gold); }
.legal-wrap { max-width:800px; margin:0 auto; padding:84px 0 118px; }
.eyebrow { color:var(--brass); font-size:.69rem; font-weight:800; letter-spacing:.24em; }
h1 { margin:18px 0 14px; color:var(--ivory); font-family:Georgia, "Times New Roman", serif; font-size:clamp(3rem,7vw,5.2rem); font-weight:400; line-height:.96; letter-spacing:-.06em; }
.intro { max-width:650px; margin:0; color:var(--muted); font-size:1.08rem; line-height:1.75; }
.updated { margin:24px 0 42px; color:var(--brass); font-size:.7rem; font-weight:800; letter-spacing:.15em; }
.legal-content { padding:clamp(28px,5vw,56px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(14,44,54,.9),rgba(9,33,43,.68)); }
.legal-content section + section { margin-top:42px; padding-top:42px; border-top:1px solid rgba(219,168,92,.17); }
.legal-content h2 { margin:0 0 14px; color:var(--gold); font-family:Georgia, "Times New Roman", serif; font-size:1.75rem; font-weight:400; line-height:1.15; }
.legal-content p, .legal-content li { color:var(--muted); font-size:1rem; line-height:1.8; }
.legal-content p { margin:0 0 16px; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content ul { margin:0; padding-left:1.3rem; }
.legal-content a { color:var(--cyan); text-decoration:underline; text-decoration-color:rgba(116,210,222,.4); text-underline-offset:3px; }
.contact-card { margin-top:18px; padding:19px 20px; border-left:2px solid var(--brass); background:rgba(219,168,92,.08); color:var(--ivory); }
.contact-card strong { display:block; margin-bottom:5px; color:var(--gold); font-size:.72rem; letter-spacing:.13em; }
footer { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:102px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; letter-spacing:.08em; }
.footer-links { display:flex; gap:18px; }
footer a { transition:color .2s ease; }
@media (max-width:700px) { .shell { padding:0 21px; } .site-header { min-height:74px; } .nav { gap:14px; font-size:.73rem; } .legal-wrap { padding:58px 0 80px; } .legal-content { border-radius:15px; } footer { align-items:flex-start; flex-direction:column; justify-content:center; } }
@media (max-width:430px) { .nav { display:none; } .brand-mark { flex-basis:30px; width:30px; height:30px; } .brand { gap:9px; } .brand-name { font-size:.62rem; letter-spacing:.27em; } h1 { font-size:clamp(2.8rem,14vw,3.8rem); } .legal-content { padding:27px 23px; } .legal-content section + section { margin-top:34px; padding-top:34px; } }
