/* Octotor — www.octotor.com · Control Room design (WP-17 round 2d, approved 2026-08-01)
   Date: 2026-08-01
   Tokens: OCTANT identity — Ink + Signal cyan, one live element. DARK BY DEFAULT;
   the nav toggle stamps data-theme on <html> to switch to light (persisted). */

/* Dark is the DEFAULT (operator decision 2026-08-01) — the toggle switches to light. */
:root{
  --g:#0C1016; --pn:#121821; --ik:#E9EDF2; --mu:#8792A2; --hr:#202938;
  --sg:#3BD7E4; --onsg:#06272B; --gl:rgba(59,215,228,.10);
}
:root[data-theme="light"]{
  --g:#F3F5F7; --pn:#FFFFFF; --ik:#141920; --mu:#5B6572; --hr:#E3E8EE;
  --sg:#0B98A8; --onsg:#FFFFFF; --gl:rgba(11,152,168,.10);
}
:root[data-theme="dark"]{
  --g:#0C1016; --pn:#121821; --ik:#E9EDF2; --mu:#8792A2; --hr:#202938;
  --sg:#3BD7E4; --onsg:#06272B; --gl:rgba(59,215,228,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--g);color:var(--ik);
  font-family:ui-monospace,'JetBrains Mono','DM Mono',SFMono-Regular,Menlo,Consolas,monospace;
  font-size:14px;line-height:1.55;
}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}

/* nav */
.nav{display:flex;align-items:center;gap:10px;padding:16px clamp(18px,4vw,44px);
     border-bottom:1px solid var(--hr);position:sticky;top:0;background:var(--g);z-index:20}
.nav .mark{width:22px;height:22px;color:var(--ik);flex:none}
.nav .brand{font-weight:700;letter-spacing:.02em;font-size:14px}
.nav .links{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,2.6vw,26px);color:var(--mu);font-size:12px}
.nav .links a:hover{color:var(--ik)}
.nav .cta{color:var(--sg)}
.nav .cta:hover{color:var(--sg);text-decoration:underline;text-underline-offset:3px}
.thm{border:1px solid var(--hr);background:none;color:var(--mu);border-radius:5px;
     width:30px;height:26px;cursor:pointer;font-size:13px;line-height:1;padding:0}
.thm:hover{color:var(--ik)}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:center;
      max-width:1160px;margin:0 auto;padding:clamp(48px,8vh,84px) clamp(18px,4vw,44px) 68px}
.eyebrow{font-size:10.5px;letter-spacing:.26em;color:var(--mu);text-transform:uppercase;margin-bottom:16px}
.h1{font-size:clamp(27px,4.4vw,44px);font-weight:700;line-height:1.16;letter-spacing:-.02em;
    margin:0 0 18px;text-wrap:balance}
.h1 .lv{color:var(--sg)}
.sub{color:var(--mu);max-width:44ch;margin:0 0 28px;font-size:13.5px;line-height:1.7}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 20px;border-radius:5px;font-size:12.5px;letter-spacing:.04em;cursor:pointer}
.btn.pri{background:var(--sg);color:var(--onsg);font-weight:700;border:1px solid var(--sg)}
.btn.pri:hover{filter:brightness(1.08)}
.btn.sec{border:1px solid var(--hr);color:var(--ik)}
.btn.sec:hover{border-color:var(--mu)}

/* terminal — deliberately dark in both themes */
.term{background:#080B10;border:1px solid #202938;border-radius:7px;overflow:hidden;box-shadow:0 0 30px var(--gl)}
.tbar{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid #202938;color:#8792A2;font-size:11px}
.tbar .dot{width:8px;height:8px;border-radius:50%;background:#202938}
.tbar .dot.on{background:#3BD7E4}
.tbody{padding:15px 17px;font-size:12.5px;line-height:1.8;min-height:200px;color:#B9C2CF}
.tbody .pfx{color:#3BD7E4}
.tbody .ok{color:#E9EDF2;font-weight:700}
.cur{display:inline-block;width:7px;height:13px;background:#3BD7E4;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* section shells */
.band{border-top:1px solid var(--hr)}
.band-in{max-width:1160px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}

/* reach */
.reach{padding:78px 0 84px;text-align:center}
.rhead{font-size:10.5px;letter-spacing:.26em;color:var(--mu);text-transform:uppercase;margin-bottom:10px}
.rtitle{font-size:clamp(20px,2.6vw,28px);font-weight:700;letter-spacing:-.01em;margin:0 0 46px}
.rtitle .lv{color:var(--sg)}
.rframe{position:relative;width:min(660px,92%);height:470px;margin:0 auto;
        border:1px solid var(--hr);border-radius:10px;background:var(--pn)}
.rmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:230px;height:230px;color:var(--ik)}
.rlab{position:absolute;font-size:12px;letter-spacing:.08em;color:var(--mu);
      padding:5px 11px;border:1px solid var(--hr);border-radius:5px;background:var(--g);
      transition:color .3s,border-color .3s,box-shadow .3s;white-space:nowrap}
.rlab.on{color:var(--sg);border-color:var(--sg);box-shadow:0 0 14px var(--gl)}
.p270{left:50%;top:26px;transform:translateX(-50%)}
.p315{right:11%;top:64px}
.p0  {right:4%;top:50%;transform:translateY(-50%)}
.p45 {right:11%;bottom:64px}
.p90 {left:50%;bottom:26px;transform:translateX(-50%)}
.p135{left:11%;bottom:64px}
.p180{left:4%;top:50%;transform:translateY(-50%)}
.p225{left:11%;top:64px}
@media(max-width:700px){
  .rframe{height:auto;padding:30px 16px}
  .rmark{position:static;transform:none;width:170px;height:170px;margin:0 auto 22px;display:block}
  .rlab{position:static;transform:none;display:inline-block;margin:4px}
}

/* feature cards — centered band like every other section */
.capband{padding:36px 0 40px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--hr);
       border:1px solid var(--hr)}
.card{background:var(--g);padding:30px 26px 28px}
.card:hover{background:var(--pn)}
.cl{font-size:10.5px;letter-spacing:.2em;color:var(--sg);margin-bottom:10px}
.ct{color:var(--mu);font-size:12.5px;line-height:1.65;margin:0}

/* also on board */
.more{padding:36px 0 40px}
.morehead{font-size:10.5px;letter-spacing:.26em;color:var(--mu);text-transform:uppercase;margin-bottom:18px}
.moregrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:1px;background:var(--hr);border:1px solid var(--hr)}
.mcell{background:var(--g);padding:17px 15px;display:flex;align-items:center;gap:10px;
       font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.mcell b{width:6px;height:6px;border-radius:50%;background:var(--mu);opacity:.4;flex:none;transition:background .2s,opacity .2s}
.mcell:hover{background:var(--pn);color:var(--ik)}
.mcell:hover b{background:var(--sg);opacity:1}

/* deploy strip + early access */
.strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:30px 0}
.strip .lbl{font-size:10.5px;letter-spacing:.2em;color:var(--mu)}
.cmd{background:#080B10;border:1px solid #202938;border-radius:5px;padding:10px 15px;font-size:12.5px;
     color:#E9EDF2;overflow-x:auto;white-space:nowrap;flex:1;min-width:260px}
.cmd .p{color:#3BD7E4}
.access{padding:64px 0 70px;text-align:center}
.access h2{font-size:clamp(19px,2.4vw,26px);font-weight:700;letter-spacing:-.01em;margin:0 0 12px}
.access p{color:var(--mu);max-width:56ch;margin:0 auto 20px;font-size:13px;line-height:1.7}

/* footer */
.foot{border-top:1px solid var(--hr);padding:26px clamp(18px,4vw,44px);display:flex;align-items:center;
      gap:18px;flex-wrap:wrap;font-size:11.5px;color:var(--mu)}
.foot .fmark{width:16px;height:16px;color:var(--mu)}
.foot .sp{margin-left:auto;display:flex;gap:18px}
.foot a:hover{color:var(--ik)}

/* inner pages (pricing, legal) */
.page{max-width:820px;margin:0 auto;padding:56px clamp(18px,4vw,44px) 72px}
.page h1{font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.01em;margin:0 0 14px}
.page .lede{color:var(--mu);max-width:62ch;margin:0 0 34px;line-height:1.7}
.page h2{font-size:15px;letter-spacing:.06em;margin:30px 0 8px}
.page p,.page li{color:var(--mu);font-size:13px;line-height:1.7}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--hr);
       border:1px solid var(--hr);margin:8px 0 30px}
.tier{background:var(--g);padding:26px 24px}
.tier .tn{font-size:10.5px;letter-spacing:.2em;color:var(--sg);margin-bottom:10px;text-transform:uppercase}
.tier p{margin:0;font-size:12.5px}
.note{border:1px solid var(--hr);border-radius:7px;background:var(--pn);padding:18px 20px;color:var(--mu);font-size:12.5px;line-height:1.7}

@media(max-width:820px){
  .hero{grid-template-columns:1fr;padding-top:44px}
}

/* mobile */
@media(max-width:640px){
  .nav{padding:12px 16px}
  .nav .links{gap:14px}
  .nav .links a.hidemb{display:none}          /* section anchors hidden — content flows anyway */
  .hero{padding-top:34px;gap:30px}
  .sub{font-size:13px}
  .btn{padding:12px 18px}                     /* larger tap targets */
  .tbody{font-size:11.5px;min-height:170px;overflow-wrap:anywhere}
  .strip{flex-direction:column;align-items:flex-start;gap:12px}
  .cmd{width:100%;min-width:0}
  .reach{padding:56px 0 60px}
  .access{padding:48px 0 54px}
  .foot{flex-direction:column;align-items:flex-start;gap:10px}
  .foot .sp{margin-left:0}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .cur{animation:none}
  .rlab,.mcell b{transition:none}
}
