:root{
    --bg:#080102;
    --bg-2:#120305;
    --surface:#170609;
    --surface-2:#21090d;
    --surface-3:#2b0d12;
    --line:rgba(255,255,255,0.12);
    --line-strong:rgba(255,255,255,0.2);
    --accent:#e21b2d;
    --accent-soft:#ff4052;
    --accent-dark:#9f0714;
    --text:#ffffff;
    --text-muted:#d8d8d8;
    --text-faint:#9f9f9f;
    --white-soft:#f7f7f7;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
    background:
            radial-gradient(circle at top left, rgba(226,27,45,0.24), transparent 34%),
            linear-gradient(180deg,var(--bg),var(--bg-2) 45%,#070102 100%);
    color:var(--text);
    font-family:'Inter', Arial, sans-serif;
    line-height:1.7;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.logo{font-family:'Fraunces', Georgia, serif;}
a{color:inherit; text-decoration:none;}
:focus-visible{outline:2px solid var(--accent-soft); outline-offset:3px;}
.container{max-width:880px; margin:0 auto; padding:0 6vw;}

header{
    position:sticky; top:0; z-index:30;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 6vw;
    background:rgba(8,1,2,0.93);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 30px rgba(0,0,0,0.28);
}
.logo{font-weight:700; font-size:1.45rem; letter-spacing:0.2px; color:var(--text);}
.logo em{font-style:normal; color:var(--accent-soft);}
nav{display:flex; align-items:center; gap:26px;}
.nav-link{color:var(--text-muted); font-size:0.9rem; font-weight:600; transition:color .2s;}
.nav-link:hover{color:var(--text);}
.btn-primary{
    background:linear-gradient(135deg,var(--accent),var(--accent-dark));
    color:#fff; font-weight:800; font-size:0.86rem;
    padding:10px 22px; border-radius:999px;
    letter-spacing:0.2px;
    box-shadow:0 10px 24px rgba(226,27,45,0.28);
    border:1px solid rgba(255,255,255,0.16);
    transition:transform .15s, box-shadow .15s, background .15s;
}
.btn-primary:hover{background:linear-gradient(135deg,var(--accent-soft),var(--accent)); transform:translateY(-1px); box-shadow:0 14px 28px rgba(226,27,45,0.34);}

.hero{padding:68px 0 38px;}
.doc-label{
    display:inline-flex; align-items:center; gap:8px;
    color:#fff; font-weight:800; letter-spacing:2.3px; text-transform:uppercase;
    font-size:0.72rem; margin-bottom:18px;
    background:rgba(226,27,45,0.18);
    border:1px solid rgba(226,27,45,0.35);
    border-radius:999px;
    padding:7px 12px;
}
h1{
    font-size:clamp(2.05rem, 4.5vw, 2.85rem);
    font-weight:700; letter-spacing:0.2px;
    margin-bottom:20px;
    color:#fff;
}
.hero p{color:var(--text-muted); font-size:1.02rem; max-width:690px;}
.doc-meta{
    margin-top:28px; padding:22px;
    border:1px solid var(--line);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.02));
    display:flex; flex-wrap:wrap; gap:28px;
}
.doc-meta div{font-size:0.82rem;}
.doc-meta span{display:block; color:var(--text-faint); text-transform:uppercase; letter-spacing:1px; font-size:0.68rem; margin-bottom:4px;}
.doc-meta strong{color:var(--text); font-weight:600;}

.toc-wrap{padding:0 0 50px;}
.toc{
    background:linear-gradient(180deg,var(--surface-2),var(--surface));
    border:1px solid var(--line);
    border-radius:16px;
    padding:28px 30px;
    box-shadow:0 20px 45px rgba(0,0,0,0.22);
}
.toc h2{
    font-size:0.95rem; font-weight:800; text-transform:uppercase; letter-spacing:1.5px;
    color:#fff; margin-bottom:16px; font-family:'Inter', Arial, sans-serif;
}
.toc ol{list-style:none; columns:2; column-gap:32px;}
.toc li{margin-bottom:10px; break-inside:avoid;}
.toc a{display:flex; gap:10px; font-size:0.88rem; color:var(--text-muted); transition:color .15s, transform .15s;}
.toc a:hover{color:#fff; transform:translateX(2px);}
.toc a .n{color:var(--accent-soft); font-variant-numeric:tabular-nums; font-weight:800;}

main{padding-bottom:20px;}
.section{padding:38px 0; border-top:1px solid var(--line);}
.section-head{display:flex; align-items:baseline; gap:14px; margin-bottom:16px;}
.section-num{font-family:'Fraunces', Georgia, serif; font-weight:700; font-size:1.1rem; color:var(--accent-soft); flex:none;}
.section h2{font-size:1.32rem; font-weight:700; letter-spacing:0.2px; color:#fff;}
.section p{color:var(--text-muted); margin-bottom:14px; font-size:0.97rem;}
.section p:last-child{margin-bottom:0;}
.section h3{font-family:'Inter', Arial, sans-serif; font-size:0.98rem; font-weight:800; color:#fff; margin:20px 0 8px;}
.section ul, .section ol.legal{margin:6px 0 16px 20px;}
.section li{color:var(--text-muted); margin-bottom:8px; font-size:0.96rem;}
.section strong{color:#fff; font-weight:800;}
.section a.inline{color:#fff; border-bottom:1px solid rgba(255,64,82,0.55); box-shadow:inset 0 -3px 0 rgba(226,27,45,0.22);}

table.data-table{width:100%; border-collapse:collapse; margin:16px 0 20px; font-size:0.9rem; overflow:hidden; border-radius:12px;}
table.data-table th, table.data-table td{text-align:left; padding:11px 14px; border:1px solid var(--line); color:var(--text-muted); vertical-align:top;}
table.data-table th{background:var(--surface-3); color:#fff; font-weight:800; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.5px;}
table.data-table td{background:rgba(255,255,255,0.025);}

.note-box{background:rgba(226,27,45,0.08); border:1px solid rgba(226,27,45,0.28); border-left:4px solid var(--accent); border-radius:10px; padding:18px 22px; margin-top:16px;}
.note-box p{margin-bottom:0; font-size:0.92rem; color:#eeeeee;}

.contact-box{margin-top:8px; background:linear-gradient(180deg,var(--surface-2),var(--surface)); border:1px solid var(--line); border-radius:16px; padding:26px 28px;}
.contact-box dl{display:grid; grid-template-columns:140px 1fr; gap:10px 18px; font-size:0.92rem;}
.contact-box dt{color:var(--text-faint); text-transform:uppercase; letter-spacing:0.6px; font-size:0.72rem; padding-top:2px;}
.contact-box dd{color:#fff;}
.contact-box a{color:#fff; border-bottom:1px solid rgba(255,64,82,0.55);}

footer{border-top:1px solid var(--line); padding:36px 6vw 48px; background:rgba(0,0,0,0.22);}
.footer-inner{max-width:880px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; align-items:flex-start;}
footer p{color:var(--text-faint); font-size:0.8rem; line-height:1.7; max-width:560px;}
.footer-links{display:flex; flex-direction:column; gap:8px; align-items:flex-end;}
.footer-links a{font-size:0.85rem; color:var(--text-muted);}
.footer-links a:hover{color:#fff;}

@media (max-width:640px){
    header{padding:16px 5vw;}
    .nav-link{display:none;}
    .toc ol{columns:1;}
    .footer-inner{flex-direction:column;}
    .footer-links{align-items:flex-start;}
    .contact-box dl{grid-template-columns:1fr;}
}
