/* AM Cloud Solutions — shared styles */
:root{
  --bg:#050b18; --bg-2:#08122a; --panel:#0c1a33; --panel-2:#10223f;
  --line:rgba(148,170,205,.18); --line-2:rgba(148,170,205,.1);
  --txt:#e8eef9; --mut:#9db0cb; --dim:#6f86a8;
  --cyan:#22d3ee; --sky:#38bdf8; --blue:#3b82f6; --ind:#6366f1; --green:#34d399; --amber:#fbbf24;
  --paper:#f4f7fc; --paper-2:#ffffff; --ink:#0a1730; --ink-2:#3a4d6b; --ink-3:#64789a; --pline:#dde5f1;
  --grad:linear-gradient(135deg,#22d3ee 0%,#3b82f6 55%,#6366f1 100%);
  --radius:16px; --shadow:0 24px 60px -28px rgba(5,11,24,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--txt);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:650;letter-spacing:-.02em;line-height:1.15}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:'JetBrains Mono',ui-monospace,Consolas,monospace}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
section{padding:96px 0;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:16px}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--grad);border-radius:2px}
.head{max-width:760px;margin:0 auto 56px;text-align:center}
.head h2{font-size:clamp(28px,3.6vw,44px);margin-bottom:14px}
.head p{color:var(--mut);font-size:17.5px}
.light{background:var(--paper);color:var(--ink)}
.light .head p{color:var(--ink-2)}
.light .eyebrow{color:#1d6fd6}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:12px;font:600 15px/1 'Inter',sans-serif;border:1px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.btn-primary{background:var(--grad);color:#04101f;box-shadow:0 10px 30px -10px rgba(59,130,246,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(59,130,246,.85)}
.btn-ghost{border-color:var(--line);color:var(--txt);background:rgba(255,255,255,.03)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(148,170,205,.4)}
.light .btn-ghost{color:var(--ink);border-color:var(--pline);background:#fff}
.light .btn-ghost:hover{border-color:#9db6dc}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* header */
header.nav{position:fixed;inset:0 0 auto 0;z-index:60;background:rgba(5,11,24,.94);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
header.nav.scrolled{border-bottom-color:var(--line);background:rgba(5,11,24,.9)}
.nav-in{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:11px}
.logo svg,.logo img{width:40px;height:40px;border-radius:11px}
.logo b{display:block;font:700 17px/1.1 'Sora',sans-serif;letter-spacing:-.01em}
.logo small{display:block;font:500 10.5px/1.2 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
nav ul{list-style:none;display:flex;align-items:center;gap:26px}
nav a{font-size:14px;font-weight:500;color:var(--mut);transition:color .2s}
nav a:hover,nav a.on{color:#fff}
nav .cta{background:var(--grad);color:#04101f;padding:10px 18px;border-radius:10px;font-weight:700}
nav .cta:hover{color:#04101f;filter:brightness(1.08)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;border-radius:2px}

/* hero */
.hero{padding:142px 0 0;background:radial-gradient(900px 520px at 78% -8%,rgba(34,211,238,.22),transparent 60%),radial-gradient(700px 480px at -5% 40%,rgba(99,102,241,.22),transparent 60%),var(--bg);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:56px 56px;opacity:.35;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.18fr;gap:48px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);font-size:13px;color:var(--mut);margin-bottom:22px}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(52,211,153,.18)}
.hero h1{font-size:clamp(36px,5vw,62px);margin-bottom:20px}
.hero .lead{font-size:18.5px;color:var(--mut);max-width:560px;margin-bottom:30px}
.hero .meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px;color:var(--dim);font:500 12.5px/1 'JetBrains Mono',monospace}
.hero .meta span::before{content:"✓ ";color:var(--green)}
.stack{position:relative;height:520px}
.win{position:absolute;border-radius:14px;overflow:hidden;border:1px solid rgba(148,170,205,.28);background:#0a1426;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.03)}
.win .bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#0f1d38;border-bottom:1px solid var(--line)}
.win .bar i{width:9px;height:9px;border-radius:50%;background:#2c3f61}
.win .bar i:nth-child(1){background:#ff6b6b}.win .bar i:nth-child(2){background:#fbbf24}.win .bar i:nth-child(3){background:#34d399}
.win .bar em{font-style:normal;margin-left:8px;font:500 11px 'JetBrains Mono',monospace;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left}
.w1{width:84%;top:30px;left:0;z-index:2;transform:rotate(-1.2deg)}
.w2{width:52%;bottom:0;right:0;z-index:3;transform:rotate(1.4deg)}
.w3{width:46%;top:0;right:2%;z-index:1;opacity:.95;transform:rotate(2deg)}
@keyframes f1{50%{transform:perspective(1400px) rotateY(-8deg) rotateX(3deg) translateY(-8px)}}
@keyframes f2{50%{transform:perspective(1400px) rotateY(-10deg) rotateX(2deg) translateY(10px)}}
@keyframes f3{50%{transform:perspective(1400px) rotateY(-12deg) translateY(-6px)}}
.chip{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(10,20,38,.92);border:1px solid var(--line);box-shadow:0 14px 34px -14px rgba(0,0,0,.8);font-size:12.5px;}
.chip b{display:block;font-size:12.5px}.chip small{color:var(--dim);font-size:11px}
.chip .dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(34,211,238,.14);color:var(--cyan)}
.c1{left:-6px;bottom:70px}.c2{right:30px;top:260px}
.strip{position:relative;margin-top:70px;border-top:1px solid var(--line);background:rgba(8,18,42,.9)}
.strip-in{display:grid;grid-template-columns:repeat(4,1fr)}
.strip-in div{padding:26px 24px;border-right:1px solid var(--line)}
.strip-in div:last-child{border-right:0}
.strip b{display:block;font:700 30px/1.1 'Sora',sans-serif}
.strip span{font-size:13.5px;color:var(--mut)}

/* platform blocks */
.plat{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.plat:first-of-type{border-top:0;padding-top:0}
.plat.flip .plat-text{order:2}
.tagline{display:inline-flex;align-items:center;gap:8px;font:600 12px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.plat h3{font-size:clamp(26px,3vw,36px);margin-bottom:12px}
.plat p{color:var(--mut);margin-bottom:18px}
.plat .best{font-size:14px;color:var(--dim)}
.plat .best b{color:var(--sky)}
.feat{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:20px 0 26px}
.feat li{position:relative;padding-left:24px;font-size:14.5px;color:#cbd8ec}
.feat li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:4px;background:var(--grad);opacity:.9}
.frame{border-radius:16px;overflow:hidden;border:1px solid rgba(148,170,205,.28);background:#0a1426;box-shadow:0 40px 80px -34px rgba(0,0,0,.85)}
.frame .bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0f1d38;border-bottom:1px solid var(--line)}
.frame .bar i{width:10px;height:10px;border-radius:50%}
.frame .bar i:nth-child(1){background:#ff6b6b}.frame .bar i:nth-child(2){background:#fbbf24}.frame .bar i:nth-child(3){background:#34d399}
.frame .bar em{font-style:normal;margin-left:10px;font:500 11.5px 'JetBrains Mono',monospace;color:var(--dim)}
.frame img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left}

/* module grid (light) */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mod{background:var(--paper-2);border:1px solid var(--pline);border-radius:var(--radius);padding:22px;transition:transform .2s,box-shadow .2s,border-color .2s}
.mod:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(10,23,48,.45);border-color:#a9c2ea}
.mod .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--grad);margin-bottom:14px}
.mod .ic svg{width:22px;height:22px;stroke:#04101f;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mod h4{font-size:16.5px;color:var(--ink);margin-bottom:6px}
.mod p{font-size:14px;color:var(--ink-2);line-height:1.55}
.mod .tag{display:inline-block;margin-top:12px;font:600 10.5px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:#e8f1ff;color:#1d5fc4}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{position:relative;padding:26px 22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.step::before{counter-increment:s;content:"0" counter(s);font:700 13px 'JetBrains Mono',monospace;color:var(--cyan);display:block;margin-bottom:14px;letter-spacing:.1em}
.step h4{font-size:18px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--mut)}

/* custom development */
.custom{background:radial-gradient(700px 400px at 90% 0%,rgba(99,102,241,.2),transparent 60%),var(--bg-2)}
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.custom h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:14px}
.custom p{color:var(--mut);margin-bottom:16px}
.checks{list-style:none;margin:18px 0 28px;display:grid;gap:12px}
.checks li{position:relative;padding-left:32px;color:#cfdcf0}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:7px;background:var(--grad)}
.checks li::after{content:"";position:absolute;left:6px;top:8px;width:8px;height:5px;border-left:2px solid #04101f;border-bottom:2px solid #04101f;transform:rotate(-45deg)}
.term{border-radius:16px;border:1px solid rgba(148,170,205,.28);background:#060e1f;box-shadow:0 36px 70px -34px rgba(0,0,0,.9);overflow:hidden}
.term .bar{display:flex;gap:6px;padding:10px 14px;background:#0d1a33;border-bottom:1px solid var(--line)}
.term .bar i{width:10px;height:10px;border-radius:50%;background:#2c3f61}
.term pre{padding:22px;font:13px/1.8 'JetBrains Mono',monospace;color:#b9c9e2;overflow:auto;white-space:pre}
.term .k{color:#c4a7ff}.term .s{color:#7ee0a8}.term .c{color:#5f7799}.term .f{color:#7cc4ff}.term .n{color:#ffd479}

/* engineering */
.eng{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--paper-2);border:1px solid var(--pline);border-radius:var(--radius);padding:26px}
.card .ic{width:46px;height:46px;border-radius:13px;background:var(--grad);display:grid;place-items:center;margin-bottom:16px}
.card .ic svg{width:23px;height:23px;stroke:#04101f;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card h4{color:var(--ink);font-size:17.5px;margin-bottom:8px}
.card p{color:var(--ink-2);font-size:14.5px}
.arch{margin-top:44px;background:var(--bg);border-radius:20px;padding:34px;color:var(--txt);border:1px solid var(--line)}
.arch h4{font-size:17px;margin-bottom:6px}
.arch>p{color:var(--mut);font-size:14.5px;margin-bottom:18px}
.arch svg{width:100%;height:auto}
.stackrows{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.stackrows div{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.stackrows b{display:block;font:600 11px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:4px}
.stackrows span{font-size:13.5px;color:#cbd8ec}

/* industries */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ind{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));transition:border-color .2s,transform .2s}
.ind:hover{border-color:rgba(56,189,248,.5);transform:translateY(-3px)}
.ind b{display:block;font:650 17px 'Sora',sans-serif;margin-bottom:6px}
.ind span{font-size:14px;color:var(--mut)}

/* where it fits */
.fit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.fit{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01))}
.fit h4{display:flex;align-items:center;gap:12px;font-size:18px;margin-bottom:6px}
.fit h4 .ic{width:38px;height:38px;border-radius:11px;background:var(--grad);display:grid;place-items:center;flex:none}
.fit h4 .ic svg{width:20px;height:20px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fit p{color:var(--mut);font-size:14.5px;margin-bottom:14px}
.chips-row{display:flex;flex-wrap:wrap;gap:8px}
.chips-row span{font-size:13px;padding:6px 12px;border-radius:99px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.22);color:#cfe6fb}
.fit-note{margin-top:22px;padding:20px 24px;border:1px dashed var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.fit-note p{color:var(--mut);font-size:15px;max-width:760px}
@media(max-width:720px){.fit-grid{grid-template-columns:1fr}}

/* faq */
.faq{max-width:860px;margin:0 auto;display:grid;gap:12px}
.faq details{border:1px solid var(--pline);border-radius:14px;background:#fff;padding:4px 22px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font:600 16.5px 'Sora',sans-serif;color:var(--ink);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:#1d6fd6}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--ink-2);padding:0 0 20px;font-size:15.5px}

/* contact */
.contact{background:radial-gradient(800px 420px at 20% 100%,rgba(34,211,238,.18),transparent 60%),var(--bg-2)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.contact h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:14px}
.contact p{color:var(--mut)}
.cbox{margin-top:26px;display:grid;gap:12px}
.cbox div{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.cbox .ic{width:42px;height:42px;border-radius:12px;background:var(--grad);display:grid;place-items:center;flex:none}
.cbox .ic svg{width:21px;height:21px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cbox strong{display:block;font-size:14.5px}.cbox span{color:var(--mut);font-size:14px}
form.quick{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
form.quick h3{font-size:22px;margin-bottom:6px}
form.quick>p{font-size:14px;margin-bottom:18px}
.fr{margin-bottom:14px}
.fr label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#cbd8ec}
.fr input,.fr select,.fr textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:#07122a;color:var(--txt);font:inherit;font-size:15px}
.fr input:focus,.fr select:focus,.fr textarea:focus{outline:2px solid rgba(56,189,248,.55);outline-offset:1px}
.fr textarea{min-height:96px;resize:vertical}
.note{font-size:12.5px;color:var(--dim);margin-top:12px}

footer{background:#030813;border-top:1px solid var(--line);padding:56px 0 30px}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
footer h5{font:600 12px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:9px}
footer li a{color:var(--mut);font-size:14.5px}footer li a:hover{color:#fff}
footer p{color:var(--mut);font-size:14.5px;margin-top:14px;max-width:340px}
.f-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--dim);font-size:13px}

/* pricing + demo pages */
.page-hero{padding:140px 0 56px;background:radial-gradient(800px 420px at 80% -10%,rgba(34,211,238,.2),transparent 60%),var(--bg)}
.page-hero h1{font-size:clamp(32px,4.4vw,52px);margin-bottom:14px}
.page-hero p{color:var(--mut);font-size:18px;max-width:680px}
.seg{display:inline-flex;padding:5px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);margin-top:26px;flex-wrap:wrap;gap:4px}
.seg button{border:0;background:transparent;color:var(--mut);padding:10px 18px;border-radius:9px;font:600 14px 'Inter',sans-serif;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--grad);color:#04101f}
.seg em{font-style:normal;font-size:11px;margin-left:6px;opacity:.85}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.plan{position:relative;background:var(--paper-2);border:1px solid var(--pline);border-radius:20px;padding:30px;color:var(--ink)}
.plan.pop{border-color:#5b9cf5;box-shadow:0 30px 60px -34px rgba(59,130,246,.6)}
.plan .tag{position:absolute;top:-12px;left:28px;background:var(--grad);color:#04101f;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:99px}
.plan h3{font-size:24px;color:var(--ink)}
.plan .for{color:var(--ink-2);font-size:14.5px;margin:6px 0 18px;min-height:44px}
.price{display:flex;align-items:baseline;gap:10px}
.price b{font:700 38px 'Sora',sans-serif;color:var(--ink)}
.price span{font-size:12.5px;color:var(--ink-3);line-height:1.3}
.plan .sub{font-size:13.5px;color:var(--ink-2);margin:10px 0 18px}
.plan ul{list-style:none;display:grid;gap:9px;margin-bottom:24px}
.plan li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-2)}
.plan li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:6px;border-left:2px solid #1d6fd6;border-bottom:2px solid #1d6fd6;transform:rotate(-45deg)}
.plan li.lead{font-weight:700;color:var(--ink)}
.plan .btn{width:100%;justify-content:center}
.build{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start;margin-top:44px}
.mlist{display:grid;gap:10px}
.mrow{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:15px 18px;border:1px solid var(--pline);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.mrow:hover{border-color:#8db4ee}
.mrow input{width:20px;height:20px;accent-color:#2563eb;flex:none}
.mrow .tx{flex:1}.mrow b{display:block;font-size:15px}.mrow small{color:var(--ink-3);font-size:13px}
.mrow .mp{font:700 14px 'JetBrains Mono',monospace;color:#1d5fc4;white-space:nowrap}
.mrow.base{background:#eaf2ff;border-color:#b7d0f7;cursor:default}
.stepper{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border:1px solid var(--pline);border-radius:14px;background:#fff;color:var(--ink)}
.stepper b{display:block;font-size:15px}.stepper small{color:var(--ink-3);font-size:13px}
.ctrl{display:flex;align-items:center;gap:10px}
.ctrl button{width:34px;height:34px;border-radius:9px;border:1px solid var(--pline);background:#f3f7fd;font-size:18px;cursor:pointer;color:var(--ink)}
.ctrl output{min-width:24px;text-align:center;font:700 15px 'JetBrains Mono',monospace}
.quote{position:sticky;top:96px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:26px;color:var(--txt);box-shadow:var(--shadow)}
.quote h3{font-size:20px;margin-bottom:14px}
.lines{list-style:none;display:grid;gap:10px;margin-bottom:16px}
.lines li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--mut)}
.lines .save{color:var(--green)}
.lines .v{font-family:'JetBrains Mono',monospace;color:var(--txt)}
.total{border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px}
.total .big{font:700 32px 'Sora',sans-serif}
.total .big small{font:500 14px 'Inter',sans-serif;color:var(--dim)}
.total .r{display:flex;justify-content:space-between;font-size:14px;color:var(--mut);margin-top:8px}
.suggest{font-size:13.5px;color:var(--sky);margin-bottom:12px;min-height:0}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.presets button{border:1px solid var(--pline);background:#fff;border-radius:99px;padding:8px 14px;font:600 13px 'Inter',sans-serif;cursor:pointer;color:var(--ink)}
.presets button[aria-pressed="true"]{background:#1d5fc4;color:#fff;border-color:#1d5fc4}
.fine{font-size:13px;color:var(--ink-3);margin-top:22px;text-align:center}
.demos{display:grid;gap:26px}
.demo{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.demo h2{font-size:30px;margin-bottom:10px}
.demo p{color:var(--mut);margin-bottom:16px}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.roles span{font-size:12.5px;padding:5px 11px;border-radius:99px;background:rgba(56,189,248,.12);color:var(--sky);font-weight:600}

@media(max-width:1020px){
  .hero-grid,.plat,.custom-grid,.contact-grid,.build,.demo{grid-template-columns:1fr}
  .plat.flip .plat-text{order:0}
  .stack{height:auto;display:grid;gap:14px}
  .win{position:relative;width:100% !important;transform:none !important;animation:none !important;top:auto;left:auto;right:auto;bottom:auto}
  .w2,.w3,.chip{display:none}
  .mods,.inds{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .eng,.plans,.stackrows{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .quote{position:static}
}
@media(max-width:720px){
  section{padding:68px 0}
  .strip-in{grid-template-columns:1fr 1fr}
  .strip-in div:nth-child(2){border-right:0}
  .strip-in div{border-bottom:1px solid var(--line)}
  .mods,.inds,.steps,.eng,.plans,.stackrows,.feat,.f-grid{grid-template-columns:1fr}
  .hero{padding-top:118px}
}
@media(max-width:1120px){
  nav ul{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(5,11,24,.98);border-bottom:1px solid var(--line);padding:8px 24px 18px;display:none}
  nav ul.open{display:flex}
  nav li a{display:block;padding:13px 0;border-bottom:1px solid var(--line-2)}
  nav .cta{text-align:center;margin-top:12px;border-bottom:0}
  .burger{display:block}
}
nav a,.logo b{white-space:nowrap}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}.reveal{opacity:1;transform:none}}

/* platforms (4 uniform cards) */
.pl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));overflow:hidden}
.pshot{border-bottom:1px solid var(--line);background:#0a1426}
.pshot .bar{display:flex;align-items:center;gap:6px;padding:9px 14px;background:#0f1d38;border-bottom:1px solid var(--line)}
.pshot .bar i{width:9px;height:9px;border-radius:50%}
.pshot .bar i:nth-child(1){background:#ff6b6b}.pshot .bar i:nth-child(2){background:#fbbf24}.pshot .bar i:nth-child(3){background:#34d399}
.pshot .bar em{font-style:normal;margin-left:8px;font:500 11px 'JetBrains Mono',monospace;color:var(--dim)}
.pshot img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top left}
.pbody{display:flex;flex-direction:column;flex:1;padding:26px}
.pbody h3{font-size:26px;margin-bottom:8px}
.pbody>p{color:var(--mut);margin-bottom:14px;font-size:15.5px}
.pbody .feat{grid-template-columns:1fr;margin:6px 0 18px;gap:8px}
.bestfor{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 22px}
.bestfor b{font:600 11px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-right:4px}
.bestfor span{font-size:12.5px;padding:5px 11px;border-radius:99px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.22);color:#cfe6fb}
.pbody .btn-row{margin-top:auto}

/* module tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:30px}
.tab{border:1px solid var(--pline);background:#fff;color:var(--ink);padding:11px 20px;border-radius:99px;font:600 14.5px 'Inter',sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.tab:hover{border-color:#8db4ee}
.tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabpanel[hidden]{display:none}
.tabpanel.mods{grid-template-columns:repeat(4,1fr)}
.mods>.mod .tag{margin-top:12px}

/* value cards in the custom-development section */
.vals{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vcard{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.vcard .ic{width:42px;height:42px;border-radius:12px;background:var(--grad);display:grid;place-items:center;margin-bottom:14px}
.vcard .ic svg{width:21px;height:21px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.vcard h4{font-size:16.5px;margin-bottom:6px}
.vcard p{color:var(--mut);font-size:14.5px;margin:0}

@media(max-width:1020px){.pl-grid{grid-template-columns:1fr}.tabpanel.mods{grid-template-columns:1fr 1fr}.vals{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.tabpanel.mods{grid-template-columns:1fr}.vals{grid-template-columns:1fr}.pbody{padding:20px}}

/* Solutions dropdown */
nav .has-dd{position:relative}
nav .has-dd>a .caret{font-size:11px;opacity:.7;margin-left:2px}
nav ul.dd{position:absolute;top:100%;left:-14px;min-width:270px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px;margin-top:10px;background:#0a1730;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -20px rgba(0,0,0,.8)}
nav ul.dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
nav .has-dd:hover>ul.dd,nav .has-dd:focus-within>ul.dd{display:flex}
nav ul.dd li a{display:block;padding:10px 12px;border-radius:9px;font-weight:600;color:#e8eef9}
nav ul.dd li a:hover{background:rgba(56,189,248,.12);color:#fff}
nav ul.dd small{display:block;font-weight:400;font-size:12px;color:var(--dim)}

/* hardware callout */
.hw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hw{display:flex;gap:14px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.04)}
.hw .ic{width:44px;height:44px;border-radius:12px;background:var(--grad);display:grid;place-items:center;flex:none}
.hw .ic svg{width:22px;height:22px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hw h4{font-size:16px;margin-bottom:4px}
.hw p{font-size:14px;color:var(--mut);margin:0;line-height:1.5}

/* guarantees */
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gcard{background:#fff;border:1px solid var(--pline);border-radius:var(--radius);padding:28px}
.gcard .ic{width:48px;height:48px;border-radius:14px;background:var(--grad);display:grid;place-items:center;margin-bottom:16px}
.gcard .ic svg{width:24px;height:24px;stroke:#04101f;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gcard h4{font-size:19px;color:var(--ink);margin-bottom:6px}
.gcard>p{color:var(--ink-2);font-size:15px;margin-bottom:14px}
.gcard ul{list-style:none;display:grid;gap:9px}
.gcard li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-2)}
.gcard li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:6px;border-left:2px solid #1d6fd6;border-bottom:2px solid #1d6fd6;transform:rotate(-45deg)}

@media(max-width:1120px){
  nav .has-dd>a{display:block}
  nav ul.dd{position:static;display:flex;margin:0 0 4px;padding:0 0 6px 14px;background:transparent;border:0;box-shadow:none;min-width:0}
  nav ul.dd::before{display:none}
  nav ul.dd li a{padding:9px 0;font-weight:500;color:var(--mut);border-bottom:0}
  nav ul.dd small{display:none}
}
@media(max-width:1020px){.hw-grid{grid-template-columns:1fr 1fr}.g-grid{grid-template-columns:1fr}}
@media(max-width:720px){.hw-grid{grid-template-columns:1fr}}

/* contact section v2 */
.contact{background:radial-gradient(800px 420px at 15% 100%,rgba(34,211,238,.14),transparent 60%),var(--bg-2)}
.contact-grid{align-items:center}
.c-info h2{font-size:clamp(28px,3.4vw,42px);margin-bottom:12px}
.c-sub{color:var(--mut);font-size:18px;margin-bottom:26px}
.addr{display:flex;align-items:center;gap:14px;font-style:normal;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);margin-bottom:18px;color:#e8eef9;font-weight:500}
.addr-ic{width:42px;height:42px;border-radius:12px;background:var(--grad);display:grid;place-items:center;flex:none}
.addr-ic svg{width:22px;height:22px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.btn-wa{background:#22c55e;color:#04210f;box-shadow:0 12px 30px -12px rgba(34,197,94,.7);width:100%;justify-content:center;font-size:16px;padding:16px 24px}
.btn-wa:hover{background:#2bd96a;transform:translateY(-2px)}
.btn-wa svg{width:22px;height:22px;stroke:#04210f;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c-link{display:inline-block;margin-top:16px;color:var(--sky);font-weight:600;border-bottom:1px solid transparent}
.c-link:hover{border-bottom-color:var(--sky)}
form.quick{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid rgba(148,170,205,.28)}
form.quick .btn{width:100%;justify-content:center;margin-top:4px}

/* header tagline: readable on dark */
.logo small{color:#9db0cb;letter-spacing:.1em;font-size:10px}
.logo b{line-height:1.15}

/* hardware callout inside the modules section */
.hw-callout{margin-top:34px;padding:26px;border:1px solid var(--pline);border-radius:var(--radius);background:#fff;color:var(--ink)}
.hw-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:18px}
.hw-head h3{font-size:20px;color:var(--ink)}
.hw-head p{color:var(--ink-2);font-size:14.5px}
.hw-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hw-item{display:flex;gap:12px;padding:16px;border:1px solid var(--pline);border-radius:12px;background:var(--paper)}
.hw-item .ic{width:40px;height:40px;border-radius:11px;background:var(--grad);display:grid;place-items:center;flex:none}
.hw-item .ic svg{width:20px;height:20px;stroke:#04101f;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hw-item h4{font-size:15px;color:var(--ink);margin-bottom:2px}
.hw-item p{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.45}

/* security: five benefit cards */
.b-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bcard{grid-column:span 2;background:#fff;border:1px solid var(--pline);border-radius:var(--radius);padding:24px}
.bcard:nth-child(4){grid-column:2 / span 2}
.bcard:nth-child(5){grid-column:4 / span 2}
.bcard .ic{width:46px;height:46px;border-radius:13px;background:var(--grad);display:grid;place-items:center;margin-bottom:14px}
.bcard .ic svg{width:23px;height:23px;stroke:#04101f;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bcard h4{font-size:17.5px;color:var(--ink);margin-bottom:6px}
.bcard p{font-size:14.5px;color:var(--ink-2);margin:0}
@media(max-width:1020px){.hw-row{grid-template-columns:1fr 1fr}.b-grid{grid-template-columns:1fr 1fr}.bcard,.bcard:nth-child(4),.bcard:nth-child(5){grid-column:auto}}
@media(max-width:720px){.hw-row,.b-grid{grid-template-columns:1fr}}
