:root{
  --ac:#f1301f;
  --bg:#08080a; --ink:#f3f1ef; --mut:#a8a5a2; --fnt:#8d8a87;
  --ln:#1c1c21; --ln2:#1f1f25; --ln3:#17171b;
  --pad:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--ink);overflow-x:hidden;
  font-family:'Albert Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-wrap:break-word}
img{max-width:100%}
a{color:var(--ac);text-decoration:none}
a:hover{filter:brightness(1.25)}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:4px}
::selection{background:var(--ac);color:#fff}
h1,h2,h3{letter-spacing:-.02em;text-wrap:balance}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad)}
.sec{margin-top:clamp(60px,9vw,96px)}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;
  clip-path:none;z-index:99;background:var(--ink);color:#0b0b0d;
  padding:10px 16px;border-radius:8px;font-weight:700}

/* ---- lockup ---- */
.lockup{display:inline-flex;align-items:center;gap:9px;color:var(--ink);flex:none}
.lockup:hover{filter:none}
.lockup img{height:30px;width:auto;display:block}
.lockup span{font-weight:800;font-size:19px;letter-spacing:.15em;text-transform:uppercase;
  line-height:1;padding-top:2px}
.lockup.sm img{height:26px;opacity:.9}
.lockup.sm span{font-size:16.5px}

/* ---- header ---- */
.hdr{position:sticky;top:0;z-index:50;background:rgba(8,8,10,.82);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #1c1c21}
.hdr-in{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.pills{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap;
  background:rgba(20,20,24,.7);border:1px solid #1e1e24;border-radius:999px;padding:5px}
.pills a{padding:8px 18px;border-radius:999px;font-size:15px;font-weight:600;
  white-space:nowrap;color:var(--fnt);transition:color .15s,background .15s}
.pills a:hover{color:var(--ink);filter:none}
.pills a[aria-current]{background:var(--ink);color:#0b0b0d}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:11px;border-radius:999px;
  font-weight:700;white-space:nowrap;flex:none}
.btn svg{flex:none}
.btn-light{background:var(--ink);color:#0b0b0d;padding:9px 22px;font-size:15px}
a.btn-light:hover{background:#fff;filter:none}
.btn-ac{background:var(--ac);color:#fff;padding:15px 32px;font-size:17.5px;
  box-shadow:0 10px 34px rgba(241,48,31,.28)}
a.btn-ac:hover{filter:brightness(1.1)}
.btn-ghost{background:rgba(255,255,255,.07);border:1px solid #2a2a31;color:var(--ink);
  padding:14px 28px;font-size:18px;gap:10px}
a.btn-ghost:hover{background:rgba(255,255,255,.13);color:#fff;filter:none}
.btn-big{background:var(--ink);color:#0b0b0d;padding:15px 34px;font-size:18px;font-weight:800}
a.btn-big:hover{background:#fff;filter:none}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;inset:0;pointer-events:none}
.hero::before{background:
  radial-gradient(760px 520px at 16% 8%,rgba(241,48,31,.20),transparent 62%),
  radial-gradient(680px 520px at 82% 22%,rgba(150,20,110,.20),transparent 60%),
  linear-gradient(180deg,#0d0b0e,#08080a 70%)}
.hero::after{background:radial-gradient(120% 80% at 50% 0%,transparent 45%,rgba(8,8,10,.9))}
.hero-in{position:relative;display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(340px,1.08fr);gap:64px;align-items:center;
  padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,7vw,92px)}
.kicker{font-size:15px;font-weight:600;color:var(--fnt)}
.hero h1{font-weight:700;font-size:clamp(2.4rem,6.4vw,3.5rem);line-height:1.07;
  margin:24px 0 0;letter-spacing:-.032em}
.lead{font-size:20px;line-height:1.6;color:var(--mut);margin:20px 0 0;max-width:38ch;text-wrap:pretty}
.cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.meta-row{display:flex;gap:22px;margin-top:26px;font-size:15px;color:var(--mut);flex-wrap:wrap}
.meta-row .dot{color:#37343a}
.shot{position:relative;border-radius:16px;overflow:hidden;border:1px solid #26262d;
  box-shadow:0 40px 100px rgba(0,0,0,.6);background:#050505}
.shot img{display:block;width:100%;height:auto}

/* ---- strip ---- */
.strip{border-top:1px solid var(--ln3);border-bottom:1px solid var(--ln3);background:#0a0a0c;
  margin-top:0}
.strip-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:38px;
  padding-top:44px;padding-bottom:44px}
.strip b{display:block;font-size:17.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.strip p{font-size:16px;color:var(--mut);margin:6px 0 0;text-wrap:pretty}
.strip strong{color:var(--ink);font-weight:700}

/* ---- headings ---- */
h2.sh{font-size:clamp(1.55rem,2.6vw,2.05rem);font-weight:700;line-height:1.22;margin:0}
.sh-narrow{max-width:26ch}
.sh-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sh-note{font-size:15px;color:var(--fnt);max-width:36ch}

/* ---- features ---- */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:1px;
  margin-top:44px;background:var(--ln);border:1px solid var(--ln);border-radius:16px;overflow:hidden}
.feat{background:#0e0e11;padding:32px 30px 34px;transition:background .18s}
.feat:hover{background:#131317}
.feat i{display:block;width:28px;height:2px;background:var(--ac);opacity:.85}
.feat b{display:block;font-size:18px;font-weight:700;margin-top:20px;letter-spacing:-.01em}
.feat p{font-size:16px;color:var(--mut);margin:8px 0 0;line-height:1.55;text-wrap:pretty}

/* ---- split ---- */
.split{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(340px,1.15fr);
  gap:60px;align-items:center}
.split p{font-size:18px;color:var(--mut);line-height:1.6;margin:16px 0 0;text-wrap:pretty}
.split ul{font-size:17px;color:var(--mut);margin:18px 0 0;padding-left:1.2rem}
.split li{margin-bottom:.35rem}
.split li::marker{color:#6d3a34}
.split strong{color:var(--ink);font-weight:700}
.split .shot{box-shadow:0 30px 80px rgba(0,0,0,.5)}

/* ---- gallery ---- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.tabs a{padding:9px 18px;border-radius:999px;font-size:15px;font-weight:700;white-space:nowrap;
  background:rgba(255,255,255,.04);color:var(--fnt);border:1px solid #232329;
  transition:color .15s,background .15s}
.tabs a:hover{color:var(--ink);filter:none}
.tabs a[aria-current]{background:var(--ink);color:#0b0b0d;border-color:var(--ink)}
.gal figure{margin:0}
.gal figure + figure{margin-top:40px}
/* Without JS every screenshot stays on the page; the runtime hides the rest. */
.gal figure[hidden]{display:block}
.js .gal figure[hidden]{display:none}
.gal .frame{margin-top:20px;border:1px solid var(--ln2);border-radius:16px;overflow:hidden;
  background:#050505;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.gal .frame img{display:block;width:100%;height:auto}
.gal figcaption{font-size:17px;color:var(--mut);line-height:1.6;margin-top:16px;
  max-width:74ch;text-wrap:pretty}
.gal .tag{display:block;font-size:12px;font-weight:800;letter-spacing:1.4px;color:var(--ac);
  margin-bottom:8px}

/* ---- sources ---- */
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:36px}
.src{border:1px solid var(--ln2);border-radius:14px;
  background:linear-gradient(180deg,#101013,#0b0b0d);padding:28px 26px 30px}
.src .k{font-size:14px;font-weight:600;color:var(--fnt)}
.src b{display:block;font-size:21px;font-weight:700;margin-top:8px;letter-spacing:-.015em}
.src p{font-size:16px;color:var(--mut);margin:8px 0 0;line-height:1.55;text-wrap:pretty}
.src code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;
  color:var(--fnt);background:#0a0a0c;border:1px solid #1e1e24;border-radius:8px;
  padding:9px 12px;margin-top:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- pricing ---- */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:18px;margin-top:38px}
.plan{position:relative;border:1px solid var(--ln2);border-radius:16px;
  background:linear-gradient(180deg,#101013,#0b0b0d);padding:30px 28px 32px}
.plan.best{border-color:rgba(241,48,31,.42);
  background:radial-gradient(500px 260px at 80% 0%,rgba(241,48,31,.16),transparent 62%),
    linear-gradient(180deg,#141013,#0b0b0d)}
.plan .flag{position:absolute;top:-11px;left:28px;background:var(--ac);color:#fff;font-size:12px;
  font-weight:700;letter-spacing:.4px;padding:5px 12px;border-radius:6px}
.plan .k{font-size:15px;font-weight:600;color:var(--mut)}
.plan .price{display:flex;align-items:baseline;gap:8px;margin-top:14px}
.plan .price b{font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1.05}
.plan .price span{font-size:17px;color:var(--fnt);font-weight:600}
.plan .alt{font-size:15px;color:var(--fnt);margin-top:4px}
.plan hr{border:0;height:1px;background:var(--ln2);margin:22px 0 18px}
.plan p{font-size:16px;color:var(--mut);margin:0;line-height:1.55;text-wrap:pretty}
.unlocks{margin-top:30px;border:1px solid var(--ln2);border-radius:14px;background:#0b0b0d;padding:26px 28px}
.unlocks b{font-size:17.5px;font-weight:700;letter-spacing:-.01em}
.unlocks ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px 28px;margin:14px 0 0;padding:0}
.unlocks li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--mut)}
.unlocks li::before{content:"";flex:none;margin-top:6px;width:14px;height:14px;border-radius:50%;
  border:1.5px solid var(--ac);background:radial-gradient(circle,var(--ac) 0 2.5px,transparent 2.6px)}

/* ---- data panel ---- */
.panel{border:1px solid var(--ln2);border-radius:18px;
  background:radial-gradient(700px 380px at 12% 0%,rgba(241,48,31,.12),transparent 62%),
    linear-gradient(180deg,#101013,#0a0a0c);padding:clamp(30px,4vw,52px) clamp(22px,4vw,44px)}
.panel-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:44px}
.panel p{font-size:18px;color:var(--mut);line-height:1.6;margin:14px 0 0;text-wrap:pretty}
.panel .more{margin-top:20px;font-size:16px;font-weight:700}
.rows{display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:14px;align-items:flex-start;background:#0c0c0f;border:1px solid var(--ln);
  border-radius:12px;padding:16px 18px}
.row .tag{flex:none;font-size:12px;font-weight:800;letter-spacing:1px;border-radius:6px;
  padding:4px 9px;margin-top:2px}
.row span:last-child{font-size:16px;color:var(--mut);line-height:1.5;text-wrap:pretty}

/* ---- faq ---- */
.faq{margin-top:28px;border-top:1px solid var(--ln)}
.faq details{border-bottom:1px solid var(--ln)}
.faq summary{display:flex;gap:20px;align-items:center;padding:22px 4px;cursor:pointer;
  list-style:none;font-size:18.5px;font-weight:600;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:26px;height:26px;border-radius:50%;
  border:1px solid #2c2c33;display:grid;place-items:center;font-size:17px;font-weight:700;
  color:var(--mut);margin-left:auto}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{background:#0c0c0e}
.faq p{font-size:17px;color:var(--mut);line-height:1.6;margin:0;padding:0 46px 22px 4px;
  max-width:70ch;text-wrap:pretty}
.faq-foot{margin-top:22px;font-size:17px;color:var(--fnt)}
.faq-foot a{font-weight:700}

/* ---- final cta ---- */
.final{border:1px solid #2a1a18;border-radius:18px;
  background:radial-gradient(600px 300px at 80% 20%,rgba(241,48,31,.18),transparent 60%),
    linear-gradient(180deg,#120d0d,#0a0a0c);
  padding:clamp(38px,5vw,56px) clamp(22px,4vw,44px);text-align:center}
.final img{height:66px;width:auto;opacity:.95}
.final h2{font-weight:700;font-size:clamp(1.6rem,4.4vw,2.1rem);margin:22px 0 0;line-height:1.2}
.final p{font-size:18px;color:var(--mut);margin:12px auto 0;max-width:46ch;text-wrap:pretty}
.final .btn{margin-top:28px}

/* ---- document pages ---- */
.doc{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:56px;align-items:start;
  padding-top:clamp(44px,6vw,72px);padding-bottom:60px}
.doc-head{grid-column:1;grid-row:1;max-width:72ch}
.doc-body{grid-column:1;grid-row:2;max-width:72ch;min-width:0}
.doc-toc{grid-column:2;grid-row:1 / span 2;position:sticky;top:96px;
  border-left:1px solid var(--ln);padding-left:22px}
.doc h1{font-weight:700;font-size:clamp(1.9rem,5.2vw,2.6rem);line-height:1.12;margin:0;
  letter-spacing:-.028em}
.doc .eyebrow{font-size:12px;font-weight:800;letter-spacing:1.4px;color:var(--ac);
  margin:0 0 14px}
.doc .meta{font-size:16px;color:var(--fnt);margin:10px 0 0}
.doc .rule{height:1px;background:var(--ln);margin:34px 0 0;border:0}
.doc-body h2{font-size:23px;font-weight:700;line-height:1.3;letter-spacing:-.015em;
  color:var(--ink);margin:42px 0 0}
.doc-body h3{font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.015em;
  color:var(--ink);margin:30px 0 0}
.doc-body p{font-size:17.5px;line-height:1.7;color:var(--mut);margin:14px 0 0;text-wrap:pretty}
.doc-body strong{color:var(--ink);font-weight:700}
.doc-body ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.doc-body li{display:flex;gap:12px;align-items:flex-start;font-size:17.5px;line-height:1.65;
  color:var(--mut);text-wrap:pretty}
.doc-body li::before{content:"";flex:none;margin-top:11px;width:5px;height:5px;border-radius:50%;
  background:var(--ac)}
.doc-body hr{border:0;height:1px;background:var(--ln);margin:36px 0 0}
.doc-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;
  background:#0e0e11;border:1px solid var(--ln2);border-radius:5px;padding:.1em .35em;color:var(--ink)}
.tbl{margin-top:16px;border:1px solid var(--ln2);border-radius:12px;
  overflow-x:auto;overflow-y:hidden}
.tbl table{border-collapse:collapse;width:100%;min-width:460px;font-size:16px}
.tbl th,.tbl td{text-align:left;padding:14px 18px}
.tbl thead th{background:#111114;font-weight:800;color:var(--ink)}
.tbl tbody tr{background:#0b0b0d;border-top:1px solid #1a1a1f}
.tbl td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.tbl td:nth-child(2){font-weight:600;color:var(--ac);white-space:nowrap}
.tbl td:nth-child(3){color:var(--mut)}
.doc-toc .t{font-size:13px;font-weight:600;color:var(--fnt)}
.doc-toc ol{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.doc-toc a{font-size:15px;color:var(--fnt);line-height:1.4}
.doc-toc a:hover{color:var(--ink);filter:none}
.doc-toc .sub{padding-left:12px}
.doc-toc hr{border:0;height:1px;background:var(--ln);margin:22px 0}
.doc-toc .ask{font-size:15px;color:var(--fnt);line-height:1.6}

/* ---- footer ---- */
.ft{border-top:1px solid var(--ln3);background:#0a0a0c;margin-top:clamp(60px,9vw,96px)}
.ft-in{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(auto-fit,minmax(150px,1fr));
  gap:40px;padding-top:52px;padding-bottom:60px}
.ft p{font-size:15px;color:var(--fnt);line-height:1.65;margin:16px 0 0;max-width:44ch;text-wrap:pretty}
.ft p + p{margin-top:12px}
.ft .h{font-size:14px;font-weight:600;color:var(--fnt)}
.ft nav{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-size:16px}
.ft nav a{color:var(--mut)}
.ft nav a:hover{color:var(--ink);filter:none}
.ft-bot{border-top:1px solid #131317}
.ft-bot div{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--fnt);
  padding-top:20px;padding-bottom:20px}
.ft-bot .dot{color:#2a2a30}

/* ---- responsive ---- */
@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:44px}
  .split{grid-template-columns:1fr;gap:36px}
  .doc{grid-template-columns:minmax(0,1fr);gap:0}
  .doc-head,.doc-body,.doc-toc{grid-column:1}
  .doc-head{grid-row:1}
  .doc-toc{grid-row:2;position:static;border-left:0;padding-left:0;border-top:1px solid var(--ln);
    margin-top:28px;padding-top:22px}
  .doc-body{grid-row:3}
  .doc-toc .ask{display:none}
  .doc-toc hr{display:none}
}
@media (max-width:820px){
  .pills{order:3;width:100%;margin-left:0;justify-content:flex-start;border-radius:18px}
  .hdr-in{gap:12px}
  .btn-light{margin-left:auto}
}
@media (max-width:900px){
  .ft-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .ft-in > :first-child{grid-column:1 / -1}
}
@media (max-width:640px){
  /* the panel's own padding leaves less than the 300px track minimum */
  .panel-in{grid-template-columns:1fr;gap:30px}
}
@media (max-width:560px){
  :root{--pad:18px}
  .lockup img{height:26px}
  .lockup span{font-size:17px}
  .pills a{padding:7px 13px;font-size:14px}
  .btn-ac,.btn-ghost,.btn-big{width:100%;justify-content:center}
  .lead{font-size:18px}
  .meta-row{gap:14px}
  .strip-in{gap:26px;padding-top:34px;padding-bottom:34px}
  .feat{padding:26px 22px 28px}
  .faq summary{font-size:17px;gap:14px}
  .faq p{padding-right:12px}
  .doc-body p,.doc-body li{font-size:16.5px}
  .ft-in{grid-template-columns:minmax(0,1fr);gap:30px}
}
