/* ==========================================================================
   PIXEL FORGE STUDIO — design system v5
   White + green · clean image cards · GPU-only motion
   ========================================================================== */

/* ---------- 1. tokens ---------- */
:root{
  --white:#FFFFFF;
  --paper:#FBFDFC;
  --paper-2:#F3F8F6;
  --line:#E3EDE9;
  --line-2:#CBDCD6;

  --green:#16A085;
  --green-deep:#0B7A61;
  --green-dark:#07513F;
  --green-pale:#D8F0E8;
  --green-wash:#EEF8F4;

  --ink:#0E1512;
  --ink-2:#3A4A45;
  --muted:#6B7C76;
  --muted-2:#93A29D;

  --radius:16px;
  --radius-lg:24px;
  --radius-sm:10px;
  --max:1200px;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow-sm:0 2px 8px -2px rgba(9,60,48,.08);
  --shadow:0 18px 40px -24px rgba(9,60,48,.30);
  --shadow-lg:0 30px 70px -34px rgba(9,60,48,.38);
}

/* ---------- 2. base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--green);color:#fff}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.05;letter-spacing:-.03em;margin:0}
h1{font-size:clamp(2.6rem,6.4vw,5rem)}
h2{font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.06}
h3{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.2}
h4{font-size:1rem}
p{margin:0 0 1em}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:92px 0;position:relative}
.sec-alt{background:var(--paper-2)}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}

/* ---------- 3. ambient background ---------- */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg i{position:absolute;border-radius:50%;display:block}
.bg i:nth-child(1){width:720px;height:720px;top:-300px;left:-180px;
  background:radial-gradient(circle,rgba(22,160,133,.10) 0%,rgba(22,160,133,.03) 45%,transparent 70%)}
.bg i:nth-child(2){width:600px;height:600px;top:24%;right:-220px;
  background:radial-gradient(circle,rgba(11,122,97,.08) 0%,rgba(11,122,97,.02) 45%,transparent 70%)}
.bg i:nth-child(3){width:800px;height:800px;bottom:-340px;left:12%;
  background:radial-gradient(circle,rgba(22,160,133,.06) 0%,transparent 68%)}
.bg i:nth-child(4){width:460px;height:460px;top:62%;left:4%;
  background:radial-gradient(circle,rgba(216,240,232,.55) 0%,transparent 70%)}
main,footer,header.nav{position:relative;z-index:2}

/* ---------- 4. nav ---------- */
header.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s;
}
header.nav.scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.98)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:18px}

.brand{display:flex;align-items:center;gap:11px;flex:none;white-space:nowrap}
.brand-mark{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:linear-gradient(150deg,var(--green),var(--green-dark));
  box-shadow:0 6px 18px -8px rgba(11,122,97,.8);
}
.brand-mark svg{width:19px;height:19px}
.brand-name{
  font-family:'Space Grotesk',sans-serif;font-weight:800;
  font-size:clamp(1rem,1.5vw,1.32rem);letter-spacing:-.035em;line-height:1;
}
.brand-name small{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.55rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);
  font-weight:400;margin-top:4px;
}

nav.links{display:flex;align-items:center;gap:28px}
nav.links a{font-size:.875rem;color:var(--muted);position:relative;padding:4px 0;transition:color .2s}
nav.links a:hover,nav.links a.on{color:var(--ink)}
nav.links a::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:1px;
  background:var(--green);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
nav.links a:hover::after,nav.links a.on::after{transform:scaleX(1)}

.nav-cta{display:flex;align-items:center;gap:10px;flex:none}
.burger{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);
  align-items:center;justify-content:center;flex-direction:column;gap:4px;background:#fff}
.burger i{display:block;width:16px;height:1.8px;background:var(--ink);border-radius:1px;transition:.3s}
.burger.on i:nth-child(1){transform:translateY(5.8px) rotate(45deg)}
.burger.on i:nth-child(2){opacity:0}
.burger.on i:nth-child(3){transform:translateY(-5.8px) rotate(-45deg)}

/* mobile panel — LIGHT */
.mnav{
  position:fixed;top:76px;left:0;right:0;z-index:79;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 24px 50px -30px rgba(9,60,48,.35);
  padding:0 24px;max-height:0;overflow:hidden;
  transition:max-height .38s var(--ease),padding .3s;
}
.mnav.open{max-height:620px;padding:14px 24px 26px}
.mnav a{display:block;padding:14px 0;font-size:1rem;color:var(--ink-2);border-bottom:1px solid var(--line)}
.mnav a:hover{color:var(--green-deep)}
.mnav .btn{margin-top:18px;border-bottom:0;color:#fff}

/* ---------- 5. buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border-radius:999px;font-weight:600;font-size:.92rem;
  transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s,color .25s;
  white-space:nowrap;
}
.btn svg{width:15px;height:15px;flex:none}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 26px -14px rgba(11,122,97,.85)}
.btn-primary:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 18px 36px -16px rgba(11,122,97,.9)}
.btn-ghost{border:1px solid var(--line-2);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--green);color:var(--green-deep);background:var(--green-wash);transform:translateY(-2px)}
.btn-sm{padding:10px 18px;font-size:.82rem}
.btn-block{width:100%}

/* ---------- 6. section head ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;
  border:1px solid var(--line-2);background:#fff;
  font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.sec-head{max-width:740px;margin-bottom:48px}
.sec-head .num{
  font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--green-deep);
  letter-spacing:.18em;margin-bottom:14px;display:block;
}
.sec-head h2{margin-bottom:16px}
.sec-head p{color:var(--muted);font-size:1.02rem;margin:0;line-height:1.65}

/* ---------- 7. hero ---------- */
.hero{position:relative;padding:72px 0 88px;overflow:hidden}
.hero-title{font-size:clamp(2.6rem,6.6vw,5.2rem);line-height:.96;letter-spacing:-.042em;margin:26px 0 0}
.hero-title .grad{
  background:linear-gradient(100deg,var(--green-dark) 0%,var(--green-deep) 28%,#3FC4A2 50%,var(--green-deep) 72%,var(--green-dark) 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:flow 9s linear infinite;
}
@keyframes flow{from{background-position:0 0}to{background-position:-240% 0}}
.grad-wrap{display:inline-block}
.hero-sub{font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--muted);max-width:620px;margin:26px 0 32px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{
  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
  border:1px solid var(--line-2);background:#fff;font-size:.78rem;color:var(--muted);
}
.chip svg{width:12px;height:12px;stroke:var(--green);fill:none;stroke-width:2.6;flex:none}

/* browser mock — real client preview */
.mock{
  border:1px solid var(--line-2);border-radius:var(--radius-lg);overflow:hidden;
  background:#fff;box-shadow:var(--shadow-lg);margin-top:52px;
}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 15px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2);display:block}
.mock-bar i:first-child{background:#F0A9A0}
.mock-url{
  margin-left:10px;font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--muted-2);
  background:#fff;padding:5px 13px;border-radius:6px;border:1px solid var(--line);
}
.mock-body{display:grid;grid-template-columns:1fr 1fr;min-height:300px}
.mock-shot{position:relative;overflow:hidden;border-right:1px solid var(--line)}
.mock-shot img{width:100%;height:100%;object-fit:cover;display:block}
.mock-live{
  position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.94);padding:5px 11px;border-radius:999px;
  font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--green-deep);
}
.mock-live i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}
.mock-info{padding:30px 26px;display:flex;flex-direction:column;justify-content:center;gap:12px;background:var(--paper)}
.mock-info .kicker{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep)}
.mock-info .big{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.5rem;line-height:1.12;letter-spacing:-.03em}
.mock-info .row{display:flex;gap:22px;margin-top:4px}
.mock-info .row div b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.15rem;color:var(--green-deep)}
.mock-info .row div span{font-size:.66rem;color:var(--muted-2)}

/* ---------- 8. marquee ---------- */
.marquee{border-block:1px solid var(--line);padding:15px 0;overflow:hidden;background:var(--paper)}
.marquee-track{display:flex;gap:44px;width:max-content;animation:slide 36s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.marquee span{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap}
.marquee span:nth-child(even){color:var(--green)}

/* ---------- 9. stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:#fff;padding:30px 22px}
.stat b{display:block;font-family:'Space Grotesk',sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1;color:var(--green-deep)}
.stat span{display:block;font-size:.76rem;color:var(--muted);margin-top:8px}

/* ---------- 10. cards ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;position:relative;overflow:hidden;
  transition:transform .35s var(--ease),border-color .3s,box-shadow .35s;
}
.card:hover{transform:translateY(-4px);border-color:rgba(11,122,97,.4);box-shadow:var(--shadow)}
.card .n{font-family:'JetBrains Mono',monospace;font-size:.66rem;color:var(--green-deep);letter-spacing:.16em;margin-bottom:12px;display:block}
.card h3{margin-bottom:9px}
.card p{color:var(--muted);font-size:.92rem;margin:0;line-height:1.6}
.card .ico{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;
  background:var(--green-wash);border:1px solid rgba(11,122,97,.18);
}
.card .ico svg{width:20px;height:20px;stroke:var(--green-deep);fill:none;stroke-width:1.8}

/* image card — image block on top, content below. No overlay text. */
.card.has-img{padding:0;display:flex;flex-direction:column}
.card.has-img .cimg{position:relative;overflow:hidden;aspect-ratio:16/9;flex:none;background:var(--paper-2)}
.card.has-img .cimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card.has-img:hover .cimg img{transform:scale(1.05)}
.card.has-img .cbody{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}

.c-3{grid-column:span 3}
.c-4{grid-column:span 4}
.c-5{grid-column:span 5}
.c-6{grid-column:span 6}
.c-7{grid-column:span 7}
.c-8{grid-column:span 8}
.c-12{grid-column:span 12}

/* ---------- 11. category tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.tile{
  position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;
  border:1px solid var(--line);background:var(--paper-2);display:block;
  transition:transform .35s var(--ease),border-color .3s,box-shadow .35s;
}
.tile:hover{transform:translateY(-5px);border-color:rgba(11,122,97,.45);box-shadow:var(--shadow)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tile:hover img{transform:scale(1.07)}
.tile-body{
  position:absolute;inset:auto 0 0 0;padding:18px 16px 16px;
  background:linear-gradient(to top,rgba(6,32,26,.95) 0%,rgba(6,32,26,.80) 45%,rgba(6,32,26,.20) 78%,transparent 100%);
}
.tile-body h4{font-family:'Space Grotesk',sans-serif;font-size:.96rem;color:#fff;margin-bottom:4px;letter-spacing:-.01em}
.tile-body p{font-size:.72rem;color:rgba(255,255,255,.82);margin:0;line-height:1.45}

/* ---------- 12. process ---------- */
.pipe{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.pipe-step{padding:26px 22px;border-right:1px solid var(--line);position:relative;background:#fff}
.pipe-step:last-child{border-right:0}
.pipe-step .n{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--green-deep);letter-spacing:.16em}
.pipe-step h4{font-family:'Space Grotesk',sans-serif;font-size:.94rem;margin:10px 0 6px}
.pipe-step p{font-size:.74rem;color:var(--muted);margin:0;line-height:1.5}
.pipe-step::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.pipe-step:hover::before{transform:scaleX(1)}

/* ---------- 13. pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;display:flex;flex-direction:column;position:relative;
  transition:transform .35s var(--ease),border-color .3s,box-shadow .35s;
}
.pcard:hover{transform:translateY(-5px);border-color:rgba(11,122,97,.45);box-shadow:var(--shadow)}
.pcard.hot{border-color:var(--green);background:linear-gradient(180deg,var(--green-wash),#fff 55%)}
.pcard .tag{
  position:absolute;top:-1px;right:18px;background:var(--green);color:#fff;
  font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.14em;
  text-transform:uppercase;padding:5px 11px;border-radius:0 0 8px 8px;
}
.pcard h4{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;margin-bottom:6px}
.pcard .amt{font-family:'Space Grotesk',sans-serif;font-size:1.9rem;letter-spacing:-.03em;margin:12px 0 4px;color:var(--ink)}
.pcard .amt small{font-size:.72rem;color:var(--muted-2);font-weight:400;letter-spacing:0}
.pcard > p{font-size:.78rem;color:var(--muted-2);margin:0}
.pcard ul{list-style:none;padding:0;margin:18px 0 0;font-size:.82rem;color:var(--muted);flex:1}
.pcard ul li{padding:6px 0 6px 20px;position:relative;line-height:1.5}
.pcard ul li::before{content:'';position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:50%;border:1.6px solid var(--green);opacity:.7}

/* ---------- 14. configurator ---------- */
.cfg{display:grid;grid-template-columns:1fr 350px;gap:24px;align-items:start}
.cfg-step{margin-bottom:24px}
.cfg-step > .lbl{
  font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-deep);margin-bottom:12px;
  display:flex;align-items:center;gap:9px;
}
.cfg-step > .lbl i{
  width:20px;height:20px;border-radius:50%;background:var(--green-wash);
  border:1px solid rgba(11,122,97,.28);display:grid;place-items:center;
  font-style:normal;font-size:.6rem;color:var(--green-deep);flex:none;
}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;
  border:1px solid var(--line);background:#fff;cursor:pointer;transition:.22s}
.opt:hover{border-color:var(--line-2);background:var(--paper)}
.opt.sel{border-color:var(--green);background:var(--green-wash)}
.opt input{appearance:none;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--line-2);
  flex:none;position:relative;transition:.2s;margin:0;background:#fff}
.opt input:checked{border-color:var(--green);background:var(--green)}
.opt input:checked::after{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}
.opt.cb input{border-radius:5px}
.opt.cb input:checked::after{inset:2.5px;border-radius:2px}
.opt-body{flex:1;min-width:0}
.opt-t{display:block;font-size:.87rem;font-weight:500}
.opt-d{display:block;font-size:.72rem;color:var(--muted-2);margin-top:2px}
.opt-p{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--green-deep);flex:none}
.opt-group{
  font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2);margin:18px 0 8px;
  padding-bottom:6px;border-bottom:1px solid var(--line);
}
.opt-group:first-child{margin-top:0}
.sum{position:sticky;top:96px;background:#fff;border:1px solid var(--line-2);
  border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}
.sum h4{font-family:'Space Grotesk',sans-serif;font-size:.92rem;margin-bottom:14px;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.sum-line{display:flex;justify-content:space-between;gap:12px;font-size:.79rem;padding:5px 0;color:var(--muted)}
.sum-line b{color:var(--ink);font-weight:500;font-family:'JetBrains Mono',monospace;font-size:.76rem;flex:none}
.sum-empty{font-size:.79rem;color:var(--muted-2);padding:10px 0}
.sum-tot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.sum-tot div{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.sum-tot span{font-size:.74rem;color:var(--muted)}
.sum-tot b{font-family:'Space Grotesk',sans-serif;font-size:1.32rem;letter-spacing:-.02em}
.sum-tot b.mo{font-size:.95rem;color:var(--green-deep)}

/* ---------- 15. tables ---------- */
.cmp{width:100%;border-collapse:collapse;font-size:.85rem;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;background:#fff}
.cmp th{background:var(--paper-2);padding:14px 16px;text-align:left;
  font-family:'Space Grotesk',sans-serif;font-size:.8rem;border-bottom:1px solid var(--line)}
.cmp th:first-child{color:var(--muted)}
.cmp td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--muted)}
.cmp td:first-child{color:var(--ink);font-weight:500}
.cmp tr:last-child td{border-bottom:0}
.cmp .yes{color:var(--green-deep);font-weight:500}
.cmp .no{color:var(--muted-2)}
.cmp .us{background:var(--green-wash)}

/* ---------- 16. offer ---------- */
.offer{
  border:1px solid rgba(11,122,97,.28);border-radius:var(--radius-lg);padding:48px 38px;text-align:center;
  background:linear-gradient(180deg,var(--green-wash),#fff 70%);
}
.offer h2{margin-bottom:14px}
.offer p{color:var(--muted);max-width:580px;margin:0 auto 26px}
.trip{
  border:1px solid rgba(11,122,97,.3);border-radius:var(--radius);padding:26px;
  background:linear-gradient(180deg,var(--green-wash),#fff 65%);
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;margin-bottom:28px;
}
.trip h3{margin-bottom:8px}
.trip p{color:var(--muted);font-size:.88rem;margin:0;max-width:580px}
.trip .amt{font-family:'Space Grotesk',sans-serif;font-size:2rem;letter-spacing:-.03em;text-align:right;white-space:nowrap;color:var(--green-deep)}
.trip .amt small{display:block;font-size:.66rem;color:var(--muted-2);font-family:'Inter';letter-spacing:0;font-weight:400;margin-top:2px}

/* ---------- 17. faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:22px 0;text-align:left;font-family:'Space Grotesk',sans-serif;font-size:1rem;
  font-weight:500;transition:color .2s}
.faq-q:hover{color:var(--green-deep)}
.faq-q .pm{flex:none;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);
  display:grid;place-items:center;transition:.3s;font-size:.95rem;color:var(--muted)}
.faq-item.open .pm{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{color:var(--muted);font-size:.92rem;padding:0 0 22px;margin:0;max-width:780px}

/* ---------- 18. page index ---------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard-l{
  display:block;padding:26px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.pcard-l:hover{transform:translateY(-4px);border-color:rgba(11,122,97,.45);box-shadow:var(--shadow)}
.pcard-l .pn{font-family:'JetBrains Mono',monospace;font-size:.64rem;color:var(--green-deep);letter-spacing:.16em}
.pcard-l h4{font-family:'Space Grotesk',sans-serif;font-size:1.06rem;margin:10px 0 6px}
.pcard-l p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.55}
.pcard-l .arw{position:absolute;top:22px;right:22px;width:18px;height:18px;
  stroke:var(--muted-2);fill:none;stroke-width:2;transition:.3s}
.pcard-l:hover .arw{stroke:var(--green-deep);transform:translate(3px,-3px)}

/* ---------- 19. feature image ---------- */
.feature-img{border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:var(--shadow)}
.feature-img img{width:100%;display:block;transition:transform 1.1s var(--ease)}
.feature-img:hover img{transform:scale(1.03)}
.feature-img .cap{position:absolute;left:0;right:0;bottom:0;padding:20px 24px;
  background:linear-gradient(to top,rgba(6,32,26,.85),transparent);color:#fff;
  font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- 20. footer ---------- */
footer{border-top:1px solid var(--line);padding:60px 0 32px;background:var(--paper)}
.f-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:38px;margin-bottom:42px}
.f-brand p{color:var(--muted);font-size:.85rem;max-width:280px;margin:16px 0 0}
.f-col h5{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2);margin:0 0 14px}
.f-col a{display:block;font-size:.85rem;color:var(--muted);padding:5px 0;transition:color .2s}
.f-col a:hover{color:var(--green-deep)}
.f-bot{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:.76rem;color:var(--muted-2);line-height:1.6}
.socials{display:flex;gap:9px;margin-top:18px}
.socials a{width:36px;height:36px;border-radius:10px;border:1px solid var(--line-2);
  display:grid;place-items:center;transition:.25s;background:#fff}
.socials a:hover{border-color:var(--green);background:var(--green-wash)}
.socials svg{width:15px;height:15px;stroke:var(--muted);fill:none;stroke-width:1.7}
.socials a:hover svg{stroke:var(--green-deep)}

/* ---------- 21. floating ---------- */
.wa{
  position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;
  background:#1FA855;color:#fff;padding:13px 20px;border-radius:999px;font-weight:600;font-size:.86rem;
  box-shadow:0 14px 32px -12px rgba(31,168,85,.7);transition:transform .25s var(--ease);
}
.wa:hover{transform:translateY(-3px)}
.wa svg{width:19px;height:19px;fill:#fff}

.botwrap{position:fixed;right:22px;bottom:86px;z-index:91}
.botbtn{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--green),var(--green-dark));
  box-shadow:0 14px 32px -12px rgba(11,122,97,.8);transition:transform .25s var(--ease)}
.botbtn:hover{transform:translateY(-3px) scale(1.04)}
.botbtn svg{width:23px;height:23px;stroke:#fff;fill:none;stroke-width:1.8}
.botpanel{
  position:absolute;right:0;bottom:66px;width:352px;max-width:calc(100vw - 40px);
  background:#fff;border:1px solid var(--line-2);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px) scale(.97);
  pointer-events:none;transition:.3s var(--ease);
}
.botpanel.open{opacity:1;transform:none;pointer-events:auto}
.bot-head{display:flex;align-items:center;gap:10px;padding:14px 16px;
  border-bottom:1px solid var(--line);background:var(--paper-2)}
.bot-head .av{width:32px;height:32px;border-radius:10px;
  background:linear-gradient(150deg,var(--green),var(--green-dark));display:grid;place-items:center;flex:none}
.bot-head .av svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.bot-head b{display:block;font-family:'Space Grotesk',sans-serif;font-size:.86rem;line-height:1.2}
.bot-head small{display:block;font-size:.66rem;color:var(--green-deep);margin-top:2px}
.botlog{height:300px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.bmsg{max-width:88%;padding:10px 14px;border-radius:13px;font-size:.83rem;line-height:1.55}
.bmsg.bot{background:var(--paper-2);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.bmsg.me{background:var(--green);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.bchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.bchips button{font-size:.72rem;padding:7px 13px;border-radius:999px;
  border:1px solid rgba(11,122,97,.3);background:var(--green-wash);
  color:var(--green-deep);font-weight:500;transition:.2s;font-family:inherit}
.bchips button:hover{background:var(--green);color:#fff;border-color:var(--green)}
.botform{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--paper-2)}
.botform input{flex:1;background:#fff;border:1px solid var(--line-2);border-radius:10px;
  padding:11px 14px;color:var(--ink);font-size:.83rem;font-family:inherit;outline:none}
.botform input:focus{border-color:var(--green)}
.botform button{width:40px;height:40px;border-radius:10px;background:var(--green);
  display:grid;place-items:center;flex:none}
.botform button svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.bot-foot{padding:0 12px 12px;background:var(--paper-2)}
.bot-foot a{display:block;text-align:center;font-size:.73rem;color:var(--muted);
  padding:9px;border:1px solid var(--line-2);border-radius:9px;transition:.2s;background:#fff}
.bot-foot a:hover{color:var(--green-deep);border-color:var(--green)}

/* ---------- 22. legal ---------- */
.legal{max-width:800px}
.legal h2{margin:40px 0 14px;font-size:1.5rem}
.legal h3{margin:26px 0 10px;font-size:1.08rem}
.legal p,.legal li{color:var(--muted);font-size:.93rem}
.legal ul{padding-left:20px}
.legal li{margin-bottom:8px}
.legal .updated{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted-2);
  letter-spacing:.1em;text-transform:uppercase}

/* ---------- 23. motion ---------- */
.rv{opacity:0;transform:translateY(34px);
  transition:opacity .85s var(--ease),transform .85s var(--ease);will-change:opacity,transform}
.rv.in{opacity:1;transform:none;will-change:auto}
html:not(.js) .rv{opacity:1;transform:none}
.still .rv{opacity:1 !important;transform:none !important}
.hero-title .w{display:inline-block}
.js .hero-title .w{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .hero-title .w.in{opacity:1;transform:none}
.js .grad-wrap{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .grad-wrap.in{opacity:1;transform:none}
.still .hero-title .w,.still .grad-wrap{opacity:1 !important;transform:none !important}

/* ---------- 24. responsive ---------- */
@media(max-width:1024px){
  .cfg{grid-template-columns:1fr}
  .sum{position:static}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  .tiles{grid-template-columns:repeat(3,1fr)}
  .c-3,.c-4,.c-5{grid-column:span 6}
  .pipe{grid-template-columns:repeat(2,1fr)}
  .pipe-step{border-bottom:1px solid var(--line)}
  .f-grid{grid-template-columns:1fr 1fr}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  nav.links{display:none}
  .burger{display:flex}
  .mock-body{grid-template-columns:1fr}
  .mock-shot{border-right:0;border-bottom:1px solid var(--line);aspect-ratio:16/9}
}
@media(max-width:680px){
  .sec{padding:60px 0}
  .hero{padding:44px 0 62px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:1fr}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .bento>*{grid-column:span 12 !important}
  .pipe{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr}
  .wa{padding:12px 16px;font-size:.8rem;right:14px;bottom:14px}
  .botwrap{right:14px;bottom:76px}
  .botpanel{width:calc(100vw - 28px);right:-6px}
  .nav-cta .btn:not(.btn-primary){display:none}
  .offer{padding:34px 22px}
  .trip{grid-template-columns:1fr;gap:16px}
  .trip .amt{text-align:left}
  .mock-info{padding:22px 20px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .rv,.js .hero-title .w,.js .grad-wrap{opacity:1 !important;transform:none !important}
  html{scroll-behavior:auto}
}

/* ---------- still-mode: kill transitions so screenshots are accurate ---------- */
.still .rv,.still .hero-title .w,.still .grad-wrap{
  opacity:1 !important;transform:none !important;transition:none !important;animation:none !important;
}
/* legacy token aliases used by older inline styles */
:root{--ember:var(--green-deep);--ember-soft:var(--green);--ember-dim:var(--green-dark);--ember-rgb:11,122,97;--bone:#0E1512;--ash:#6B7C76;--ash-2:#93A29D;--steel:#fff;--steel-2:#F3F8F6;--ink-2:#FBFDFC}

/* ---------- tiles: guaranteed text legibility ---------- */
.tile-body{
  background:linear-gradient(to top,
    rgba(4,26,21,.97) 0%,
    rgba(4,26,21,.93) 32%,
    rgba(4,26,21,.62) 58%,
    rgba(4,26,21,.10) 80%,
    transparent 100%) !important;
  padding:20px 16px 16px !important;
}
.tile-body h4{color:#fff !important;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.tile-body p{color:rgba(255,255,255,.86) !important;text-shadow:0 1px 5px rgba(0,0,0,.7)}
.tile img{filter:saturate(.92)}

/* ---------- v5.1: kill the nav hairline + mobile float overlap ---------- */
header.nav{border-bottom:0 !important;box-shadow:none}
header.nav.scrolled{
  border-bottom:0 !important;
  box-shadow:0 1px 0 rgba(9,60,48,.06), 0 8px 24px -18px rgba(9,60,48,.35);
}
/* no stray rules anywhere */
.sec,.hero,.offer,.pipe,.trip{overflow:hidden}
.sec-head p{border:0 !important}

/* mobile: floats must not cover content */
@media(max-width:680px){
  body{padding-bottom:78px}
  .wa{padding:11px 15px;font-size:.78rem;right:12px;bottom:12px;box-shadow:0 10px 26px -10px rgba(31,168,85,.7)}
  .wa svg{width:17px;height:17px}
  .botwrap{right:12px;bottom:66px}
  .botbtn{width:46px;height:46px;border-radius:14px}
  .botbtn svg{width:20px;height:20px}
  .botpanel{width:calc(100vw - 24px);right:-2px;bottom:58px}
  .botlog{height:250px}
}

/* mobile: one floating action only — WhatsApp converts, the bot can wait */
@media(max-width:680px){
  .botwrap{display:none !important}
  body{padding-bottom:70px}
}

/* ---------- v5.2: process strip = solid tints, no border line ---------- */
.pipe{
  border:0 !important;
  background:transparent !important;
  gap:12px !important;
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.pipe-step{
  background:var(--tint,#EAF6F1) !important;
  background-image:none !important;
  border:0 !important;
  border-radius:14px !important;
  padding:26px 22px !important;
  position:relative;
  transition:transform .3s var(--ease),box-shadow .3s;
}
.pipe-step:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px rgba(9,60,48,.35)}
.pipe-step::before{
  content:'';position:absolute;top:0;left:22px;right:22px;height:3px;
  background:var(--green);border-radius:0 0 3px 3px;opacity:.55;
}
.pipe-step .n{color:var(--green-deep) !important}
@media(max-width:1024px){
  .pipe{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}
  .pipe-step{border-bottom:0 !important}
}
@media(max-width:680px){
  .pipe{grid-template-columns:1fr !important}
}

/* ---------- v5.3: tinted cards, no images ---------- */
.pcard[style*="--tint"]{background:var(--tint) !important;border-color:rgba(11,122,97,.16)}
.pcard[style*="--tint"]:hover{border-color:rgba(11,122,97,.5);background:var(--tint) !important}
.pcard.hot[style*="--tint"]{border-color:var(--green);background:var(--tint) !important}

/* services detail accent block (replaces the duplicate photo) */
.accent-block{
  border-radius:14px;aspect-ratio:3/2;width:100%;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.55), transparent 55%),
    linear-gradient(150deg,var(--green-wash),#D8EFE7 60%,#CFEBE1);
  border:1px solid rgba(11,122,97,.16);
  position:relative;overflow:hidden;
}
.accent-block::after{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(11,122,97,.16) 1px, transparent 1px);
  background-size:16px 16px;opacity:.5;
}

/* ---------- real logo ---------- */
.brand-mark{
  background:#fff !important;
  border:1px solid var(--line-2) !important;
  padding:3px !important;
  box-shadow:0 4px 14px -8px rgba(9,60,48,.4) !important;
  overflow:hidden;
}
.brand-mark img{width:100% !important;height:100% !important;object-fit:contain !important;display:block}

/* logo chip: wider to suit the wide anvil mark */
header.nav .brand-mark{width:58px !important;height:40px !important;border-radius:11px !important;padding:4px !important}
header.nav .brand-mark img{object-fit:contain !important}
@media(max-width:900px){
  header.nav .brand-mark{width:46px !important;height:32px !important;padding:3px !important}
}

/* ==========================================================================
   v6 fixes
   ========================================================================== */

/* 1. --ink-2 was clobbered to near-white by a legacy alias → invisible menu */
:root{--ink-2:#3A4A45 !important}
.mnav a{color:#1B2A26 !important;font-weight:500 !important}
.mnav a:hover{color:var(--green-deep) !important}
.mnav .btn,.mnav .btn:hover{color:#fff !important}
.mnav{background:#fff !important}

/* 2. footer side-by-side on mobile */
@media(max-width:680px){
  .f-grid{
    grid-template-columns:1fr 1fr !important;
    gap:26px 20px !important;
  }
  .f-brand{grid-column:1 / -1 !important}
  .f-col h5{margin-bottom:10px !important}
  .f-col a{padding:4px 0 !important;font-size:.82rem !important}
}
@media(max-width:380px){
  .f-grid{grid-template-columns:1fr !important}
}

/* 3. hero tracker card */
.track{
  border:1px solid var(--line-2);border-radius:var(--radius-lg);background:#fff;
  box-shadow:var(--shadow-lg);padding:30px 28px;margin-top:48px;
}
.track-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}
.track-top .k{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-deep);display:block;margin-bottom:8px}
.track-top h3{font-size:1.28rem;letter-spacing:-.03em;margin:0}
.track-day{
  flex:none;text-align:center;border-left:1px solid var(--line);padding-left:18px;
}
.track-day b{display:block;font-family:'Space Grotesk';font-size:1.9rem;line-height:1;color:var(--green-deep);letter-spacing:-.03em}
.track-day span{font-size:.6rem;color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase}
.track-steps{display:grid;gap:0}
.tstep{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.tstep:last-child{border-bottom:0;padding-bottom:0}
.tstep .dot{
  width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--green);color:#fff;font-size:.66rem;font-weight:700;
}
.tstep .dot.wait{background:var(--green-wash);color:var(--green-deep);border:1px solid rgba(11,122,97,.3)}
.tstep .dot svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3}
.tstep .body{flex:1;min-width:0}
.tstep .body b{display:block;font-size:.86rem;font-weight:600;color:var(--ink)}
.tstep .body span{display:block;font-size:.72rem;color:var(--muted-2);margin-top:1px}
.tstep .when{font-family:'JetBrains Mono',monospace;font-size:.64rem;color:var(--muted-2);flex:none}
.tstep .when.now{color:var(--green-deep)}
@media(max-width:680px){
  .track{padding:24px 20px;margin-top:36px}
  .track-top{flex-direction:column;gap:14px}
  .track-day{border-left:0;padding-left:0;text-align:left;display:flex;align-items:baseline;gap:8px}
  .track-day b{font-size:1.5rem}
}

/* ---------- one-page anchors: clear the sticky nav ---------- */
section[id]{scroll-margin-top:86px}
html{scroll-behavior:smooth}

/* one-pager: rhythm between folded sections */
#services,#packages,#addons,#work,#about,#process,#faq,#contact{
  border-top:1px solid var(--line);
}
#work{background:var(--paper-2)}
#faq{background:var(--paper-2)}
#contact{background:var(--paper-2)}

/* ==========================================================================
   v16 — from the team's brief
   ========================================================================== */

/* sticky mobile enquiry bar (replaces the floating buttons on small screens) */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;
  gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97);border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -18px rgba(9,60,48,.5);
}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:13px 10px;border-radius:11px;font-size:.85rem;font-weight:600}
.mbar .m1{background:#1FA855;color:#fff}
.mbar .m2{background:var(--green-wash);color:var(--green-deep);border:1px solid rgba(11,122,97,.28)}
.mbar svg{width:15px;height:15px;flex:none}
.mbar .m1 svg{fill:#fff}
.mbar .m2 svg{stroke:var(--green-deep);fill:none;stroke-width:2}
@media(max-width:680px){
  .mbar{display:flex}
  .wa{display:none !important}
  body{padding-bottom:82px !important}
}

/* three journeys */
.jrn{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jcard{
  border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;background:#fff;
  display:flex;flex-direction:column;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.jcard:hover{transform:translateY(-4px);border-color:rgba(11,122,97,.45);box-shadow:var(--shadow)}
.jcard .step{
  font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-deep);margin-bottom:12px;
}
.jcard h3{font-size:1.22rem;margin-bottom:6px;letter-spacing:-.02em}
.jcard .for{font-size:.76rem;color:var(--muted-2);margin-bottom:14px}
.jcard .amt{font-family:'Space Grotesk';font-size:1.7rem;letter-spacing:-.03em;margin-bottom:4px}
.jcard .amt small{font-size:.66rem;color:var(--muted-2);font-weight:400}
.jcard ul{list-style:none;padding:0;margin:14px 0 0;font-size:.8rem;color:var(--muted);flex:1}
.jcard li{padding:4px 0 4px 17px;position:relative;line-height:1.5}
.jcard li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.65}
.jcard .btn{margin-top:18px}
.jcard.pick{border-color:var(--green);background:linear-gradient(180deg,var(--green-wash),#fff 60%)}
.jcard.pick .tag{
  position:absolute;top:0;right:20px;background:var(--green);color:#fff;
  font-family:'JetBrains Mono';font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;
  padding:4px 10px;border-radius:0 0 7px 7px;
}
@media(max-width:900px){ .jrn{grid-template-columns:1fr} }

/* ==========================================================================
   v17 — emerald / mint design from the approved mockup
   ========================================================================== */
:root{
  --em:#109880;          /* primary emerald */
  --em-bright:#12A88D;
  --em-deep:#0A7A66;
  --em-dark:#05564A;
  --mint:#D8F0E8;
  --mint-soft:#EEF9F5;
  --mint-wash:#F4FCFB;

  --ink:#082028;         /* dark teal — headings, footer */
  --ink-2:#2C3F3B;
  --muted:#63756F;
  --muted-2:#8C9C97;
  --line:#E1EDE9;
  --line-2:#C9DDD7;

  --green:#109880; --green-deep:#0A7A66; --green-dark:#05564A;
  --green-wash:#F4FCFB; --green-pale:#D8F0E8;
  --ember:#0A7A66; --ember-soft:#12A88D; --ember-dim:#05564A;
  --ember-rgb:16,152,128;
  --bone:#082028; --ash:#63756F; --ash-2:#8C9C97;
  --steel:#fff; --steel-2:#F4FCFB;
  --btn-fg:#fff;
}

/* headings in dark teal, emerald for accents */
h1,h2,h3,h4{color:var(--ink)}
.hero-title .grad{
  background:linear-gradient(96deg,#0A7A66 0%,#109880 35%,#2FC7A6 55%,#109880 75%,#0A7A66 100%) !important;
  background-size:220% 100% !important;
}
.sec-head .num{color:var(--em-deep)}
.eyebrow{background:#fff;border-color:var(--line-2);color:var(--muted)}

/* buttons */
.btn-primary{background:var(--em) !important;color:#fff !important;
  box-shadow:0 8px 20px -10px rgba(16,152,128,.75) !important}
.btn-primary:hover{background:var(--em-deep) !important;
  box-shadow:0 14px 30px -12px rgba(16,152,128,.85) !important}
.btn-ghost{background:#fff;border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--em);color:var(--em-deep);background:var(--mint-wash)}
.btn-ghost .ar{transition:transform .3s var(--ease)}
.btn-ghost:hover .ar{transform:translateX(3px)}

/* status pill */
.status{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  background:var(--mint);color:var(--em-dark);
  font-size:.72rem;font-weight:500;letter-spacing:.01em;
}
.status i{width:7px;height:7px;border-radius:50%;background:var(--em);
  box-shadow:0 0 0 3px rgba(16,152,128,.18);flex:none}

/* trust row */
.trust{display:flex;flex-wrap:wrap;gap:26px;margin-top:34px}
.trust div{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--muted);line-height:1.3}
.trust svg{width:17px;height:17px;stroke:var(--em-deep);fill:none;stroke-width:1.7;flex:none}
.trust b{display:block;color:var(--ink);font-weight:600;font-size:.78rem}
.trust span{display:block;font-size:.68rem;color:var(--muted-2)}

/* hero device mockup */
.device{
  position:relative;border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,#0B2A31,#082028);
  box-shadow:0 40px 80px -40px rgba(8,32,40,.55), 0 0 0 1px rgba(16,152,128,.12);
}
.device img{width:100%;display:block;opacity:.96}
.device-bar{display:flex;gap:6px;padding:10px 13px;background:#061A20;border-bottom:1px solid rgba(255,255,255,.06)}
.device-bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.16)}
.device-bar i:first-child{background:rgba(16,152,128,.7)}
.device-wrap{position:relative}
.float-pill{
  position:absolute;display:flex;align-items:center;gap:9px;padding:10px 14px;
  background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 14px 30px -18px rgba(8,32,40,.4);font-size:.74rem;line-height:1.25;z-index:3;
}
.float-pill svg{width:16px;height:16px;stroke:var(--em);fill:none;stroke-width:1.8;flex:none}
.float-pill b{display:block;color:var(--ink);font-weight:600;font-size:.76rem}
.float-pill span{display:block;color:var(--muted-2);font-size:.64rem}
.float-pill.p1{top:6%;left:-6%}
.float-pill.p2{top:2%;right:-4%}
.float-pill.p3{top:38%;right:-9%}
.float-pill.p4{top:60%;right:-6%}

/* emerald edge light + pointer spotlight on bento cards */
.card,.pcard,.jcard,.sol,.pcard-l{position:relative}
.card::before,.jcard::before,.sol::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),rgba(16,152,128,.10),transparent 62%);
  opacity:0;transition:opacity .4s;
}
.card:hover::before,.jcard:hover::before,.sol:hover::before{opacity:1}
.card:hover,.jcard:hover,.sol:hover{
  border-color:rgba(16,152,128,.42) !important;
  box-shadow:0 18px 40px -24px rgba(16,152,128,.55) !important;
}

/* solutions grid — 6 across */
.sols{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sol{
  background:var(--mint-wash);border:1px solid var(--line);border-radius:14px;
  padding:24px 16px;text-align:center;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
}
.sol:hover{transform:translateY(-4px);background:#fff}
.sol svg{width:26px;height:26px;stroke:var(--em-deep);fill:none;stroke-width:1.6;margin:0 auto 12px}
.sol b{display:block;font-family:'Space Grotesk';font-size:.92rem;color:var(--ink);margin-bottom:5px}
.sol span{display:block;font-size:.7rem;color:var(--muted-2);line-height:1.45}
@media(max-width:1024px){.sols{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.sols{grid-template-columns:repeat(2,1fr)}}

/* journey cards — richer */
.jcard .jhead{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.jcard .jico{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:var(--mint);border:1px solid rgba(16,152,128,.22);
}
.jcard .jico svg{width:19px;height:19px;stroke:var(--em-deep);fill:none;stroke-width:1.7}
.jcard .jsub{font-size:.7rem;color:var(--em-deep);font-weight:500;margin-top:1px}
.jcard .desc{font-size:.8rem;color:var(--muted);margin:0 0 14px;line-height:1.55}
.jcard .amt{margin-bottom:14px}
.jcard li::before{background:var(--em)}

/* custom strip */
.strip{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:18px;padding:16px 20px;border-radius:12px;
  background:var(--mint-wash);border:1px solid var(--line);
}
.strip .txt{flex:1;min-width:220px;font-size:.82rem;color:var(--ink)}
.strip .txt span{display:block;font-size:.72rem;color:var(--muted-2);margin-top:2px}
.strip .ref{display:flex;gap:18px;font-size:.74rem;color:var(--muted)}
.strip .ref b{color:var(--em-deep);font-family:'JetBrains Mono';font-size:.76rem}
.strip a{font-size:.78rem;color:var(--em-deep);font-weight:600;white-space:nowrap}
.strip a:hover{text-decoration:underline}

/* work cards */
.workgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.wcard{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);
  transition:transform .3s var(--ease),box-shadow .3s}
.wcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.wcard .wimg{aspect-ratio:4/3;overflow:hidden;background:var(--mint-wash)}
.wcard .wimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.wcard:hover .wimg img{transform:scale(1.06)}
.wcard .wbody{padding:11px 12px 13px}
.wcard b{display:block;font-size:.78rem;color:var(--ink);margin-bottom:2px}
.wcard span{font-size:.66rem;color:var(--muted-2)}
@media(max-width:1024px){.workgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.workgrid{grid-template-columns:repeat(2,1fr)}}

/* contact dark card */
.dcard{
  background:linear-gradient(165deg,#0B2A31,#04191E);
  border-radius:18px;padding:32px 28px;color:#fff;position:relative;overflow:hidden;
}
.dcard::after{
  content:'';position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(16,152,128,.28),transparent 68%);
}
.dcard .dhead{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.dcard .dhead img{width:34px;height:34px;border-radius:9px;background:#fff;padding:3px}
.dcard .dhead b{font-family:'Space Grotesk';font-size:1rem;display:block;line-height:1.1}
.dcard .dhead span{font-size:.64rem;color:rgba(255,255,255,.55);letter-spacing:.06em}
.dcard .tagline{font-size:.78rem;color:rgba(255,255,255,.6);margin-bottom:22px}
.dcard .row{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;position:relative;z-index:1}
.dcard .row svg{width:15px;height:15px;stroke:#2FC7A6;fill:none;stroke-width:1.8;flex:none;margin-top:2px}
.dcard .row b{display:block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:2px}
.dcard .row span{font-size:.8rem;color:rgba(255,255,255,.9);line-height:1.45}
.dcard a{color:#2FC7A6;text-decoration:none}
.dcard a:hover{text-decoration:underline}

/* dark footer */
footer{background:var(--ink) !important;border-top:0 !important;color:#fff}
footer .brand-name{color:#fff !important}
footer .brand-name small{color:rgba(255,255,255,.45) !important}
footer .f-col h5{color:rgba(255,255,255,.42) !important}
footer .f-col a{color:rgba(255,255,255,.72) !important}
footer .f-col a:hover{color:#2FC7A6 !important}
footer .f-brand p{color:rgba(255,255,255,.6) !important}
footer .f-bot{border-top-color:rgba(255,255,255,.10) !important;color:rgba(255,255,255,.45) !important}
footer .socials a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
footer .socials svg{stroke:rgba(255,255,255,.7)}
footer .socials a:hover{background:rgba(16,152,128,.2);border-color:var(--em)}
footer .brand-mark{background:#fff !important;border-color:rgba(255,255,255,.15) !important}

/* sticky bar in mockup style */
.mbar .m1{background:var(--em) !important}
.mbar .m2{background:#fff !important;color:var(--em-deep) !important;border:1px solid var(--line-2) !important}

/* mint ambient */
.bg i:nth-child(1){background:radial-gradient(circle,rgba(16,152,128,.10) 0%,transparent 68%)}
.bg i:nth-child(2){background:radial-gradient(circle,rgba(216,240,232,.75) 0%,transparent 70%)}
.bg i:nth-child(3){background:radial-gradient(circle,rgba(16,152,128,.07) 0%,transparent 68%)}
.bg i:nth-child(4){background:radial-gradient(circle,rgba(216,240,232,.5) 0%,transparent 70%)}

/* accessibility */
:focus-visible{outline:2px solid var(--em);outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){
  .card::before,.jcard::before,.sol::before{display:none}
  .btn,.card,.jcard,.sol,.wcard,.pcard-l{transition:none !important}
}

/* fix: background shorthand reset background-clip — restore the text clip */
.hero-title .grad,[data-theme] .hero-title .grad{
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent;
  filter:none !important;
}
/* device image: cap the height so the hero stays balanced */
.device img{max-height:520px;object-fit:cover;object-position:center 40%}
@media(max-width:1024px){.device img{max-height:380px}}
.trust{max-width:560px}
.trust div{min-width:150px}
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr !important;gap:34px !important}
  .float-pill.p1{left:2%}.float-pill.p2{right:2%}
  .float-pill.p3{right:2%}.float-pill.p4{right:2%}
}
@media(max-width:640px){
  .float-pill{padding:8px 11px;font-size:.68rem}
  .float-pill b{font-size:.7rem}.float-pill span{font-size:.6rem}
  .float-pill.p3,.float-pill.p4{display:none}
}

/* dark contact card: keep its bento column */
.bento .dcard{grid-column:span 5}
@media(max-width:1024px){ .bento .dcard{grid-column:span 12} }

/* ==========================================================================
   v18 — NIGHT FORGE: navy + violet theme (structure unchanged)
   ========================================================================== */
:root{
  --bg:#000618;
  --surface:#080E22;
  --surface-2:#0D1430;
  --surface-3:#131C3D;

  --violet:#5424E4;
  --violet-bright:#7C4DFF;
  --violet-soft:#A78BFA;
  --orange:#F08400;
  --cyan:#00C0D8;
  --magenta:#A855F7;

  --txt:#E6E9F8;
  --txt-2:#B9C0DE;
  --muted:#8A93B8;
  --muted-2:#6B7499;

  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);

  /* remap legacy tokens */
  --ink:#E6E9F8; --ink-2:#B9C0DE; --bone:#E6E9F8;
  --ash:#9AA3C7; --ash-2:#6B7499;
  --steel:#0D1430; --steel-2:#080E22;
  --em:#7C4DFF; --em-bright:#8B63FF; --em-deep:#A78BFA; --em-dark:#C4B5FD;
  --green:#7C4DFF; --green-deep:#A78BFA; --green-dark:#C4B5FD;
  --green-wash:rgba(124,77,255,.12); --green-pale:rgba(124,77,255,.22);
  --ember:#A78BFA; --ember-soft:#7C4DFF; --ember-dim:#C4B5FD;
  --ember-rgb:124,77,255;
  --mint:#1A1140; --mint-soft:#120C2E; --mint-wash:#0B0F2A;
  --btn-fg:#fff;
}

html,body{background:var(--bg) !important;color:var(--txt) !important}
body::before{display:none}
main{background:transparent}
.sec-alt{background:var(--surface) !important}
.sec{background:transparent}

h1,h2,h3,h4{color:var(--txt) !important}
p,li,.card p,.sec-head p{color:var(--txt-2)}
.sec-head p{color:var(--muted) !important}

/* ambient glows */
.bg i:nth-child(1){background:radial-gradient(circle,rgba(84,36,228,.28) 0%,transparent 68%) !important}
.bg i:nth-child(2){background:radial-gradient(circle,rgba(168,85,247,.16) 0%,transparent 70%) !important}
.bg i:nth-child(3){background:radial-gradient(circle,rgba(0,192,216,.10) 0%,transparent 68%) !important}
.bg i:nth-child(4){background:radial-gradient(circle,rgba(240,132,0,.08) 0%,transparent 70%) !important}

/* nav */
header.nav{background:rgba(0,6,24,.82) !important;border-bottom:1px solid transparent}
header.nav.scrolled{background:rgba(0,6,24,.95) !important;border-bottom-color:var(--line) !important;
  box-shadow:0 8px 30px -20px rgba(0,0,0,.9) !important}
nav.links a{color:var(--muted) !important}
nav.links a:hover,nav.links a.on{color:var(--txt) !important}
nav.links a::after{background:var(--violet-bright) !important}
.brand-name{color:var(--txt) !important}
.brand-name small{color:var(--muted-2) !important}
.brand-mark{background:rgba(255,255,255,.06) !important;border-color:var(--line-2) !important}
.burger{background:var(--surface-2) !important;border-color:var(--line-2) !important}
.burger i{background:var(--txt) !important}
.mnav{background:var(--surface) !important;border-bottom-color:var(--line) !important}
.mnav a{color:var(--txt-2) !important;border-bottom-color:var(--line) !important}
.mnav a:hover{color:var(--violet-soft) !important}

/* buttons */
.btn-primary{background:var(--violet) !important;color:#fff !important;
  box-shadow:0 10px 30px -12px rgba(84,36,228,.9) !important}
.btn-primary:hover{background:var(--violet-bright) !important;
  box-shadow:0 16px 40px -14px rgba(124,77,255,.95) !important}
.btn-ghost{background:rgba(255,255,255,.04) !important;border-color:var(--line-2) !important;color:var(--txt) !important}
.btn-ghost:hover{border-color:var(--violet-bright) !important;color:var(--violet-soft) !important;
  background:rgba(124,77,255,.12) !important}

/* hero */
.status{background:rgba(124,77,255,.16) !important;color:var(--violet-soft) !important;
  border:1px solid rgba(124,77,255,.3)}
.status i{background:var(--violet-bright) !important;box-shadow:0 0 0 3px rgba(124,77,255,.25) !important}
.hero-title .grad,[data-theme] .hero-title .grad{
  background:linear-gradient(96deg,#A78BFA 0%,#7C4DFF 30%,#E879F9 52%,#7C4DFF 74%,#A78BFA 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  color:transparent !important;-webkit-text-fill-color:transparent;
}
.hero-sub{color:var(--muted) !important}
.eyebrow{background:rgba(255,255,255,.04) !important;border-color:var(--line-2) !important;color:var(--muted) !important}
.eyebrow .dot{background:var(--violet-bright) !important}
.trust div{color:var(--muted) !important}
.trust svg{stroke:var(--violet-soft) !important}
.trust b{color:var(--txt) !important}
.trust span{color:var(--muted-2) !important}

/* device */
.device{background:linear-gradient(160deg,#0D1430,#05091C) !important;
  box-shadow:0 40px 90px -40px rgba(84,36,228,.55), 0 0 0 1px rgba(124,77,255,.18) !important}
.device-bar{background:#040817 !important}
.device-bar i{background:rgba(255,255,255,.14) !important}
.device-bar i:first-child{background:rgba(124,77,255,.8) !important}
.float-pill{background:rgba(13,20,48,.96) !important;border-color:var(--line-2) !important;
  box-shadow:0 16px 34px -18px rgba(0,0,0,.9) !important}
.float-pill b{color:var(--txt) !important}
.float-pill span{color:var(--muted-2) !important}
.float-pill svg{stroke:var(--violet-soft) !important}

/* marquee */
.marquee{background:var(--surface) !important;border-color:var(--line) !important}
.marquee span{color:var(--muted-2) !important}
.marquee span:nth-child(even){color:var(--violet-soft) !important}

/* cards */
.card,.pcard,.jcard,.sol,.pcard-l,.wcard{
  background:var(--surface) !important;border-color:var(--line) !important;
}
.card:hover,.pcard:hover,.jcard:hover,.sol:hover,.pcard-l:hover,.wcard:hover{
  border-color:rgba(124,77,255,.5) !important;
  box-shadow:0 20px 50px -26px rgba(84,36,228,.75) !important;
}
.card::before,.jcard::before,.sol::before{
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,0%),rgba(124,77,255,.16),transparent 62%) !important;
}
.card .n,.pcard-l .pn,.sec-head .num,.jcard .step,.sol b{color:var(--violet-soft) !important}
.card p,.card h3,.jcard h3,.sol b,.pcard-l h4{color:var(--txt) !important}
.card p,.pcard-l p,.sol span,.jcard .desc{color:var(--muted) !important}
.card .ico{background:rgba(124,77,255,.14) !important;border-color:rgba(124,77,255,.28) !important}
.card .ico svg{stroke:var(--violet-soft) !important}
.pcard-l .arw{stroke:var(--muted-2) !important}
.pcard-l:hover .arw{stroke:var(--violet-soft) !important}

/* journey cards */
.jcard.pick{background:linear-gradient(180deg,rgba(84,36,228,.20),var(--surface) 62%) !important;
  border-color:rgba(124,77,255,.55) !important}
.jcard .tag{background:var(--violet) !important;color:#fff !important}
.jcard .jico{background:rgba(124,77,255,.16) !important;border-color:rgba(124,77,255,.3) !important}
.jcard .jico svg{stroke:var(--violet-soft) !important}
.jcard .jsub{color:var(--violet-soft) !important}
.jcard .amt{color:var(--txt) !important}
.jcard .amt small{color:var(--muted-2) !important}
.jcard li{color:var(--muted) !important}
.jcard li::before{background:var(--violet-bright) !important}

/* solutions */
.sol{background:var(--surface-2) !important}
.sol svg{stroke:var(--violet-soft) !important}
.sol span{color:var(--muted-2) !important}

/* strip + trip + offer */
.strip,.trip{background:var(--surface-2) !important;border-color:var(--line) !important}
.strip .txt,.trip h3{color:var(--txt) !important}
.strip .txt span,.trip p{color:var(--muted) !important}
.strip .ref{color:var(--muted) !important}
.strip .ref b{color:var(--violet-soft) !important}
.strip a{color:var(--violet-soft) !important}
.trip .amt{color:var(--violet-soft) !important}
.offer{background:linear-gradient(180deg,rgba(84,36,228,.16),var(--surface) 70%) !important;
  border-color:rgba(124,77,255,.35) !important}
.offer p{color:var(--muted) !important}

/* pricing */
.pcard.hot{background:linear-gradient(180deg,rgba(84,36,228,.18),var(--surface) 55%) !important;
  border-color:rgba(124,77,255,.55) !important}
.pcard .tag{background:var(--violet) !important;color:#fff !important}
.pcard .amt{color:var(--txt) !important}
.pcard > p,.pcard ul{color:var(--muted) !important}
.pcard li::before{border-color:var(--violet-soft) !important}

/* pipe / tints */
.pipe-step{background:var(--surface-2) !important}
.pipe-step::before{background:var(--violet-bright) !important}
.pipe-step .n{color:var(--violet-soft) !important}
.pipe-step h4{color:var(--txt) !important}
.pipe-step p{color:var(--muted) !important}

/* configurator */
.opt{background:var(--surface-2) !important;border-color:var(--line) !important}
.opt:hover{background:var(--surface-3) !important}
.opt.sel{border-color:var(--violet-bright) !important;background:rgba(124,77,255,.14) !important}
.opt input{background:var(--surface-3) !important;border-color:var(--line-2) !important}
.opt input:checked{background:var(--violet-bright) !important;border-color:var(--violet-bright) !important}
.opt-t{color:var(--txt) !important}
.opt-d{color:var(--muted-2) !important}
.opt-p{color:var(--violet-soft) !important}
.opt-group{color:var(--muted-2) !important;border-bottom-color:var(--line) !important}
.sum{background:var(--surface) !important;border-color:var(--line-2) !important}
.sum h4{color:var(--txt) !important;border-bottom-color:var(--line) !important}
.sum-line{color:var(--muted) !important}
.sum-line b{color:var(--txt) !important}
.sum-tot{border-top-color:var(--line) !important}
.sum-tot b{color:var(--txt) !important}
.sum-tot b.mo{color:var(--violet-soft) !important}
.sum-empty{color:var(--muted-2) !important}

/* tables */
.cmp{background:var(--surface) !important;border-color:var(--line) !important}
.cmp th{background:var(--surface-2) !important;color:var(--txt) !important;border-bottom-color:var(--line) !important}
.cmp th:first-child{color:var(--muted) !important}
.cmp td{color:var(--muted) !important;border-bottom-color:var(--line) !important}
.cmp td:first-child{color:var(--txt) !important}
.cmp .yes{color:#4ADE80 !important}
.cmp .no{color:var(--muted-2) !important}
.cmp .us{background:rgba(124,77,255,.12) !important}
strong{color:var(--txt)}

/* faq */
.faq{border-top-color:var(--line) !important}
.faq-item{border-bottom-color:var(--line) !important}
.faq-q{color:var(--txt) !important}
.faq-q:hover{color:var(--violet-soft) !important}
.faq-q .pm{border-color:var(--line-2) !important;color:var(--muted) !important}
.faq-item.open .pm{background:var(--violet) !important;border-color:var(--violet) !important;color:#fff !important}
.faq-a p{color:var(--muted) !important}

/* forms */
input,textarea,select{
  background:var(--surface-2) !important;border-color:var(--line-2) !important;color:var(--txt) !important;
}
input::placeholder,textarea::placeholder{color:var(--muted-2) !important}
input:focus,textarea:focus,select:focus{border-color:var(--violet-bright) !important}
select option{background:var(--surface-2);color:var(--txt)}

/* tiles (category images) */
.tile{background:var(--surface-2) !important;border-color:var(--line) !important}
.tile:hover{border-color:rgba(124,77,255,.5) !important}

/* footer */
footer{background:var(--surface) !important;border-top:1px solid var(--line) !important}
footer .f-bot{border-top-color:var(--line) !important}

/* floating + sticky */
.wa{background:#25D366 !important}
.mbar{background:rgba(0,6,24,.97) !important;border-top-color:var(--line) !important}
.mbar .m1{background:var(--violet) !important}
.mbar .m2{background:rgba(255,255,255,.06) !important;color:var(--txt) !important;border-color:var(--line-2) !important}
.botbtn{background:linear-gradient(150deg,var(--violet-bright),var(--violet)) !important}
.botpanel{background:var(--surface) !important;border-color:var(--line-2) !important}
.bot-head{background:var(--surface-2) !important;border-bottom-color:var(--line) !important}
.bot-head b{color:var(--txt) !important}
.botlog .bmsg.bot{background:var(--surface-2) !important;border-color:var(--line) !important;color:var(--txt-2) !important}
.bmsg.me{background:var(--violet) !important;color:#fff !important}
.botform{background:var(--surface-2) !important;border-top-color:var(--line) !important}
.botform button{background:var(--violet-bright) !important}
.bot-foot{background:var(--surface-2) !important}
.bot-foot a{background:var(--surface-3) !important;border-color:var(--line-2) !important;color:var(--muted) !important}
.bchips button{background:rgba(124,77,255,.16) !important;border-color:rgba(124,77,255,.35) !important;color:var(--violet-soft) !important}

/* misc */
.dcard{background:linear-gradient(165deg,#120C2E,#05091C) !important}
:focus-visible{outline:2px solid var(--violet-bright) !important}
::selection{background:var(--violet);color:#fff}

/* fixes for dark theme */
.stats{background:var(--line) !important;border-color:var(--line) !important}
.stat{background:var(--surface) !important}
.stat b,.stat b em{color:var(--violet-soft) !important;
  background:none !important;-webkit-text-fill-color:var(--violet-soft) !important}
.stat span{color:var(--muted) !important}

/* hero eyebrow must be plain text, not a pill */
.hero .eyebrow{background:none !important;border:0 !important;padding:0 !important;
  color:var(--muted-2) !important;letter-spacing:.2em !important}

/* any remaining light surfaces */
.sum,.cmp,.opt,.card,.pcard,.jcard,.sol,.pcard-l,.wcard,.pipe-step,.trip,.strip,.offer{
  color-scheme:dark;
}
.chip{background:rgba(255,255,255,.04) !important;border-color:var(--line-2) !important;color:var(--muted) !important}
.chip svg{stroke:var(--violet-soft) !important}
.track{background:var(--surface) !important;border-color:var(--line-2) !important}
.track h3{color:var(--txt) !important}
.track-top .k{color:var(--violet-soft) !important}
.track-day b{color:var(--violet-soft) !important}
.track-day{border-left-color:var(--line) !important}
.tstep{border-bottom-color:var(--line) !important}
.tstep .body b{color:var(--txt) !important}
.tstep .body span{color:var(--muted-2) !important}
.tstep .when{color:var(--muted-2) !important}
.tstep .when.now{color:var(--violet-soft) !important}
.tstep .dot{background:var(--violet) !important}
.tstep .dot.wait{background:rgba(124,77,255,.18) !important;color:var(--violet-soft) !important;
  border-color:rgba(124,77,255,.35) !important}
.feature-img{box-shadow:0 30px 70px -34px rgba(84,36,228,.5) !important}
.accent-block{background:var(--surface-2) !important;border-color:var(--line) !important}
.legal p,.legal li{color:var(--muted) !important}
.legal h2,.legal h3{color:var(--txt) !important}
.updated{color:var(--muted-2) !important}
.sum-tot b,.pcard .amt,.trip .amt{color:var(--txt) !important}

/* tile captions: restore the dark scrim on the night theme */
.tile-body{
  background:linear-gradient(to top,
    rgba(0,6,24,.97) 0%,
    rgba(0,6,24,.93) 34%,
    rgba(0,6,24,.58) 60%,
    rgba(0,6,24,.10) 82%,
    transparent 100%) !important;
}
.tile-body h4{color:#fff !important;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.tile-body p{color:rgba(255,255,255,.86) !important;text-shadow:0 1px 6px rgba(0,0,0,.8)}

/* v18 fixes */
#work,#faq,#contact,#services,#packages,#addons,#about,#process,#journeys{
  background:transparent !important;
}
#work.sec-alt,#faq.sec-alt,#contact.sec-alt{background:var(--surface) !important}

/* stack / tier cards: kill the light tints from the earlier theme */
.pcard[style*="--tint"],.pcard.hot[style*="--tint"]{
  background:var(--surface) !important;
}
.pcard.hot[style*="--tint"]{
  background:linear-gradient(180deg,rgba(84,36,228,.20),var(--surface) 60%) !important;
}
.pcard[style*="--tint"] h4,.pcard[style*="--tint"] .amt{color:var(--txt) !important}
.pcard[style*="--tint"] > p,.pcard[style*="--tint"] ul{color:var(--muted) !important}

/* faq block */
.faq{background:transparent !important}
.faq-q{color:var(--txt) !important}
.faq-a p{color:var(--muted) !important}

/* ==========================================================================
   v19 — palette retuned to the approved deck
   #0B0B0F base · #7C3AED purple · #00D9FF cyan · #FFD60A yellow
   #00FF88 green · #FF2D95 pink
   ========================================================================== */
:root{
  --bg:#0B0B0F;
  --surface:#131319;
  --surface-2:#1A1A23;
  --surface-3:#22222D;

  --violet:#7C3AED;
  --violet-bright:#9B6BFF;
  --violet-soft:#C4B5FD;
  --cyan:#00D9FF;
  --yellow:#FFD60A;
  --green:#00FF88;
  --pink:#FF2D95;

  --txt:#F4F5FA;
  --txt-2:#C3C6D4;
  --muted:#8B8FA6;
  --muted-2:#6A6E85;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.15);

  --ink:#F4F5FA; --ink-2:#C3C6D4; --bone:#F4F5FA;
  --ash:#9CA0B8; --ash-2:#6A6E85;
  --em:#7C3AED; --em-bright:#9B6BFF; --em-deep:#C4B5FD; --em-dark:#DDD6FE;
  --green-deep:#C4B5FD; --green-dark:#DDD6FE;
  --ember:#C4B5FD; --ember-soft:#9B6BFF; --ember-dim:#DDD6FE;
  --ember-rgb:124,58,237;
}
html,body{background:var(--bg) !important}

/* headline gradient: purple → cyan → pink */
.hero-title .grad,[data-theme] .hero-title .grad{
  background:linear-gradient(96deg,#C4B5FD 0%,#9B6BFF 22%,#00D9FF 48%,#FF2D95 72%,#9B6BFF 100%) !important;
  background-size:240% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  color:transparent !important;-webkit-text-fill-color:transparent;
}
.btn-primary{background:var(--violet) !important;
  box-shadow:0 10px 32px -12px rgba(124,58,237,.95) !important}
.btn-primary:hover{background:var(--violet-bright) !important;
  box-shadow:0 16px 44px -14px rgba(155,107,255,1) !important}

/* multi-colour accent system from the deck's numbered circles */
.acc-1{color:var(--violet) !important}
.acc-2{color:var(--cyan) !important}
.acc-3{color:var(--yellow) !important}
.acc-4{color:var(--green) !important}
.acc-5{color:var(--pink) !important}

.sec-head .num.c1{color:var(--violet-soft) !important}
.sec-head .num.c2{color:var(--cyan) !important}
.sec-head .num.c3{color:var(--yellow) !important}
.sec-head .num.c4{color:var(--green) !important}
.sec-head .num.c5{color:var(--pink) !important}

/* solutions icons cycle through the accent colours */
.sols .sol:nth-child(1) svg{stroke:var(--violet-bright) !important}
.sols .sol:nth-child(2) svg{stroke:var(--cyan) !important}
.sols .sol:nth-child(3) svg{stroke:var(--yellow) !important}
.sols .sol:nth-child(4) svg{stroke:var(--green) !important}
.sols .sol:nth-child(5) svg{stroke:var(--pink) !important}
.sols .sol:nth-child(6) svg{stroke:var(--violet-soft) !important}

/* neon glow ring on hover */
.card:hover,.jcard:hover,.sol:hover,.pcard:hover{
  box-shadow:0 0 0 1px rgba(124,58,237,.55), 0 22px 60px -28px rgba(124,58,237,.9) !important;
}

/* packages: three named tiers */
.pkg3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pkg{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:20px;padding:30px 26px;display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;overflow:hidden;
}
.pkg::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(124,58,237,.16),transparent 62%);
  opacity:0;transition:opacity .4s;
}
.pkg:hover::before{opacity:1}
.pkg:hover{transform:translateY(-5px);border-color:rgba(124,58,237,.6)}
.pkg.hero-pkg{
  border-color:rgba(124,58,237,.65);
  background:linear-gradient(180deg,rgba(124,58,237,.22),var(--surface) 58%);
  box-shadow:0 0 0 1px rgba(124,58,237,.35), 0 30px 70px -34px rgba(124,58,237,.9);
}
.pkg .badge{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:var(--violet);color:#fff;font-family:'JetBrains Mono',monospace;
  font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 14px;border-radius:0 0 9px 9px;white-space:nowrap;
}
.pkg .pico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;
  background:rgba(124,58,237,.16);border:1px solid rgba(124,58,237,.3);
}
.pkg .pico svg{width:22px;height:22px;stroke:var(--violet-soft);fill:none;stroke-width:1.7}
.pkg.k2 .pico{background:rgba(0,217,255,.12);border-color:rgba(0,217,255,.28)}
.pkg.k2 .pico svg{stroke:var(--cyan)}
.pkg.k3 .pico{background:rgba(255,214,10,.12);border-color:rgba(255,214,10,.28)}
.pkg.k3 .pico svg{stroke:var(--yellow)}
.pkg h3{font-size:1.32rem;margin-bottom:4px;letter-spacing:-.025em}
.pkg .psub{font-size:.72rem;color:var(--violet-soft);font-weight:500;margin-bottom:14px}
.pkg .pdesc{font-size:.82rem;color:var(--muted);line-height:1.55;margin:0 0 18px}
.pkg .price{font-family:'Space Grotesk';font-size:2.05rem;letter-spacing:-.035em;line-height:1;margin-bottom:3px}
.pkg .price small{font-size:.7rem;color:var(--muted-2);font-weight:400;letter-spacing:0}
.pkg .psave{font-size:.7rem;color:var(--green);margin-bottom:18px;display:block}
.pkg ul{list-style:none;padding:0;margin:0 0 22px;font-size:.82rem;color:var(--txt-2);flex:1}
.pkg li{padding:6px 0 6px 22px;position:relative;line-height:1.5}
.pkg li::before{
  content:'';position:absolute;left:0;top:12px;width:11px;height:11px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300FF88' stroke-width='3.2'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}
@media(max-width:900px){.pkg3{grid-template-columns:1fr}}

/* ==========================================================================
   v20 — locked to the Theme Design Specification
   #090A0F canvas · #8B5CF6 violet · #00F2FE cyan · ember for "Forge"
   ========================================================================== */
:root{
  --bg-main:#090A0F;
  --surface-card:rgba(18,20,29,.85);
  --primary-purple:#8B5CF6;
  --primary-hover:#7C3AED;
  --spark-cyan:#00F2FE;
  --text-main:#F8FAFC;
  --text-muted:#94A3B8;
  --border-glass:rgba(255,255,255,.09);
  --border-focus:rgba(139,92,246,.40);

  /* ember — the "Forge" heat */
  --ember-1:#FF8A3D;
  --ember-2:#FF5C1A;
  --ember-3:#FFB86B;

  /* remap */
  --bg:#090A0F; --surface:rgba(18,20,29,.85); --surface-2:#12141D; --surface-3:#191C27;
  --violet:#8B5CF6; --violet-bright:#A78BFA; --violet-soft:#C4B5FD;
  --txt:#F8FAFC; --txt-2:#C8D0DE; --muted:#94A3B8; --muted-2:#6E7A8F;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --ink:#F8FAFC; --ink-2:#C8D0DE; --bone:#F8FAFC;
  --ash:#94A3B8; --ash-2:#6E7A8F;
  --em:#8B5CF6; --em-bright:#A78BFA; --em-deep:#C4B5FD; --em-dark:#DDD6FE;
  --green-deep:#C4B5FD; --green-dark:#DDD6FE;
  --ember:#FF8A3D; --ember-soft:#FF5C1A; --ember-dim:#FFB86B;
  --ember-rgb:255,138,61;
  --cyan:#00F2FE;
}
html,body{background:var(--bg-main) !important}
body{color:var(--text-main)}

/* ---- the Forge headline: ember, not purple ---- */
.hero-title .grad,[data-theme] .hero-title .grad{
  background:linear-gradient(96deg,#FFB86B 0%,#FF8A3D 26%,#FF5C1A 52%,#FF8A3D 76%,#FFB86B 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  color:transparent !important;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 26px rgba(255,92,26,.35));
}

/* ---- primary CTA: violet with an ember underglow ---- */
.btn-primary{
  background:linear-gradient(135deg,#8B5CF6,#7C3AED) !important;
  box-shadow:0 10px 30px -12px rgba(139,92,246,.95),
             0 0 0 1px rgba(255,138,61,.12),
             0 14px 34px -18px rgba(255,92,26,.55) !important;
}
.btn-primary:hover{
  background:linear-gradient(135deg,#A78BFA,#8B5CF6) !important;
  box-shadow:0 16px 40px -14px rgba(167,139,250,1),
             0 0 0 1px rgba(255,138,61,.3),
             0 18px 40px -16px rgba(255,92,26,.7) !important;
}

/* ---- floating pills get the ember spark ---- */
.float-pill{
  background:rgba(18,20,29,.92) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 16px 34px -18px rgba(0,0,0,.9),
             0 0 0 1px rgba(255,138,61,.10),
             inset 0 1px 0 rgba(255,255,255,.06) !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.float-pill svg{stroke:#FF8A3D !important}
.float-pill b{color:var(--text-main) !important}
.float-pill span{color:var(--text-muted) !important}

/* ---- glass bento (blur only where it pays for itself) ---- */
.pkg,.jcard,.sol,.dcard{
  background:var(--surface-card) !important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border-glass) !important;
  border-radius:14px;
}
.pkg:hover,.jcard:hover,.sol:hover{
  border-color:var(--border-focus) !important;
  box-shadow:0 0 0 1px rgba(139,92,246,.35), 0 24px 60px -30px rgba(139,92,246,.9) !important;
}

/* ---- ember accents sprinkled through ---- */
.status{background:rgba(139,92,246,.14) !important;border:1px solid rgba(139,92,246,.30) !important;color:var(--violet-soft) !important}
.status i{background:var(--primary-purple) !important;box-shadow:0 0 0 3px rgba(139,92,246,.22) !important}
.sec-head .num.c1{color:var(--violet-soft) !important}
.sec-head .num.c2{color:var(--spark-cyan) !important}
.sec-head .num.c3{color:#FF8A3D !important}
.pkg .psub{color:var(--violet-soft) !important}
.pkg .psave{color:#FF8A3D !important}
.pkg li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B5CF6' stroke-width='3.2'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
}
.pkg.hero-pkg{
  border-color:rgba(139,92,246,.55) !important;
  background:linear-gradient(180deg,rgba(139,92,246,.18),rgba(18,20,29,.92) 60%) !important;
}
.pkg .badge{background:linear-gradient(135deg,#8B5CF6,#7C3AED) !important}

/* ember on the ticket + strip */
.trip .amt,.strip .ref b{color:#FF8A3D !important}
.trip{border-color:rgba(255,138,61,.22) !important}

/* mobile bar: spec wording */
.mbar .m2{color:var(--violet-soft) !important;border-color:rgba(139,92,246,.35) !important}

/* nav */
header.nav{background:rgba(9,10,15,.82) !important}
header.nav.scrolled{background:rgba(9,10,15,.96) !important}
.brand-mark{background:rgba(255,255,255,.05) !important}

/* hero trust icons */
.trust svg{stroke:#FF8A3D !important}
.trust b{color:var(--text-main) !important}
.trust span{color:var(--muted-2) !important}

/* ---------- milestone payment block ---------- */
.pill-ember{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  background:rgba(255,138,61,.14);border:1px solid rgba(255,138,61,.35);
  color:#FFB86B;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
}
.paybox{
  display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start;
  background:var(--surface-card);border:1px solid var(--border-glass);
  border-radius:20px;padding:32px;max-width:860px;margin:0 auto;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.payqr{
  background:#fff;border-radius:16px;padding:16px;position:relative;
  box-shadow:0 20px 50px -26px rgba(0,0,0,.9);
}
.payqr img{width:100%;display:block;border-radius:8px}
.payqr .paylogo{
  position:absolute;bottom:10px;right:10px;background:#0B0B0F;color:#fff;
  font-family:'JetBrains Mono';font-size:.55rem;letter-spacing:.12em;
  padding:3px 8px;border-radius:5px;
}
.payinfo h3{color:var(--text-main) !important}
.upiline{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  border-radius:11px;padding:12px 16px;margin-bottom:18px;
}
.upiline span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.upiline b{font-family:'JetBrains Mono';font-size:.94rem;color:var(--text-main);flex:1;word-break:break-all}
.upiline button{
  font-size:.68rem;padding:6px 13px;border-radius:7px;flex:none;
  background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.4);
  color:var(--violet-soft);font-weight:600;transition:.2s;
}
.upiline button:hover{background:var(--primary-purple);color:#fff;border-color:var(--primary-purple)}
.paysteps{margin:0;padding-left:20px;font-size:.84rem;color:var(--muted);line-height:1.65}
.paysteps li{margin-bottom:7px}
.paysteps strong{color:var(--text-main)}
.paynote{
  font-size:.72rem;color:var(--muted-2);line-height:1.55;margin:14px 0 0;
  padding-top:14px;border-top:1px solid var(--line);
}
@media(max-width:760px){
  .paybox{grid-template-columns:1fr;gap:24px;padding:22px}
  .payqr{max-width:260px;margin:0 auto}
}

/* ---------- exit-intent lead capture ---------- */
.xmodal{
  position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  background:rgba(4,5,10,.82);backdrop-filter:blur(6px);padding:20px;
}
.xmodal.on{display:flex}
.xcard{
  position:relative;max-width:440px;width:100%;border-radius:20px;padding:34px 30px;
  background:linear-gradient(165deg,#171A26,#0D0F16);
  border:1px solid rgba(139,92,246,.35);
  box-shadow:0 40px 90px -40px rgba(139,92,246,.7);
  text-align:center;
}
.xcard .xclose{
  position:absolute;top:12px;right:14px;width:30px;height:30px;border-radius:8px;
  color:var(--muted);font-size:1.1rem;line-height:1;background:rgba(255,255,255,.05);
  border:1px solid var(--line);
}
.xcard .xclose:hover{color:#fff;background:rgba(255,255,255,.1)}
.xcard h3{font-size:1.35rem;margin:14px 0 8px;letter-spacing:-.025em}
.xcard p{color:var(--muted);font-size:.86rem;margin:0 0 20px;line-height:1.6}
.xcard .btn{width:100%}
.xcard .later{display:block;margin-top:12px;font-size:.74rem;color:var(--muted-2);cursor:pointer}
.xcard .later:hover{color:var(--muted)}

/* ---------- Meta Verified badge ---------- */
.vtick{
  display:inline-block;width:15px;height:15px;flex:none;vertical-align:-2px;
  margin-left:5px;
}
.vtick path{fill:#1D9BF0}
.vtick .t{fill:#fff}
.wa-verified{
  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;
  background:rgba(29,155,240,.12);border:1px solid rgba(29,155,240,.32);
  color:#6EC1F5;font-size:.64rem;font-weight:600;letter-spacing:.02em;
}
.wa-verified .vtick{width:13px;height:13px;margin-left:0}
.f-verified{display:flex;align-items:center;gap:7px;margin-top:14px;
  font-size:.72rem;color:rgba(255,255,255,.6)}
.f-verified .vtick{width:14px;height:14px;margin-left:0}

/* ---------- case study ---------- */
.case{
  display:grid;grid-template-columns:1.15fr 1fr;gap:0;
  background:var(--surface-card);border:1px solid var(--border-glass);
  border-radius:20px;overflow:hidden;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.case-shot{position:relative;background:#05070D;overflow:hidden;min-height:340px}
.case-shot img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.case-open{
  position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:7px;
  padding:9px 15px;border-radius:999px;background:rgba(9,10,15,.88);
  border:1px solid rgba(255,255,255,.16);color:#F8FAFC;font-size:.72rem;font-weight:600;
  backdrop-filter:blur(10px);transition:.25s;
}
.case-open:hover{background:var(--primary-purple);border-color:var(--primary-purple)}
.case-open svg{width:13px;height:13px}
.case-body{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.case-body h3{font-size:1.55rem;letter-spacing:-.03em;margin:14px 0 4px}
.case-sub{color:var(--violet-soft);font-size:.78rem;margin:0 0 14px}
.case-body > p{color:var(--muted);font-size:.88rem;line-height:1.62;margin:0 0 20px}
.case-stats{display:flex;gap:30px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}
.case-stats b{display:block;font-family:'Space Grotesk';font-size:1.5rem;letter-spacing:-.03em;color:#FF8A3D;line-height:1}
.case-stats span{display:block;font-size:.64rem;color:var(--muted-2);margin-top:5px}
.case-actions{display:flex;gap:10px;flex-wrap:wrap}
.case-actions .btn{flex:1;min-width:140px;justify-content:center}
@media(max-width:900px){
  .case{grid-template-columns:1fr}
  .case-shot{min-height:220px;aspect-ratio:16/10}
  .case-body{padding:26px 22px}
}

/* ---------- competitor comparison ---------- */
.cmpwrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border-glass)}
.cmp2{width:100%;min-width:680px;border-collapse:collapse;font-size:.84rem;background:var(--surface-card)}
.cmp2 th{
  padding:16px 18px;text-align:left;font-family:'Space Grotesk';font-size:.78rem;
  border-bottom:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);
}
.cmp2 th.us{background:rgba(139,92,246,.16);color:var(--violet-soft);position:relative}
.cmp2 td{padding:14px 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.cmp2 td:first-child{color:var(--text-main);font-weight:500}
.cmp2 tr:last-child td{border-bottom:0}
.cmp2 .us{background:rgba(139,92,246,.07);color:var(--text-main)}
.cmp2 .good{color:#4ADE80;font-weight:500}
.cmp2 .bad{color:#F87171}
.cmp2 .mid{color:#FBBF24}
.cmp2 .price{font-family:'JetBrains Mono';font-size:.82rem}

/* alert + value row */
.alertbox{
  display:flex;gap:18px;align-items:flex-start;margin-top:26px;
  background:rgba(255,138,61,.07);border:1px solid rgba(255,138,61,.28);
  border-radius:16px;padding:24px 26px;
}
.alertico{
  width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(255,138,61,.16);border:1px solid rgba(255,138,61,.32);color:#FF8A3D;
}
.alertico svg{width:20px;height:20px}
.alertbox h3{font-size:1.05rem;margin-bottom:8px;letter-spacing:-.02em}
.alertbox p{color:var(--muted);font-size:.86rem;line-height:1.62;margin:0}
.alertbox strong{color:var(--text-main);font-weight:600}
.valuethree{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.valuethree div{
  background:var(--surface-card);border:1px solid var(--border-glass);
  border-radius:14px;padding:22px 20px;text-align:center;
  backdrop-filter:blur(10px);
}
.valuethree b{display:block;font-family:'Space Grotesk';font-size:1.6rem;letter-spacing:-.03em;color:#FF8A3D;line-height:1;margin-bottom:8px}
.valuethree span{display:block;font-size:.74rem;color:var(--muted);line-height:1.5}
@media(max-width:760px){.valuethree{grid-template-columns:1fr}.alertbox{flex-direction:column;gap:12px}}

/* ==========================================================================
   v22 — final polish: glass sheen, animated borders, depth
   ========================================================================== */

/* glass sheen sweep on hover */
.card,.pkg,.jcard,.sol,.pcard-l,.case,.paybox{position:relative;overflow:hidden}
.card::after,.pkg::after,.jcard::after,.sol::after,.pcard-l::after{
  content:'';position:absolute;top:0;left:-120%;width:70%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.055),transparent);
  transform:skewX(-18deg);pointer-events:none;
  transition:left .75s cubic-bezier(.16,1,.3,1);
}
.card:hover::after,.pkg:hover::after,.jcard:hover::after,.sol:hover::after,.pcard-l:hover::after{
  left:130%;
}

/* animated conic border on the featured package */
.pkg.hero-pkg::before{
  content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:conic-gradient(from var(--ang,0deg),#8B5CF6,#FF8A3D,#00F2FE,#8B5CF6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.75;pointer-events:none;
  animation:spinang 7s linear infinite;
}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spinang{to{--ang:360deg}}

/* floating pills breathe */
.float-pill{animation:pillFloat 6s ease-in-out infinite}
.float-pill.p2{animation-delay:-1.5s}
.float-pill.p3{animation-delay:-3s}
.float-pill.p4{animation-delay:-4.5s}
@keyframes pillFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

/* status pill pulse */
.status i{animation:pulseDot 2.4s ease-in-out infinite}
@keyframes pulseDot{
  0%,100%{box-shadow:0 0 0 3px rgba(139,92,246,.22)}
  50%{box-shadow:0 0 0 6px rgba(139,92,246,.08)}
}

/* stat numbers get a soft ember glow */
.stat b{text-shadow:0 0 22px rgba(255,138,61,.28)}

/* section heads slide in slightly */
.sec-head .num{letter-spacing:.2em}

/* smoother link underline */
a{transition:color .2s,opacity .2s}

/* deeper card shadows for glass depth */
.pkg,.jcard,.sol,.case,.paybox{
  box-shadow:0 24px 60px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
}

@media(prefers-reduced-motion:reduce){
  .float-pill,.status i,.pkg.hero-pkg::before{animation:none !important}
  .card::after,.pkg::after,.jcard::after,.sol::after,.pcard-l::after{display:none}
}
.case-shot img{object-position:center top}
@media(max-width:900px){.case-shot img{object-position:center 20%}}

/* ==========================================================================
   v24 — fixes + polish
   ========================================================================== */

/* 1. MOBILE MENU: fully opaque, no page bleed-through */
.mnav{
  background:#0B0C12 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.95) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.mnav a{color:#C8D0DE !important;font-size:1.02rem !important;padding:15px 0 !important}
.mnav a:hover,.mnav a.on{color:#C4B5FD !important}
.mnav .btn{color:#fff !important}

/* 2. BOT: visible on mobile too, sitting above the sticky bar */
@media(max-width:680px){
  .botwrap{display:block !important;right:14px !important;bottom:86px !important}
  .botbtn{width:52px !important;height:52px !important;border-radius:16px !important}
  .botbtn svg{width:24px !important;height:24px !important}
  .botpanel{
    position:fixed !important;left:12px !important;right:12px !important;
    width:auto !important;bottom:150px !important;top:auto !important;
    max-height:66vh !important;border-radius:18px !important;
  }
  .botlog{height:auto !important;max-height:44vh !important}
}

/* 3. STICKY BAR: bigger, clearer */
.mbar{gap:10px !important;padding:11px 12px calc(11px + env(safe-area-inset-bottom)) !important}
.mbar a{padding:16px 12px !important;font-size:.94rem !important;font-weight:700 !important;gap:9px !important}
.mbar svg{width:20px !important;height:20px !important}
@media(max-width:680px){body{padding-bottom:92px !important}}

/* 4. BIGGER SECTION HEADINGS */
h2{font-size:clamp(2.1rem,4.4vw,3.5rem) !important;line-height:1.04 !important;letter-spacing:-.038em !important}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.5rem) !important}
h3{font-size:clamp(1.22rem,2vw,1.6rem) !important}
.sec-head p{font-size:1.04rem !important}

/* 5. BREATHING COLOUR on headings */
.sec-head h2,.hero-title{
  background:linear-gradient(100deg,#F8FAFC 0%,#C4B5FD 28%,#FFB86B 52%,#C4B5FD 74%,#F8FAFC 100%);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:breatheCol 14s ease-in-out infinite;
}
.hero-title .grad,.hero-title .w{
  -webkit-text-fill-color:currentColor;
}
.hero-title .grad{
  background:linear-gradient(96deg,#FFB86B 0%,#FF8A3D 26%,#FF5C1A 52%,#FF8A3D 76%,#FFB86B 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
@keyframes breatheCol{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* 6. MORE GLASS */
.trust div,.upiline,.cmpwrap,.valuethree div,.alertbox,.strip,.trip,.opt,.sum{
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.cmp2 th{backdrop-filter:blur(8px)}
.card,.pcard-l{background:rgba(19,19,25,.72) !important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.tile-body{backdrop-filter:blur(2px)}

@media(prefers-reduced-motion:reduce){
  .sec-head h2,.hero-title{animation:none !important}
}

/* ---------- Astra panel: bigger, modern ---------- */
.botpanel{width:392px !important;border-radius:20px !important;border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(15,16,22,.96) !important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.95), 0 0 0 1px rgba(139,92,246,.18) !important}
.bot-head{padding:16px 18px !important;background:rgba(255,255,255,.03) !important}
.bot-head .av{width:38px !important;height:38px !important;border-radius:12px !important;
  background:linear-gradient(150deg,#8B5CF6,#5B21B6) !important;
  box-shadow:0 0 0 3px rgba(139,92,246,.18)}
.bot-head .av svg{width:19px !important;height:19px !important}
.bot-head b{font-size:.94rem !important;color:#F8FAFC !important}
.bot-head small{color:#4ADE80 !important;font-size:.68rem !important}
.botlog{height:340px !important;padding:18px !important;gap:12px !important;
  background:radial-gradient(circle at 50% 0%,rgba(139,92,246,.06),transparent 60%)}
.bmsg{font-size:.875rem !important;line-height:1.62 !important;padding:12px 15px !important;border-radius:14px !important}
.bmsg.bot{background:rgba(255,255,255,.055) !important;border:1px solid rgba(255,255,255,.09) !important;
  color:#DDE2EF !important;border-bottom-left-radius:5px}
.bmsg.me{background:linear-gradient(135deg,#8B5CF6,#6D28D9) !important;color:#fff !important;
  border-bottom-right-radius:5px}
.bmsg b{color:#fff;font-weight:600}
.bchips button{font-size:.76rem !important;padding:8px 14px !important;border-radius:999px !important;
  background:rgba(139,92,246,.14) !important;border:1px solid rgba(139,92,246,.34) !important;
  color:#C4B5FD !important;font-weight:600}
.bchips button:hover{background:#8B5CF6 !important;color:#fff !important;border-color:#8B5CF6 !important}
.botform{padding:14px !important;background:rgba(255,255,255,.03) !important;border-top:1px solid rgba(255,255,255,.08) !important}
.botform input{padding:13px 16px !important;font-size:.88rem !important;border-radius:12px !important;
  background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.12) !important;color:#F8FAFC !important}
.botform input:focus{border-color:#8B5CF6 !important;box-shadow:0 0 0 3px rgba(139,92,246,.15) !important}
.botform button{width:44px !important;height:44px !important;border-radius:12px !important;
  background:linear-gradient(135deg,#8B5CF6,#6D28D9) !important}
.bot-foot{background:rgba(255,255,255,.03) !important;padding:0 14px 14px !important}
.bot-foot a{background:rgba(255,255,255,.05) !important;border-color:rgba(255,255,255,.12) !important;color:#94A3B8 !important}
.botbtn{width:58px !important;height:58px !important;border-radius:18px !important;
  background:linear-gradient(150deg,#8B5CF6,#5B21B6) !important;
  box-shadow:0 16px 40px -14px rgba(139,92,246,.95), 0 0 0 1px rgba(255,255,255,.1) !important}
.botbtn svg{width:26px !important;height:26px !important}

/* ---------- professional footer ---------- */
footer{background:#07080D !important;border-top:1px solid rgba(255,255,255,.08) !important;padding:64px 0 0 !important}
.f-grid{grid-template-columns:1.6fr 1fr 1fr 1fr !important;gap:44px !important;margin-bottom:48px !important}
.f-brand p{font-size:.86rem !important;line-height:1.7 !important;color:#94A3B8 !important;max-width:300px !important}
.f-col h5{font-size:.6rem !important;letter-spacing:.2em !important;color:#6E7A8F !important;
  margin-bottom:16px !important;padding-bottom:10px !important;border-bottom:1px solid rgba(255,255,255,.07)}
.f-col a{font-size:.86rem !important;padding:6px 0 !important;color:#B9C0DE !important}
.f-col a:hover{color:#C4B5FD !important}
.f-verified{margin-top:16px !important;font-size:.72rem !important;color:#94A3B8 !important}
.f-bot{
  border-top:1px solid rgba(255,255,255,.08) !important;padding:22px 0 28px !important;
  display:flex !important;justify-content:space-between !important;align-items:center !important;
  gap:18px !important;flex-wrap:wrap !important;font-size:.76rem !important;color:#6E7A8F !important;
}
.f-bot a{color:#94A3B8 !important}
.f-bot a:hover{color:#C4B5FD !important}
@media(max-width:900px){
  .f-grid{grid-template-columns:1fr 1fr !important;gap:32px 22px !important}
  .f-brand{grid-column:1/-1 !important}
}
@media(max-width:420px){.f-grid{grid-template-columns:1fr !important}}

/* ==========================================================================
   v25 — 120fps pass: strip jitter, keep the look
   ========================================================================== */

/* The breathing gradient repaints the whole heading every frame.
   Move it to a pseudo-element that animates with transform instead. */
.sec-head h2,.hero-title{
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
  color:var(--text-main) !important;
  animation:none !important;
}
.sec-head h2{position:relative;display:inline-block}
.sec-head h2::after{
  content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#8B5CF6,#FF8A3D,#00F2FE,transparent);
  background-size:200% 100%;
  animation:underlineFlow 9s linear infinite;
  opacity:.55;
}
@keyframes underlineFlow{from{background-position:0% 0}to{background-position:200% 0}}

/* Cap backdrop-filter to a handful of elements — this is what caused jitter */
.card,.pcard-l,.opt,.sum,.cmp2 th,.trust div,.upiline,.valuethree div,.alertbox,.strip,.trip,.tile-body{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.card,.pcard-l{background:rgba(19,19,25,.94) !important}
/* keep glass only where it reads: hero pills, packages, case, payment, bot */
.float-pill,.pkg,.jcard,.sol,.case,.paybox,.botpanel{
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* GPU hints only on things that actually move */
.rv{will-change:auto}
.card,.pkg,.jcard,.sol,.pcard-l{will-change:auto}
.case-shot img,.tile img,.wcard img{transform:translateZ(0)}

/* smoother scroll */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* content-visibility keeps offscreen sections from costing frames */
.sec{content-visibility:auto;contain-intrinsic-size:auto 900px}
.hero{content-visibility:visible}

/* canvas background layer */
#fx3d{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  opacity:.55;display:block;
}
main,footer,header.nav{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){#fx3d{display:none}}

/* ---------- footer edge-to-edge ---------- */
.f-edge{width:100%;padding:64px 40px 0}
.f-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:48px;
  max-width:1560px;margin:0 auto;padding-bottom:44px}
.f-brand p{font-size:.87rem;line-height:1.7;color:#94A3B8;max-width:320px;margin:18px 0 0}
.f-note{display:block;font-size:.82rem;color:#94A3B8;padding:3px 0}
.f-legal{
  max-width:1560px;margin:0 auto;border-top:1px solid rgba(255,255,255,.08);
  padding:20px 0 30px;display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:.78rem;color:#6E7A8F;
}
.f-legal-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.f-legal-links a{color:#94A3B8;text-decoration:none;transition:color .2s}
.f-legal-links a:hover{color:#C4B5FD}
.f-legal-links span{color:#3A3F52}
.f-udyam{color:#6E7A8F}
@media(max-width:1100px){
  .f-edge{padding:52px 24px 0}
  .f-top{grid-template-columns:1fr 1fr;gap:34px 24px}
  .f-brand{grid-column:1/-1}
}
@media(max-width:560px){
  .f-top{grid-template-columns:1fr}
  .f-legal{flex-direction:column;align-items:flex-start;gap:10px}
}

/* final blur budget: only these carry glass */
.cmpwrap,.case-open,.cmp2 th,.valuethree div,.alertbox,.strip,.trip,.upiline,.trust div,.opt,.sum,.tile-body,.sol,.jcard{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
.float-pill,.pkg,.case,.paybox,.botpanel{
  backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;
}

/* ==========================================================================
   v26 — minimal edge-to-edge footer
   ========================================================================== */
footer{background:#07080D !important;border-top:1px solid rgba(255,255,255,.07) !important;padding:0 !important}
.f-edge{width:100%;padding:0 32px;max-width:none}
.f-top{
  display:grid;grid-template-columns:1.5fr .8fr .8fr 1fr;
  gap:56px;padding:52px 0 40px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.f-brand p{font-size:.84rem;line-height:1.65;color:#8A93A8;max-width:290px;margin:16px 0 0}
.f-verified{margin-top:14px;font-size:.7rem;color:#8A93A8;display:flex;align-items:center;gap:6px}
.socials{margin-top:16px;display:flex;gap:8px}
.socials a{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.1);
  display:grid;place-items:center;background:rgba(255,255,255,.03);transition:.2s}
.socials a:hover{border-color:#8B5CF6;background:rgba(139,92,246,.14)}
.socials svg{width:14px;height:14px;stroke:#8A93A8;fill:none;stroke-width:1.7}
.socials a:hover svg{stroke:#C4B5FD}

.f-col h5{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.2em;
  text-transform:uppercase;color:#5A6178;margin:0 0 14px}
.f-col a{display:block;font-size:.84rem;color:#A8B0C4;padding:5px 0;transition:color .18s}
.f-col a:hover{color:#C4B5FD}
.f-note{display:block;font-size:.8rem;color:#8A93A8;padding:4px 0;line-height:1.5}

.f-legal{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:18px 0 22px;font-size:.76rem;color:#5A6178;
}
.f-legal-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.f-legal-links a{color:#8A93A8;transition:color .18s}
.f-legal-links a:hover{color:#C4B5FD}
.f-legal-links span{color:#2E3345}
.f-udyam{color:#5A6178;font-family:'JetBrains Mono',monospace;font-size:.68rem}

/* mobile: compact 2-col, never a long single stack */
@media(max-width:980px){
  .f-edge{padding:0 20px}
  .f-top{grid-template-columns:1fr 1fr;gap:32px 28px;padding:40px 0 32px}
  .f-brand{grid-column:1/-1}
  .f-brand p{max-width:none}
}
@media(max-width:560px){
  .f-top{gap:26px 20px;padding:34px 0 26px}
  .f-col h5{font-size:.52rem;margin-bottom:10px}
  .f-col a{font-size:.78rem;padding:4px 0}
  .f-note{font-size:.74rem;padding:3px 0}
  .f-legal{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0 20px;font-size:.72rem}
  .f-udyam{font-size:.62rem}
}

/* ==========================================================================
   v27 — bug fixes + new package architecture
   ========================================================================== */

/* BUG 1: Startup Stack rendered white — a stale tint rule won the cascade */
.pkg[style*="--tint"],.pkg.k1,.pkg.k2,.pkg.k3{
  background:var(--surface-card) !important;
  border:1px solid var(--border-glass) !important;
}
.pkg.k1{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(18,20,29,.9)) !important}
.pkg.k2{background:linear-gradient(180deg,rgba(0,242,254,.07),rgba(18,20,29,.9)) !important}
.pkg.k3{background:linear-gradient(180deg,rgba(255,214,10,.06),rgba(18,20,29,.9)) !important}
.pkg h3,.pkg .price,.pkg .pdesc,.pkg li,.pkg .psub,.pkg .psave{color:inherit}
.pkg h3{color:#F8FAFC !important}
.pkg .price{color:#F8FAFC !important}
.pkg .price small{color:#94A3B8 !important}
.pkg .pdesc{color:#94A3B8 !important}
.pkg li{color:#C8D0DE !important}
.pkg .psub{color:#C4B5FD !important}
.pkg .psave{color:#FF8A3D !important}
.pkg .btn-ghost{background:rgba(255,255,255,.05) !important;border-color:rgba(255,255,255,.16) !important;color:#F8FAFC !important}

/* BUG 2: hairline between tile rows — subpixel gap on the grid */
.tiles{grid-auto-rows:1fr;gap:16px !important}
.tile{border:0 !important;outline:1px solid rgba(255,255,255,.07);outline-offset:-1px}
.tile img{display:block}
/* kill stray hairlines everywhere */
section+section{border-top:0 !important}
.sec{border:0 !important}

/* ---------- icons: glass, rectangular, small radius ---------- */
.wa,.botbtn,.socials a,.mbar a,.case-open{
  border-radius:10px !important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background .25s;
}
.wa{
  background:rgba(31,168,85,.92) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 12px 30px -14px rgba(31,168,85,.9), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
.wa:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 40px -16px rgba(31,168,85,1) !important}
.botbtn{
  background:linear-gradient(150deg,rgba(139,92,246,.95),rgba(91,33,182,.95)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 14px 34px -14px rgba(139,92,246,.95), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.botbtn:hover{transform:translateY(-2px) scale(1.03)}
.mbar a{border-radius:10px !important}
.socials a{border-radius:9px !important}

/* ---------- edge-to-edge text + RGB glow ---------- */
.wrap{max-width:none !important;padding:0 clamp(20px,4vw,64px) !important}
.sec-head{max-width:none !important}
.sec-head h2{max-width:22ch}
.sec-head p{max-width:70ch}

/* RGB glow on headings */
.sec-head h2,.pkg h3,.jcard h3,.case-body h3{
  background:linear-gradient(90deg,#F8FAFC,#C4B5FD,#FF8A3D,#00F2FE,#C4B5FD,#F8FAFC);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:rgbFlow 11s linear infinite;
}
@keyframes rgbFlow{from{background-position:0% 50%}to{background-position:300% 50%}}
.hero-title .grad{
  -webkit-text-fill-color:transparent !important;
  animation:rgbFlow 8s linear infinite, none !important;
}
@media(prefers-reduced-motion:reduce){
  .sec-head h2,.pkg h3,.jcard h3,.case-body h3{animation:none !important;
    -webkit-text-fill-color:#F8FAFC !important;color:#F8FAFC !important;background:none !important}
}

/* ---------- package architecture ---------- */
.arch{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.arch-col{background:var(--surface-card);border:1px solid var(--border-glass);border-radius:16px;padding:28px 26px}
.arch-col.elite{border-color:rgba(255,138,61,.3);background:linear-gradient(180deg,rgba(255,138,61,.07),rgba(18,20,29,.9))}
.arch-head{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.arch-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.16em;
  text-transform:uppercase;padding:4px 10px;border-radius:5px;background:rgba(139,92,246,.18);
  border:1px solid rgba(139,92,246,.35);color:#C4B5FD;margin-bottom:12px}
.arch-tag.ember{background:rgba(255,138,61,.14);border-color:rgba(255,138,61,.35);color:#FFB86B}
.arch-head h3{font-size:1.5rem;margin-bottom:6px;letter-spacing:-.03em}
.arch-head p{font-size:.82rem;color:#94A3B8;margin:0;line-height:1.55}
.arch-item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.arch-item b{font-size:.88rem;color:#F8FAFC;font-weight:500}
.arch-item span{font-size:.76rem;color:#94A3B8;text-align:right;font-family:'JetBrains Mono',monospace}
.arch-sub{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;
  color:#5A6178;margin:18px 0 4px}
.arch-note{margin-top:16px;padding:18px 22px;border-radius:12px;background:rgba(139,92,246,.07);
  border:1px solid rgba(139,92,246,.22);font-size:.82rem;color:#B9C0DE;line-height:1.6}
.arch-note b{color:#F8FAFC}
@media(max-width:820px){.arch{grid-template-columns:1fr}.arch-item{flex-direction:column;gap:3px}.arch-item span{text-align:left}}

/* ---------- pay-now modal ---------- */
.pmodal{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;
  background:rgba(4,5,10,.9);backdrop-filter:blur(8px);padding:20px;overflow-y:auto}
.pmodal.on{display:flex}
.pcard-m{position:relative;width:100%;max-width:640px;border-radius:20px;padding:32px 30px;
  background:linear-gradient(165deg,#161826,#0A0B12);border:1px solid rgba(139,92,246,.32);
  box-shadow:0 40px 100px -40px rgba(139,92,246,.8);max-height:92vh;overflow-y:auto}
.pclose{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:9px;font-size:1.15rem;
  color:#94A3B8;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.pclose:hover{color:#fff;background:rgba(255,255,255,.1)}
.pcard-m h3{font-size:1.45rem;margin:12px 0 6px;letter-spacing:-.03em}
.psub{font-size:.84rem;color:#94A3B8;margin:0 0 20px;line-height:1.55}
.pgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pgrid2 label{display:block;font-size:.72rem;color:#94A3B8;letter-spacing:.04em}
.pgrid2 label i{color:#FF8A3D;font-style:normal}
.pgrid2 label .opt{color:#5A6178;font-size:.64rem}
.pgrid2 input,.pgrid2 select{width:100%;margin-top:5px;padding:11px 13px;border-radius:9px;font-size:.86rem;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#F8FAFC;font-family:inherit;outline:none}
.pgrid2 input:focus,.pgrid2 select:focus{border-color:#8B5CF6;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.perr{color:#FF6B6B;font-size:.78rem;margin:10px 0 0;min-height:1em}
.pfoot{font-size:.72rem;color:#5A6178;margin:12px 0 0;line-height:1.5}
.pamount{font-family:'Space Grotesk';font-size:2rem;letter-spacing:-.03em;color:#FF8A3D;margin-bottom:18px}
.ppayrow{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}
.pqr{background:#fff;border-radius:12px;padding:10px}
.pqr img{width:100%;display:block;border-radius:6px}
@media(max-width:600px){
  .pgrid2{grid-template-columns:1fr}
  .ppayrow{grid-template-columns:1fr}
  .pqr{max-width:180px;margin:0 auto}
  .pcard-m{padding:26px 20px}
}

/* richer background glow layers */
.bg i:nth-child(1){background:radial-gradient(circle,rgba(139,92,246,.20) 0%,transparent 66%) !important}
.bg i:nth-child(2){background:radial-gradient(circle,rgba(0,242,254,.13) 0%,transparent 68%) !important}
.bg i:nth-child(3){background:radial-gradient(circle,rgba(255,138,61,.10) 0%,transparent 68%) !important}
.bg i:nth-child(4){background:radial-gradient(circle,rgba(168,85,247,.14) 0%,transparent 70%) !important}
.bg i{animation:orbDrift 22s ease-in-out infinite alternate}
.bg i:nth-child(2){animation-duration:28s;animation-delay:-6s}
.bg i:nth-child(3){animation-duration:34s;animation-delay:-12s}
.bg i:nth-child(4){animation-duration:26s;animation-delay:-18s}
@keyframes orbDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(40px,-30px,0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.bg i{animation:none !important}}

/* ==========================================================================
   v29 — five-tier ladder + global box-sizing (hairline fix)
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}

.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:start}
.tier{
  position:relative;display:flex;flex-direction:column;
  background:var(--surface-card);border:1px solid var(--border-glass);
  border-radius:16px;padding:24px 20px;height:100%;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;
}
.tier:hover{transform:translateY(-5px);border-color:rgba(139,92,246,.5);
  box-shadow:0 24px 60px -30px rgba(139,92,246,.8)}
.tier.hot{border-color:rgba(139,92,246,.55);
  background:linear-gradient(180deg,rgba(139,92,246,.16),rgba(18,20,29,.94) 55%);
  box-shadow:0 0 0 1px rgba(139,92,246,.3), 0 28px 70px -34px rgba(139,92,246,.9)}
.tier-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#8B5CF6,#6D28D9);color:#fff;
  font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.14em;
  text-transform:uppercase;padding:4px 12px;border-radius:0 0 8px 8px;white-space:nowrap}
.tier-top{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.07)}
.tier-n{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:#5A6178;
  border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:2px 6px;flex:none;margin-top:2px}
.tier h3{font-size:1.06rem !important;letter-spacing:-.025em;margin:0 0 4px;line-height:1.15}
.tier-for{display:block;font-size:.66rem;color:#8A93A8;line-height:1.4}
.tier-price{font-family:'Space Grotesk';font-size:1.5rem;letter-spacing:-.035em;
  color:#F8FAFC;line-height:1;margin-bottom:16px}
.tier-price small{font-size:.58rem;color:#5A6178;font-weight:400;letter-spacing:0;display:block;margin-top:4px}
.tier ul{list-style:none;padding:0;margin:0 0 14px;flex:1}
.tier li{position:relative;padding:5px 0 5px 17px;font-size:.76rem;color:#B9C0DE;line-height:1.45}
.tier li::before{content:'';position:absolute;left:0;top:10px;width:9px;height:9px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B5CF6' stroke-width='3.6'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
.tier li em{color:#C4B5FD;font-style:normal}
.tier-excl{font-size:.66rem;color:#FF8A3D;background:rgba(255,138,61,.09);
  border:1px solid rgba(255,138,61,.22);border-radius:7px;padding:7px 9px;margin-bottom:14px;line-height:1.4}
.tier .btn{font-size:.76rem;padding:11px 12px;justify-content:center}
.ladder-note{margin-top:18px;padding:18px 22px;border-radius:12px;
  background:rgba(139,92,246,.07);border:1px solid rgba(139,92,246,.22);
  font-size:.82rem;color:#B9C0DE;line-height:1.6}
.ladder-note b{color:#F8FAFC}
@media(max-width:1200px){.ladder{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.ladder{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:560px){.ladder{grid-template-columns:1fr}}

/* ==========================================================================
   v31 — header fix, bigger logo, breathing brand
   ========================================================================== */

/* BUG: scrolled header went WHITE on a dark site */
header.nav.scrolled{
  background:rgba(9,10,15,.97) !important;
  border-bottom-color:rgba(255,255,255,.09) !important;
  box-shadow:0 12px 34px -20px rgba(0,0,0,.95) !important;
}
header.nav{background:rgba(9,10,15,.72) !important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
header.nav .brand-name,header.nav a{color:#F8FAFC !important}

/* bigger logo, correct aspect (source is 420x226, not square) */
.brand-mark{
  width:52px !important;height:52px !important;border-radius:13px !important;
  background:linear-gradient(150deg,rgba(139,92,246,.28),rgba(255,138,61,.14)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  display:grid;place-items:center;flex:none;
  box-shadow:0 6px 18px -8px rgba(139,92,246,.8), inset 0 1px 0 rgba(255,255,255,.16);
}
.brand-mark img{
  width:38px !important;height:auto !important;
  object-fit:contain;display:block;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
.brand-name{
  font-size:1.28rem !important;font-weight:700 !important;letter-spacing:-.03em !important;
  line-height:1 !important;white-space:nowrap !important;
  background:linear-gradient(92deg,#F8FAFC,#C4B5FD,#FFB86B,#F8FAFC);
  background-size:280% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:brandBreathe 9s ease-in-out infinite;
}
@keyframes brandBreathe{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
header.nav .brand{gap:14px !important}
@media(max-width:520px){
  .brand-mark{width:44px !important;height:44px !important;border-radius:11px !important}
  .brand-mark img{width:32px !important}
  .brand-name{font-size:1.06rem !important}
}
@media(prefers-reduced-motion:reduce){.brand-name{animation:none !important;-webkit-text-fill-color:#F8FAFC !important;color:#F8FAFC !important;background:none !important}}

/* why-this-tier line */
.tier-why{
  font-size:.72rem !important;line-height:1.55;color:#9AA6C0 !important;
  margin:0 0 14px !important;padding:10px 11px;border-radius:8px;
  background:rgba(139,92,246,.07);border-left:2px solid rgba(139,92,246,.45);
}

/* ==========================================================================
   v31 — performance: kill jitter
   ========================================================================== */
/* orbs: freeze on mobile, they were the biggest scroll cost */
@media(max-width:820px){.bg i{animation:none !important;opacity:.5}}
/* fewer, cheaper particles on small screens */
@media(max-width:680px){#fx3d{opacity:.34}}
/* stop the sheen sweep from running on every card at once */
.card::after,.pkg::after,.jcard::after,.sol::after,.pcard-l::after{transition:left .6s ease-out}
/* no will-change on static elements — it was pinning GPU layers */
.tile,.pcard-l,.trust div,.opt,.sum{will-change:auto !important}
/* smoother compositing for animated headings */
.sec-head h2,.brand-name,.hero-title .grad{transform:translateZ(0);backface-visibility:hidden}
/* reduce motion: strip everything */
@media(prefers-reduced-motion:reduce){
  .bg i,.float-pill,.status i,.pkg.hero-pkg::before,.brand-name,.sec-head h2{animation:none !important}
}

/* align tier internals so prices line up across all four cards */
.tier{display:flex;flex-direction:column}
.tier-top{min-height:74px;align-items:flex-start}
.tier-why{min-height:96px;display:flex;align-items:center}
.tier-price{margin-top:auto}
.tier ul{min-height:200px}
@media(max-width:1200px){
  .tier-top,.tier-why,.tier ul{min-height:0}
  .tier-price{margin-top:0}
}

/* ---------- logo (new 700x519 mark) ---------- */
.brand-mark img{width:44px !important;height:auto !important;object-fit:contain}
.brand-mark{width:58px !important;height:58px !important}
.brand-name{font-size:1.42rem !important}
@media(max-width:520px){
  .brand-mark{width:48px !important;height:48px !important}
  .brand-mark img{width:36px !important}
  .brand-name{font-size:1.14rem !important}
}

/* ---------- package detail modal ---------- */
.pkgmodal{position:fixed;inset:0;z-index:140;display:none;align-items:flex-start;justify-content:center;
  background:rgba(4,5,10,.92);backdrop-filter:blur(8px);padding:24px 16px;overflow-y:auto}
.pkgmodal.on{display:flex}
.pkgcard{position:relative;width:100%;max-width:720px;border-radius:20px;padding:34px 32px;
  background:linear-gradient(165deg,#171A26,#0A0B12);border:1px solid rgba(139,92,246,.32);
  box-shadow:0 44px 110px -44px rgba(139,92,246,.85);margin:auto}
.pkgclose{position:absolute;top:14px;right:16px;width:34px;height:34px;border-radius:9px;font-size:1.2rem;
  color:#94A3B8;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.pkgclose:hover{color:#fff;background:rgba(255,255,255,.12)}
.pkgcard h3{font-size:1.85rem;letter-spacing:-.035em;margin:14px 0 4px}
.pm-price{font-family:'Space Grotesk';font-size:2.1rem;letter-spacing:-.04em;color:#FF8A3D;line-height:1;margin-bottom:18px}
.pm-purpose{font-size:.94rem;line-height:1.68;color:#C8D0DE;margin:0 0 24px;padding-left:14px;border-left:2px solid rgba(139,92,246,.5)}
.pm-block{margin-bottom:22px}
.pm-block h4{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:#8B5CF6;margin:0 0 10px}
.pm-block p{font-size:.88rem;line-height:1.65;color:#B9C0DE;margin:0}
.pm-list{list-style:none;padding:0;margin:0}
.pm-list li{position:relative;padding:6px 0 6px 22px;font-size:.87rem;color:#C8D0DE;line-height:1.5}
.pm-list li::before{content:'';position:absolute;left:0;top:11px;width:11px;height:11px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ADE80' stroke-width='3.4'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
.pm-list.no li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A3D' stroke-width='3.4'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E")}
.pm-list.no li{color:#94A3B8}
.pm-why{display:grid;gap:10px}
.pm-why div{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);
  border-radius:10px;padding:12px 14px}
.pm-why b{display:block;font-size:.84rem;color:#F8FAFC;margin-bottom:4px}
.pm-why span{font-size:.82rem;color:#94A3B8;line-height:1.55}
.pm-strategy{background:rgba(255,138,61,.08);border:1px solid rgba(255,138,61,.25);
  border-radius:12px;padding:16px 18px;margin-bottom:22px}
.pm-strategy b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:#FFB86B;margin-bottom:8px}
.pm-strategy p{font-size:.86rem;line-height:1.62;color:#D6DCEA;margin:0}
.pm-cta{display:flex;gap:10px;flex-wrap:wrap}
.pm-cta .btn{flex:1;min-width:160px;justify-content:center}
@media(max-width:600px){.pkgcard{padding:26px 20px}.pkgcard h3{font-size:1.5rem}.pm-price{font-size:1.7rem}}

/* ==========================================================================
   v33 — blueprint fixes
   ========================================================================== */

/* FIX 1: header hairline — no solid border, gradient edge glow instead */
header.nav,header,.site-header{
  border-bottom:none !important;
  box-shadow:none !important;
  background:rgba(9,10,15,.82) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  transform:translateZ(0);
}
header.nav::after{
  content:'';position:absolute;bottom:0;left:5%;right:5%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,92,246,.28),rgba(0,242,254,.28),transparent);
  pointer-events:none;
}
header.nav.scrolled{border-bottom:none !important;box-shadow:none !important}

/* FIX 2: Red Apple device mockup */
.case-shot{position:relative;padding:0;background:radial-gradient(circle at 50% 30%,#151832,#07080E 72%);display:grid;place-items:center}
.case-shot img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  border-radius:10px;display:block;
}
.case-device{
  position:relative;width:calc(100% - 44px);max-width:520px;margin:22px auto;
  border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px -26px rgba(0,0,0,.95), 0 0 0 6px rgba(255,255,255,.03);
  background:#0B0D14;
}
.case-device::before{
  content:'';display:block;height:20px;
  background:linear-gradient(180deg,#1A1D2B,#12141F);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.case-device::after{
  content:'';position:absolute;top:7px;left:12px;width:6px;height:6px;border-radius:50%;
  background:#FF5F57;box-shadow:11px 0 0 #FEBC2E, 22px 0 0 #28C840;
}
.case-device img{width:100%;height:auto;display:block;border-radius:0}
.device-glow{
  position:absolute;inset:-30px;z-index:-1;border-radius:24px;
  background:radial-gradient(circle,rgba(139,92,246,.28),transparent 70%);
  filter:blur(28px);pointer-events:none;
}

/* FIX 3: 120fps compositor lock */
html,body{scroll-behavior:smooth;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}
.card,.pkg,.jcard,.sol,.pcard-l,.tier,.case,.case-device,.paybox,.float-pill{
  transform:translate3d(0,0,0);backface-visibility:hidden;
}
/* no global blur on low-power mobile */
@media screen and (max-width:680px){
  header.nav,.float-pill,.pkg,.jcard,.sol,.case,.paybox,.botpanel{
    backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  }
  header.nav{background:rgba(9,10,15,.97) !important}
  .bg i{display:none}
  #fx3d{display:none}
}

/* trust badges */
.trust-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.tbadge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;
  font-size:.66rem;font-weight:600;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);color:#B9C0DE}
.tbadge svg{width:12px;height:12px;stroke:#4ADE80;fill:none;stroke-width:2.4}
.tbadge.bing svg{stroke:#00F2FE}
.mbar .udyam-mini{position:absolute;top:-19px;left:50%;transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.1em;
  color:#5A6178;background:rgba(9,10,15,.9);padding:2px 10px;border-radius:6px 6px 0 0;
  border:1px solid rgba(255,255,255,.08);border-bottom:0;white-space:nowrap}

/* standalone matrix */
.matrix{border-radius:16px;border:1px solid rgba(255,255,255,.09);overflow:hidden}
.mtable{width:100%;border-collapse:collapse;font-size:.88rem;background:rgba(18,20,29,.9)}
.mtable th{padding:16px 18px;text-align:left;font-family:'Space Grotesk';font-size:.82rem;
  border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);color:#94A3B8}
.mtable th span{display:block;font-size:.64rem;font-weight:400;color:#5A6178;margin-top:2px}
.mtable th.us{background:rgba(139,92,246,.16);color:#C4B5FD}
.mtable td{padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.06);
  font-family:'JetBrains Mono',monospace;color:#F8FAFC}
.mtable tr:last-child td{border-bottom:0}
.mtable td:first-child{font-family:inherit}
.mtable td b{display:block;font-size:.9rem;color:#F8FAFC;font-weight:500;margin-bottom:2px}
.mtable td span{display:block;font-size:.7rem;color:#8A93A8;font-family:inherit;line-height:1.4}
.mtable td.us{background:rgba(139,92,246,.08);color:#C4B5FD}
.matrix-note{margin-top:16px;padding:18px 22px;border-radius:12px;
  background:rgba(139,92,246,.07);border:1px solid rgba(139,92,246,.22);
  font-size:.82rem;color:#B9C0DE;line-height:1.6}
.matrix-note b{color:#F8FAFC}
@media(max-width:600px){
  .mtable th,.mtable td{padding:12px 10px;font-size:.76rem}
  .mtable td span{font-size:.64rem}
}

/* ==========================================================================
   v35 — header solid + footer rebuild
   ========================================================================== */

/* HEADER: opaque, no line, brand + menu stay while scrolling */
header.nav{
  position:sticky !important;top:0;z-index:100;
  background:#090A0F !important;
  border-bottom:0 !important;box-shadow:none !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
header.nav.scrolled{background:#090A0F !important;border-bottom:0 !important}
header.nav::after{display:none !important}
/* logo tile: dark, never white */
.brand-mark,header.nav .brand-mark,footer .brand-mark{
  background:linear-gradient(150deg,#1A1030,#0D0F18) !important;
  border:1px solid rgba(139,92,246,.32) !important;
  box-shadow:0 6px 20px -10px rgba(139,92,246,.9), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
/* keep the 3-dot menu visible and tappable */
header.nav .navtoggle,header.nav .hamb,header.nav button[aria-label*="enu"]{
  display:grid !important;place-items:center;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#F8FAFC !important;
}

/* ---------- FOOTER v35 ---------- */
footer{background:#06070B !important;border-top:1px solid rgba(255,255,255,.06) !important;padding:0 !important}
.f-edge{width:100%;padding:0 clamp(20px,4vw,64px)}

.f-hero{text-align:center;padding:64px 0 44px;border-bottom:1px solid rgba(255,255,255,.07)}
.f-brandmark{
  display:inline-grid;place-items:center;width:92px;height:72px;border-radius:20px;
  background:linear-gradient(150deg,rgba(139,92,246,.22),rgba(255,138,61,.10));
  border:1px solid rgba(139,92,246,.32);margin-bottom:20px;
  box-shadow:0 16px 44px -20px rgba(139,92,246,.95), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.f-brandmark:hover{transform:translateY(-3px) scale(1.04)}
.f-brandmark img{width:64px;height:auto;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.6))}

.f-title{
  font-family:'Space Grotesk';font-size:clamp(1.7rem,4vw,2.5rem) !important;
  letter-spacing:-.04em;line-height:1.05;margin:0 0 10px !important;
  background:linear-gradient(95deg,#F8FAFC,#C4B5FD,#FFB86B,#00F2FE,#F8FAFC);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:rgbFlow 10s linear infinite;
}
.f-tag{font-size:.95rem !important;color:#8A93A8;margin:0 0 22px}

.f-remote{
  display:inline-flex;align-items:flex-start;gap:11px;text-align:left;
  max-width:620px;margin:0 auto 20px;padding:14px 20px;border-radius:12px;
  background:rgba(0,242,254,.06);border:1px solid rgba(0,242,254,.22);
}
.f-remote svg{width:19px;height:19px;stroke:#00F2FE;flex:none;margin-top:2px}
.f-remote span{font-size:.82rem;line-height:1.6;color:#A8B6CC}
.f-remote b{color:#00F2FE;font-weight:600}

.f-verified{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:#8A93A8;margin-top:4px}

.f-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:44px 0;border-bottom:1px solid rgba(255,255,255,.07);max-width:1100px;margin:0 auto}
.f-col h5{font-family:'JetBrains Mono',monospace;font-size:.6rem !important;letter-spacing:.2em;
  text-transform:uppercase;color:#5A6178;margin:0 0 16px}
.f-col a{display:block;font-size:.92rem !important;color:#A8B0C4;padding:7px 0;transition:color .18s,transform .18s}
.f-col a:hover{color:#C4B5FD;transform:translateX(3px)}
.f-note{display:block;font-size:.82rem;color:#6E7A8F;padding:5px 0}

.f-socials{display:flex;justify-content:center;gap:12px;padding:38px 0;flex-wrap:wrap}
.f-socials a{
  display:inline-flex;align-items:center;gap:9px;padding:13px 20px;border-radius:12px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
  color:#B9C0DE;font-size:.86rem;font-weight:500;
  transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s,box-shadow .25s;
}
.f-socials a:hover{
  transform:translateY(-3px);
  background:rgba(139,92,246,.16);border-color:rgba(139,92,246,.5);
  color:#F8FAFC;box-shadow:0 14px 34px -16px rgba(139,92,246,.9);
}
.f-socials svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}
.f-socials a:hover svg{stroke:#C4B5FD}

.f-legal{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:22px 0 30px;font-size:.78rem;color:#5A6178;
  border-top:1px solid rgba(255,255,255,.07);
}
.f-legal-links{display:flex;align-items:center;gap:9px}
.f-legal-links a{color:#8A93A8;transition:color .18s}
.f-legal-links a:hover{color:#C4B5FD}
.f-legal-links span{color:#2E3345}

@media(max-width:820px){
  .f-cols{grid-template-columns:1fr 1fr;gap:30px 24px}
  .f-hero{padding:48px 0 34px}
  .f-socials{gap:9px;padding:30px 0}
  .f-socials a{padding:11px 15px;font-size:.8rem}
  .f-socials svg{width:17px;height:17px}
}
@media(max-width:560px){
  .f-cols{grid-template-columns:1fr 1fr;gap:26px 18px}
  .f-col a{font-size:.86rem !important}
  .f-socials a{flex:1 1 calc(50% - 9px);justify-content:center}
  .f-legal{flex-direction:column;align-items:flex-start;gap:9px;font-size:.72rem}
  .f-remote{padding:12px 15px}
  .f-remote span{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.f-title{animation:none !important;-webkit-text-fill-color:#F8FAFC !important;color:#F8FAFC !important;background:none !important}}

/* case study: portrait phone screenshot */
.case-shot{
  background:radial-gradient(circle at 50% 20%,#1A1430,#06070B 70%);
  padding:28px 0;min-height:0;aspect-ratio:auto;
}
.case-device{
  width:auto;max-width:270px;margin:0 auto;
  border-radius:26px;overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 40px 90px -30px rgba(0,0,0,1), 0 0 0 7px rgba(255,255,255,.04),
             0 0 70px -20px rgba(139,92,246,.55);
  background:#0B0D14;
}
.case-device::before{display:none}
.case-device::after{display:none}
.case-device img{
  width:100%;height:auto;display:block;
  aspect-ratio:1080/2436;object-fit:cover;object-position:top center;
}
.case-open{left:50%;transform:translateX(-50%);bottom:14px}
.case-open:hover{transform:translateX(-50%) translateY(-2px)}
@media(max-width:900px){
  .case-device{max-width:220px}
  .case-shot{padding:22px 0}
}

/* header layout: brand + CTA + menu must all fit */
.nav-in{display:flex;align-items:center;gap:14px;padding:11px 0;flex-wrap:nowrap}
.nav-in .brand{flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:12px}
.nav-in .brand-name{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.nav-in .links{display:none}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.nav-cta .btn,.nav-cta a{white-space:nowrap}

@media(max-width:900px){
  .nav-in{gap:10px;padding:10px 0}
  .brand-mark{width:42px !important;height:42px !important;border-radius:10px !important}
  .brand-mark img{width:31px !important}
  .brand-name{font-size:.94rem !important}
  .nav-cta .btn,.nav-cta a{padding:9px 14px !important;font-size:.78rem !important}
}
@media(max-width:400px){
  .brand-mark{width:38px !important;height:38px !important}
  .brand-mark img{width:27px !important}
  .brand-name{font-size:.82rem !important;max-width:118px}
  .nav-cta .btn,.nav-cta a{padding:8px 11px !important;font-size:.72rem !important}
}
/* the menu toggle never shrinks or clips */
.nav-cta .navtoggle,.nav-cta .hamb,.nav-cta button{
  flex:none;width:40px;height:40px;min-width:40px;
}

/* value grid */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vitem{background:rgba(18,20,29,.9);border:1px solid rgba(255,255,255,.09);
  border-radius:14px;padding:24px 22px;transition:transform .3s,border-color .3s,box-shadow .3s}
.vitem:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.5);
  box-shadow:0 22px 54px -30px rgba(139,92,246,.85)}
.vn{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:#5A6178;
  border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:2px 7px;display:inline-block;margin-bottom:12px}
.vitem h4{font-size:1rem;margin:0 0 8px;letter-spacing:-.02em;color:#F8FAFC}
.vitem p{font-size:.82rem;line-height:1.6;color:#94A3B8;margin:0}
@media(max-width:900px){.vgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.vgrid{grid-template-columns:1fr}}

/* ==========================================================================
   v36 — bigger header, fixed founding card
   ========================================================================== */

/* HEADER: bigger logo + bigger name */
.nav-in{padding:14px 0 !important;gap:16px !important}
.brand-mark,header.nav .brand-mark{
  width:64px !important;height:64px !important;border-radius:16px !important;
}
.brand-mark img,header.nav .brand-mark img{
  width:50px !important;height:auto !important;
}
.brand-name,header.nav .brand-name{
  font-size:1.62rem !important;font-weight:700 !important;letter-spacing:-.035em !important;
  line-height:1 !important;
}
@media(max-width:900px){
  .nav-in{padding:12px 0 !important;gap:12px !important}
  .brand-mark,header.nav .brand-mark{width:54px !important;height:54px !important;border-radius:13px !important}
  .brand-mark img,header.nav .brand-mark img{width:42px !important}
  .brand-name,header.nav .brand-name{font-size:1.22rem !important}
}
@media(max-width:420px){
  .brand-mark,header.nav .brand-mark{width:46px !important;height:46px !important}
  .brand-mark img,header.nav .brand-mark img{width:35px !important}
  .brand-name,header.nav .brand-name{font-size:1rem !important;max-width:120px}
}

/* FOUNDING CARD: was a cramped 2-col squeeze — stack it properly */
.founding-grid{grid-template-columns:1fr !important;gap:28px !important}
.founding-grid > div:first-child h2{max-width:none !important;font-size:clamp(1.6rem,3.4vw,2.4rem) !important}
.founding-grid > div:first-child p{max-width:70ch !important;font-size:.95rem !important;line-height:1.7 !important}
.founding-grid > div:last-child{max-width:520px}
@media(min-width:900px){
  .founding-grid{grid-template-columns:1.25fr .75fr !important;gap:44px !important;align-items:center !important}
  .founding-grid > div:first-child h2{font-size:clamp(1.8rem,3vw,2.6rem) !important}
}
.offer{padding:44px 40px !important}
@media(max-width:600px){.offer{padding:30px 22px !important}}

/* small screens: drop the CTA so the full company name fits */
@media(max-width:600px){
  .nav-cta .btn,.nav-cta > a:not(.navtoggle):not(.hamb){
    display:none !important;
  }
  .brand-name,header.nav .brand-name{
    max-width:none !important;overflow:visible !important;text-overflow:clip !important;
    font-size:1.16rem !important;
  }
  .brand{gap:11px !important}
}
@media(max-width:380px){
  .brand-name,header.nav .brand-name{font-size:1.02rem !important}
  .brand-mark,header.nav .brand-mark{width:42px !important;height:42px !important}
  .brand-mark img,header.nav .brand-mark img{width:32px !important}
}

/* showcase link banner */
.showcase-link{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:18px 24px;border-radius:14px;margin:0 0 26px;
  background:linear-gradient(95deg,rgba(139,92,246,.16),rgba(255,138,61,.08));
  border:1px solid rgba(139,92,246,.35);
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,border-color .28s;
}
.showcase-link:hover{transform:translateY(-2px);border-color:rgba(139,92,246,.65);
  box-shadow:0 20px 50px -26px rgba(139,92,246,.9)}
.sl-dot{width:9px;height:9px;border-radius:50%;background:#4ADE80;flex:none;
  box-shadow:0 0 0 4px rgba(74,222,128,.18);animation:pulseDot 2.4s ease-in-out infinite}
.sl-label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:#C4B5FD}
.showcase-link b{font-size:1.02rem;color:#F8FAFC;font-weight:600}
.sl-go{margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:.8rem;color:#FFB86B;font-weight:600}
.sl-go svg{width:13px;height:13px}
@media(max-width:600px){
  .showcase-link{padding:15px 17px;gap:9px}
  .sl-go{margin-left:0;width:100%}
}

/* tighten vertical rhythm between sections */
.sec{padding-top:clamp(44px,6vw,72px) !important;padding-bottom:clamp(44px,6vw,72px) !important}
.sec .sec-head{margin-bottom:26px !important}
.ladder-note,.matrix-note,.arch-note,.valuethree,.alertbox{margin-top:16px !important}
/* content-visibility was reserving phantom height on short sections */
.sec{contain-intrinsic-size:auto 500px !important}

/* ==========================================================================
   v39 — desktop fixes
   ========================================================================== */

/* HEADER: logo was clipping at the left edge */
header.nav .wrap{padding-left:clamp(16px,2.5vw,40px) !important;padding-right:clamp(16px,2.5vw,40px) !important}
header.nav{overflow:visible !important}
.nav-in{width:100%}

/* FOUNDING CARD: table was stretching full width */
.founding-grid > div:last-child{max-width:420px !important;margin:0 !important}
.founding-grid table{width:100% !important;max-width:420px !important}
.founding-grid table td{padding:11px 0 !important;font-size:.9rem !important}
.founding-grid table td:last-child{text-align:right !important;white-space:nowrap}

/* FOOTER: columns were too sparse on desktop */
.f-cols{max-width:920px !important;margin:0 auto !important;gap:48px !important}
.f-col a{font-size:.95rem !important}

/* FOOTER: colourful breathing text */
.f-col a{
  background:linear-gradient(92deg,#A8B0C4,#C4B5FD,#FFB86B,#00F2FE,#A8B0C4);
  background-size:320% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:fcolBreathe 13s ease-in-out infinite;
}
.f-col a:hover{-webkit-text-fill-color:#C4B5FD;color:#C4B5FD;background:none}
.f-col:nth-child(2) a{animation-delay:-4s}
.f-col:nth-child(3) a{animation-delay:-8s}
@keyframes fcolBreathe{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.f-note{animation:none !important;background:none !important;-webkit-text-fill-color:#6E7A8F !important;color:#6E7A8F !important}
.f-legal-links a{animation:none !important;background:none !important;-webkit-text-fill-color:#8A93A8 !important;color:#8A93A8 !important}
.f-copy,.f-legal{animation:none !important}

@media(max-width:820px){
  .founding-grid > div:last-child,.founding-grid table{max-width:none !important}
  .f-cols{max-width:none !important;gap:30px !important}
}
@media(prefers-reduced-motion:reduce){
  .f-col a{animation:none !important;-webkit-text-fill-color:#A8B0C4 !important;color:#A8B0C4 !important;background:none !important}
}

/* ==========================================================================
   v43 — make the 3D hero actually visible
   ========================================================================== */

/* canvas: full hero, bright, above the bg but below content */
#fx3d{
  position:fixed !important;inset:0 !important;z-index:1 !important;
  opacity:1 !important;display:block !important;pointer-events:none;
}
@media(max-width:820px){#fx3d{display:block !important;opacity:.95 !important}}

/* the flat orb layer now sits behind the canvas */
.bg{z-index:0 !important;opacity:.85}

/* hero gets real depth */
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:3}

/* animated gradient headline like nexaweb (pink → blue → violet) */
.hero-title{
  background:linear-gradient(100deg,#F8FAFC 0%,#FF2D95 26%,#7C3AED 52%,#00F2FE 76%,#F8FAFC 100%);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:heroFlow 9s linear infinite;
}
.hero-title .grad{
  background:linear-gradient(96deg,#FFB86B,#FF2D95,#FF8A3D,#FFB86B) !important;
  background-size:240% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
  animation:heroFlow 6s linear infinite;
}
@keyframes heroFlow{from{background-position:0% 50%}to{background-position:300% 50%}}

/* content cards sit above the globe with a slight glass backing */
.hero .trust-badges,.hero .trust{position:relative;z-index:3}

/* globe: bigger, brighter, sits behind the headline */
#fx3d{filter:saturate(1.25) brightness(1.18)}

/* ---------- partners & integrations ---------- */
.stackgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sitem{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:26px 18px 22px;border-radius:14px;
  background:rgba(18,20,29,.92);border:1px solid rgba(255,255,255,.09);
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;
}
.sitem:hover{transform:translateY(-5px);border-color:rgba(139,92,246,.55);
  box-shadow:0 22px 54px -28px rgba(139,92,246,.9)}
.sico{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  margin-bottom:14px;border:1px solid rgba(255,255,255,.1);
}
.sico svg{width:24px;height:24px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.s-meta{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.3)} .s-meta svg{stroke:#25D366}
.s-ai{background:rgba(139,92,246,.14);border-color:rgba(139,92,246,.32)} .s-ai svg{stroke:#C4B5FD}
.s-google{background:rgba(66,133,244,.12);border-color:rgba(66,133,244,.3)} .s-google svg{stroke:#6EA8FE}
.s-bing{background:rgba(0,242,254,.11);border-color:rgba(0,242,254,.28)} .s-bing svg{stroke:#00F2FE}
.s-upi{background:rgba(255,138,61,.12);border-color:rgba(255,138,61,.3)} .s-upi svg{stroke:#FF8A3D}
.s-razor{background:rgba(51,149,255,.12);border-color:rgba(51,149,255,.3)} .s-razor svg{stroke:#4FA8FF}
.s-cloud{background:rgba(247,124,0,.12);border-color:rgba(247,124,0,.3)} .s-cloud svg{stroke:#F77C00}
.s-next{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)} .s-next svg{stroke:#E8ECF6}
.s-pwa{background:rgba(74,222,128,.11);border-color:rgba(74,222,128,.28)} .s-pwa svg{stroke:#4ADE80}
.s-dir{background:rgba(255,214,10,.11);border-color:rgba(255,214,10,.28)} .s-dir svg{stroke:#FFD60A}
.s-kn{background:rgba(255,45,149,.11);border-color:rgba(255,45,149,.28)} .s-kn svg{stroke:#FF2D95}
.sitem b{display:block;font-size:.84rem;color:#F8FAFC;font-weight:600;line-height:1.3;margin-bottom:5px}
.sitem span{display:block;font-size:.7rem;color:#8A93A8;line-height:1.45}
.stacknote{margin-top:18px;padding:18px 22px;border-radius:12px;
  background:rgba(0,242,254,.06);border:1px solid rgba(0,242,254,.22);
  font-size:.82rem;color:#B9C0DE;line-height:1.62}
.stacknote b{color:#F8FAFC}
.stacknote em{color:#00F2FE;font-style:normal;font-weight:600}
@media(max-width:1100px){.stackgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.stackgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .sitem{padding:20px 12px 18px}.sico{width:44px;height:44px;border-radius:12px;margin-bottom:11px}
  .sico svg{width:20px;height:20px}.sitem b{font-size:.78rem}.sitem span{font-size:.66rem}}

/* ==========================================================================
   v46 — neon + breathing animation on Partners & Integrations
   ========================================================================== */

/* staggered float + breathing on each card */
.sitem{
  animation:cardFloat 7s ease-in-out infinite;
  position:relative;overflow:hidden;
}
.sitem:nth-child(1){animation-delay:0s}
.sitem:nth-child(2){animation-delay:-.6s}
.sitem:nth-child(3){animation-delay:-1.2s}
.sitem:nth-child(4){animation-delay:-1.8s}
.sitem:nth-child(5){animation-delay:-2.4s}
.sitem:nth-child(6){animation-delay:-3s}
.sitem:nth-child(7){animation-delay:-3.6s}
.sitem:nth-child(8){animation-delay:-4.2s}
.sitem:nth-child(9){animation-delay:-4.8s}
.sitem:nth-child(10){animation-delay:-5.4s}
.sitem:nth-child(11){animation-delay:-6s}
.sitem:nth-child(12){animation-delay:-6.6s}
@keyframes cardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* neon sweep across the card */
.sitem::after{
  content:'';position:absolute;top:0;left:-140%;width:80%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);
  transform:skewX(-18deg);pointer-events:none;
  animation:neonSweep 6.5s ease-in-out infinite;
}
.sitem:nth-child(even)::after{animation-delay:-3.2s}
@keyframes neonSweep{0%,72%{left:-140%}100%{left:140%}}

/* NEON GLOW on the icon tiles — each in its own colour */
.sico{
  position:relative;
  animation:neonPulse 3.4s ease-in-out infinite;
}
.sitem:nth-child(2) .sico{animation-delay:-.4s}
.sitem:nth-child(3) .sico{animation-delay:-.8s}
.sitem:nth-child(4) .sico{animation-delay:-1.2s}
.sitem:nth-child(5) .sico{animation-delay:-1.6s}
.sitem:nth-child(6) .sico{animation-delay:-2s}
.sitem:nth-child(7) .sico{animation-delay:-2.4s}
.sitem:nth-child(8) .sico{animation-delay:-2.8s}
.sitem:nth-child(9) .sico{animation-delay:-1s}
.sitem:nth-child(10) .sico{animation-delay:-1.4s}
.sitem:nth-child(11) .sico{animation-delay:-1.8s}
.sitem:nth-child(12) .sico{animation-delay:-2.2s}
@keyframes neonPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 currentColor, 0 0 14px -4px currentColor}
  50%{transform:scale(1.06);box-shadow:0 0 0 1px currentColor, 0 0 26px -2px currentColor}
}
.s-meta{color:#25D366} .s-ai{color:#C4B5FD} .s-google{color:#6EA8FE}
.s-bing{color:#00F2FE} .s-upi{color:#FF8A3D} .s-razor{color:#4FA8FF}
.s-cloud{color:#F77C00} .s-next{color:#E8ECF6} .s-pwa{color:#4ADE80}
.s-dir{color:#FFD60A} .s-kn{color:#FF2D95}
.sico{box-shadow:0 0 16px -6px currentColor, inset 0 0 12px -8px currentColor}

/* BREATHING FONT — title grows and shrinks gently */
.sitem b{
  animation:breatheFont 4.2s ease-in-out infinite;
  display:block;
}
.sitem:nth-child(2) b{animation-delay:-.35s}
.sitem:nth-child(3) b{animation-delay:-.7s}
.sitem:nth-child(4) b{animation-delay:-1.05s}
.sitem:nth-child(5) b{animation-delay:-1.4s}
.sitem:nth-child(6) b{animation-delay:-1.75s}
.sitem:nth-child(7) b{animation-delay:-2.1s}
.sitem:nth-child(8) b{animation-delay:-2.45s}
.sitem:nth-child(9) b{animation-delay:-.9s}
.sitem:nth-child(10) b{animation-delay:-1.25s}
.sitem:nth-child(11) b{animation-delay:-1.6s}
.sitem:nth-child(12) b{animation-delay:-1.95s}
@keyframes breatheFont{
  0%,100%{transform:scale(1);opacity:.94}
  50%{transform:scale(1.055);opacity:1}
}

/* neon ring around the whole section */
#stack{position:relative;overflow:hidden}
#stack::before{
  content:'';position:absolute;left:50%;top:50%;width:120%;height:120%;
  transform:translate(-50%,-50%);pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 22% 28%,rgba(139,92,246,.20),transparent 42%),
    radial-gradient(circle at 78% 72%,rgba(0,242,254,.15),transparent 44%),
    radial-gradient(circle at 50% 50%,rgba(255,45,149,.10),transparent 50%);
  animation:neonDrift 18s ease-in-out infinite alternate;
}
@keyframes neonDrift{
  0%{transform:translate(-50%,-50%) scale(1)}
  100%{transform:translate(-50%,-50%) scale(1.12) rotate(6deg)}
}
#stack .wrap{position:relative;z-index:1}

/* heading breathes too */
#stack .sec-head h2{
  animation:headingBreathe 6s ease-in-out infinite;
  display:inline-block;
}
@keyframes headingBreathe{
  0%,100%{transform:scale(1);letter-spacing:-.038em}
  50%{transform:scale(1.035);letter-spacing:-.028em}
}

/* note panel gets a slow neon border */
.stacknote{animation:noteGlow 5s ease-in-out infinite}
@keyframes noteGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(0,242,254,0), inset 0 0 30px -22px rgba(0,242,254,.6)}
  50%{box-shadow:0 0 26px -8px rgba(0,242,254,.45), inset 0 0 40px -20px rgba(0,242,254,.9)}
}

@media(prefers-reduced-motion:reduce){
  .sitem,.sitem::after,.sico,.sitem b,#stack::before,#stack .sec-head h2,.stacknote{
    animation:none !important;transform:none !important;
  }
}
@media(max-width:760px){
  .sitem{animation-duration:9s}
  .sitem b{animation-duration:5.4s}
  .sico{animation-duration:4.2s}
}

/* ---------- section image bands ---------- */
.bandimg{
  position:relative;border-radius:16px;overflow:hidden;margin-top:24px;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 30px 70px -40px rgba(0,0,0,.95);
  background:#0B0D14;
}
.bandimg img{
  width:100%;height:auto;display:block;max-height:340px;object-fit:cover;
  filter:saturate(.92) brightness(.82);
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s;
}
.bandimg:hover img{transform:scale(1.03);filter:saturate(1.05) brightness(.92)}
.bandimg::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 40%,rgba(9,10,15,.88) 100%);
}
.bandcap{
  position:absolute;left:20px;bottom:16px;z-index:2;
  font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:#C4B5FD;
  padding:5px 12px;border-radius:7px;
  background:rgba(9,10,15,.7);border:1px solid rgba(139,92,246,.3);
  backdrop-filter:blur(8px);
}
@media(max-width:600px){
  .bandimg img{max-height:190px}
  .bandcap{left:12px;bottom:11px;font-size:.52rem;padding:4px 9px}
}

/* ---------- inside-the-build gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.galitem{
  position:relative;margin:0;border-radius:13px;overflow:hidden;
  border:1px solid rgba(255,255,255,.09);background:#0B0D14;
  transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;
}
.galitem.wide{grid-column:span 2}
.galitem img{width:100%;height:100%;object-fit:cover;display:block;
  aspect-ratio:16/10;filter:saturate(.9) brightness(.82);
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s}
.galitem:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.5);
  box-shadow:0 22px 50px -26px rgba(139,92,246,.9)}
.galitem:hover img{transform:scale(1.05);filter:saturate(1.05) brightness(.95)}
.galitem figcaption{
  position:absolute;left:12px;bottom:11px;z-index:2;
  font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.13em;
  text-transform:uppercase;color:#E8ECF6;
  padding:4px 10px;border-radius:6px;
  background:rgba(9,10,15,.72);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
}
.galitem::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(9,10,15,.75) 100%);
}
@media(max-width:900px){.gal{grid-template-columns:repeat(2,1fr);gap:9px}
  .galitem.wide{grid-column:span 2}}
@media(max-width:520px){.galitem figcaption{font-size:.5rem;left:8px;bottom:7px;padding:3px 7px}}

/* ==========================================================================
   v49 — image performance: kill the jitter
   ========================================================================== */

/* no filter transitions — they force full repaints on scroll */
.galitem img,.bandimg img{
  filter:none !important;
  transition:transform .5s cubic-bezier(.16,1,.3,1) !important;
  will-change:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.galitem:hover img,.bandimg:hover img{transform:scale(1.04) translateZ(0)}

/* fixed aspect boxes so nothing reflows while loading */
.galitem{contain:layout paint}
.galitem img{aspect-ratio:16/10;object-fit:cover;display:block;width:100%;height:100%}
.bandimg img{aspect-ratio:16/9;object-fit:cover;display:block;width:100%;height:auto}

/* captions: drop the blur (expensive when repeated) */
.galitem figcaption,.bandcap{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  background:rgba(9,10,15,.88) !important;
}

/* cheap entrance animation instead of filter/opacity churn */
.galitem{
  opacity:0;transform:translateY(14px);
  transition:opacity .5s ease-out,transform .5s cubic-bezier(.16,1,.3,1);
}
.galitem.in{opacity:1;transform:translateY(0)}
.galitem:hover{transform:translateY(-4px) !important}

/* offscreen images skip painting entirely */
.galitem,.bandimg{content-visibility:auto;contain-intrinsic-size:auto 260px}

@media(prefers-reduced-motion:reduce){
  .galitem{opacity:1 !important;transform:none !important;transition:none !important}
  .galitem:hover img,.bandimg:hover img{transform:none !important}
}

/* ==========================================================================
   v50 — UI layer inspired by nxtwat: glass windows, rotating icons,
          numbered markers, glass image frames
   ========================================================================== */

/* 1. GLASS WINDOW CARDS — heavier blur + inner light + top edge highlight */
.sitem,.cnt,.vitem,.tier,.pkg,.galitem,.case,.paybox,.card,.pcard-l,.sol{
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(18,20,29,.92)) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(255,255,255,.03),
    0 20px 50px -30px rgba(0,0,0,.95) !important;
}
/* top-left light sweep on every glass card */
.sitem::before,.cnt::before,.vitem::before,.tier::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  opacity:.6;pointer-events:none;
}

/* 2. ICON ROTATION + TILT on hover */
.sico,.vitem .vn,.flip-face svg,.case-open svg{
  transition:transform .55s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;
}
.sitem:hover .sico{transform:rotate(-12deg) scale(1.14)}
.vitem:hover .vn{transform:rotate(180deg)}
.sol:hover svg{transform:rotate(10deg) scale(1.12)}
.socials a:hover svg,.f-socials a:hover svg{transform:rotate(14deg) scale(1.15)}
.socials svg,.f-socials svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}

/* 3. NUMBERED WATERMARK behind section heads */
.sec-head{position:relative}
.sec-head .num{
  display:inline-block;
  padding:5px 13px;border-radius:7px;
  background:rgba(139,92,246,.10);
  border:1px solid rgba(139,92,246,.24);
}

/* 4. GLASS IMAGE FRAMES with inner border */
.galitem,.bandimg,.case-device{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 1px 0 rgba(255,255,255,.16),
    0 26px 60px -34px rgba(0,0,0,1) !important;
}
.galitem img,.bandimg img{
  transition:transform .65s cubic-bezier(.16,1,.3,1) !important;
}

/* 5. GLASS PILL NAV / BUTTONS */
.btn,.gbadge,.tbadge,.pill-ember,.arch-tag{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.btn-primary{
  background:linear-gradient(135deg,rgba(139,92,246,.96),rgba(109,40,217,.96)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 12px 30px -14px rgba(139,92,246,1) !important;
}
.btn-ghost{
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* 6. FROSTED TABLE ROWS */
.cmp2,.mtable{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cmp2 tr:hover td,.mtable tr:hover td{background:rgba(139,92,246,.10)}

/* 7. STICKY GLASS HEADER with stronger blur */
header.nav{
  backdrop-filter:blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(150%) !important;
  background:rgba(9,10,15,.72) !important;
}

/* 8. SECTION RHYTHM — alternate subtle glass panels */
#stack,#numbers,#inside,#value{position:relative}
#stack::after,#numbers::after,#inside::after,#value::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,.07),transparent 60%);
}
#stack .wrap,#numbers .wrap,#inside .wrap,#value .wrap{position:relative;z-index:1}

/* 9. BUTTON ICON NUDGE */
.btn:hover .ar,.btn:hover svg{transform:translateX(4px)}
.btn .ar,.btn svg{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}

/* 10. FOCUS RING — accessibility + polish */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid rgba(139,92,246,.85);
  outline-offset:3px;border-radius:6px;
}

@media(max-width:820px){
  /* keep glass on mobile but lighter */
  .sitem,.cnt,.vitem,.tier,.pkg,.galitem,.case,.paybox,.card,.pcard-l,.sol{
    backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .sitem:hover .sico,.vitem:hover .vn,.sol:hover svg,
  .socials a:hover svg,.f-socials a:hover svg{transform:none !important}
}

/* ---------- who we build for (nxtwat numbered list) ---------- */
.who{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.08)}
.whorow{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;
  padding:22px 20px;border-bottom:1px solid rgba(255,255,255,.07);
  border-radius:10px;transition:background .3s,padding-left .3s;
}
.whorow:hover{background:rgba(139,92,246,.08);padding-left:30px}
.wnum{
  font-family:'Space Grotesk';font-size:1.05rem;font-weight:700;
  color:transparent;-webkit-text-stroke:1px rgba(139,92,246,.6);
  min-width:44px;transition:color .3s,-webkit-text-stroke-color .3s;
}
.whorow:hover .wnum{color:#C4B5FD;-webkit-text-stroke-color:transparent}
.whorow b{font-size:1.05rem;color:#F8FAFC;font-weight:600;letter-spacing:-.02em}
.whorow span:last-child{font-size:.84rem;color:#8A93A8;text-align:right}
@media(max-width:760px){
  .whorow{grid-template-columns:auto 1fr;gap:14px;padding:16px 12px}
  .whorow span:last-child{grid-column:2;text-align:left;font-size:.76rem;margin-top:3px}
  .whorow b{font-size:.94rem}
}

/* ==========================================================================
   v51 — SOLID backgrounds. Animations kept, text never disturbed.
   ========================================================================== */

/* kill every backdrop-filter on content — this is what let the globe bleed through text */
.sitem,.cnt,.vitem,.tier,.pkg,.galitem,.case,.paybox,.card,.pcard-l,.sol,
.jcard,.opt,.sum,.strip,.trip,.alertbox,.cmpwrap,.matrix,.stacknote,.matrix-note,
.ladder-note,.arch-col,.arch-note,.valuethree div,.upiline,.cmp2 th,
.galitem figcaption,.bandcap,.pill-ember,.arch-tag,.gbadge,.tbadge,
.btn,.btn-primary,.btn-ghost,.float-pill,.botpanel,.pkgcard,.pcard-m,.xcard,.socials a,.f-socials a{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* SOLID card fills — fully opaque, no bleed-through */
.sitem,.cnt,.vitem,.tier,.pkg,.card,.pcard-l,.sol,.jcard,.case,.paybox,
.arch-col,.valuethree div,.alertbox,.strip,.trip,.opt,.sum,.matrix,.cmpwrap,.stacknote{
  background:#12141D !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 40px -30px rgba(0,0,0,.9) !important;
}
/* featured/hot cards keep a solid tinted fill, still opaque */
.tier.hot,.pkg.hero-pkg{
  background:linear-gradient(180deg,#1B1533 0%,#141220 60%,#12141D 100%) !important;
  border-color:rgba(139,92,246,.55) !important;
}
.pkg.k1{background:#14161F !important}
.pkg.k2{background:#101A22 !important}
.pkg.k3{background:#1A1712 !important}

/* tables + panels solid */
.cmp2,.mtable{background:#12141D !important}
.cmp2 th,.mtable th{background:#171A24 !important}
.cmp2 td.us,.mtable td.us{background:#1A1730 !important}
.strip,.trip{background:#14161F !important}
.alertbox{background:#1C1611 !important}
.stacknote,.matrix-note,.ladder-note,.arch-note{background:#121820 !important}

/* modals + panels fully solid */
.pkgcard,.pcard-m,.xcard,.botpanel{background:#0F1119 !important}
.pmodal,.pkgmodal,.xmodal{background:rgba(4,5,10,.96) !important}

/* captions solid so they never fight the photo behind */
.galitem figcaption,.bandcap{
  background:#0B0D14 !important;border:1px solid rgba(255,255,255,.16) !important;
}

/* header solid */
header.nav,header.nav.scrolled{background:#090A0F !important}

/* sections get a solid base so the 3D layer only shows in the hero */
.sec{background:#090A0F;position:relative;z-index:2}
.sec-alt{background:#0B0D14}
#stack::after,#numbers::after,#inside::after,#value::after{display:none !important}

/* KEEP the animations: floats, glows, rotations, sweeps */
.sitem{animation:cardFloat 7s ease-in-out infinite !important}
.sitem .sico{animation:neonPulse 3.4s ease-in-out infinite !important}
.sitem b{animation:breatheFont 4.2s ease-in-out infinite !important}
.sitem::after{animation:neonSweep 6.5s ease-in-out infinite !important}
.sitem:hover .sico{transform:rotate(-12deg) scale(1.14)}
.cnt b{animation:rgbFlow 9s linear infinite !important}
.galitem{opacity:1 !important;transform:none !important}

/* hero keeps the 3D globe, but content sits on a solid scrim */
.hero{background:radial-gradient(ellipse at 34% 50%,rgba(9,10,15,.72) 0%,rgba(9,10,15,.55) 38%,rgba(9,10,15,.88) 72%,#090A0F 100%)}
.hero .wrap{position:relative;z-index:3}

/* image containers solid base */
.galitem,.bandimg,.case-device{background:#0B0D14 !important}

@media(max-width:820px){
  .sitem,.cnt,.vitem,.tier,.pkg,.card{background:#12141D !important}
}

/* ---------- two-track pricing ---------- */
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.track{
  position:relative;display:flex;flex-direction:column;
  background:#12141D;border:1px solid rgba(255,255,255,.10);
  border-radius:18px;padding:28px 26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 50px -32px rgba(0,0,0,.95);
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;
}
.track:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.5);
  box-shadow:0 28px 64px -32px rgba(139,92,246,.85)}
.track.elite{
  background:linear-gradient(180deg,#1B1533 0%,#141220 55%,#12141D 100%);
  border-color:rgba(255,138,61,.42);
  box-shadow:0 0 0 1px rgba(255,138,61,.18),0 28px 64px -34px rgba(255,92,26,.6);
}
.track-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,#FF8A3D,#FF5C1A);color:#0B0D14;
  font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;padding:5px 14px;border-radius:0 0 9px 9px;white-space:nowrap}
.track-head{padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.track-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.56rem;
  letter-spacing:.16em;text-transform:uppercase;padding:4px 11px;border-radius:6px;
  background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.34);color:#C4B5FD;margin-bottom:12px}
.track-tag.ember{background:rgba(255,138,61,.14);border-color:rgba(255,138,61,.36);color:#FFB86B}
.track-head h3{font-size:1.55rem !important;margin:0 0 7px;letter-spacing:-.03em;
  -webkit-text-fill-color:#F8FAFC !important;color:#F8FAFC !important;background:none !important}
.track-head p{font-size:.85rem;color:#94A3B8;margin:0;line-height:1.55}
.tlist{display:flex;flex-direction:column}
.trow{display:grid;grid-template-columns:1fr auto;gap:4px 16px;
  padding:13px 12px;border-radius:9px;border-bottom:1px solid rgba(255,255,255,.05);
  transition:background .25s}
.trow:hover{background:rgba(139,92,246,.09)}
.trow b{font-size:.92rem;color:#F8FAFC;font-weight:600}
.trow i{grid-column:1;font-size:.74rem;color:#8A93A8;font-style:normal;line-height:1.4}
.trow span{grid-row:1/3;grid-column:2;align-self:center;
  font-family:'JetBrains Mono',monospace;font-size:.92rem;color:#FF8A3D;white-space:nowrap}
.track-sub{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.18em;
  text-transform:uppercase;color:#5A6178;margin:18px 0 2px;padding-left:12px}
@media(max-width:860px){
  .tracks{grid-template-columns:1fr}
  .track{padding:22px 18px}
  .track-head h3{font-size:1.3rem !important}
}

/* ==========================================================================
   v55 — font effects, icon motion, PWA note, SEO polish
   ========================================================================== */

/* 1. GLOWING TEXT SHADOW on key numbers */
.trow span,.tier-price,.case-stats b,.cnt b{
  text-shadow:0 0 24px rgba(255,138,61,.35);
  transition:text-shadow .3s;
}
.trow:hover span{text-shadow:0 0 30px rgba(255,138,61,.75)}

/* 2. LETTER-SPACING BREATHE on section eyebrows */
.sec-head .num{animation:trackBreathe 7s ease-in-out infinite}
@keyframes trackBreathe{
  0%,100%{letter-spacing:.14em;opacity:.85}
  50%{letter-spacing:.24em;opacity:1}
}

/* 3. GRADIENT UNDERLINE SWEEP on links */
.trow b,.whorow b{
  background-image:linear-gradient(90deg,#C4B5FD,#FF8A3D,#00F2FE);
  background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .45s cubic-bezier(.16,1,.3,1);
}
.trow:hover b,.whorow:hover b{background-size:100% 1px}

/* 4. WEIGHT SHIFT on hover — text thickens subtly */
.track-head h3,.vitem h4,.galitem figcaption{transition:letter-spacing .35s,transform .35s}
.track:hover .track-head h3{letter-spacing:-.015em}
.vitem:hover h4{letter-spacing:.005em}

/* 5. TEXT REVEAL MASK on gallery captions */
.galitem figcaption{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s}
.galitem:hover figcaption{transform:translateY(-3px);opacity:1}

/* ICON MOTION — bounce / flip / rotate */
.socials a:hover svg,.f-socials a:hover svg{animation:iconFlip .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes iconFlip{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.18)}100%{transform:rotateY(360deg) scale(1.1)}}

.wa:hover svg,.mbar a:hover svg{animation:iconBounce .55s cubic-bezier(.34,1.56,.64,1)}
@keyframes iconBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-4px) scale(1.12)}70%{transform:translateY(1px)}}

.botbtn:hover svg{animation:iconPulseSpin .8s ease-in-out}
@keyframes iconPulseSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}100%{transform:rotate(360deg) scale(1)}}

.gbadge:hover .stars{animation:starShake .5s ease-in-out}
@keyframes starShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}

.case-open:hover svg,.sl-go:hover svg{animation:iconNudge .5s ease-in-out}
@keyframes iconNudge{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-3px)}}

/* PWA badge on app rows */
.pwa-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.5rem;
  letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:4px;
  background:rgba(74,222,128,.14);border:1px solid rgba(74,222,128,.34);color:#4ADE80;
  margin-left:8px;vertical-align:middle}

@media(prefers-reduced-motion:reduce){
  .sec-head .num,.socials a:hover svg,.f-socials a:hover svg,.wa:hover svg,
  .botbtn:hover svg,.gbadge:hover .stars,.case-open:hover svg{animation:none !important}
}

/* ==========================================================================
   v60 — 2026 trends: scroll progress, marquee, card spotlight, magnetic
   ========================================================================== */

/* 1. SCROLL PROGRESS BAR */
#pbar{position:fixed;top:0;left:0;height:2px;width:0;z-index:9999;
  background:linear-gradient(90deg,#8B5CF6,#FF2D95,#00F2FE);
  box-shadow:0 0 12px rgba(139,92,246,.8);pointer-events:none;
  transition:width .1s linear}

/* 2. MARQUEE TICKER */
.ticker{overflow:hidden;position:relative;padding:16px 0;
  border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);
  background:#0B0D14;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tick-track{display:flex;gap:44px;width:max-content;animation:tickMove 38s linear infinite}
.ticker:hover .tick-track{animation-play-state:paused}
@keyframes tickMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.tick-item{display:flex;align-items:center;gap:12px;white-space:nowrap;
  font-family:'Space Grotesk';font-size:.92rem;font-weight:600;
  color:#7E8AA3;letter-spacing:-.01em;transition:color .3s}
.tick-item:hover{color:#F8FAFC}
.tick-dot{width:6px;height:6px;border-radius:50%;background:#8B5CF6;flex:0 0 auto;
  box-shadow:0 0 10px rgba(139,92,246,.9)}

/* 3. CARD SPOTLIGHT — cursor-following glow (pure CSS var, GPU friendly) */
.sitem,.bene,.card,.galitem,.tier,.cnt,.bene,.vitem{
  position:relative;overflow:hidden;
}
.sitem::after,.bene::after,.card::after,.galitem::after,.cnt::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  opacity:0;transition:opacity .35s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
    rgba(139,92,246,.16),transparent 62%);
}
.sitem:hover::after,.bene:hover::after,.card:hover::after,
.galitem:hover::after,.cnt:hover::after{opacity:1}

/* 4. MAGNETIC BUTTON */
.btn{transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s}

/* 5. TEXT SCRAMBLE on the ticker (subtle shimmer) */
.tick-item:nth-child(3n){animation:tickShimmer 4s ease-in-out infinite}
@keyframes tickShimmer{0%,100%{opacity:.75}50%{opacity:1}}

/* 6. SECTION ENTRANCE — clip reveal */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* 7. STICKY QUICK-QUOTE PILL (mobile only) */
@media(max-width:760px){
  .qqpill{position:fixed;left:12px;bottom:86px;z-index:800;
    display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;
    background:rgba(139,92,246,.95);border:1px solid rgba(255,255,255,.2);
    font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;
    text-transform:uppercase;color:#fff;font-weight:700;
    box-shadow:0 12px 30px -12px rgba(139,92,246,1)}
}

@media(prefers-reduced-motion:reduce){
  .tick-track{animation:none !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* ---------- bento grid (2026) ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.bcard{background:#12141D;border:1px solid rgba(255,255,255,.10);border-radius:16px;
  padding:24px 20px;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s}
.bcard::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(0,242,254,.14),transparent 62%)}
.bcard:hover{transform:translateY(-4px);border-color:rgba(0,242,254,.45);
  box-shadow:0 22px 52px -30px rgba(0,242,254,.8)}
.bcard:hover::after{opacity:1}
.b1{grid-column:span 2;grid-row:span 2;
  background:linear-gradient(150deg,#1A1533,#12141D 65%)}
.b3{grid-column:span 2}
.btag{font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.16em;
  text-transform:uppercase;color:#8B5CF6;display:block;margin-bottom:10px}
.bcard h4{font-size:1.02rem;margin:0 0 8px;color:#F8FAFC;letter-spacing:-.02em}
.b1 h4{font-size:1.4rem}
.bcard p{font-size:.78rem;color:#9AA6C0;line-height:1.6;margin:0}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}
  .b1{grid-column:span 2;grid-row:auto}.b3{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr}
  .b1,.b3{grid-column:span 1}}

/* ==========================================================================
   v64 — BIG breathing brand, Gemini-style AMOLED background, WhatsApp verified
   ========================================================================== */

/* ---------- 1. BIG BREATHING BRAND ---------- */
.brand{gap:16px !important}
.brand img,.brand .logo,.brand-logo{
  width:74px !important;height:74px !important;border-radius:19px !important;
  animation:logoBreath 4.5s ease-in-out infinite;
  box-shadow:0 0 0 1px rgba(139,92,246,.35), 0 0 28px -8px rgba(139,92,246,.9) !important;
}
@keyframes logoBreath{
  0%,100%{transform:scale(1) rotate(0deg);filter:drop-shadow(0 0 10px rgba(139,92,246,.5))}
  50%{transform:scale(1.09) rotate(-2deg);filter:drop-shadow(0 0 24px rgba(0,242,254,.75))}
}
.brand-name{
  font-size:clamp(1.5rem,2.4vw,2.15rem) !important;
  font-weight:700 !important;letter-spacing:-.035em !important;
  background:linear-gradient(100deg,#F8FAFC,#FFB86B,#FF2D95,#8B5CF6,#00F2FE,#F8FAFC) !important;
  background-size:400% 100% !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
  animation:nameFlow 7s linear infinite, nameBreath 4.5s ease-in-out infinite !important;
  white-space:nowrap;
}
@keyframes nameFlow{from{background-position:0% 50%}to{background-position:400% 50%}}
@keyframes nameBreath{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(139,92,246,0))}
  50%{transform:scale(1.035);filter:drop-shadow(0 0 16px rgba(139,92,246,.6))}
}
@media(max-width:820px){
  .brand img,.brand .logo,.brand-logo{width:58px !important;height:58px !important;border-radius:15px !important}
  .brand-name{font-size:1.32rem !important}
}
@media(max-width:420px){
  .brand img,.brand .logo,.brand-logo{width:50px !important;height:50px !important}
  .brand-name{font-size:1.14rem !important}
}

/* ---------- 2. GEMINI-STYLE AMOLED BACKGROUND ---------- */
html,body{background:#000 !important}
body{position:relative}
/* deep animated mesh — pure CSS, GPU composited, sits behind everything */
body::before{
  content:'';position:fixed;inset:-30%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38% 42% at 22% 28%, rgba(139,92,246,.30), transparent 62%),
    radial-gradient(34% 38% at 78% 22%, rgba(0,102,255,.24), transparent 64%),
    radial-gradient(42% 40% at 62% 78%, rgba(255,45,149,.18), transparent 66%),
    radial-gradient(30% 34% at 14% 76%, rgba(0,242,254,.20), transparent 68%);
  filter:blur(60px) saturate(150%);
  animation:gemDrift 26s ease-in-out infinite alternate;
  will-change:transform;
}
body::after{
  content:'';position:fixed;inset:-30%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(26% 30% at 70% 50%, rgba(120,80,255,.26), transparent 66%),
    radial-gradient(30% 26% at 30% 60%, rgba(0,200,255,.16), transparent 68%);
  filter:blur(80px);
  animation:gemDrift2 34s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes gemDrift{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  50%{transform:translate3d(3%,-2%,0) scale(1.12) rotate(4deg)}
  100%{transform:translate3d(-2%,3%,0) scale(1.06) rotate(-3deg)}
}
@keyframes gemDrift2{
  0%{transform:translate3d(0,0,0) scale(1.05)}
  100%{transform:translate3d(-4%,2%,0) scale(1.16)}
}
/* sections stay AMOLED-black so text never fights the glow */
.sec,.sec-alt{background:transparent !important;position:relative;z-index:2}
.sec::before,.sec-alt::before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.93));
}
header.nav{background:rgba(0,0,0,.86) !important}

/* ---------- 3. ICON BREATHING + FONT COLOR CYCLING ---------- */
.ico,.sico,.bico,.cimg+.cbody .ico{
  animation:iconBreath 5s ease-in-out infinite;
}
@keyframes iconBreath{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.08)}
}
/* section headings cycle colour slowly */
.sec-head h2{
  background:linear-gradient(96deg,#F8FAFC 0%,#C4B5FD 30%,#F8FAFC 55%,#7DD3FC 80%,#F8FAFC 100%);
  background-size:280% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:headFlow 11s linear infinite !important;
}
@keyframes headFlow{from{background-position:0% 50%}to{background-position:280% 50%}}

/* ---------- 4. WHATSAPP VERIFIED PAYMENT ---------- */
.wa-pay{
  margin-top:14px;padding:18px 20px;border-radius:14px;
  background:#0B1A12;border:1px solid rgba(37,211,102,.34);
  display:flex;align-items:flex-start;gap:14px;
}
.wa-pay .wa-ico{
  width:44px;height:44px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;
  background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.36);
}
.wa-pay .wa-ico svg{width:22px;height:22px;fill:none;stroke:#25D366;stroke-width:1.8}
.wa-pay h4{margin:0 0 4px;font-size:.95rem;color:#F8FAFC;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wa-pay p{margin:0;font-size:.78rem;color:#9AA6C0;line-height:1.55}
.wa-pay .wabtn{
  display:inline-flex;align-items:center;gap:7px;margin-top:11px;
  padding:9px 16px;border-radius:9px;background:#25D366;color:#04120A;
  font-size:.78rem;font-weight:700;text-decoration:none;
  transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .3s;
}
.wa-pay .wabtn:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px rgba(37,211,102,1)}
/* verified blue tick */
.vtick{width:15px;height:15px;flex:0 0 auto;vertical-align:middle}
.vtick path{fill:#1D9BF0}
.vtick polyline{stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.badge-verified{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.6rem;font-family:'JetBrains Mono',monospace;letter-spacing:.1em;
  text-transform:uppercase;color:#7DD3FC;
  background:rgba(29,155,240,.12);border:1px solid rgba(29,155,240,.34);
  padding:2px 8px;border-radius:5px;font-weight:700;
}

@media(prefers-reduced-motion:reduce){
  .brand img,.brand-name,.brand .logo,.brand-logo,.ico,.sico,.bico,
  .sec-head h2,body::before,body::after{animation:none !important}
}

/* brand mark — real selector */
.brand-mark{
  display:grid;place-items:center;flex:0 0 auto;
  width:74px;height:74px;border-radius:19px;
  background:rgba(139,92,246,.14);
  border:1px solid rgba(139,92,246,.36);
  animation:logoBreath 4.5s ease-in-out infinite;
}
.brand-mark img{
  width:56px !important;height:56px !important;border-radius:12px;
  object-fit:contain;
}
header.nav{height:auto;padding-top:10px;padding-bottom:10px}
@media(max-width:820px){
  .brand-mark{width:56px;height:56px;border-radius:15px}
  .brand-mark img{width:42px !important;height:42px !important}
}
@media(max-width:420px){
  .brand-mark{width:48px;height:48px;border-radius:13px}
  .brand-mark img{width:36px !important;height:36px !important}
}

/* stronger AMOLED glow */
body::before{filter:blur(70px) saturate(175%) !important;opacity:1}
body::after{filter:blur(90px) !important;opacity:.9}

/* ---------- stop pixelation: no upscale, no aggressive zoom ---------- */
.cimg img,.galitem img,.bandimg img,.card .cimg img{
  image-rendering:auto;
  transform:scale(1) !important;
  transition:transform .5s cubic-bezier(.16,1,.3,1) !important;
}
.card:hover .cimg img,.galitem:hover img,.bandimg:hover img{
  transform:scale(1.02) !important;   /* was 1.04–1.06 → caused blur */
}
.cimg,.galitem,.bandimg{background:#0B0D14;overflow:hidden}
/* ensure containers never stretch an image past its native size */
.cimg img,.bandimg img,.galitem img{width:100%;height:auto;object-fit:cover}
.paynote{margin-top:18px;padding:20px 24px;border-radius:14px;
  background:#101820;border:1px solid rgba(139,92,246,.26);
  font-size:.86rem;color:#B9C0DE;line-height:1.7}
.paynote b{color:#C4B5FD}

/* ==========================================================================
   v68 — PERFORMANCE PASS. Kill the jitter, hold 120fps.
   The blurred fixed pseudo-elements were repainting the whole viewport.
   ========================================================================== */

/* 1. BACKGROUND: no filter:blur, no animation. Pre-soft gradients only. */
body::before,body::after{
  filter:none !important;
  animation:none !important;
  will-change:auto !important;
  transform:none !important;
  contain:strict;
}
body::before{
  inset:0 !important;
  background:
    radial-gradient(ellipse 60% 50% at 20% 18%, rgba(139,92,246,.16), transparent 60%),
    radial-gradient(ellipse 55% 45% at 82% 12%, rgba(0,102,255,.12), transparent 62%),
    radial-gradient(ellipse 65% 50% at 68% 88%, rgba(255,45,149,.09), transparent 64%),
    radial-gradient(ellipse 50% 45% at 10% 82%, rgba(0,242,254,.10), transparent 66%) !important;
}
body::after{display:none !important}

/* 2. Kill every expensive filter animation on text */
.sec-head h2,.brand-name,.hero-title,.cnt b,.trow span,.track-head h3{
  filter:none !important;
  text-shadow:none !important;
}
@keyframes neonHead{0%,100%{filter:none}50%{filter:none}}

/* 3. Header: solid, no backdrop-filter (it re-blurs on every scroll frame) */
header.nav,header.nav.scrolled{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  background:#000 !important;
}

/* 4. Cards: drop the cursor-spotlight repaint; keep transform hover only */
.sitem::after,.bene::after,.card::after,.galitem::after,.cnt::after,.bcard::after{
  display:none !important;
}
.sitem:hover,.bene:hover,.card:hover,.cnt:hover,.bcard:hover{
  transform:translateY(-3px);
}

/* 5. Only animate what is on screen — offscreen sections skip paint entirely */
.sec,.sec-alt{content-visibility:auto;contain-intrinsic-size:auto 700px}
.hero{content-visibility:visible}

/* 6. Reduce simultaneous infinite animations: pause decorative loops */
.sitem{animation:none !important}
.sitem .sico{animation:none !important}
.sitem b{animation:none !important}
.sitem::after{animation:none !important}
.sico,.bico,.ico{animation:none !important}
.sec-head .num{animation:none !important}
.galitem,.bandimg{will-change:auto !important}

/* keep only the brand breathing — one element, cheap */
.brand-mark{animation:logoBreath 5s ease-in-out infinite;will-change:transform}

/* 7. Images: decode async, never repaint on hover */
img{image-rendering:auto}
.cimg img,.galitem img,.bandimg img{transition:none !important;transform:none !important}
.card:hover .cimg img,.galitem:hover img,.bandimg:hover img{transform:none !important}

/* 8. Smooth scroll without jank */
html{scroll-behavior:auto}

/* 9. Ticker: pause offscreen */
.ticker{content-visibility:auto;contain-intrinsic-size:auto 60px}

@media(max-width:820px){
  /* mobile: strip everything non-essential */
  body::before{opacity:.7}
  .sitem,.bene,.card,.cnt,.bcard{box-shadow:none !important}
  .tick-track{animation-duration:52s}
}

/* ==========================================================================
   v69 — final jitter kill
   ========================================================================== */
/* hard-reserve image boxes: no reflow, ever */
.cimg img,.bandimg img,.galitem img,.case-device img{
  aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;
  content-visibility:auto;
}
/* canvas: contained so it never invalidates the page */
#fx3d{contain:strict;will-change:transform;pointer-events:none}
/* ticker: no animation on mobile (it's the other constant repaint) */
@media(max-width:820px){.tick-track{animation:none !important;overflow-x:auto}}
/* progress bar: cheaper */
#pbar{will-change:width;transform:translateZ(0)}
/* every section isolates its own paint */
.sec,.sec-alt{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:auto 620px}
/* drop remaining box-shadows on large elements (expensive to composite) */
.bandimg,.galitem,.case-device{box-shadow:none !important}
/* one transform layer for cards, nothing else */
.card,.vitem,.sitem,.cnt,.bene,.bcard{transform:translateZ(0)}

/* ==========================================================================
   v70 — FaiCore's safe fixes (non-pricing)
   ========================================================================== */

/* 1. box-sizing fix — kills the thin hairline border artefacts */
*,*::before,*::after{box-sizing:border-box !important}

/* 2. Syne for headings, JetBrains Mono for prices */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&display=swap');
h1,h2,h3,h4,.sec-head h2,.track-head h3,.bene h4,.bcard h4{
  font-family:'Syne','Space Grotesk',sans-serif !important;
  font-weight:700;
}
.trow span,.cnt b,.tier-price,.price,.pamount{
  font-family:'JetBrains Mono',monospace !important;
  font-variant-numeric:tabular-nums;
}

/* 3. hero title: max-width 95vw + breathing letter-spacing */
.hero-title{
  max-width:95vw;
  animation:heroFlow 9s linear infinite, heroTrack 6s ease-in-out infinite !important;
}
@keyframes heroTrack{
  0%,100%{letter-spacing:-.045em}
  50%{letter-spacing:-.025em}
}
@media(max-width:820px){.hero-title{max-width:94vw}}

/* 4. card borders: consistent 1px, no fractional widths */
.card,.vitem,.sitem,.cnt,.bene,.bcard,.tier,.galitem,.bandimg{
  border-width:1px !important;
  outline:none;
}

@media(prefers-reduced-motion:reduce){
  .hero-title{animation:none !important}
}

/* ==========================================================================
   v73 — UI FIXES: table clipping, logo, bottom bar, smoothness
   ========================================================================== */

/* ---------- 1. COMPARISON TABLE: stacked cards on mobile ---------- */
@media(max-width:760px){
  .cmpwrap{overflow:visible !important;border:0 !important;border-radius:0 !important;background:transparent !important}
  .cmp2{min-width:0 !important;width:100% !important;display:block !important;background:transparent !important;border-collapse:separate}
  .cmp2 thead{display:none !important}
  .cmp2 tbody{display:block !important}
  .cmp2 tr{
    display:block !important;margin-bottom:12px;border-radius:14px;
    background:#12141D;border:1px solid rgba(255,255,255,.10);
    padding:6px 0;overflow:hidden;
  }
  .cmp2 td{
    display:grid !important;grid-template-columns:1fr auto;gap:12px;
    align-items:baseline;padding:11px 16px !important;
    border-bottom:1px solid rgba(255,255,255,.055) !important;
    font-size:.82rem !important;
  }
  .cmp2 td:last-child{border-bottom:0 !important}
  /* first cell = the row title */
  .cmp2 td:first-child{
    display:block !important;background:rgba(139,92,246,.10);
    font-weight:700 !important;color:#F8FAFC !important;
    font-size:.78rem !important;letter-spacing:.02em;
    padding:11px 16px !important;margin-bottom:2px;
  }
  /* vendor label appears before the value */
  .cmp2 td[data-label]::before{
    content:attr(data-label);
    font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
    color:#6B7590;font-family:'JetBrains Mono',monospace;
    font-weight:500;
  }
  .cmp2 td.us{background:rgba(139,92,246,.08) !important}
  .cmp2 td.us::before{color:#C4B5FD}
}

/* ---------- 2. HEADER LOGO: square, contained, never squished ---------- */
.brand-mark{overflow:hidden}
.brand-mark img{
  width:100% !important;height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:12px;
  padding:3px;
}

/* ---------- 3. BOTTOM BAR: no wrapping ---------- */
.mbar a,.mbar .btn,.mbar button{
  white-space:nowrap !important;
  font-size:.8rem !important;
  letter-spacing:-.01em;
  padding:12px 10px !important;
}
@media(max-width:400px){
  .mbar a,.mbar .btn,.mbar button{font-size:.72rem !important;padding:11px 6px !important}
}

/* ---------- 4. TABLE: never overflow the viewport ---------- */
.cmpwrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp2{max-width:100%}
table{max-width:100%}

/* ---------- 5. SMOOTHNESS: strip remaining expensive effects ---------- */
/* no content-visibility — it was causing layout jumps on some Android browsers */
.sec,.sec-alt,.ticker,.galitem,.bandimg{
  content-visibility:visible !important;
  contain:none !important;
}
/* no contain on cards either */
.card,.vitem,.sitem,.cnt,.bene,.bcard,.tier,.galitem{contain:none !important}
/* single compositing layer for the whole page */
body{transform:translateZ(0);-webkit-font-smoothing:antialiased}
/* canvas: hard-stop any repaint bleed */
#fx3d{contain:strict;will-change:auto}
/* kill the last infinite animations */
.tick-track{animation-duration:60s !important}
#pbar{transition:none !important}

/* bot panel — hard override */
#botpanel.open,
#botpanel.on{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
  visibility:visible !important;
  display:block !important;
}
#botpanel{
  z-index:9500 !important;
}

/* HARD STOP: an inherited animation was pinning the bot panel at opacity 0 */
#botpanel, #botpanel.open, .botpanel, .botpanel.open{
  animation: none !important;
  -webkit-animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
#botpanel:not(.open), .botpanel:not(.open){
  opacity: 0 !important;
  transform: translateY(12px) scale(.97) !important;
  pointer-events: none !important;
  display: block !important;
}

/* FINAL: display-based toggle — opacity removed from the equation entirely */
.botpanel, #botpanel{
  display:none !important;
  opacity:1 !important;
  filter:none !important;
  animation:none !important;
  transform:none !important;
  visibility:visible !important;
}
.botpanel.open, #botpanel.open, .botpanel.on, #botpanel.on{
  display:block !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
