/* ===== Premium visual layer (loads after site.css + site-extra.css) ===== */
:root{--glow-o:rgba(243,82,32,.35);--glow-b:rgba(43,143,214,.35);--glass:rgba(255,255,255,.035);}
body{background:
  radial-gradient(1200px 600px at 80% -5%, rgba(43,143,214,.13), transparent 60%),
  radial-gradient(900px 600px at -10% 20%, rgba(243,82,32,.09), transparent 55%), var(--bg);}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%);}
::selection{background:var(--orange);color:#fff;}
section{padding:110px 0;}

/* header */
header{background:rgba(8,13,26,.55);}
header.scrolled{box-shadow:0 10px 40px -20px rgba(0,0,0,.8);}
.nav-links a{padding:6px 2px;}
.btn-primary{background:linear-gradient(135deg,#ff6a35,#e8431a 55%,#c93a12);position:relative;overflow:hidden;}
.btn-primary::after{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .6s var(--ease);}
.btn-primary:hover::after{left:140%;}
.btn-ghost{backdrop-filter:blur(6px);background:var(--glass);}

/* hero */
.hero{padding:190px 0 130px;overflow:hidden;}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none;animation:float 14s ease-in-out infinite;}
.orb.o1{width:420px;height:420px;background:var(--glow-o);top:-80px;left:-120px;}
.orb.o2{width:480px;height:480px;background:var(--glow-b);top:60px;right:-160px;animation-delay:-6s;}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-26px)}}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 10px;border:1px solid var(--border-strong);border-radius:999px;background:var(--glass);font-size:13px;color:var(--text-muted);margin-bottom:26px;backdrop-filter:blur(8px);}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:#3fa460;box-shadow:0 0 0 4px rgba(63,164,96,.2);animation:pulse 2s infinite;}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(63,164,96,0)}}
.hero h1{font-size:clamp(40px,5.6vw,72px);letter-spacing:-.035em;line-height:1.04;}
.hero h1 .accent{background-size:200% auto;animation:shine 6s linear infinite;}
@keyframes shine{to{background-position:200% center}}
.hero-meta{padding-top:26px;border-top:1px solid var(--border);}
.hero-meta .num{font-size:30px;}
.hero-slider{border-radius:22px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px var(--border-strong),0 0 80px -20px var(--glow-b);transform:perspective(1400px) rotateY(-4deg);transition:transform .6s var(--ease);}
.hero-slider:hover{transform:perspective(1400px) rotateY(0);}

/* section heads */
.section-head{margin-left:auto;margin-right:auto;text-align:center;max-width:720px;}
.section-head .eyebrow{justify-content:center;}
.section-head h2{font-size:clamp(30px,3.8vw,48px);letter-spacing:-.03em;}
.section-head h2::after{content:"";display:block;width:64px;height:3px;border-radius:3px;margin:20px auto 0;background:linear-gradient(90deg,var(--orange),var(--blue));}
.page-hero .section-head,.page-hero{text-align:left;}
.about .section-head,.contact .section-head{text-align:center;}
.eyebrow{padding:6px 14px;border:1px solid rgba(255,138,82,.28);border-radius:999px;background:rgba(243,82,32,.07);}
.eyebrow::before{display:none;}
.eyebrow:empty{display:none;}

/* glass cards with cursor spotlight */
.service-card,.why-card,.testi-card,.stat-card,.card,.side-box{background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015));backdrop-filter:blur(10px);position:relative;}
.service-card::before,.why-card::before,.card::before,.stat-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,138,82,.16),transparent 45%);}
.service-card:hover::before,.why-card:hover::before,.card:hover::before,.stat-card:hover::before{opacity:1;}
.service-card:hover,.card:hover{border-color:rgba(255,138,82,.4);box-shadow:0 24px 60px -28px rgba(243,82,32,.45);}
.service-icon,.why-icon{box-shadow:0 8px 24px -10px currentColor;}
.service-card::after{display:none;}
.stat-card .num,.hero-meta .num{background:linear-gradient(120deg,#fff,var(--orange-light));-webkit-background-clip:text;background-clip:text;color:transparent;}
.card-media{position:relative;}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,13,26,.65));}
.badge-demo{position:absolute;z-index:2;top:14px;left:14px;padding:5px 12px;border-radius:999px;background:rgba(8,13,26,.75);border:1px solid var(--border-strong);font-size:12px;font-weight:600;backdrop-filter:blur(8px);display:inline-flex;align-items:center;gap:7px;}
.badge-demo i{width:7px;height:7px;border-radius:50%;background:#3fa460;}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step;position:relative;}
.step{padding:28px 24px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.01));position:relative;}
.step::before{counter-increment:step;content:"0" counter(step);font-family:'JetBrains Mono',monospace;font-size:34px;font-weight:500;background:linear-gradient(120deg,var(--orange-light),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:14px;}
.step h3{font-size:18px;margin-bottom:8px;}.step p{font-size:14px;color:var(--text-muted);}

/* CTA banner */
.cta-band{padding:0 0 110px;}
.cta-box{position:relative;overflow:hidden;border-radius:28px;padding:64px 48px;text-align:center;border:1px solid rgba(255,138,82,.3);
  background:radial-gradient(600px 300px at 15% 0%,rgba(243,82,32,.35),transparent 60%),radial-gradient(600px 300px at 90% 100%,rgba(43,143,214,.35),transparent 60%),var(--surface);}
.cta-box h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.03em;margin-bottom:14px;}
.cta-box p{color:var(--text-muted);max-width:560px;margin:0 auto 30px;font-size:17px;}
.cta-box .hero-actions{justify-content:center;margin:0;}

/* footer */
footer{position:relative;z-index:1;border-top:1px solid var(--border);background:linear-gradient(180deg,transparent,rgba(0,0,0,.25));}
footer::before{content:"";position:absolute;top:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--orange),var(--blue),transparent);}

/* floating buttons */
.fab{position:fixed;right:22px;z-index:90;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.7);transition:transform .25s var(--ease);}
.fab:hover{transform:translateY(-3px) scale(1.05);}
.fab.wa{bottom:24px;background:#25d366;color:#fff;}
.fab.up{bottom:88px;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);opacity:0;pointer-events:none;transition:.3s;}
.fab.up.show{opacity:1;pointer-events:auto;}

/* forms */
.contact-form{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));backdrop-filter:blur(12px);border-color:var(--border-strong);box-shadow:0 30px 80px -40px rgba(0,0,0,.8);}
.field input:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(43,143,214,.18);}

/* page hero */
.page-hero{overflow:hidden;}
.page-hero::before{content:"";position:absolute;top:-120px;right:-120px;width:460px;height:460px;border-radius:50%;background:var(--glow-b);filter:blur(120px);opacity:.45;pointer-events:none;}
.page-hero h1{letter-spacing:-.035em;}

@media (max-width:980px){.process{grid-template-columns:1fr 1fr}.hero-slider{transform:none}section{padding:80px 0}.cta-box{padding:44px 22px}}
@media (max-width:640px){.process{grid-template-columns:1fr}.fab{right:14px}}
@media (prefers-reduced-motion:reduce){.orb,.hero h1 .accent,.hero-badge i{animation:none}}

/* ===== v3: banners, breadcrumbs, tech icons ===== */
.crumbs{display:block;padding:0;max-width:none;margin:0 0 20px;}
.crumbs ol{list-style:none;display:inline-flex;flex-wrap:wrap;align-items:center;gap:0;padding:7px 8px;border:1px solid var(--border-strong);border-radius:999px;background:rgba(8,13,26,.55);backdrop-filter:blur(10px);}
.crumbs li{display:inline-flex;align-items:center;font-size:13px;color:var(--text-dim);}
.crumbs li+li::before{content:"";width:6px;height:6px;border-top:1.5px solid var(--text-dim);border-right:1.5px solid var(--text-dim);transform:rotate(45deg);margin:0 12px 0 8px;}
.crumbs a{color:var(--text-muted);padding:3px 10px;border-radius:999px;transition:.2s;}
.crumbs li:first-child a{padding-left:12px;}
.crumbs a:hover{color:#fff;background:rgba(255,255,255,.08);}
.crumbs [aria-current]{color:#fff;font-weight:600;padding:3px 12px 3px 0;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.page-hero{padding:170px 0 80px;min-height:360px;display:flex;align-items:flex-end;isolation:isolate;border-bottom:1px solid var(--border);}
.page-hero>.wrap{width:100%;}
.page-hero::before{display:none;}
.banner-bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center right;}
.banner-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,26,.9) 8%,rgba(8,13,26,.6) 45%,rgba(8,13,26,.2)),linear-gradient(0deg,var(--bg) 0%,transparent 40%);}
.page-hero h1{text-shadow:0 4px 30px rgba(0,0,0,.5);}
.hero-bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center right;opacity:.55;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,26,.92) 20%,rgba(8,13,26,.4)),linear-gradient(0deg,var(--bg) 0%,transparent 35%);}
.hero{isolation:isolate;}
.tech-chip .ticon{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 20px -10px rgba(0,0,0,.6);}
.tech-chip .ticon img{width:26px;height:26px;object-fit:contain;}
.tech-chip .ticon img.inv{filter:none;}
@media (max-width:640px){.page-hero{padding-top:130px;min-height:300px}.crumbs [aria-current]{max-width:150px}}

/* ===== theme toggle button ===== */
.theme-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border-strong);background:var(--glass);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s var(--ease);flex:none}
.theme-btn:hover{border-color:var(--orange);color:var(--orange);transform:rotate(15deg)}
.theme-btn .i-sun{display:none}
:root[data-theme=dark] .theme-btn .i-sun{display:block}:root[data-theme=dark] .theme-btn .i-moon{display:none}

