/* Shared styles for outviks sub-pages (privacy, terms, 404) */
:root{
  color-scheme:light;
  --ink:#111111; --bg:#FAFAFA; --white:#FFFFFF; --black:#0A0A0A;
  --accent:#C2603F; --accent-dark:#A94F31; --accent-tint:#FBF2EC;
  --muted:#6E6B68; --line:#EAE8E5;
  --font-display:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --maxw:820px; --pad-x:clamp(20px,5vw,40px);
  --shadow-lg:0 30px 60px -28px rgba(17,17,17,.26),0 10px 24px -14px rgba(17,17,17,.10);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ background:var(--bg); scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; display:flex; flex-direction:column; min-height:100vh; }
a{ color:inherit; text-decoration:none; }
img,svg{ max-width:100%; display:block; }
::selection{ background:var(--accent-tint); }
.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad-x); }
.ovk-mark{ width:32px; height:32px; flex:none; color:var(--ink); }
.mk{ width:30px; height:30px; flex:none; }
.wordmark{ font-family:var(--font-display); font-weight:800; font-size:22px; letter-spacing:-0.03em; color:var(--ink); }
.wordmark .dot{ color:var(--accent); }

/* nav */
.snav{ position:sticky; top:0; z-index:30; background:rgba(250,250,250,.8); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.snav .in{ max-width:1100px; margin:0 auto; padding:14px clamp(16px,4vw,34px); display:flex; align-items:center; gap:16px; }
.snav .brand{ display:inline-flex; align-items:center; gap:11px; margin-right:auto; }
.snav .home{ font-weight:500; font-size:15px; color:var(--ink); padding:9px 12px; border-radius:10px; transition:background .2s; }
.snav .home:hover{ background:rgba(17,17,17,.06); }
.btn{ display:inline-flex; align-items:center; gap:8px; font-weight:500; font-size:15px; padding:11px 20px; border-radius:12px; cursor:pointer; transition:background .2s, transform .2s, box-shadow .2s; }
.btn-accent{ background:var(--accent); color:#fff; box-shadow:0 6px 18px -10px rgba(194,96,63,.7); }
.btn-accent:hover{ background:var(--accent-dark); transform:translateY(-2px); }
.btn-lg{ font-size:17px; padding:16px 28px; }
.btn-dark{ background:var(--ink); color:#fff; }
.btn-dark:hover{ background:#000; transform:translateY(-2px); }
.btn-ghost{ border:1px solid var(--line); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--ink); transform:translateY(-2px); }

/* legal content */
main{ flex:1; }
.legal{ padding-block:clamp(40px,7vw,80px); }
.legal .eyebrow{ display:inline-flex; align-items:center; gap:9px; font-weight:500; font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin:0 0 16px; }
.legal .eyebrow::before{ content:""; width:22px; height:2px; background:var(--accent); border-radius:2px; }
.legal h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(34px,6vw,52px); letter-spacing:-0.03em; line-height:1.05; margin:0; }
.legal .upd{ margin:14px 0 0; color:var(--muted); font-size:15px; }
.legal .body{ margin-top:clamp(28px,4vw,44px); }
.legal h2{ font-family:var(--font-display); font-weight:800; font-size:clamp(20px,2.6vw,24px); letter-spacing:-0.015em; margin:36px 0 12px; }
.legal h2:first-child{ margin-top:0; }
.legal p, .legal li{ color:#36322E; font-size:16.5px; }
.legal ul{ padding-left:20px; display:grid; gap:8px; }
.legal a.tl{ color:var(--accent-dark); border-bottom:1.5px solid var(--accent-tint); }
.legal a.tl:hover{ border-color:var(--accent); }
.legal .callout{ margin-top:28px; background:var(--accent-tint); border:1px solid rgba(194,96,63,.2); border-radius:14px; padding:16px 18px; font-size:15px; color:#5a3525; }

/* 404 */
.nf{ flex:1; display:grid; place-items:center; text-align:center; padding:clamp(48px,10vw,120px) 0; position:relative; overflow:hidden; }
.nf .glow{ position:absolute; width:min(70vw,560px); height:min(70vw,560px); border-radius:50%; background:radial-gradient(circle, rgba(194,96,63,.16), transparent 65%); top:-12%; left:50%; transform:translateX(-50%); pointer-events:none; }
.nf .code{ position:relative; font-family:var(--font-display); font-weight:800; font-size:clamp(110px,26vw,230px); line-height:.9; letter-spacing:-0.05em; color:var(--ink); }
.nf .code .dot{ color:var(--accent); }
.nf h1{ position:relative; font-family:var(--font-display); font-weight:800; font-size:clamp(26px,4vw,40px); letter-spacing:-0.02em; margin:18px 0 0; }
.nf p{ position:relative; color:var(--muted); font-size:clamp(16px,2vw,18px); margin:16px auto 0; max-width:46ch; }
.nf .acts{ position:relative; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:34px; }
@media (max-width:520px){ .nf .acts .btn{ width:100%; justify-content:center; } }

/* footer (black) */
.footer{ background:var(--black); color:#fff; }
.footer .in{ max-width:1100px; margin:0 auto; padding:clamp(40px,6vw,64px) clamp(16px,4vw,34px); display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
.footer .brand{ display:inline-flex; align-items:center; gap:11px; }
.footer .ovk-mark, .footer .wordmark{ color:#fff; }
.footer .links{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.footer .links a{ color:rgba(255,255,255,.72); font-size:15px; transition:color .2s; }
.footer .links a:hover{ color:var(--accent); }
.footer .bottom{ border-top:1px solid rgba(255,255,255,.1); }
.footer .bottom .in{ padding-block:22px; }
.footer .bottom span{ font-size:14px; color:rgba(255,255,255,.4); }
