*{box-sizing:border-box}

:root{
    color-scheme:light;
    --text:#16304d;
    --muted:#6d7d8f;
    --line:#dbe4ec;
    --accent:#0e6fbd;
    --accent-dark:#0b5b9a;
    --warning:#8a5300;
    --warning-bg:#fff8e7;
    --shadow:0 22px 60px rgba(27,55,82,.14);
}

html{scroll-behavior:smooth}

html,body{
    margin:0;
    min-height:100%;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:linear-gradient(180deg,#f7fafc 0,#e9f0f6 100%);
    color:var(--text);
}

body{min-height:100dvh}
a{color:var(--accent-dark)}

.legal-shell{
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));
}

.legal-card{
    width:min(100%,850px);
    background:#fff;
    border:1px solid #d7e1e9;
    border-radius:26px;
    box-shadow:var(--shadow);
    padding:30px clamp(18px,5vw,48px) 36px;
}

.back-link{
    display:inline-block;
    margin-bottom:22px;
    color:var(--muted);
    text-decoration:none;
    font-size:.9rem;
    font-weight:750;
}

.brand{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo{
    width:72px;
    height:auto;
}

.eyebrow{
    margin:0 0 5px;
    color:var(--accent);
    font-size:.75rem;
    font-weight:850;
    letter-spacing:.14em;
}

h1{
    margin:0;
    font-size:clamp(2rem,7vw,3rem);
    letter-spacing:-.04em;
}

.updated{
    margin:12px 0 0;
    color:var(--muted);
    font-size:.82rem;
}

.draft-warning{
    margin-top:22px;
    padding:14px 16px;
    border:1px solid #f1d897;
    border-radius:14px;
    background:var(--warning-bg);
    color:var(--warning);
    font-size:.86rem;
    line-height:1.5;
}

.toc{
    margin:28px 0 34px;
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 20px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fbfd;
}

.toc strong{
    grid-column:1/-1;
    margin-bottom:4px;
}

.toc a{
    text-decoration:none;
    font-size:.84rem;
    line-height:1.35;
}

section{
    scroll-margin-top:18px;
    padding:4px 0 20px;
    border-bottom:1px solid #edf1f4;
}

section:last-of-type{border-bottom:0}

h2{
    margin:20px 0 12px;
    font-size:1.18rem;
    line-height:1.25;
}

h3{
    margin:16px 0 7px;
    font-size:1rem;
}

p,li{
    color:#40566c;
    line-height:1.65;
    font-size:.94rem;
}

p{margin:0 0 11px}

ul{
    margin:8px 0 14px;
    padding-left:23px;
}

li{margin:5px 0}

.placeholder{
    margin:12px 0 16px;
    padding:14px 16px;
    border:1px dashed #d0962b;
    border-radius:13px;
    background:#fffaf0;
    color:#715019;
    font-size:.88rem;
    line-height:1.55;
}

.legal-bottom{
    margin-top:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 18px;
    border-radius:13px;
    background:var(--accent);
    color:#fff;
    text-decoration:none;
    font-weight:850;
}

.text-link{
    font-size:.9rem;
    font-weight:750;
}

footer{
    width:min(100%,850px);
    text-align:center;
    color:#6f7f8e;
    font-size:.76rem;
    line-height:1.55;
}

footer a{
    color:#506b83;
    text-decoration:none;
}

@media(max-width:620px){
    .legal-shell{
        padding-left:10px;
        padding-right:10px;
    }

    .legal-card{
        padding:20px 16px 26px;
        border-radius:21px;
    }

    .logo{width:60px}

    .toc{
        grid-template-columns:1fr;
        margin-top:22px;
    }

    .toc strong{
        grid-column:1;
    }
}


.read-confirmation{
    margin-top:24px;
    padding:13px 15px;
    border:1px solid #b9dfca;
    border-radius:13px;
    background:#f0faf4;
    color:#26734d;
    font-size:.88rem;
    line-height:1.45;
    font-weight:800;
}
