/* EOS Visuals site. Adapted from designs/design-3-clean-trust.html.
   Changes from the design, and why:
   - System fonts instead of Google Fonts: no third-party requests (privacy, speed, no tracking).
   - Header nav shown on phones too (wraps to a second row), so every page is reachable on mobile.
   - Shared stylesheet for all pages; long-form styles added for the policy pages. */
:root{
  --bg:#FAF9F6; --surface:#FFFFFF; --sunk:#F0EEE8; --ink:#0E0F12; --muted:#505560; --line:#E4E1DA;
  --accent:#D92E12; --accent-soft:#FDE9E4; --on-accent:#FFFFFF; --ok:#1D7A4E;
  --fill-bg:#FFF4CC; --fill-ink:#5C4500; --fill-line:#E8C55A;
  --shadow:0 1px 2px rgba(27,30,35,.06),0 12px 32px -12px rgba(27,30,35,.18);
  --r:14px; --gut:16px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0B0C0F; --surface:#14161B; --sunk:#101216; --ink:#F2F1ED; --muted:#A8ABB3; --line:#262A31;
    --accent:#FF6A4D; --accent-soft:#2A1511; --on-accent:#1A0904; --ok:#5FD39A;
    --fill-bg:#3A2F08; --fill-ink:#FFE08A; --fill-line:#7A6115;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 16px 40px -16px rgba(0,0,0,.7);
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;
  padding-bottom:env(safe-area-inset-bottom,0px);overflow-wrap:break-word}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
img,video{max-width:100%;height:auto}
.wrap{max-width:70rem;margin:0 auto;padding:0 var(--gut)}
@media (min-width:720px){:root{--gut:32px}}
h1,h2,h3{margin:0;line-height:1.15}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,8vw,4rem);letter-spacing:-.02em}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;color:var(--accent)}
.kicker{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.sub{color:var(--muted);max-width:38rem;margin:.9rem 0 0}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--ink);padding:.6rem 1rem;z-index:10}
.skip:focus{left:var(--gut)}

/* header */
.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1rem;padding-top:.6rem;padding-bottom:.6rem}
.mark{display:flex;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;letter-spacing:-.01em;font-size:1.05rem;color:var(--ink);min-height:2.75rem}
.mark i{width:1.35rem;height:1.35rem;border-radius:50%;background:conic-gradient(from 200deg,var(--accent),var(--accent-soft),var(--accent));display:block}
.top nav{display:flex;flex-wrap:wrap;gap:0 1.1rem;font-size:.95rem;width:100%;order:3}
.top nav a{text-decoration:none;color:var(--muted);padding:.55rem 0;min-height:2.75rem;display:inline-flex;align-items:center}
.top nav a:hover,.top nav a[aria-current=page]{color:var(--ink)}
.top nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:2px}
@media (min-width:880px){.top nav{width:auto;order:0;gap:1.6rem}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.3rem;
  font:inherit;font-weight:600;font-size:1rem;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent}
.btn.primary{background:var(--accent);color:var(--on-accent)}
.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn.sm{min-height:2.75rem;padding:.45rem 1rem;font-size:.92rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* hero */
.hero{padding:2.5rem 0 3.5rem}
@media (min-width:900px){.hero{padding:4.5rem 0 5rem}}
.lede{font-size:1.15rem;color:var(--muted);max-width:36rem;margin:1.25rem 0 0}
.lede strong{color:var(--ink);font-weight:600}
.assure{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.95rem;color:var(--muted)}
.assure li::before{content:"✓";color:var(--ok);font-weight:700;margin-right:.45rem}

section{padding:3.5rem 0;border-top:1px solid var(--line)}
@media (min-width:900px){section{padding:5rem 0}}
.head{max-width:42rem;margin-bottom:2.25rem}

/* cards and grids */
.grid{display:grid;gap:1rem}
@media (min-width:760px){.grid.two{grid-template-columns:1fr 1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.4rem}
.card h3{font-size:1.2rem;font-weight:600;margin-bottom:.75rem}
.card p{margin:.5rem 0 0;color:var(--muted)}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ticks li{display:grid;grid-template-columns:1.25rem 1fr;gap:.6rem}
.ticks li::before{content:"✓";color:var(--accent);font-weight:700}
.ticks b{font-weight:600}
.limits{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
@media (min-width:760px){.limits{grid-template-columns:1fr 1fr}}
.limits li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;color:var(--muted)}

/* before / after */
.ba{display:grid;gap:1.25rem;max-width:44rem}
@media (min-width:640px){.ba{grid-template-columns:1fr 1fr}}
.ba figure{margin:0}
.ba video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--sunk);border-radius:18px;border:1px solid var(--line)}
.ba figcaption{margin-top:.6rem;font-size:.92rem;color:var(--muted);text-align:center}
.credit{font-size:.9rem;color:var(--muted);margin:1rem 0 0;max-width:44rem}

/* steps */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:1.4rem;max-width:44rem}
.steps li{counter-increment:s;position:relative;padding-left:3rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2rem;height:2rem;border-radius:50%;
  background:var(--accent-soft);color:var(--ink);font-weight:700;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:1.1rem;font-weight:600;margin-bottom:.2rem}
.steps p{margin:0;color:var(--muted)}

/* pricing */
.price{font-family:var(--serif);font-size:clamp(2.4rem,8vw,3.2rem);line-height:1;color:var(--ink);margin:.25rem 0}
.price small{font-family:var(--sans);font-size:.95rem;color:var(--muted);margin-left:.3rem}
.price .fill{font-family:var(--sans);font-size:.4em;vertical-align:middle}
.alt{color:var(--muted);font-size:.95rem;margin:.3rem 0 0}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .55rem;border-radius:6px;
  background:var(--accent-soft);color:var(--ink);vertical-align:middle;margin-left:.4rem}
.pay{margin-top:1.4rem;padding:1rem;border:2px dashed var(--line);border-radius:12px;display:grid;gap:.6rem}
.pay p{margin:0;font-size:.9rem;color:var(--muted)}
.pay .lbl{font-weight:600;color:var(--ink);font-size:.95rem}

table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);font-size:.97rem}
caption{text-align:left;font-weight:600;padding:0 0 .75rem}
th,td{text-align:left;vertical-align:top;padding:.8rem 1rem;border-top:1px solid var(--line)}
thead th{background:var(--sunk);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tablewrap{overflow-x:auto;max-width:48rem}

/* long-form (policy) pages */
.doc{max-width:44rem;padding:2.5rem 0 4rem}
.doc h1{font-size:clamp(2rem,6vw,3rem);margin-bottom:.5rem}
.doc .meta{color:var(--muted);font-size:.95rem;margin:0 0 2rem}
.doc h2{font-size:clamp(1.4rem,4vw,1.8rem);margin:2.5rem 0 .75rem}
.doc h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .4rem}
.doc p,.doc li{max-width:42rem}
.doc ul,.doc ol{padding-left:1.4rem}
.doc li{margin:.3rem 0}
.doc .summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin:0 0 2rem}
.doc .summary h2{margin-top:0;font-size:1.3rem}
.doc dl{margin:0}
.doc dt{font-weight:600;margin-top:1rem}
.doc dd{margin:.15rem 0 0}

/* placeholders the operator fills before launch */
.fill{background:var(--fill-bg);color:var(--fill-ink);border:1px dashed var(--fill-line);border-radius:4px;padding:0 .3em;font-weight:600;font-size:.95em}

footer{border-top:1px solid var(--line);padding:2.5rem 0 3rem;color:var(--muted);font-size:.93rem}
footer .links{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem;margin:0 0 1.25rem;padding:0;list-style:none}
footer .links a{color:var(--ink);display:inline-block;padding:.4rem 0}
footer p{margin:.35rem 0;max-width:48rem}

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

/* abstract network backdrop (assets/net.js) */
#net{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero em,h2 em{font-style:italic;color:var(--accent)}
.card{background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(6px)}
