/* Páginas legais (Termos e Privacidade) na identidade TASYS. Mesmos tokens da página principal. */
:root {
    color-scheme: light;
    --font-display: "Familjen Grotesk", "Helvetica Neue", Arial, sans-serif;
    --font-body: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
    --canvas: #f3f5f7;
    --surface: #ffffff;
    --ink: #0e1522;
    --ink-2: #3b4656;
    --line: #d5dbe3;
    --signal: #ff5a1f;
    --on-signal: #0e1522;
    --signal-text: #b93a00;
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --gutter: clamp(16px, 4vw, 40px);
    --header-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scrollbar-color: var(--line) var(--canvas); -webkit-tap-highlight-color: rgba(255, 90, 31, 0.18); }
body {
    margin: 0; background: var(--canvas); color: var(--ink);
    font-family: var(--font-body); font-size: 1rem; line-height: 1.6;
    -webkit-font-smoothing: antialiased; caret-color: var(--signal);
}
::selection { background: var(--signal); color: var(--on-signal); }
img { display: block; max-width: 100%; }
h1, h2, p, ul { margin: 0; }
a { color: inherit; }
a, button { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--signal-text); outline-offset: 3px; border-radius: 4px; }

.container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: var(--gutter); }
.skip-link {
    position: absolute; left: var(--gutter); top: -100px; z-index: 100;
    background: var(--ink); color: var(--canvas); padding: 12px 16px; border-radius: 8px; text-decoration: none; font-weight: 600;
}
.skip-link:focus { top: 12px; }

/* Header */
.site-header { border-bottom: 1px solid var(--line); background: var(--canvas); }
.site-header .container { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }
.brand img { height: 36px; width: auto; }
@media (min-width: 640px) { .brand img { height: 56px; } }
.back {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 8px;
    font-weight: 500; color: var(--ink-2); text-decoration: none;
    transition: color 150ms ease, background-color 150ms ease;
}
.back svg { transition: transform 160ms var(--ease-out); }
@media (hover: hover) {
    .back:hover { color: var(--ink); background: var(--surface); }
    .back:hover svg { transform: translateX(-3px); }
}

/* Documento */
.doc { padding-block: clamp(40px, 7vw, 88px) clamp(64px, 9vw, 120px); }
.doc-inner { max-width: 72ch; margin-inline: auto; }
.doc h1 {
    font: 700 clamp(2.25rem, 1.2rem + 4vw, 3.75rem)/1.04 var(--font-display);
    letter-spacing: -0.025em; text-wrap: balance;
}
.doc-meta { margin-top: 16px; color: var(--ink-2); font-size: 0.9375rem; display: flex; flex-wrap: wrap; gap: 2px 16px; }
.doc-meta span + span { padding-left: 16px; border-left: 1px solid var(--line); }
.doc-body { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--line); font-size: 1.0625rem; line-height: 1.7; color: var(--ink-2); }
.doc-body p { margin-bottom: 1.1rem; text-wrap: pretty; }
.doc-body h2 {
    margin: 2.75rem 0 0.75rem; color: var(--ink);
    font: 600 1.5rem/1.2 var(--font-display); letter-spacing: -0.015em; text-wrap: balance;
}
.doc-body ul { margin-bottom: 1.1rem; padding-left: 1.4rem; }
.doc-body li { margin-bottom: 0.5rem; padding-left: 0.2rem; }
.doc-body li::marker { color: var(--signal); }
.doc-body strong { color: var(--ink); font-weight: 600; }
.doc-body a {
    color: var(--signal-text); font-weight: 500;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
    transition: text-underline-offset 150ms var(--ease-out), color 150ms ease;
}
@media (hover: hover) { .doc-body a:hover { text-underline-offset: 6px; color: var(--ink); } }

/* Rodapé */
.site-footer { padding-block: 32px; border-top: 1px solid var(--line); }
.footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; color: var(--ink-2); font-size: 0.9375rem; }
.footer-brand { height: 54px; width: auto; }
.footer-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.footer-links a {
    min-height: 44px; display: inline-flex; align-items: center;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
    text-decoration-color: color-mix(in srgb, currentColor 30%, transparent);
    transition: text-decoration-color 150ms ease, text-underline-offset 150ms var(--ease-out);
}
@media (hover: hover) { .footer-links a:hover { text-decoration-color: currentColor; text-underline-offset: 6px; } }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; }
}
