/* ============================================================
   WeBuild Technology Inc. — style.css
   AI-Powered. Solution-Driven. Built to Grow.
   Core tokens, layout, components. Animations live in animations.css
   ============================================================ */

:root{
  /* Brand (derived from WB logo — do not alter logo files) */
  --blue:#3D52E8;
  --violet:#9B5CF6;
  --coral:#F2798C;
  --grad:linear-gradient(115deg,var(--blue) 0%,var(--violet) 52%,var(--coral) 100%);
  --grad-soft:linear-gradient(115deg,rgba(61,82,232,.35),rgba(155,92,246,.30) 52%,rgba(242,121,140,.28));

  /* Surfaces */
  --bg:#060917;
  --bg-2:#0A0F26;
  --card:rgba(255,255,255,.045);
  --card-strong:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);

  /* Text */
  --text:#EAEDFA;
  --muted:#A2AACB;
  --faint:#6E77A0;

  /* Type */
  --font-display:"Poppins",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;

  /* Rhythm */
  --radius:18px;
  --radius-lg:26px;
  --section:clamp(72px,10vw,128px);
  --nav-h:72px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}

.container{width:min(1160px,92%);margin-inline:auto}

/* ---------- Type scale ---------- */
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:600}
h3{font-size:1.22rem;font-weight:600}
p{color:var(--muted)}
.lead{font-size:clamp(1.05rem,1.9vw,1.25rem);color:var(--muted);max-width:46ch}

.eyebrow{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--violet);
  display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--grad)}

.grad-text{
  background:var(--grad);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

.section{padding-block:var(--section)}
.section-head{max-width:640px;margin-bottom:clamp(2.2rem,5vw,3.6rem)}
.section-head p{margin-top:.9rem}
.center{text-align:center}
.center .section-head{margin-inline:auto}
.center .eyebrow{justify-content:center}
.center .lead{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.95rem 1.7rem;border-radius:999px;font-weight:600;font-size:.98rem;
  font-family:var(--font-display);letter-spacing:.01em;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
  min-height:48px; /* easy to tap */
}
.btn-primary{
  background:var(--grad);color:#fff;
  box-shadow:0 8px 28px -8px rgba(122,86,240,.55);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(122,86,240,.7)}
.btn-ghost{
  border:1px solid var(--line-strong);color:var(--text);
  background:rgba(255,255,255,.03);backdrop-filter:blur(8px);
}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--violet);background:rgba(155,92,246,.08)}
.btn-sm{padding:.62rem 1.15rem;font-size:.88rem;min-height:42px}
.btn-block{width:100%}
.btn-row{display:flex;gap:.9rem;flex-wrap:wrap}

/* ---------- Navbar ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:80;height:var(--nav-h);
  background:rgba(6,9,23,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-weight:700;font-size:1.08rem}
.brand img{height:34px;width:auto}
.brand small{display:block;font-family:var(--font-mono);font-weight:400;font-size:.6rem;letter-spacing:.12em;color:var(--faint);text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:1.7rem;list-style:none}
.nav-links a{font-size:.94rem;color:var(--muted);transition:color .2s;position:relative;padding-block:.4rem}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--grad);border-radius:2px;transition:width .25s ease}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--text)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
.nav-cta{white-space:nowrap}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:10px;border-radius:10px}
.nav-toggle span{width:24px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

main{padding-top:var(--nav-h)}

/* ---------- Hero ---------- */
.hero{position:relative;padding-block:clamp(64px,9vw,120px) var(--section);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero .lead{margin-top:1.2rem}
.hero .btn-row{margin-top:2rem}
.hero-note{margin-top:1.4rem;font-family:var(--font-mono);font-size:.76rem;color:var(--faint);letter-spacing:.06em}

/* ambient gradient orbs */
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none;z-index:-1}
.orb-a{width:480px;height:480px;background:rgba(61,82,232,.35);top:-160px;left:-120px}
.orb-b{width:420px;height:420px;background:rgba(242,121,140,.22);bottom:-180px;right:-100px}
.orb-c{width:340px;height:340px;background:rgba(155,92,246,.25);top:30%;right:22%}

/* ---------- Glass cards ---------- */
.glass{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.7);
}
.card{padding:1.7rem;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-6px);border-color:rgba(155,92,246,.45);box-shadow:0 24px 60px -24px rgba(122,86,240,.45)}
.card h3{margin:.9rem 0 .5rem}
.card p{font-size:.95rem}
.card .card-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-weight:600;font-size:.92rem;color:var(--text)}
.card .card-link span{transition:transform .25s}
.card:hover .card-link span{transform:translateX(4px)}

.icon-badge{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  font-size:1.25rem;background:var(--grad-soft);border:1px solid var(--line-strong);
}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}

/* ---------- Feature / checklist ---------- */
.check-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem 1.4rem}
.check-list li{display:flex;gap:.6rem;align-items:flex-start;color:var(--muted);font-size:.96rem}
.check-list li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:6px;background:var(--grad-soft);border:1px solid var(--line-strong);display:grid;place-items:center;font-size:.68rem;color:var(--text);margin-top:.15rem}

.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;
  padding:.45rem .85rem;border-radius:999px;color:var(--muted);
  border:1px solid var(--line);background:rgba(255,255,255,.03);
  transition:border-color .2s,color .2s,transform .2s;
}
.chip:hover{border-color:var(--violet);color:var(--text);transform:translateY(-2px)}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;text-align:center}
.stat{padding:1.6rem 1rem}
.stat b{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:700;display:block;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{font-size:.85rem;color:var(--muted)}

/* ---------- Flow pipeline (signature element) ---------- */
.flow{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}
.flow-step{
  flex:1;min-width:0;text-align:center;padding:1.1rem .6rem;position:relative;
  border:1px solid var(--line);border-radius:14px;background:var(--card);
}
.flow-step i{font-style:normal;font-size:1.3rem;display:block;margin-bottom:.4rem}
.flow-step b{font-family:var(--font-display);font-size:.82rem;font-weight:600;display:block}
.flow-step small{font-size:.7rem;color:var(--faint);font-family:var(--font-mono)}
.flow-link{flex:none;width:clamp(18px,4vw,44px);position:relative;align-self:center;height:2px;
  background:linear-gradient(90deg,rgba(155,92,246,.15),rgba(155,92,246,.5))}
.flow-link::after{ /* traveling pulse dot */
  content:"";position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--grad);transform:translateY(-50%);
  box-shadow:0 0 10px 2px rgba(155,92,246,.7);
  animation:pulse-travel 2.4s linear infinite;
}
.flow-link:nth-of-type(4)::after{animation-delay:.5s}
.flow-link:nth-of-type(6)::after{animation-delay:1s}
.flow-link:nth-of-type(8)::after{animation-delay:1.5s}

/* ---------- Hero visual: live system card ---------- */
.system-card{padding:1.5rem;position:relative}
.system-card .sys-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.system-card .sys-head .dot{width:9px;height:9px;border-radius:50%;background:#3ADB8B;box-shadow:0 0 10px rgba(58,219,139,.8);animation:blink 1.8s infinite}
.system-card .sys-head span{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;color:var(--faint);text-transform:uppercase}
.sys-feed{display:flex;flex-direction:column;gap:.7rem}
.sys-event{
  display:flex;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:12px;
  background:rgba(255,255,255,.035);border:1px solid var(--line);
  opacity:0;transform:translateY(10px);
}
.sys-event i{font-style:normal;font-size:1.05rem;flex:none;width:36px;height:36px;border-radius:10px;background:var(--grad-soft);border:1px solid var(--line-strong);display:grid;place-items:center}
.sys-event div b{display:block;font-size:.88rem;font-family:var(--font-display);font-weight:600}
.sys-event div span{font-size:.76rem;color:var(--faint)}
.sys-event .tick{margin-left:auto;color:#3ADB8B;font-size:.85rem}
.sys-event:nth-child(1){animation:feed-in .6s .4s ease forwards}
.sys-event:nth-child(2){animation:feed-in .6s 1.1s ease forwards}
.sys-event:nth-child(3){animation:feed-in .6s 1.8s ease forwards}
.sys-event:nth-child(4){animation:feed-in .6s 2.5s ease forwards}
.sys-event:nth-child(5){animation:feed-in .6s 3.2s ease forwards}

/* ---------- Split feature rows ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.split .lead{margin-top:1rem}
.split .check-list{margin-top:1.6rem}

/* ---------- Steps (how it works) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;counter-reset:step}
.step{padding:1.6rem;position:relative;counter-increment:step}
.step::before{
  content:"0" counter(step);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;
  color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;
}
.step h3{font-size:1.05rem;margin:.7rem 0 .4rem}
.step p{font-size:.9rem}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:.8rem}
.faq details{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.faq summary{
  list-style:none;cursor:pointer;padding:1.15rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;
  font-family:var(--font-display);font-weight:600;font-size:1rem;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--violet);transition:transform .3s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.4rem 1.25rem;font-size:.95rem}

/* ---------- CTA band ---------- */
.cta-band{
  position:relative;border-radius:var(--radius-lg);padding:clamp(2.4rem,6vw,4rem);text-align:center;overflow:hidden;
  border:1px solid var(--line-strong);
  background:
    radial-gradient(600px 300px at 20% 0%,rgba(61,82,232,.28),transparent 60%),
    radial-gradient(600px 300px at 80% 100%,rgba(242,121,140,.22),transparent 60%),
    var(--bg-2);
}
.cta-band h2{max-width:18ch;margin-inline:auto}
.cta-band p{max-width:52ch;margin:1rem auto 0}
.cta-band .btn-row{justify-content:center;margin-top:2rem}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem)}
.contact-info ul{list-style:none;margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem}
.contact-info li{display:flex;gap:.8rem;align-items:flex-start;color:var(--muted);font-size:.96rem}
.contact-info li i{font-style:normal}

.form{padding:clamp(1.4rem,3vw,2.2rem)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.field label{font-size:.85rem;font-weight:600;font-family:var(--font-display)}
.field input,.field select,.field textarea{
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;color:var(--text);font:inherit;font-size:.95rem;min-height:48px;
  transition:border-color .2s,box-shadow .2s;width:100%;
}
.field textarea{min-height:120px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(155,92,246,.18)}
.field .error{color:#FF7A8A;font-size:.8rem;display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#FF7A8A}
.field.invalid .error{display:block}
.form-status{margin-top:1rem;font-size:.92rem;display:none;padding:.9rem 1.1rem;border-radius:12px}
.form-status.ok{display:block;background:rgba(58,219,139,.1);border:1px solid rgba(58,219,139,.35);color:#7BEBB4}
.form-status.err{display:block;background:rgba(255,122,138,.08);border:1px solid rgba(255,122,138,.3);color:#FF9AA7}

/* ---------- Modals ---------- */
.modal{
  position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:1rem;
}
.modal.open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(3,5,14,.75);backdrop-filter:blur(6px)}
.modal-panel{
  position:relative;width:min(560px,100%);max-height:88vh;overflow-y:auto;
  background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);
  padding:clamp(1.4rem,4vw,2.2rem);
  animation:modal-in .35s cubic-bezier(.2,.9,.3,1.2);
}
.modal-close{
  position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:12px;
  border:1px solid var(--line);display:grid;place-items:center;font-size:1.1rem;color:var(--muted);
  transition:color .2s,border-color .2s;
}
.modal-close:hover{color:var(--text);border-color:var(--violet)}
.modal-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.modal-panel h3{font-size:1.35rem;margin:.5rem 0 1.2rem}

/* ---------- Audio player (demo) ---------- */
.player{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;background:rgba(255,255,255,.03);display:flex;align-items:center;gap:1rem}
.play-btn{
  flex:none;width:52px;height:52px;border-radius:50%;background:var(--grad);color:#fff;
  display:grid;place-items:center;font-size:1.05rem;box-shadow:0 8px 22px -8px rgba(122,86,240,.7);
  transition:transform .2s;
}
.play-btn:hover{transform:scale(1.06)}
.wave{display:flex;align-items:center;gap:3px;height:38px;flex:1;overflow:hidden}
.wave b{width:3px;border-radius:3px;background:var(--grad);height:20%;opacity:.55}
.player.playing .wave b{animation:wave-bounce 1s ease-in-out infinite alternate}
.player-time{font-family:var(--font-mono);font-size:.75rem;color:var(--faint);flex:none}

.transcript{margin-top:1.2rem;display:flex;flex-direction:column;gap:.6rem;max-height:250px;overflow-y:auto}
.t-line{padding:.7rem .95rem;border-radius:12px;font-size:.9rem;max-width:92%;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s}
.t-line.show{opacity:1;transform:none}
.t-line.customer{background:rgba(255,255,255,.05);border:1px solid var(--line);align-self:flex-start}
.t-line.ai{background:rgba(155,92,246,.12);border:1px solid rgba(155,92,246,.35);align-self:flex-end}
.t-line b{display:block;font-size:.68rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:.2rem}

/* ---------- Loading steps (custom demo) ---------- */
.load-steps{display:flex;flex-direction:column;gap:.9rem;margin-top:1.4rem}
.load-step{display:flex;align-items:center;gap:.8rem;color:var(--faint);font-size:.94rem;transition:color .3s}
.load-step .ring{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);position:relative}
.load-step.active{color:var(--text)}
.load-step.active .ring{border-color:transparent;border-top-color:var(--violet);animation:spin .8s linear infinite}
.load-step.done{color:var(--muted)}
.load-step.done .ring{border-color:rgba(58,219,139,.6)}
.load-step.done .ring::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:.65rem;color:#3ADB8B}

/* ---------- Demo cards ---------- */
.demo-card{display:flex;flex-direction:column}
.demo-card .prob{font-size:.9rem;color:var(--coral)}
.demo-card .prob::before{content:"Problem — ";font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.demo-card .ben{font-size:.9rem;margin-top:.5rem}
.demo-card .ben::before{content:"With Inora AI — ";font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}
.demo-card .btn-row{margin-top:auto;padding-top:1.4rem}

/* ---------- Mini dashboard preview ---------- */
.dash-preview{padding:1.4rem}
.dash-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-bottom:1rem}
.kpi{border:1px solid var(--line);border-radius:12px;padding:.85rem;background:rgba(255,255,255,.03)}
.kpi span{font-size:.7rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase}
.kpi b{display:block;font-family:var(--font-display);font-size:1.3rem;margin-top:.2rem}
.kpi small{font-size:.72rem;color:#3ADB8B}
.bars{display:flex;align-items:flex-end;gap:8px;height:110px;padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.bars i{flex:1;border-radius:6px 6px 0 0;background:var(--grad);opacity:.85;transform-origin:bottom;animation:bar-grow 1.2s cubic-bezier(.2,.8,.3,1) both}
.bars i:nth-child(2){animation-delay:.1s}.bars i:nth-child(3){animation-delay:.2s}
.bars i:nth-child(4){animation-delay:.3s}.bars i:nth-child(5){animation-delay:.4s}
.bars i:nth-child(6){animation-delay:.5s}.bars i:nth-child(7){animation-delay:.6s}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);background:var(--bg-2);padding:clamp(3rem,6vw,4.5rem) 0 2rem;margin-top:var(--section)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem}
.footer-brand img{width:min(240px,100%);border-radius:14px;background:#fff;padding:10px}
.footer-brand p{font-size:.9rem;margin-top:1rem;max-width:32ch}
.footer-col h4{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:1rem;font-weight:500}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col a{font-size:.92rem;color:var(--muted);transition:color .2s}
.footer-col a:hover{color:var(--text)}
.footer-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:var(--faint)}
.footer-bottom span b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:600}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:980px){
  .hero-grid,.split,.contact-grid{grid-template-columns:1fr}
  .grid-3,.grid-4,.steps{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-links{
    position:fixed;top:var(--nav-h);left:0;right:0;z-index:79;
    flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(6,9,23,.97);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);
    padding:.6rem 4%;
    max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;
    padding-block:0;
  }
  .nav-links.open{max-height:70vh;padding-block:.8rem}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.85rem .4rem;font-size:1.02rem;width:100%}
  .nav-links a::after{display:none}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
}
@media (max-width:560px){
  body{font-size:15.5px}
  .grid-2,.grid-3,.grid-4,.steps,.form-row,.check-list,.dash-kpis{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .flow{flex-direction:column;gap:.4rem}
  .flow-link{width:2px;height:26px;align-self:center;background:linear-gradient(180deg,rgba(155,92,246,.15),rgba(155,92,246,.5))}
  .flow-link::after{animation-name:pulse-travel-v}
  .btn{width:100%}
  .btn-row{flex-direction:column}
  .hero .btn-row{flex-direction:column}
  .modal{padding:.6rem}
  .footer-grid{grid-template-columns:1fr}
}

/* ============================================================
   V2 — ENTERPRISE UPGRADE LAYER
   Tighter spacing · 1400px container · grouped dropdown nav ·
   breadcrumbs · tech logo strip · animated process timeline ·
   card audio players · blog · industries · enterprise footer
   ============================================================ */

/* ---- Denser, wider layout ---- */
.container{max-width:1400px}
.section{padding:70px 0}
.section-head{margin-bottom:2.2rem}
.hero{padding:120px 0 56px;min-height:0}
.hero-grid{gap:3rem}
.hero h1{font-size:clamp(1.9rem,3.6vw,3.3rem);line-height:1.14}
.grid-3,.grid-4{gap:1.1rem}
@media(min-width:1200px){
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
}

/* ---- Dropdown navigation ---- */
.nav-inner{gap:1.2rem}
.nav-links{gap:.2rem}
.nav-links>li{position:relative}
.nav-links>li>a,.dd-btn{padding:.55rem .8rem;border-radius:9px;display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--muted);font:inherit;font-size:.92rem;font-weight:500;cursor:pointer;transition:color .2s,background .2s}
.nav-links>li>a:hover,.dd-btn:hover,.dd-btn[aria-expanded="true"]{color:var(--text);background:rgba(255,255,255,.05)}
.dd-btn .caret{font-size:.6rem;opacity:.7;transition:transform .2s}
.dd-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;background:rgba(10,14,32,.97);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:1rem;box-shadow:0 24px 60px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60;backdrop-filter:blur(18px)}
.dd-menu.wide{min-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.4rem}
li.has-dd.open>.dd-menu,li.has-dd:focus-within>.dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:hover) and (min-width:761px){li.has-dd:hover>.dd-menu{opacity:1;visibility:visible;transform:translateY(0)}}
.dd-group{padding:.35rem 0}
.dd-group h5{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 .35rem .6rem}
.dd-menu a{display:block;padding:.42rem .6rem;border-radius:8px;color:var(--muted);font-size:.9rem;text-decoration:none;transition:background .15s,color .15s}
.dd-menu a:hover{background:rgba(255,255,255,.06);color:var(--text)}
@media(max-width:760px){
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;background:rgba(255,255,255,.03);box-shadow:none;border:1px solid rgba(255,255,255,.06);margin:.3rem 0 .6rem;min-width:0}
  .dd-menu.wide{display:none;grid-template-columns:1fr}
  li.has-dd.open>.dd-menu{display:block}
  li.has-dd.open>.dd-menu.wide{display:grid}
  .dd-btn{width:100%;justify-content:space-between}
}

/* ---- Breadcrumbs ---- */
.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.78rem;font-family:var(--font-mono);color:var(--faint);margin-bottom:1.2rem}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--text)}
.crumbs .sep{opacity:.5}

/* ---- Technology logo strip ---- */
.logo-strip{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.tech-logo{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--muted);border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);padding:.6rem 1.15rem;border-radius:12px;letter-spacing:.01em;transition:color .2s,border-color .2s,transform .2s}
.tech-logo:hover{color:var(--text);border-color:rgba(255,255,255,.22);transform:translateY(-2px)}

/* ---- Animated process timeline ---- */
.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:2.4rem}
.timeline::before{content:"";position:absolute;top:26px;left:4%;right:4%;height:2px;background:rgba(255,255,255,.08);border-radius:2px}
.tl-progress{position:absolute;top:26px;left:4%;height:2px;width:0;max-width:92%;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));border-radius:2px;transition:width .25s linear;box-shadow:0 0 12px rgba(155,92,246,.6)}
.tl-step{position:relative;text-align:center;padding:0 .4rem}
.tl-step i{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto .9rem;border-radius:50%;background:rgba(255,255,255,.04);border:2px solid rgba(255,255,255,.12);font-style:normal;font-size:1.25rem;transition:border-color .3s,background .3s,transform .3s,box-shadow .3s}
.tl-step b{display:block;font-family:var(--font-display);font-size:1rem;margin-bottom:.3rem}
.tl-step small{color:var(--muted);font-size:.82rem;line-height:1.45;display:block}
.tl-step.lit i{border-color:var(--violet);background:rgba(155,92,246,.14);transform:scale(1.08);box-shadow:0 0 22px rgba(155,92,246,.35)}
.tl-step.lit b{color:var(--text)}
@media(max-width:860px){
  .timeline{grid-template-columns:1fr;gap:1.4rem;padding-left:30px}
  .timeline::before{left:25px;right:auto;top:4%;bottom:4%;width:2px;height:auto}
  .tl-progress{left:25px;top:4%;width:2px;max-width:none;height:0;max-height:92%}
  .tl-step{text-align:left;display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;padding:0}
  .tl-step i{margin:0;position:relative;left:-26px}
  .tl-step div{margin-left:-20px}
}

/* ---- Card mini audio player ---- */
.mini-player{margin-top:1rem;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.03)}
.mp-label{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:.5rem}
.mp-row{display:flex;align-items:center;gap:.7rem}
.mp-play{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .2s}
.mp-play:hover{transform:scale(1.06);box-shadow:0 4px 18px rgba(90,80,240,.45)}
.mp-play[disabled]{opacity:.55;cursor:wait}
.mp-track{flex:1;height:6px;border-radius:4px;background:rgba(255,255,255,.1);position:relative;cursor:pointer;overflow:hidden}
.mp-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));border-radius:4px}
.mp-time{flex:0 0 auto;font-family:var(--font-mono);font-size:.72rem;color:var(--muted);min-width:74px;text-align:right}
.mp-status{font-size:.75rem;color:var(--coral);margin-top:.45rem;display:none}
.mini-player.error .mp-status{display:block}
.mini-player.loading .mp-play{animation:spin 1s linear infinite;border-radius:50%}

/* ---- Results / case-study flow ---- */
.results-flow{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:2rem auto;max-width:520px}
.rf-node{width:100%;text-align:center;padding:1rem 1.4rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.rf-node b{font-family:var(--font-display)}
.rf-node small{display:block;color:var(--muted);margin-top:.2rem}
.rf-arrow{color:var(--violet);font-size:1.2rem;line-height:1;padding:.25rem 0}
.rf-node.final{background:linear-gradient(135deg,rgba(61,82,232,.25),rgba(155,92,246,.25),rgba(242,121,140,.2));border-color:rgba(155,92,246,.5)}

/* ---- Metric cards ---- */
.metric{text-align:center;padding:1.6rem 1rem}
.metric .num{font-family:var(--font-display);font-weight:700;font-size:2rem;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}
.metric small{color:var(--muted)}

/* ---- Blog ---- */
.cat-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.cat-pill{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;padding:.45rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:var(--muted);background:rgba(255,255,255,.03);cursor:pointer;transition:all .2s;text-decoration:none}
.cat-pill:hover,.cat-pill.active{color:#fff;border-color:var(--violet);background:rgba(155,92,246,.18)}
.post-card{display:flex;flex-direction:column;gap:.6rem;text-decoration:none;color:inherit;height:100%}
.post-card .post-cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.post-card h3{font-size:1.08rem;line-height:1.4}
.post-card p{color:var(--muted);font-size:.92rem;flex:1}
.post-card .post-meta{font-size:.75rem;color:var(--faint);font-family:var(--font-mono)}
.post-card:hover h3{color:var(--violet)}
article.post{max-width:820px;margin:0 auto}
article.post h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin-bottom:1rem}
article.post h2{font-size:1.45rem;margin:2.2rem 0 .8rem}
article.post h3{font-size:1.12rem;margin:1.6rem 0 .6rem}
article.post p,article.post li{color:var(--muted);line-height:1.75;margin-bottom:1rem;font-size:1.02rem}
article.post ul,article.post ol{padding-left:1.4rem;margin-bottom:1rem}
article.post li{margin-bottom:.4rem}
article.post strong{color:var(--text)}
.post-head-meta{display:flex;gap:1rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.75rem;color:var(--faint);margin-bottom:2rem}

/* ---- Enterprise footer ---- */
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:2.2rem}
.footer-contact li{display:flex;gap:.5rem;align-items:flex-start;color:var(--muted);font-size:.88rem;margin-bottom:.55rem}
.footer-social{display:flex;gap:.6rem;margin-top:1rem}
.footer-social a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;font-size:1rem;transition:all .2s}
.footer-social a:hover{color:#fff;border-color:var(--violet);background:rgba(155,92,246,.15)}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}

/* ---- Utility ---- */
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
img{max-width:100%;height:auto}
@media(max-width:360px){.container{padding:0 14px}.btn{padding:.7rem 1rem;font-size:.85rem}}

/* ============================================================
   V3 — INTERACTIVE HERO SCENE
   AI operator + floating glass UI cards + neon connections
   ============================================================ */
.hero-scene{position:relative;width:100%;max-width:620px;aspect-ratio:1/1;margin-left:auto;perspective:900px}
.hero-scene *{will-change:transform}

/* cursor-follow glow */
.scene-glow{position:absolute;width:340px;height:340px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(155,92,246,.22) 0%,rgba(61,82,232,.12) 40%,transparent 70%);
  transform:translate(-50%,-50%);left:50%;top:55%;transition:opacity .4s;z-index:0;filter:blur(6px)}

/* particles */
.particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--violet);opacity:.35;
  animation:pfloat 9s ease-in-out infinite}
.particles i:nth-child(3n){background:var(--blue);width:3px;height:3px;animation-duration:11s}
.particles i:nth-child(4n){background:var(--coral);width:5px;height:5px;animation-duration:13s;opacity:.25}
.particles i:nth-child(1){left:8%;top:22%}.particles i:nth-child(2){left:30%;top:8%;animation-delay:1s}
.particles i:nth-child(3){left:55%;top:14%;animation-delay:2s}.particles i:nth-child(4){left:80%;top:10%;animation-delay:.5s}
.particles i:nth-child(5){left:92%;top:32%;animation-delay:3s}.particles i:nth-child(6){left:88%;top:58%;animation-delay:1.5s}
.particles i:nth-child(7){left:70%;top:82%;animation-delay:2.5s}.particles i:nth-child(8){left:44%;top:90%;animation-delay:4s}
.particles i:nth-child(9){left:16%;top:84%;animation-delay:.8s}.particles i:nth-child(10){left:4%;top:56%;animation-delay:3.5s}
.particles i:nth-child(11){left:24%;top:40%;animation-delay:5s}.particles i:nth-child(12){left:64%;top:36%;animation-delay:1.2s}
.particles i:nth-child(13){left:38%;top:60%;animation-delay:2.8s}.particles i:nth-child(14){left:78%;top:44%;animation-delay:4.4s}
@keyframes pfloat{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-22px);opacity:.7}}

/* connection lines */
.scene-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.scene-lines path{fill:none;stroke:url(#lineGrad);stroke-width:1.4;opacity:.28;
  filter:drop-shadow(0 0 3px rgba(155,92,246,.5));transition:opacity .3s,stroke-width .3s}
.scene-lines path.pulse{opacity:.95;stroke-width:2.6;filter:drop-shadow(0 0 8px rgba(155,92,246,1));
  animation:linepulse 1.1s ease-in-out infinite}
@keyframes linepulse{0%,100%{opacity:.95}50%{opacity:.45}}
.scene-lines .tdot{fill:#c9b8ff;filter:drop-shadow(0 0 4px rgba(155,92,246,1))}
@keyframes dashmove{to{stroke-dashoffset:-64}}

/* operator character */
.operator-pos{position:absolute;left:50%;top:76%;transform:translate(-50%,-50%);width:56%;z-index:2}
.operator{transition:filter .4s}
.operator svg{display:block;width:100%;height:auto}
.hero-scene.active .screen-beam{opacity:.95}
.hero-scene.active .operator{filter:drop-shadow(0 0 26px rgba(155,92,246,.45))}
.screen-beam{opacity:.55;transition:opacity .4s}

/* floating UI cards */
.ui-pos{position:absolute;transform:translate(-50%,-50%);z-index:3}
.ui-card{display:flex;align-items:center;gap:.55rem;padding:.6rem .8rem;border-radius:14px;cursor:default;
  background:rgba(16,21,46,.55);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);
  box-shadow:0 8px 28px rgba(0,0,0,.4);transition:background .3s,border-color .3s,box-shadow .3s;
  animation:cardfloat 6s ease-in-out infinite}
.ui-pos:nth-child(odd) .ui-card{animation-duration:7.5s;animation-delay:1.2s}
.ui-card i{font-style:normal;font-size:1.05rem;line-height:1;filter:drop-shadow(0 0 0 transparent);transition:filter .3s,transform .3s}
.ui-card b{font-family:var(--font-display);font-size:.78rem;font-weight:600;white-space:nowrap;display:block}
.ui-card small{display:block;font-family:var(--font-mono);font-size:.6rem;color:var(--muted);white-space:nowrap;margin-top:.1rem}
.ui-card .pulse-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:blink 2s infinite}
.ui-card:hover{background:rgba(155,92,246,.16);border-color:rgba(155,92,246,.65);
  box-shadow:0 10px 34px rgba(155,92,246,.35),0 0 0 1px rgba(155,92,246,.3)}
.ui-card:hover i{filter:drop-shadow(0 0 8px rgba(242,121,140,.9));transform:scale(1.15)}
.ui-stats{flex-direction:row;gap:1rem;padding:.65rem 1rem}
.ui-stats .stat-mini{text-align:center}
.ui-stats .stat-mini b{font-size:.86rem;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));
  -webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes cardfloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* trust labels under hero copy */
.trust-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 .4rem}
.trust-row span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:var(--muted);
  background:rgba(255,255,255,.03)}

/* responsive */
@media(max-width:1150px){.hero-scene{max-width:520px}}
@media(max-width:900px){
  .hero-scene{margin:2.2rem auto 0;max-width:480px}
}
@media(max-width:560px){
  .hero-scene{max-width:360px}
  .ui-card b{font-size:.68rem}
  .ui-card small{display:none}
  .ui-pos[data-hide-m]{display:none}
  .particles i:nth-child(n+8){display:none}
}
@media(max-width:360px){.hero-scene{max-width:300px}}

/* reduced motion: kill all scene animation */
@media(prefers-reduced-motion:reduce){
  .scene-lines path,.particles i,.ui-card,.pulse-dot{animation:none!important}
  .scene-lines .tdot{display:none}
  .scene-glow{display:none}
}


/* mini integration chips */
.ui-mini .ui-card{padding:.42rem .65rem;border-radius:11px;gap:.4rem}
.ui-mini .ui-card b{font-size:.66rem;font-family:var(--font-mono);font-weight:500;letter-spacing:.03em}
.ui-mini .ui-card i{font-size:.85rem}

/* HOW WE HELP strip */
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.help-item{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;border-radius:14px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.help-item i{font-style:normal;font-size:1.2rem;flex:0 0 auto}
.help-item b{font-family:var(--font-display);font-size:.95rem;font-weight:600}
@media(max-width:900px){.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.help-grid{grid-template-columns:1fr}}


/* ---- rendered operator image (assets/img/operator.webp) ---- */
.operator img{width:100%;height:auto;display:block;
  -webkit-mask-image:radial-gradient(115% 100% at 50% 46%, #000 58%, transparent 88%);
  mask-image:radial-gradient(115% 100% at 50% 46%, #000 58%, transparent 88%)}
.hero-scene.has-img .operator-pos{width:54%;top:68%}
.hero-scene.has-img .operator{filter:drop-shadow(0 18px 40px rgba(90,80,240,.28))}
.hero-scene.has-img.active .operator{filter:drop-shadow(0 0 34px rgba(155,92,246,.55))}
.hero-scene.has-img .scene-glow{top:62%}
@media(max-width:560px){.hero-scene.has-img .operator-pos{width:62%;top:66%}}

/* ============================================================
   V4 — LAPTOP SHOWCASE (rotating product screen)
   ============================================================ */
.laptop-pos{position:absolute;left:50%;top:66%;transform:translate(-50%,-50%);width:58%;z-index:2}
.laptop{position:relative}
.lap-screen{position:relative;aspect-ratio:16/10.4;border-radius:14px 14px 4px 4px;overflow:hidden;
  background:#0a0e26;border:2px solid transparent;
  background:linear-gradient(#0a0e26,#0a0e26) padding-box,linear-gradient(135deg,var(--blue),var(--violet),var(--coral)) border-box;
  box-shadow:0 10px 44px rgba(90,80,240,.35),inset 0 0 40px rgba(61,82,232,.12)}
.hero-scene.active .lap-screen{box-shadow:0 12px 60px rgba(155,92,246,.6),inset 0 0 46px rgba(155,92,246,.2)}
.lap-base{height:13px;margin:0 -5%;border-radius:3px 3px 12px 12px;background:linear-gradient(#181f48,#0d1230);
  border:1px solid #2a3268;display:flex;align-items:center;justify-content:center}
.lap-wb{font-family:var(--font-display);font-weight:700;font-size:.62rem;letter-spacing:.06em;
  background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}
.lap-glow{position:absolute;left:8%;right:8%;bottom:-22px;height:34px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(155,92,246,.4),transparent 70%);filter:blur(8px);z-index:-1;transition:opacity .4s}
.hero-scene.active .lap-glow{opacity:1;background:radial-gradient(ellipse,rgba(155,92,246,.65),transparent 70%)}

/* slides */
.slides{position:absolute;inset:0 0 26px 0}
.slide{position:absolute;inset:0;padding:8% 9% 4%;opacity:0;transform:translateY(10px) scale(.98);
  transition:opacity .6s ease,transform .6s ease;display:flex;flex-direction:column;justify-content:center}
.slide.active{opacity:1;transform:translateY(0) scale(1)}
.slide-meta{position:absolute;left:0;right:0;bottom:0;height:26px;display:flex;align-items:center;
  justify-content:space-between;padding:0 12px;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.07)}
.slide-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.slide-dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.2);margin-left:5px;transition:background .3s}
.slide-dots i.on{background:var(--violet);box-shadow:0 0 6px var(--violet)}

/* slide 1: website mock */
.mock-bar{display:flex;align-items:center;gap:5px;padding:5px 8px;background:rgba(255,255,255,.05);border-radius:7px;margin-bottom:9%}
.mock-bar i{width:6px;height:6px;border-radius:50%;background:#39406e}
.mock-bar i:first-child{background:#F2798C}.mock-bar i:nth-child(2){background:#e8c76a}.mock-bar i:nth-child(3){background:#4ade80}
.mock-bar span{font-family:var(--font-mono);font-size:.55rem;color:var(--faint);margin-left:5px}
.mock-hero b{display:block;width:62%;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));margin-bottom:7px}
.mock-hero em{display:block;width:82%;height:5px;border-radius:3px;background:rgba(255,255,255,.14);margin-bottom:5px}
.mock-hero em.short{width:55%}
.mock-hero u{display:inline-block;text-decoration:none;font-size:.5rem;font-family:var(--font-mono);color:#fff;
  padding:3px 9px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet));margin-top:4px}
.mock-cards{display:flex;gap:6px;margin-top:9%}
.mock-cards i{flex:1;height:22px;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}

/* slide 2: voice agent */
.s-voice{align-items:center;text-align:center}
.voice-avatar{width:34px;height:34px;border-radius:50%;position:relative;margin-bottom:7px;
  background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 0 18px rgba(155,92,246,.7)}
.voice-avatar span{position:absolute;inset:-7px;border-radius:50%;border:1.5px solid rgba(155,92,246,.5);animation:ring 2s ease-out infinite}
@keyframes ring{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.5);opacity:0}}
.voice-name{font-family:var(--font-display);font-weight:600;font-size:.78rem}
.voice-name small{color:var(--muted);font-weight:400}
.vwave{display:flex;align-items:center;gap:3px;height:26px;margin:8px 0}
.vwave b{width:3px;border-radius:2px;background:linear-gradient(180deg,var(--violet),var(--blue));animation:vbar 1s ease-in-out infinite}
.vwave b:nth-child(odd){animation-duration:.8s}
.vwave b:nth-child(3n){animation-duration:1.25s}
.vwave b:nth-child(1){height:30%}.vwave b:nth-child(2){height:65%}.vwave b:nth-child(3){height:45%}.vwave b:nth-child(4){height:85%}
.vwave b:nth-child(5){height:38%}.vwave b:nth-child(6){height:70%}.vwave b:nth-child(7){height:50%}.vwave b:nth-child(8){height:88%}
.vwave b:nth-child(9){height:42%}.vwave b:nth-child(10){height:66%}.vwave b:nth-child(11){height:35%}.vwave b:nth-child(12){height:58%}
@keyframes vbar{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1.15)}}
.voice-line{font-family:var(--font-mono);font-size:.56rem;color:var(--muted);
  padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}

/* slide 3: mobile app */
.s-mobile{align-items:center}
.phone{width:74px;aspect-ratio:9/17;border-radius:12px;position:relative;padding:12px 8px 8px;
  background:#0d1230;border:1.5px solid rgba(255,255,255,.2);box-shadow:0 0 20px rgba(61,82,232,.35)}
.phone .notch{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:22px;height:3.5px;border-radius:3px;background:rgba(255,255,255,.2)}
.ph-head{height:9px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--violet));margin-bottom:6px}
.ph-row{height:5px;border-radius:3px;background:rgba(255,255,255,.13);margin-bottom:4px}
.ph-row.short{width:60%}
.ph-cta{height:9px;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--coral));margin-top:7px}
.ph-nav{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.ph-nav i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3)}
.slide-cap{font-family:var(--font-mono);font-size:.55rem;color:var(--faint);margin-top:6px;text-align:center}

/* slide 4: cloud */
.s-cloud svg{width:100%;height:auto;display:block}

@media(max-width:560px){.laptop-pos{width:72%;top:64%}}
@media(prefers-reduced-motion:reduce){
  .vwave b,.voice-avatar span{animation:none!important}
  .slide{transition:none}
}

/* ============================================================
   V5 — REALISTIC WORKSTATION SCENE
   3D-perspective laptop · second monitor · grounded desk ·
   cinematic lighting · fewer, better-spaced cards
   ============================================================ */

/* scene container */
.ws{position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);width:70%;z-index:2}
.ws-inner{position:relative;perspective:1300px}

/* ambient light pools */
.desk-glow{position:absolute;width:46%;height:34%;border-radius:50%;filter:blur(28px);z-index:0;pointer-events:none}
.dg-l{left:-6%;bottom:2%;background:radial-gradient(ellipse,rgba(61,82,232,.35),transparent 70%)}
.dg-r{right:-6%;bottom:2%;background:radial-gradient(ellipse,rgba(242,121,140,.28),transparent 70%)}

/* ---- desk: matte surface with lit front edge + reflection ---- */
.desk{position:relative;margin-top:-2px;height:74px;z-index:1;
  clip-path:polygon(7% 0,93% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,#141a3a 0%,#0e1330 34%,#090d22 100%)}
.desk-edge{position:absolute;top:0;left:7%;right:7%;height:2px;
  background:linear-gradient(90deg,transparent,rgba(120,130,255,.65) 25%,rgba(155,92,246,.75) 50%,rgba(242,121,140,.55) 75%,transparent);
  box-shadow:0 0 14px rgba(155,92,246,.5)}
.desk-refl{position:absolute;left:30%;right:30%;top:6px;height:46px;border-radius:50%;
  background:radial-gradient(ellipse at 50% 0,rgba(120,110,255,.16),transparent 70%);filter:blur(6px)}

/* ---- laptop (3D) ---- */
.laptop3d{position:relative;width:56%;margin:0 auto;z-index:3;transform-style:preserve-3d}
.l-screen{position:relative;aspect-ratio:16/10;border-radius:12px 12px 3px 3px;overflow:hidden;
  transform:rotateX(-5deg);transform-origin:bottom center;
  background:linear-gradient(#0a0e26,#0a0e26) padding-box,
             linear-gradient(160deg,#3a4370 0%,#171d42 30%,#12173a 70%,#3a4370 100%) border-box;
  border:3px solid transparent;
  box-shadow:0 -2px 0 rgba(255,255,255,.08) inset,0 18px 50px rgba(5,8,20,.8),0 0 44px rgba(90,80,240,.22);
  transition:box-shadow .4s}
.hero-scene.active .l-screen{box-shadow:0 -2px 0 rgba(255,255,255,.1) inset,0 18px 54px rgba(5,8,20,.8),0 0 64px rgba(155,92,246,.5)}
.l-cam{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;
  background:#1c2450;box-shadow:0 0 3px rgba(120,140,255,.8) inset;z-index:5}
.l-gloss{position:absolute;inset:0;pointer-events:none;z-index:4;border-radius:10px;
  background:linear-gradient(115deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.02) 18%,transparent 32%)}
.l-hinge{height:5px;margin:0 6%;border-radius:0 0 4px 4px;
  background:linear-gradient(180deg,#2a3268,#141a3a);box-shadow:0 1px 0 rgba(255,255,255,.06) inset}
.l-deck{position:relative;height:58px;margin:0 -7%;border-radius:4px 4px 14px 14px;
  transform:rotateX(58deg);transform-origin:top center;
  background:linear-gradient(180deg,#1b2350 0%,#141a3e 45%,#0e1330 100%);
  box-shadow:0 2px 0 rgba(255,255,255,.1) inset,0 -1px 0 rgba(0,0,0,.4) inset;
  border:1px solid #262e5e;border-top:none}
.l-keys{position:absolute;left:9%;right:9%;top:8px;height:26px;border-radius:4px;opacity:.85;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 6px,transparent 6px 8px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 5px,transparent 5px 7px),
    linear-gradient(180deg,#0d1230,#0a0e26)}
.l-pad{position:absolute;left:38%;right:38%;bottom:5px;height:12px;border-radius:3px;
  background:linear-gradient(180deg,#151b42,#10152e);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.l-wb{position:absolute;right:5%;bottom:6px;font-family:var(--font-display);font-weight:700;font-size:.6rem;
  letter-spacing:.05em;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 6px rgba(155,92,246,.8))}
.l-shadow{position:absolute;left:-4%;right:-4%;bottom:-32px;height:26px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%);filter:blur(7px);z-index:-1}
.l-spill{position:absolute;left:10%;right:10%;bottom:-30px;height:22px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(139,110,255,.35),transparent 70%);filter:blur(9px);z-index:-1;
  transition:opacity .4s,background .4s}
.hero-scene.active .l-spill{background:radial-gradient(ellipse,rgba(155,92,246,.6),transparent 70%)}

/* ---- second monitor (behind-left, holographic chart) ---- */
.monitor2{position:absolute;left:-3%;bottom:70px;width:40%;z-index:2;transform:rotateY(10deg);transform-origin:right}
.m2-screen{position:relative;aspect-ratio:16/9.6;border-radius:8px;overflow:hidden;
  background:linear-gradient(#0a0e24,#0a0e24) padding-box,linear-gradient(160deg,#323b6d,#131838) border-box;
  border:2px solid transparent;opacity:.92;
  box-shadow:0 12px 34px rgba(5,8,20,.7),0 0 26px rgba(61,82,232,.18);
  display:flex;align-items:flex-end;padding:10% 12% 14%}
.m2-bars{display:flex;align-items:flex-end;gap:7%;width:100%;height:78%}
.m2-bars i{flex:1;height:var(--h);border-radius:2px 2px 0 0;opacity:.85;
  background:linear-gradient(180deg,var(--violet),var(--blue));
  box-shadow:0 0 8px rgba(155,92,246,.35)}
.m2-bars i:nth-child(even){background:linear-gradient(180deg,var(--coral),var(--violet));opacity:.65}
.m2-line{position:absolute;left:10%;right:10%;top:22%;height:1.5px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(155,92,246,.7),transparent)}
.m2-stand{width:9%;height:22px;margin:0 auto;background:linear-gradient(180deg,#1b2350,#10152e)}
.m2-foot{width:34%;height:5px;margin:0 auto;border-radius:3px;background:#141a3a;box-shadow:0 4px 10px rgba(0,0,0,.5)}

/* ---- card spacing polish ---- */
.ui-card{padding:.68rem .9rem;border-radius:15px}
.chip-line{opacity:.2}
@media(max-width:900px){
  .ui-chip,.chip-line{display:none}
  .ws{width:78%}
}
@media(max-width:560px){
  .ws{width:88%;top:58%}
  .monitor2{display:none}
  .ui-pos[data-hide-m]{display:none}
}
@media(prefers-reduced-motion:reduce){
  .m2-bars i{box-shadow:none}
}

/* narrow-desktop breathing room */
@media(max-width:1220px){
  .ui-card{padding:.55rem .7rem}
  .ui-card b{font-size:.72rem}
  .ui-card small{font-size:.56rem}
  .ui-mini .ui-card{padding:.34rem .55rem}
  .ui-mini .ui-card b{font-size:.6rem}
}

/* ============================================================
   V6 — HERO PRODUCT SHOWCASE SLIDER
   One cinematic glass panel · 4 designed scenes · tab rail
   ============================================================ */
.hero-scene{aspect-ratio:auto;display:flex;align-items:center}
.showcase{position:relative;width:100%;z-index:2;perspective:1000px}
.sh-frame{position:relative;aspect-ratio:16/11;border-radius:22px;overflow:hidden;
  background:linear-gradient(rgba(13,17,40,.72),rgba(10,13,32,.86)) padding-box,
             linear-gradient(140deg,rgba(61,82,232,.75),rgba(155,92,246,.65) 50%,rgba(242,121,140,.6)) border-box;
  border:1.5px solid transparent;backdrop-filter:blur(18px);
  box-shadow:0 30px 80px rgba(4,6,18,.75),0 0 60px rgba(90,80,240,.22);
  transition:box-shadow .4s}
.showcase:hover .sh-frame{box-shadow:0 30px 90px rgba(4,6,18,.8),0 0 90px rgba(155,92,246,.4)}

/* slides */
.sh-slide{position:absolute;inset:0;padding:7% 8%;display:flex;flex-direction:column;justify-content:center;gap:1rem;
  opacity:0;transform:translateX(26px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
.sh-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}

/* --- slide 1: live call --- */
.call-head{display:flex;align-items:center;gap:.8rem}
.call-head .voice-avatar{width:42px;height:42px;margin:0}
.call-id b{font-family:var(--font-display);font-size:1rem;display:block}
.call-id small{color:var(--muted);font-size:.74rem}
.call-live{margin-left:auto;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:#4ade80;
  padding:.3rem .7rem;border-radius:99px;border:1px solid rgba(74,222,128,.4);background:rgba(74,222,128,.08);
  animation:blink 2.2s infinite}
.call-bubbles{display:flex;flex-direction:column;gap:.55rem}
.cb{max-width:88%;padding:.6rem .85rem;border-radius:13px;font-size:.8rem;line-height:1.5}
.cb.cust{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:4px}
.cb.ai{align-self:flex-end;background:linear-gradient(135deg,rgba(61,82,232,.3),rgba(155,92,246,.3));
  border:1px solid rgba(155,92,246,.45);border-bottom-right-radius:4px}
.cb.done{align-self:center;font-family:var(--font-mono);font-size:.62rem;color:#4ade80;background:rgba(74,222,128,.07);
  border:1px solid rgba(74,222,128,.3);border-radius:99px;padding:.4rem .9rem}
.sh-slide .vwave{justify-content:center;margin:0}

/* --- slide 2: website --- */
.web-hero{padding:.4rem .2rem}
.wh-eyebrow{display:block;width:26%;height:5px;border-radius:3px;background:rgba(155,92,246,.6);margin-bottom:9px}
.web-hero b{display:block;width:72%;height:12px;border-radius:6px;background:linear-gradient(90deg,#e8ecff,#aab3d6);margin-bottom:7px}
.web-hero b.b2{width:52%;background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral))}
.web-hero em{display:block;width:84%;height:5px;border-radius:3px;background:rgba(255,255,255,.15);margin:7px 0 0}
.web-hero em.short{width:58%}
.web-hero u{display:inline-block;text-decoration:none;font-size:.62rem;font-family:var(--font-mono);color:#fff;
  padding:5px 13px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet));margin-top:12px}
.mock-cards.big{margin-top:.2rem}
.mock-cards.big i{height:34px;border-radius:9px}
.web-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.web-chips span{font-family:var(--font-mono);font-size:.6rem;color:var(--muted);
  padding:.35rem .7rem;border-radius:99px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}

/* --- slide 3: automation flow --- */
.flow-cap{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}
.auto-flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;align-items:stretch;padding:1rem 0}
.af-line{position:absolute;left:6%;right:6%;top:50%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral));opacity:.45}
.af-dot{position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);
  background:#fff;box-shadow:0 0 10px rgba(155,92,246,1),0 0 20px rgba(155,92,246,.7);
  animation:afmove 3.2s ease-in-out infinite}
@keyframes afmove{0%{left:2%}100%{left:98%}}
.af-node{position:relative;z-index:1;text-align:center;padding:.8rem .4rem;border-radius:13px;
  background:rgba(14,18,42,.92);border:1px solid rgba(255,255,255,.12)}
.af-node i{font-style:normal;font-size:1.15rem;display:block;margin-bottom:.35rem}
.af-node b{font-family:var(--font-display);font-size:.66rem;font-weight:600;line-height:1.3;display:block}
.auto-foot{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}
.auto-foot span{font-family:var(--font-mono);font-size:.58rem;color:var(--faint);
  padding:.3rem .65rem;border-radius:99px;border:1px solid rgba(255,255,255,.1)}

/* --- slide 4: dashboard --- */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.kpi{padding:.7rem .8rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.kpi small{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:.25rem}
.kpi b{font-family:var(--font-display);font-size:.82rem;color:#4ade80}
.kpi b.down{color:#7dd3fc}
.chart{display:flex;align-items:flex-end;gap:4%;height:96px;padding:0 2%}
.chart i{flex:1;height:var(--h);border-radius:4px 4px 0 0;transform-origin:bottom;
  background:linear-gradient(180deg,var(--violet),var(--blue));box-shadow:0 0 10px rgba(155,92,246,.3)}
.chart i:nth-child(even){background:linear-gradient(180deg,var(--coral),var(--violet));opacity:.75}
.sh-slide.active .chart i{animation:chartgrow .7s cubic-bezier(.2,.8,.3,1) backwards}
.sh-slide.active .chart i:nth-child(2){animation-delay:.06s}.sh-slide.active .chart i:nth-child(3){animation-delay:.12s}
.sh-slide.active .chart i:nth-child(4){animation-delay:.18s}.sh-slide.active .chart i:nth-child(5){animation-delay:.24s}
.sh-slide.active .chart i:nth-child(6){animation-delay:.3s}.sh-slide.active .chart i:nth-child(7){animation-delay:.36s}
.sh-slide.active .chart i:nth-child(8){animation-delay:.42s}
@keyframes chartgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.chart-cap{text-align:center;font-size:.74rem;color:var(--muted)}

/* --- tab rail --- */
.sh-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.9rem}
.sh-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;
  padding:.6rem .3rem .7rem;border-radius:12px;border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;font:inherit;
  transition:background .25s,border-color .25s,color .25s;overflow:hidden}
.sh-tab i{font-style:normal;font-size:1rem}
.sh-tab span{font-family:var(--font-display);font-size:.64rem;font-weight:600;white-space:nowrap}
.sh-tab:hover{background:rgba(255,255,255,.06);color:var(--text)}
.sh-tab.active{background:rgba(155,92,246,.12);border-color:rgba(155,92,246,.5);color:var(--text)}
.tab-prog{position:absolute;left:0;bottom:0;height:2.5px;width:0;
  background:linear-gradient(90deg,var(--blue),var(--violet),var(--coral))}
.sh-tab.active .tab-prog.run{animation:tabprog var(--dur,4.6s) linear forwards}
@keyframes tabprog{from{width:0}to{width:100%}}

/* responsive */
@media(max-width:1150px){.sh-tab span{font-size:.58rem}}
@media(max-width:900px){.hero-scene{max-width:540px;margin:2.2rem auto 0}}
@media(max-width:560px){
  .sh-frame{aspect-ratio:16/12.5}
  .sh-slide{padding:6%}
  .cb{font-size:.72rem}
  .sh-tab span{display:none}
  .sh-tab{padding:.55rem .3rem}
  .af-node b{font-size:.56rem}
  .kpi b{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .af-dot,.call-live{animation:none!important}
  .sh-slide.active .chart i{animation:none}
  .sh-tab.active .tab-prog.run{animation:none;width:100%}
  .sh-slide{transition:none}
}

/* ============================================================
   V7 — SERVICE FINDER (interactive hero)
   ============================================================ */
.finder{position:relative;width:100%;z-index:2;border-radius:22px;padding:2rem 2.1rem;
  background:linear-gradient(rgba(13,17,40,.78),rgba(10,13,32,.9)) padding-box,
             linear-gradient(140deg,rgba(61,82,232,.8),rgba(155,92,246,.7) 50%,rgba(242,121,140,.65)) border-box;
  border:1.5px solid transparent;backdrop-filter:blur(18px);
  box-shadow:0 30px 80px rgba(4,6,18,.75),0 0 60px rgba(90,80,240,.22);
  transition:box-shadow .4s}
.finder:hover{box-shadow:0 30px 90px rgba(4,6,18,.8),0 0 90px rgba(155,92,246,.38)}

.fnd-kicker{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.7rem}
.fnd-kicker.grad{background:linear-gradient(90deg,#4ade80,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.fnd-q{font-family:var(--font-display);font-size:1.35rem;line-height:1.3;margin-bottom:1.2rem}

.fnd-options{display:flex;flex-direction:column;gap:.6rem}
.fnd-opt{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;cursor:pointer;
  padding:.78rem .95rem;border-radius:14px;border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-size:.9rem;
  transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;
  opacity:0;transform:translateY(10px);animation:optIn .5s cubic-bezier(.2,.8,.3,1) forwards}
.fnd-opt:nth-child(1){animation-delay:.05s}.fnd-opt:nth-child(2){animation-delay:.13s}
.fnd-opt:nth-child(3){animation-delay:.21s}.fnd-opt:nth-child(4){animation-delay:.29s}
.fnd-opt:nth-child(5){animation-delay:.37s}
@keyframes optIn{to{opacity:1;transform:translateY(0)}}
.fnd-opt i{font-style:normal;font-size:1.15rem;flex:0 0 auto;transition:transform .25s}
.fnd-opt span{flex:1}
.fnd-opt em{font-style:normal;color:var(--faint);transition:transform .25s,color .25s}
.fnd-opt:hover,.fnd-opt.attract{background:rgba(155,92,246,.13);border-color:rgba(155,92,246,.55);
  box-shadow:0 6px 24px rgba(155,92,246,.25);transform:translateX(4px)}
.fnd-opt:hover i{transform:scale(1.15)}
.fnd-opt:hover em{transform:translateX(3px);color:var(--violet)}
.fnd-opt.picked{background:rgba(155,92,246,.2);border-color:var(--violet)}
.fnd-foot{margin-top:1rem;font-family:var(--font-mono);font-size:.62rem;color:var(--faint)}

/* result view */
.fnd-view{transition:opacity .35s,transform .35s}
.fnd-view.leaving{opacity:0;transform:translateY(-10px)}
.fnd-res{animation:resIn .5s cubic-bezier(.2,.8,.3,1)}
@keyframes resIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.res-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.res-icon{flex:0 0 auto;width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;background:linear-gradient(135deg,rgba(61,82,232,.3),rgba(155,92,246,.3));
  border:1px solid rgba(155,92,246,.5);box-shadow:0 0 24px rgba(155,92,246,.35);
  animation:iconPop .55s cubic-bezier(.2,1.4,.35,1)}
@keyframes iconPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.res-head h3{font-family:var(--font-display);font-size:1.3rem;margin-bottom:.3rem}
.res-head p{color:var(--muted);font-size:.9rem;line-height:1.55}
.res-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.res-chips span{font-family:var(--font-mono);font-size:.62rem;color:var(--text);
  padding:.4rem .75rem;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  opacity:0;animation:optIn .4s forwards}
.res-chips span:nth-child(1){animation-delay:.15s}.res-chips span:nth-child(2){animation-delay:.25s}
.res-chips span:nth-child(3){animation-delay:.35s}
.res-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.res-back{margin-top:1rem;background:none;border:none;color:var(--faint);font:inherit;font-size:.78rem;
  cursor:pointer;padding:0;transition:color .2s}
.res-back:hover{color:var(--text)}

@media(max-width:900px){.hero-scene{max-width:520px;margin:2.2rem auto 0}}
@media(max-width:560px){
  .finder{padding:1.4rem 1.2rem}
  .fnd-q{font-size:1.12rem}
  .fnd-opt{font-size:.82rem;padding:.68rem .8rem}
  .res-actions .btn{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .fnd-opt,.res-chips span{animation:none;opacity:1;transform:none}
  .res-icon{animation:none}
  .fnd-res{animation:none}
}

/* ============================================================
   V8 — cookie consent banner
   ============================================================ */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin:0 auto;
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.2rem;border-radius:16px;
  background:linear-gradient(rgba(13,17,40,.95),rgba(10,13,32,.97)) padding-box,
             linear-gradient(140deg,rgba(61,82,232,.7),rgba(155,92,246,.6),rgba(242,121,140,.55)) border-box;
  border:1.5px solid transparent;backdrop-filter:blur(16px);
  box-shadow:0 20px 60px rgba(4,6,18,.8);
  transform:translateY(140%);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.3,1),opacity .5s}
.cookie-bar.show{transform:translateY(0);opacity:1}
.cookie-bar p{flex:1 1 220px;margin:0;font-size:.82rem;color:var(--muted);line-height:1.5}
.cookie-bar p a{color:var(--violet)}
.cookie-actions{display:flex;gap:.5rem}
.cookie-accept{font:inherit;font-size:.82rem;font-weight:600;color:#fff;cursor:pointer;border:none;
  padding:.6rem 1.1rem;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--violet));
  transition:transform .2s,box-shadow .2s}
.cookie-accept:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(90,80,240,.5)}
.cookie-decline{font:inherit;font-size:.8rem;color:var(--muted);cursor:pointer;background:none;
  border:1px solid rgba(255,255,255,.16);padding:.6rem 1rem;border-radius:99px;transition:color .2s,border-color .2s}
.cookie-decline:hover{color:var(--text);border-color:rgba(255,255,255,.35)}
@media(max-width:560px){.cookie-bar{flex-direction:column;align-items:stretch;text-align:center}
  .cookie-actions{justify-content:center}}

/* ============================================================
   V9 — dodge button (locked until form is complete)
   ============================================================ */
.btn-row{position:relative}
.btn.can-dodge{transition:transform .28s cubic-bezier(.3,.9,.4,1),opacity .2s,box-shadow .2s}
.btn.locked{opacity:.85}
.dodge-hint{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);
  white-space:nowrap;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.05em;color:var(--text);
  padding:.45rem .85rem;border-radius:99px;background:rgba(16,21,46,.97);border:1px solid rgba(155,92,246,.55);
  box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 16px rgba(155,92,246,.25);
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:50}
.dodge-hint.show{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes btnshake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}
  60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.btn.shake{animation:btnshake .45s ease}
@media(prefers-reduced-motion:reduce){.btn.can-dodge{transition:none}.btn.shake{animation:none}}
