:root {
    --terms-ink: #2d2a26;
    --terms-muted: #686158;
    --terms-paper: #fffdf8;
    --terms-line: #ded7c8;
    --terms-accent: #d55318;
}

* { box-sizing: border-box; }

body.terms-page {
    margin: 0;
    background: #f4f0e6;
    color: var(--terms-ink);
    font-family: "Outfit", sans-serif;
    overflow-x: hidden;
}

.terms-main { padding: clamp(2.5rem, 7vw, 6rem) 1rem clamp(4rem, 8vw, 7rem); }

.terms-document {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: clamp(1.4rem, 5vw, 4.5rem);
    border: 1px solid rgba(91, 78, 57, 0.14);
    border-radius: clamp(1.25rem, 3vw, 2rem);
    background: var(--terms-paper);
    box-shadow: 0 18px 55px rgba(64, 52, 35, 0.08);
}

.terms-header { padding-bottom: clamp(1.5rem, 4vw, 2.5rem); border-bottom: 1px solid var(--terms-line); }

.terms-header h1 {
    margin: 0;
    font-size: clamp(2.15rem, 7vw, 4rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.terms-updated { margin: 1rem 0 0; color: var(--terms-muted); font-size: 0.9rem; font-weight: 600; }
.terms-content { padding-top: clamp(1.5rem, 4vw, 2.6rem); }

.terms-content section {
    padding-top: clamp(1.7rem, 4vw, 2.5rem);
    margin-top: clamp(1.7rem, 4vw, 2.5rem);
    border-top: 1px solid var(--terms-line);
}

.terms-content h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.25rem, 4vw, 1.65rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.terms-content p {
    margin: 0 0 1rem;
    color: #49443e;
    font-size: clamp(0.98rem, 2.4vw, 1.05rem);
    line-height: 1.72;
}

.terms-content p:last-child { margin-bottom: 0; }

@media (max-width: 520px) {
    .terms-main { padding-inline: 0.65rem; }
    .terms-document { padding-inline: 1.15rem; }
    .terms-content p { line-height: 1.65; }
}
