:root{
  --bg:#07090d; --near:#34e0d0; --far:#4d7cff;
  --t1:#e8ebef; --t2:#aab2bd; --t3:#9098a4; --t4:#5b6470;
  --panel:rgba(9,12,17,0.52); --border:rgba(255,255,255,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
html,body{margin:0;background:var(--bg);}
body{color:var(--t1);font-family:'IBM Plex Sans',system-ui,sans-serif;overflow-x:hidden;}
::selection{background:var(--near);color:#06120f;}
a{color:inherit;}
#fs-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;display:block;pointer-events:none;}
#content{position:relative;z-index:2;}
@media (prefers-reduced-motion: reduce){
  #fs-canvas{display:none;}
}
.nav{position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(24px,5vw,72px);background:rgba(7,9,13,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--t1);}
.brand-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;}
.brand-mark i{background:var(--near);}
.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.4;}
.brand-name{font-family:'Sora',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.01em;}
.nav-links{display:flex;gap:34px;font-size:14px;}
.nav-links a{color:var(--t3);text-decoration:none;transition:color .2s;}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--t1);}
.nav-cta{font-size:14px;}
.nav-menu{display:contents;}
.nav-toggle{display:none;}
.btn{font-family:'Sora',sans-serif;font-weight:600;border-radius:8px;padding:14px 26px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,border-color .2s;}
.nav-cta.btn{padding:10px 18px;border-radius:6px;}
.btn-primary{color:#06120f;background:var(--near);border:none;}
.btn-primary:hover,.btn-primary:focus-visible{background:#5fe9db;}
.btn-ghost{color:var(--t1);background:rgba(255,255,255,.04);border:1px solid #2a3038;backdrop-filter:blur(4px);}
.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--near);}
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px clamp(24px,6vw,80px) 80px;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--near);margin:0 0 30px;}
.hero-title{font-family:'Sora',sans-serif;font-size:clamp(44px,7.4vw,98px);line-height:.98;letter-spacing:-.04em;font-weight:800;margin:0 0 26px;max-width:16ch;text-wrap:balance;text-shadow:0 4px 40px rgba(7,9,13,.8);}
.hero-sub{font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:var(--t2);margin:0 0 38px;max-width:620px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--t4);text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;}
.cue-arrow{animation:fsBob 1.8s ease-in-out infinite;font-size:16px;}
@keyframes fsBob{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
@media (prefers-reduced-motion: reduce){.cue-arrow{animation:none;}}
.intro{padding:clamp(70px,9vw,130px) clamp(24px,6vw,80px);}
.intro-text{max-width:20ch;margin:0 auto;font-family:'Sora',sans-serif;font-weight:500;font-size:clamp(26px,3.4vw,46px);line-height:1.25;letter-spacing:-.02em;text-shadow:0 2px 24px rgba(7,9,13,.85);}
.intro-text .muted{color:var(--t4);}
.intro-text .accent{color:var(--near);}
.services{padding:clamp(40px,5vw,70px) clamp(24px,6vw,80px) clamp(80px,9vw,120px);}
.panel{max-width:1180px;margin:0 auto;background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:24px;padding:clamp(30px,4vw,56px);}
.services-head{margin-bottom:30px;}
.h2{font-family:'Sora',sans-serif;font-size:clamp(30px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin:0;max-width:18ch;}
.services-lede{font-size:15px;color:var(--t3);margin:16px 0 0;max-width:46ch;}
.rows{border-top:1px solid rgba(255,255,255,.09);}
.row{display:grid;grid-template-columns:66px 1fr 1.5fr;gap:clamp(14px,2.6vw,38px);padding:28px 4px;border-bottom:1px solid rgba(255,255,255,.09);align-items:center;text-decoration:none;color:inherit;transition:background .2s;}
.row:hover,.row:focus-visible{background:rgba(52,224,208,.05);}
.row-num{font-family:'JetBrains Mono',monospace;color:var(--t4);font-size:11px;text-align:center;}
.row-title{font-family:'Sora',sans-serif;font-size:clamp(20px,2.2vw,26px);font-weight:600;margin:0;letter-spacing:-.01em;}
.row-desc{font-size:15px;line-height:1.6;color:var(--t3);margin:0;}
@media (max-width:720px){
  .row{grid-template-columns:40px 1fr;}
  .row-desc{grid-column:1 / -1;}

  /* Mobile top bar: logo + hamburger; links/CTA collapse into a dropdown panel */
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0;margin:-9px;background:transparent;border:0;cursor:pointer;z-index:2;}
  .nav-toggle-bar{display:block;width:22px;height:2px;margin:0 auto;background:var(--t1);border-radius:2px;transition:transform .28s ease,opacity .2s ease;}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav-menu{display:flex;flex-direction:column;gap:6px;position:absolute;top:100%;left:0;right:0;padding:12px clamp(24px,5vw,72px) 20px;background:rgba(7,9,13,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;}
  .nav.nav-open .nav-menu{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .25s ease,transform .25s ease,visibility 0s;}

  .nav-links{flex-direction:column;gap:0;font-size:16px;}
  .nav-links a{display:block;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-cta{margin-top:14px;text-align:center;}
  .nav-cta.btn{display:block;padding:14px 18px;font-size:15px;}
}
@media (max-width:720px) and (prefers-reduced-motion:reduce){
  .nav-toggle-bar,.nav-menu{transition:none;}
}
/* FAQ accordion — card-based, matches .card / .feature language */
.faq-list{display:flex;flex-direction:column;gap:14px;margin-top:8px;}
.faq-item{position:relative;border:1px solid var(--border);border-radius:18px;background:rgba(11,15,21,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease,background .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);}
.faq-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--near);transform:scaleY(0);transform-origin:top;transition:transform .35s ease;}
.faq-item:hover{transform:translateY(-3px);border-color:rgba(52,224,208,.32);background:rgba(13,18,26,.6);box-shadow:0 16px 44px -26px rgba(52,224,208,.4);}
.faq-item[open]{border-color:rgba(52,224,208,.4);background:rgba(13,18,26,.7);box-shadow:0 20px 56px -28px rgba(52,224,208,.5);}
.faq-item[open]::before{transform:scaleY(1);}
.faq-q{display:flex;align-items:center;gap:clamp(14px,2vw,24px);list-style:none;cursor:pointer;padding:clamp(20px,2.4vw,28px) clamp(20px,2.4vw,30px);font-family:'Sora',sans-serif;font-size:clamp(16px,1.7vw,21px);font-weight:600;letter-spacing:-.01em;color:var(--t1);transition:color .25s;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::marker{content:"";}
.faq-q:hover,.faq-item[open] .faq-q{color:var(--near);}
.faq-num{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;color:var(--t4);flex:0 0 auto;transition:color .25s;}
.faq-item[open] .faq-num,.faq-q:hover .faq-num{color:var(--near);}
.faq-text{flex:1 1 auto;}
.faq-icon{position:relative;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;transition:border-color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1),background .3s ease;}
.faq-q:hover .faq-icon,.faq-item[open] .faq-icon{border-color:rgba(52,224,208,.5);background:rgba(52,224,208,.08);}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:50%;left:50%;background:var(--near);border-radius:2px;transition:transform .3s ease,opacity .3s ease;}
.faq-icon::before{width:13px;height:2px;transform:translate(-50%,-50%);}
.faq-icon::after{width:2px;height:13px;transform:translate(-50%,-50%);}
.faq-item[open] .faq-icon{transform:rotate(135deg);}
.faq-a{overflow:hidden;padding:0 clamp(20px,2.4vw,30px);max-width:74ch;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .3s ease,padding .35s ease;}
.faq-a>*{min-height:0;}
.faq-item[open] .faq-a{grid-template-rows:1fr;opacity:1;padding-bottom:clamp(22px,2.4vw,28px);}
.faq-a p{font-size:15px;line-height:1.75;color:var(--t2);margin:0;padding-left:calc(12px + clamp(14px,2vw,24px));}
.faq-a a{color:var(--near);}
@media (max-width:640px){.faq-a p{padding-left:0;}}
@media (prefers-reduced-motion:reduce){.faq-item,.faq-icon,.faq-a,.faq-item::before{transition:none;}.faq-item:hover{transform:none;}.faq-item[open] .faq-icon{transform:rotate(135deg);}}
.work{padding:clamp(40px,5vw,70px) clamp(24px,6vw,80px) clamp(80px,9vw,120px);max-width:1180px;margin:0 auto;}
.work-head{position:relative;margin-bottom:40px;}
.work-note{font-size:14px;color:var(--t4);margin:14px 0 0;}
.cards-viewport{position:relative;margin:0 calc(clamp(24px,6vw,80px) * -1);padding:8px 0;}
.cards-viewport::before,.cards-viewport::after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,6vw,80px);z-index:2;pointer-events:none;}
.cards-viewport::before{left:0;background:linear-gradient(90deg,var(--bg,#06080c),transparent);}
.cards-viewport::after{right:0;background:linear-gradient(270deg,var(--bg,#06080c),transparent);}
.cards{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:14px clamp(24px,6vw,80px);scrollbar-width:none;-ms-overflow-style:none;cursor:grab;}
.cards::-webkit-scrollbar{display:none;}
.cards.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;}
.cards.is-gliding{scroll-behavior:auto;scroll-snap-type:none;}
.cards.is-dragging .card{pointer-events:none;}
.card{flex:0 0 clamp(260px,30vw,340px);scroll-snap-align:start;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:32px;background:rgba(11,15,21,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .35s ease,box-shadow .35s ease,background .35s ease;will-change:transform;}
.card:hover{transform:translateY(-8px);border-color:rgba(52,224,208,.35);background:rgba(13,18,26,.7);box-shadow:0 18px 50px -22px rgba(52,224,208,.35);}
.stat{font-family:'Sora',sans-serif;font-size:clamp(40px,5vw,58px);font-weight:800;color:var(--near);line-height:1;letter-spacing:-.03em;}
.stat-label{font-family:'Sora',sans-serif;font-size:clamp(19px,2vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--near);margin:0 0 16px;}
.card-body{font-size:14px;line-height:1.65;color:#c2c8d0;margin:0 0 18px;}
.card-tag{font-family:'JetBrains Mono',monospace;font-size:12px;color:#6b7280;letter-spacing:.06em;}
.contact{position:relative;padding:clamp(90px,11vw,150px) clamp(24px,6vw,80px);text-align:center;overflow:hidden;}
.contact-glow{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(ellipse at center,rgba(52,224,208,.14),transparent 65%);z-index:0;}
.contact-card{position:relative;z-index:1;max-width:560px;margin:0 auto;background:rgba(9,12,17,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:24px;padding:clamp(36px,5vw,60px);}
.contact-title{font-family:'Sora',sans-serif;font-size:clamp(34px,5.4vw,64px);font-weight:800;letter-spacing:-.035em;margin:0 0 18px;line-height:1.02;}
.contact-sub{font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:var(--t2);margin:0 auto 32px;max-width:440px;}
.contact-form{display:flex;flex-direction:column;gap:16px;text-align:left;margin:0 0 6px;}
.form-row{display:flex;gap:16px;}
.form-row .form-field{flex:1;min-width:0;}
.form-field{display:flex;flex-direction:column;gap:7px;}
.form-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);}
.form-input{font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:15px;color:var(--t1);background:rgba(255,255,255,.04);border:1px solid #2a3038;border-radius:8px;padding:13px 14px;width:100%;transition:border-color .2s,background .2s;resize:vertical;}
.form-input::placeholder{color:var(--t4);}
.form-input:hover{border-color:#3a424d;}
.form-input:focus{outline:none;border-color:var(--near);background:rgba(255,255,255,.06);}
.form-submit{margin-top:6px;width:100%;text-align:center;}
.form-submit[disabled]{opacity:.6;cursor:progress;}
.form-status{margin:4px 0 0;font-family:'JetBrains Mono',monospace;font-size:13px;min-height:1em;}
.form-status.is-ok{color:var(--near);}
.form-status.is-err{color:#ff7a7a;}
@media (max-width:560px){.form-row{flex-direction:column;}}
.contact-email{margin:22px 0 0;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--t4);}
.contact-email a{color:var(--t3);text-decoration:none;}
.contact-email a:hover,.contact-email a:focus-visible{color:var(--near);}
.footer{padding:28px clamp(24px,6vw,80px);background:rgba(7,9,13,.85);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.06);color:var(--t4);font-size:13px;text-align:center;}
@media (max-width:860px){.card{flex-basis:min(80vw,300px);}}
@media (prefers-reduced-motion:reduce){.cards{scroll-behavior:auto;}.card{transition:border-color .2s ease;}.card:hover{transform:none;}}
a:focus-visible,.btn:focus-visible,.row:focus-visible{outline:2px solid var(--near);outline-offset:3px;border-radius:6px;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:30;background:var(--near);color:#06120f;font-family:'Sora',sans-serif;font-weight:600;padding:10px 16px;border-radius:0 0 6px 0;text-decoration:none;}
.skip-link:focus{left:0;}
.brand-lab{font-weight:300;font-size:.62em;opacity:.7;margin-left:.28em;letter-spacing:0;position:relative;top:-.04em;}
.footer .brand-name{font-family:'Sora',sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;margin-right:14px;}
/* ===== v2 product pages ===== */
.page-main{position:relative;z-index:2;padding-top:96px;}
.breadcrumbs{max-width:1180px;margin:0 auto;padding:8px clamp(24px,6vw,80px) 0;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--t4);letter-spacing:.04em;}
.breadcrumbs a{color:var(--t3);text-decoration:none;}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--near);}
.breadcrumbs .sep{margin:0 8px;color:var(--t4);}
.product-hero{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,90px) clamp(24px,6vw,80px) clamp(30px,4vw,50px);}
.product-hero h1{font-family:'Sora',sans-serif;font-size:clamp(36px,6vw,76px);line-height:1.0;letter-spacing:-.035em;font-weight:800;margin:14px 0 22px;max-width:18ch;text-shadow:0 4px 40px rgba(7,9,13,.8);}
.product-sub{font-size:clamp(16px,1.7vw,21px);line-height:1.55;color:var(--t2);max-width:680px;margin:0;}
.section{max-width:1180px;margin:0 auto;padding:clamp(40px,5vw,70px) clamp(24px,6vw,80px);}
.section-head{margin-bottom:34px;}
.section-head h2{font-family:'Sora',sans-serif;font-size:clamp(26px,3.4vw,42px);font-weight:700;letter-spacing:-.03em;margin:0;max-width:20ch;}
.section-head p{font-size:15px;color:var(--t3);margin:14px 0 0;max-width:60ch;}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.feature{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:18px;padding:28px;}
.feature h3{font-family:'Sora',sans-serif;font-size:20px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em;}
.feature p{font-size:14px;line-height:1.65;color:var(--t3);margin:0;}
.usecase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.usecase{background:rgba(11,15,21,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px;}
.usecase h3{font-family:'Sora',sans-serif;font-size:19px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em;}
.usecase p{font-size:14px;line-height:1.65;color:#c2c8d0;margin:0 0 16px;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;color:var(--near);background:rgba(52,224,208,.08);border:1px solid rgba(52,224,208,.22);border-radius:999px;padding:5px 11px;}
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.spec-col{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:18px;padding:26px;}
.spec-col h3{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--near);margin:0 0 16px;}
.spec-col ul{list-style:none;margin:0;padding:0;}
.spec-col li{font-size:14px;color:var(--t2);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.spec-col li:last-child{border-bottom:none;}
.spec-col .spec-link{display:inline-block;margin-top:14px;font-family:'Sora',sans-serif;font-weight:600;font-size:13px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.related-card{display:block;background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:18px;padding:26px;text-decoration:none;color:inherit;transition:border-color .2s,background .2s;}
.related-card:hover,.related-card:focus-visible{border-color:var(--near);background:rgba(52,224,208,.05);}
.related-card h3{font-family:'Sora',sans-serif;font-size:18px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em;}
.related-card p{font-size:14px;line-height:1.6;color:var(--t3);margin:0 0 16px;}
.related-cta{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--near);letter-spacing:.04em;}
.product-cta{position:relative;text-align:center;padding:clamp(70px,9vw,120px) clamp(24px,6vw,80px);overflow:hidden;}
.cta-card{position:relative;z-index:1;max-width:620px;margin:0 auto;background:rgba(9,12,17,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:24px;padding:clamp(36px,5vw,56px);}
.cta-card h2{font-family:'Sora',sans-serif;font-size:clamp(28px,4vw,48px);font-weight:800;letter-spacing:-.03em;margin:0 0 16px;line-height:1.05;}
.cta-card p{font-size:clamp(15px,1.6vw,18px);line-height:1.6;color:var(--t2);margin:0 auto 28px;max-width:480px;}
.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.footer-product{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;text-align:center;}
.footer-tagline{color:var(--t3);}
.footer-links{display:flex;gap:16px;}
.footer-links a{color:var(--t3);text-decoration:none;}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--near);}
.footer-copy{color:var(--t4);width:100%;}
@media (max-width:900px){.feature-grid,.specs-grid,.related-grid{grid-template-columns:1fr;}.usecase-grid{grid-template-columns:1fr;}}
