/* CarvaTech — shared styles for interior/legal pages */
:root {
  --bg:#070B14; --bg-2:#0A1120;
  --elev:rgba(255,255,255,.028); --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --ink:#F1F6FC; --body:#97A6BC; --muted:#63748C;
  --accent:#16A9F0; --accent-2:#7DD5FD; --accent-dim:rgba(22,169,240,.14); --glow:rgba(22,169,240,.30);
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --disp:"Space Grotesk",var(--sans);
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
* { box-sizing:border-box; margin:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:var(--sans); background:var(--bg); color:var(--ink);
  line-height:1.7; font-size:16px; -webkit-font-smoothing:antialiased;
}
img, svg { display:block; max-width:100%; }
a { color:var(--accent-2); text-decoration:none; }
a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
::selection { background:var(--accent); color:#04070E; }
:focus-visible { outline:2px solid var(--accent-2); outline-offset:3px; border-radius:4px; }
.wrap { max-width:74rem; margin-inline:auto; padding-inline:1.5rem; }

/* logo */
.logo { display:inline-flex; align-items:center; gap:.68rem; color:inherit; }
.logo:hover { text-decoration:none; }
.logo .mark { width:34px; height:27px; color:var(--accent); flex:none; }
.logo .mark .feed { opacity:.5; }
.logo-type { display:flex; flex-direction:column; line-height:1; }
.logo-name { font-family:var(--disp); font-weight:700; font-size:1.16rem; letter-spacing:-.03em; color:var(--ink); }
.logo-name .lt { font-weight:500; color:var(--body); }
.logo-sub { font-family:var(--mono); font-size:.5rem; font-weight:500; letter-spacing:.38em;
            text-transform:uppercase; color:var(--muted); margin-top:.3rem; padding-left:.08em; }

/* header */
header { position:sticky; top:0; z-index:50; background:rgba(7,11,20,.85);
         backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:2rem; height:76px; }
.nav-links { display:flex; gap:2.1rem; }
.nav-links a { font-size:.92rem; font-weight:500; color:var(--body); position:relative; padding:.2rem 0; }
.nav-links a:hover { color:var(--ink); text-decoration:none; }
.nav-links a::after { content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px;
                      background:var(--accent); transition:width .25s ease; }
.nav-links a:hover::after { width:100%; }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:9px;
       font-size:.86rem; font-weight:600; background:var(--accent); color:#04070E; white-space:nowrap;
       box-shadow:0 10px 30px -12px var(--glow); transition:background .22s ease, transform .18s ease; }
.btn:hover { background:var(--accent-2); color:#04070E; transform:translateY(-1px); text-decoration:none; }

/* page body */
.page { max-width:46rem; margin-inline:auto; padding:clamp(3rem,6vw,4.5rem) 1.5rem clamp(4rem,7vw,6rem); position:relative; }
.page::before {
  content:""; position:absolute; inset:0 -50vw auto; height:26rem; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 100% at 50% 0%, rgba(22,169,240,.10), transparent 70%);
}
.label { font-family:var(--mono); font-size:.74rem; font-weight:500; letter-spacing:.18em;
         text-transform:uppercase; color:var(--accent-2); display:inline-flex; align-items:center; gap:.6rem; }
.label::before { content:""; width:1.6rem; height:1px; background:linear-gradient(90deg,transparent,var(--accent)); }
.page h1 { font-family:var(--disp); font-weight:700; font-size:clamp(2.2rem,5vw,3.2rem);
           letter-spacing:-.03em; line-height:1.1; margin:1rem 0 1.2rem; }
.page h2 { font-family:var(--disp); font-weight:600; font-size:1.4rem; letter-spacing:-.02em;
           margin:3rem 0 .8rem; padding-top:2rem; border-top:1px solid var(--line); }
.page h3 { font-family:var(--disp); font-weight:600; font-size:1.08rem; letter-spacing:-.015em; margin:2rem 0 .5rem; }
.page p { color:var(--body); margin-bottom:1rem; }
.page .lede { font-size:1.06rem; color:var(--body); }
.page .meta { font-family:var(--mono); font-size:.78rem; color:var(--muted); letter-spacing:.03em; margin-bottom:2rem; }
.page ul { color:var(--body); padding-left:1.2rem; margin:0 0 1.2rem; }
.page li { margin:.5rem 0; }
.page li::marker { color:var(--accent); }
.page strong { color:var(--ink); font-weight:600; }

/* footer */
footer { border-top:1px solid var(--line); background:var(--bg-2); padding:2.4rem 0; }
.foot { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
        font-size:.84rem; color:var(--muted); }
.foot-links { display:flex; gap:1.5rem; }
.foot a { color:var(--muted); }
.foot a:hover { color:var(--accent-2); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
@media (max-width:760px) {
  .nav-links { display:none; }
  .foot { justify-content:center; text-align:center; }
}
