:root{
  --bg:#0f1b3d; --surface:#17264f; --ink:#eef1f8; --soft:#b9c3dc; --blue:#8fa8ee; --gold:#e3b155;
  --rule:#2c3d70; --plate:#f6f3ea; --btn-bg:#d9a441; --btn-ink:#0f1b3d;
}
@media (prefers-color-scheme: light){
  :root{--bg:#f6f3ea;--surface:#ffffff;--ink:#14204a;--soft:#4a5578;--blue:#2c4a96;--gold:#8a5d0a;--rule:#d8d2c0;--plate:#ffffff;--btn-bg:#2c4a96;--btn-ink:#ffffff}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-wrap:break-word}
a{color:var(--blue);text-underline-offset:.15em}
a:hover{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:.5rem;top:-4rem;background:var(--gold);color:#0f1b3d;padding:.5rem 1rem;z-index:10}
.skip:focus{top:.5rem}
.wrap{max-width:46rem;margin:0 auto;padding:0 1rem}
.site-header{border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding-top:1rem;padding-bottom:1rem}
.logo{display:block;background:var(--plate);border-radius:10px;padding:.4rem .8rem;line-height:0}
.logo img{display:block;height:48px;width:auto;max-width:100%}
nav ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
nav a{display:inline-block;padding:.5rem 0;font-weight:600;text-decoration:none}
nav a:hover{text-decoration:underline}
main{padding-bottom:2rem}
section{padding:2.5rem 0 .5rem}
h1{font-size:2rem;line-height:1.2;margin:0 0 .75rem}
h2{font-size:1.4rem;line-height:1.25;margin:0 0 .75rem;color:var(--gold)}
h2.sub{font-size:1.05rem;margin:1.5rem 0 .4rem;color:var(--ink)}
.lead{font-size:1.15rem;color:var(--soft)}
.badge{display:inline-block;border:2px solid var(--gold);color:var(--gold);border-radius:999px;padding:.25rem .9rem;font-weight:700;margin:.5rem 0 1rem}
ul.features{padding-left:1.2rem}
ul.features li{margin:.5rem 0}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:1.25rem}
.downloads{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem}
.btn{display:block;background:var(--btn-bg);color:var(--btn-ink);font-weight:700;text-decoration:none;padding:.8rem 1rem;border-radius:8px}
.btn:hover{color:var(--btn-ink);filter:brightness(1.1)}
.btn small{font-weight:400;white-space:nowrap}
.video{position:relative;aspect-ratio:16/9}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.site-footer{border-top:1px solid var(--rule);padding:1.5rem 0;color:var(--soft);font-size:.95rem}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}
/* privacy page */
.policy h1{margin-top:2rem}
.policy h2{color:var(--ink);font-size:1.2rem;margin:2rem 0 .5rem;padding-top:1rem;border-top:1px solid var(--rule)}
.policy p,.policy li{max-width:65ch}
.policy hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}
.policy table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}
.policy th,.policy td{text-align:left;vertical-align:top;padding:.5rem .6rem;border-bottom:1px solid var(--rule)}
.policy th{color:var(--soft);font-weight:600}
.policy code{font-size:.9em}
