/* amigo — "engineer's datasheet" identity. Monospace voice + sans prose, hairline rules, sharp edges, deep-green
   ink accent, one dark terminal. Deliberately NOT the dark-teal-rounded-card SaaS look. Self-contained (system fonts,
   no CDN) so it works offline + drops onto Cloudflare Pages as-is. Placeholder brand "amigo" — swap at launch. */

:root{
  --paper:#f4f6f3; --panel:#ffffff; --ink:#13181a; --ink2:#2b3538; --muted:#5b6a64; --faint:#8a978f;
  --line:#d5dcd4; --line2:#e4e9e2; --acc:#146b45; --acc2:#0f5537; --acc-soft:#e7f0ea;
  --danger:#b23b3b; --warn:#8a6410;
  --term-bg:#0b0f11; --term-ink:#c7d3ce; --term-dim:#6f8079;
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1060px;
}
@media (prefers-color-scheme:dark){
  :root{ --paper:#0b0e0f; --panel:#111618; --ink:#e4e9e5; --ink2:#c4cec9; --muted:#8b988f; --faint:#67746c;
    --line:#212a29; --line2:#1a2221; --acc:#f87171; --acc2:#fca5a5; --acc-soft:#2b1414;
    --danger:#e07a7a; --warn:#d0a54a; --term-bg:#080b0c; }
}
:root[data-theme="light"]{ --paper:#f4f6f3; --panel:#fff; --ink:#13181a; --ink2:#2b3538; --muted:#5b6a64; --faint:#8a978f; --line:#d5dcd4; --line2:#e4e9e2; --acc:#146b45; --acc2:#0f5537; --acc-soft:#e7f0ea; --danger:#b23b3b; --warn:#8a6410; --term-bg:#0b0f11; }
:root[data-theme="dark"]{ --paper:#0b0e0f; --panel:#111618; --ink:#e4e9e5; --ink2:#c4cec9; --muted:#8b988f; --faint:#67746c; --line:#212a29; --line2:#1a2221; --acc:#f87171; --acc2:#fca5a5; --acc-soft:#2b1414; --danger:#e07a7a; --warn:#d0a54a; --term-bg:#080b0c; }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.62;font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
.mono{font-family:var(--mono)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--mono);font-weight:600;letter-spacing:-.01em;line-height:1.18;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:-.025em}
h2{font-size:clamp(21px,2.8vw,27px)}
h3{font-size:16px}
p{margin:0 0 1em;max-width:64ch}
.lead{font-size:18px;color:var(--ink2);max-width:60ch}
.muted{color:var(--muted)}

/* mono uppercase kicker/label — the datasheet "field label" */
.kicker{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}

/* nav — command-line brand, hairline underline */
header.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:58px}
.brand{font-family:var(--mono);font-weight:600;font-size:16px;color:var(--ink);letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand .caret{color:var(--acc);margin-left:1px}
.nav nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.nav nav a:not(.btn){font-family:var(--mono);color:var(--muted);font-size:13.5px}
.nav nav a:not(.btn):hover{color:var(--ink);text-decoration:none}
.themebtn{background:none;border:1px solid var(--line);width:32px;height:32px;cursor:pointer;color:var(--ink);font-size:14px;border-radius:2px}
.themebtn:hover{border-color:var(--acc)}

/* buttons — sharp, mono */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:14px;font-weight:600;
  padding:10px 18px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:transform .04s}
.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--acc);color:#f3fbf6;border-color:var(--acc)}
.btn-primary:hover{background:var(--acc2);color:#fff}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc2)}

/* sections divided by hairlines, not cards */
section{padding:60px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:none}
.hero{padding:70px 0 52px}
.hero .lead{margin-top:14px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sub{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:16px}

/* terminal — the one dark element */
.term{margin-top:38px;background:var(--term-bg);border:1px solid #1a2225;border-radius:4px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 48px -24px rgba(20,24,26,.5)}
.term .bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid #171e21}
.term .bar i{width:10px;height:10px;border-radius:50%;display:block}
.term .bar .t{margin-left:10px;font-family:var(--mono);color:#61726b;font-size:12px}
.term pre{margin:0;padding:18px 20px;color:var(--term-ink);font-family:var(--mono);font-size:13px;line-height:1.75;overflow-x:auto}
.term .u{color:#7fd8a5}.term .a{color:#8898a0}.term .g{color:#6ec98a}.term .w{color:#dbb267}.term .r{color:#e58a8a}.term .c{color:#7fb0c9}

/* feature grid — sharp bordered cells (datasheet), not soft cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel)}
.feat{padding:22px 22px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.feat h3{margin-bottom:.4em;color:var(--ink)}
.feat h3::before{content:"› ";color:var(--acc);font-weight:700}
.feat p{margin:0;color:var(--ink2);font-size:14.5px;max-width:none}
.band{background:var(--panel)}
/* 2-up variant so a 4-cell section is a balanced 2×2 (no orphan cell on its own row) */
.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.grid.g2{grid-template-columns:1fr}}
/* a big mono statement band */
.statement{padding:40px 0}
.statement p{font-family:var(--mono);font-size:clamp(19px,2.6vw,26px);letter-spacing:-.02em;color:var(--ink);margin:0;max-width:none}
.statement .caret{color:var(--acc)}
/* louder BYO-AI headline — bigger + accent ink to catch the eye */
.statement.big p{font-size:clamp(28px,5vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.12;color:var(--acc)}

/* hero capability triplet — Configure · Report · Troubleshoot */
.caps-triplet{font-family:var(--mono);font-weight:600;font-size:clamp(15px,2vw,20px);letter-spacing:.01em;margin-top:24px;color:var(--ink)}
.caps-triplet span{color:var(--acc);margin:0 14px;font-weight:700}

/* support contact form */
.ctform{display:grid;gap:12px;max-width:560px;margin-top:8px}
.ctform label{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:-6px}
.ctform input,.ctform textarea{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:10px 12px;width:100%}
.ctform input:focus,.ctform textarea:focus{outline:none;border-color:var(--acc)}
.ctform textarea{resize:vertical;min-height:120px}
.ctform .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.ctform .row2{grid-template-columns:1fr}}
.ctform .send-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ctform .hint{font-size:13px;color:var(--muted)}

/* spec rows / pricing */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
@media(max-width:760px){.split{grid-template-columns:1fr;gap:28px}.nav nav a:not(.btn){display:none}}
.note{border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:2px;padding:16px 18px;background:var(--panel);font-size:14.5px;color:var(--ink2)}
.note strong{font-family:var(--mono)}

.price-card{border:1px solid var(--ink);border-radius:3px;padding:28px;background:var(--panel);max-width:420px}
.price{font-family:var(--mono);font-size:46px;font-weight:600;letter-spacing:-.03em}
.price small{font-size:15px;font-weight:600;color:var(--muted)}
.plist{list-style:none;margin:20px 0;padding:0}
.plist li{font-size:14.5px;color:var(--ink2);padding:7px 0 7px 24px;position:relative;border-top:1px solid var(--line2)}
.plist li:first-child{border-top:none}
.plist li::before{content:"✓";position:absolute;left:0;color:var(--acc);font-family:var(--mono);font-weight:700}

/* download cells */
.dlgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:24px}
.dl{border:1px solid var(--line);border-radius:3px;padding:20px;background:var(--panel)}
.dl .os{font-family:var(--mono);font-size:13px;color:var(--acc2);letter-spacing:.06em;text-transform:uppercase}
.dl h3{margin:8px 0 2px}

/* FAQ */
.faq details{border-top:1px solid var(--line);padding:2px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-family:var(--mono);font-weight:600;font-size:15px;padding:15px 0;list-style:none;display:flex;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--acc);font-weight:700}
.faq details[open] summary::before{content:"–"}
.faq p{color:var(--ink2);padding:0 0 14px 22px;font-size:14.5px}

/* legal / long-form */
.legal{max-width:760px}
.legal h2{font-size:18px;margin-top:2em}.legal h2:first-of-type{margin-top:1em}
.legal h3{margin-top:1.4em}
.legal p,.legal li{color:var(--ink2);font-size:15px}
.legal ul,.legal ol{padding-left:20px}.legal li{margin-bottom:.5em}
.legal .draft{border:1px solid var(--warn);border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent);border-radius:2px;padding:13px 16px;font-size:13.5px;margin-bottom:10px}
.legal .eff{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:2em}
.legal .caps{font-size:14px;border:1px solid var(--line);border-radius:2px;padding:13px 15px;background:var(--panel)}

/* releases */
.release{border:1px solid var(--line);border-radius:3px;padding:22px 24px;margin-bottom:16px;background:var(--panel)}
.release-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.release-ver{font-family:var(--mono);font-size:19px;font-weight:600;letter-spacing:-.02em}
.release-date{font-family:var(--mono);color:var(--muted);font-size:13px}
.release-head .release-dl{margin-left:auto;padding:6px 13px;font-size:13px}
.release-changes h4{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--acc2);margin:14px 0 6px}
.release-changes ul{margin:0;padding-left:20px;color:var(--ink2);font-size:14.5px}
.release-changes li{margin-bottom:5px}

/* jump-nav for the combined Get page */
.jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.jump a{font-family:var(--mono);font-size:13px;border:1px solid var(--line);border-radius:2px;padding:6px 12px;color:var(--ink2)}
.jump a:hover{border-color:var(--acc);color:var(--acc2);text-decoration:none}

.center{text-align:center}
.hero.center .lead{margin-left:auto;margin-right:auto;max-width:none}
.hero.center .cta-row{justify-content:center}
/* these have a max-width, so they need auto side-margins to actually sit in the centre (not just text-align) */
.hero.center .caps-triplet,.hero.center .sub{margin-left:auto;margin-right:auto}
.sub.center{text-align:center;margin-left:auto;margin-right:auto}

/* ===== product shot — matches the real app: CONNECTIONS sidebar · tabbed terminal · Assistant panel ===== */
.shot{margin-top:10px;border:1px solid #0a0d10;border-radius:9px;overflow:hidden;background:#0d0e12;text-align:left;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 44px 90px -46px rgba(15,20,22,.6)}
.shot .panes{display:grid;grid-template-columns:236px 1fr 300px;min-height:404px}
/* left — CONNECTIONS sidebar */
.shot .side{background:#12141a;border-right:1px solid #080a0d;font-family:var(--mono);font-size:12px;color:#8a94a0}
.shot .side-head{display:flex;align-items:center;padding:13px 12px 11px;font-size:10.5px;letter-spacing:.13em;color:#6b7581}
.shot .side-head .chev{margin-left:auto;color:#454d54}
.shot .side-newrow{display:flex;gap:7px;margin:0 12px;align-items:stretch}
.shot .side-new{flex:1;background:#ef4444;color:#eafff6;font-size:12px;font-weight:600;text-align:center;padding:8px 0;border-radius:5px}
.shot .side-gear{width:34px;display:flex;align-items:center;justify-content:center;background:#1a1d25;border:1px solid #262a33;border-radius:5px;color:#8a94a0;font-size:13px}
.shot .side-search{margin:11px 12px 12px;background:#0e1015;border:1px solid #22262e;border-radius:5px;padding:8px 9px;color:#5a636d;font-size:11.5px}
.shot .side-tree{padding:0 6px}
.shot .s-folder,.shot .s-group{display:flex;align-items:center;gap:8px;font-size:11.5px}
.shot .s-folder{padding:6px 8px;color:#c2c9d1}
.shot .s-group{padding:4px 8px 4px 20px;color:#7f8892}
.shot .fdot{width:4px;height:4px;border-radius:50%;background:#5a636d;flex:none}
.shot .s-host{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 28px;color:#9aa3ad;font-size:11.5px;border-radius:4px;white-space:nowrap}
.shot .s-host.on{background:#182028;color:#e4e9ef}
.shot .s-host .dot{width:7px;height:7px;border-radius:50%;background:#39424a;flex:none}
.shot .s-host.up .dot,.shot .s-host.on .dot{background:#f87171}
.shot .s-host .ip{margin-left:auto;color:#59626c;font-size:10.5px}
.shot .s-host .more{color:#59626c;font-size:13px;margin-left:3px;letter-spacing:1px}
/* center — tab strip + terminal (interface names highlighted blue, like the app) */
.shot .main{display:flex;flex-direction:column;min-width:0;background:#0d0e12}
.shot .tabs{display:flex;align-items:stretch;height:38px;background:#16181e;border-bottom:1px solid #080a0d;padding:0 4px}
.shot .tab{display:flex;align-items:center;gap:8px;padding:0 14px;font-family:var(--mono);font-size:12px;color:#79828c}
.shot .tab.on{background:#0d0e12;color:#dbe0e6}
.shot .tab .n{color:#59636d;font-size:11px}
.shot .term2{flex:1;padding:14px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.72;color:#cdd3da;overflow-x:auto;white-space:pre}
.shot .term2 .p{color:#e2e7ed;font-weight:600}
.shot .term2 .cmd{color:#e2e7ed}
.shot .term2 .if{color:#6cb6ff}
.shot .term2 .dim{color:#59636d}
.shot .term2 .err{color:#ec7a7a}
/* right — the Assistant panel (mirrors the real component) */
.shot .ai{background:#1b1d23;border-left:1px solid #080a0d;display:flex;flex-direction:column;color:#d8dbe2;min-width:0}
.shot .ai .ahead{display:flex;align-items:center;padding:13px 13px;border-bottom:1px solid #2a2e37;font-size:13px}
.shot .ai .ahead .who{font-weight:600;color:#e8ebf0}
.shot .ai .ahead .tgt{margin-left:auto;color:#828a97;font-size:11px}
.shot .ai .abody{padding:12px;display:flex;flex-direction:column;gap:11px;font-size:12.5px;flex:1;overflow:hidden}
.shot .ai .you{align-self:flex-end;max-width:88%;color:#9ecbff;background:#232833;border-radius:9px 9px 3px 9px;padding:7px 11px;line-height:1.45}
.shot .ai .who2{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#69727e;margin-bottom:4px}
.shot .ai .ans{color:#d3d8df;line-height:1.5}
.shot .ai .did{margin-top:9px}
.shot .ai .did .h{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#69727e;margin-bottom:5px}
.shot .ai .row{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.shot .ai .badge{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;background:#3a1717;color:#f7a5a5;padding:2px 6px;border-radius:3px;flex:none}
.shot .ai .row code{font-family:var(--mono);background:#22262e;color:#c2c8d0;padding:1px 6px;border-radius:3px;font-size:11px}
.shot .ai .rec{margin-top:10px;font-size:11.5px;color:#d9b45a;border-top:1px solid #2a2e37;padding-top:9px}
.shot .ai .rec .rec-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.shot .ai .rec .h{color:#d9b45a}
.shot .ai .rec .rec-copy{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a94a0;border:1px solid #2a2e37;border-radius:3px;padding:2px 8px}
.shot .ai .rec-block{margin:0;font-family:var(--mono);font-size:11px;line-height:1.65;color:#e6c974;background:#14161c;border:1px solid #2a2e37;border-radius:5px;padding:8px 11px;white-space:pre;overflow-x:auto}
.shot .ai .ainput{margin-top:auto;border-top:1px solid #2a2e37;padding:10px 11px;display:flex;gap:8px;align-items:center}
.shot .ai .ainput .box{flex:1;background:#0f1116;border:1px solid #262a33;border-radius:6px;padding:9px 10px;color:#565e69;font-size:11px}
.shot .ai .ainput .send{background:#ef4444;color:#eafff6;border-radius:6px;padding:8px 15px;font-family:var(--mono);font-size:11.5px;font-weight:600;flex:none}
.shot .ai .disc{padding:7px 12px 10px;text-align:center;font-size:9px;line-height:1.35;color:#565e69}
@media(max-width:860px){
  .shot .panes{grid-template-columns:1fr}
  .shot .side{display:none}
  .shot .ai{border-left:none;border-top:1px solid #080a0d}
  .shot .ai .abody{gap:10px}
}
/* keep the primary CTA readable + frame the product shot in BOTH themes (audit) */
@media (prefers-color-scheme:dark){
  .btn-primary{color:#08130c}
  .shot{border-color:#2a3330;box-shadow:0 0 0 1px #222b28,0 44px 90px -46px #000}
}
:root[data-theme="dark"] .btn-primary{color:#08130c}
:root[data-theme="dark"] .shot{border-color:#2a3330;box-shadow:0 0 0 1px #222b28,0 44px 90px -46px #000}
:root[data-theme="light"] .btn-primary{color:#f3fbf6}
:root[data-theme="light"] .shot{border-color:#0c1114;box-shadow:0 1px 0 rgba(0,0,0,.04),0 44px 90px -46px rgba(15,20,22,.6)}

/* footer */
footer{border-top:1px solid var(--line);padding:34px 0;font-family:var(--mono);font-size:13px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer nav{display:flex;gap:16px;flex-wrap:wrap}
footer nav .sep{color:var(--line)}
.footer-products{border-top:1px solid var(--line2);margin-top:16px;padding-top:14px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
