@font-face { font-family: Hanken; src: url('/assets/fonts/hankengrotesk-var.woff2') format('woff2'); font-display: swap; }
:root { color-scheme: dark; --red:#e11d38; --wine:#2b0710; --ink:#f7f4f2; --muted:#bbb3b0; --line:rgba(255,255,255,.12); --paper:#111114; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(900px 600px at 80% 0, rgba(225,29,56,.14), transparent 62%), #09090b; font-family: Hanken, Arial, sans-serif; line-height: 1.68; }
a { color: #ff8da0; text-underline-offset: 3px; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 10px; padding: 10px 14px; color:#fff; background:#000; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.terms-header { position: sticky; z-index: 10; top: 0; display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:72px; padding:12px max(24px, calc((100vw - 1100px)/2)); border-bottom:1px solid var(--line); background:rgba(9,9,11,.91); backdrop-filter:blur(18px); }
.terms-brand { display:flex; align-items:center; gap:11px; color:#fff; text-decoration:none; letter-spacing:-.02em; }
.terms-brand img { border-radius:50%; }
.terms-back { font-weight:750; font-size:13px; }
.terms-shell { width:min(100% - 32px, 980px); margin:0 auto; padding:58px 0 90px; }
.terms-document { overflow:hidden; border:1px solid var(--line); border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.035), transparent 460px), var(--paper); box-shadow:0 38px 100px rgba(0,0,0,.35); }
.terms-hero { padding:clamp(30px, 6vw, 68px); border-bottom:1px solid var(--line); background:linear-gradient(135deg, rgba(225,29,56,.16), transparent 55%); }
.terms-kicker,.section-number { color:#ff7c91; font-size:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
h1 { max-width:760px; margin:12px 0 20px; font-size:clamp(38px, 7vw, 68px); line-height:.96; letter-spacing:-.055em; }
.terms-intro { max-width:740px; color:#d3cdca; font-size:clamp(16px, 2vw, 20px); }
.terms-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:34px 0 0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--line); }
.terms-meta div { min-width:0; padding:14px; background:#121216; }
.terms-meta dt { color:#888188; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.terms-meta dd { margin:6px 0 0; overflow-wrap:anywhere; color:#eee9e6; font-size:12px; }
.terms-essential { margin:28px 0 0; padding:20px 22px; border:1px solid rgba(255,94,120,.42); border-left:4px solid var(--red); border-radius:13px; background:rgba(102,7,27,.24); }
.terms-essential p { margin:7px 0 0; color:#efe4e5; }
.terms-index { padding:30px clamp(28px, 6vw, 68px); border-bottom:1px solid var(--line); background:#0d0d10; }
.terms-index ol { columns:2; gap:42px; margin:14px 0 0; padding-left:22px; }
.terms-index li { break-inside:avoid; padding:3px 0; color:#91898b; }
.terms-index a { color:#c9c2c0; }
.terms-document > section { position:relative; padding:42px clamp(28px, 6vw, 68px); border-bottom:1px solid var(--line); scroll-margin-top:90px; }
.terms-document > section:nth-of-type(even) { background:rgba(255,255,255,.018); }
.terms-document h2 { margin:7px 0 18px; font-size:clamp(24px, 4vw, 34px); line-height:1.08; letter-spacing:-.035em; }
.terms-document p { color:#c7c0bd; }
.terms-document li { margin:7px 0; color:#c7c0bd; }
.terms-document strong { color:#fff; }
.terms-highlight { background:linear-gradient(135deg, rgba(91,7,25,.3), rgba(255,255,255,.018)) !important; }
.terms-signoff { padding:36px clamp(28px, 6vw, 68px); text-align:center; background:var(--wine); }
.terms-signoff p { margin:4px 0; color:#cdbcc0; }
.terms-signoff .save-hint { margin-top:16px; font-size:13px; }
@media (max-width:700px) { .terms-header { min-height:62px; padding:10px 16px; } .terms-brand span { font-size:14px; } .terms-back { font-size:11px; } .terms-shell { padding:20px 0 52px; } .terms-document { border-radius:20px; } .terms-meta { grid-template-columns:1fr; } .terms-index ol { columns:1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { :root { color-scheme:light; } body { color:#111; background:#fff; } .terms-header,.skip-link,.save-hint { display:none; } .terms-shell { width:100%; padding:0; } .terms-document { border:0; border-radius:0; background:#fff; box-shadow:none; } .terms-hero,.terms-index,.terms-document>section,.terms-signoff { color:#111; background:#fff!important; break-inside:avoid; } .terms-document p,.terms-document li,.terms-meta dd,.terms-signoff p { color:#222; } .terms-meta div { background:#fff; } a { color:#111; } }
