/* ============================================================
   CODESCRIPTUM — STRONA GŁÓWNA
   WOW Edition — Maximum visual impact
   Palette: Indigo / Electric Blue / Cyan / Neon Purple / Emerald
   ============================================================ */

/* ── Reset & Variables ──────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --indigo:       #4F46E5;
  --indigo-dark:  #3730A3;
  --electric:     #6366F1;
  --cyan:         #06B6D4;
  --cyan-light:   #22D3EE;
  --neon:         #A78BFA;
  --neon-light:   #C4B5FD;
  --emerald:      #10B981;
  --orange:       #F59E0B;
  --rose:         #F43F5E;

  --dark:         #030712;
  --dark-800:     #0B0F1A;
  --dark-card:    #111827;
  --dark-surface: #1F2937;
  --gray-100:     #F8FAFC;
  --gray-200:     #E2E8F0;
  --gray-300:     #CBD5E1;
  --gray-400:     #94A3B8;
  --gray-500:     #64748B;
  --white:        #FFFFFF;

  --font:         'Inter', system-ui, sans-serif;
  --font-display: 'Space Grotesk', 'Inter', sans-serif;

  --section-py:   110px;
  --container:    1200px;
  --radius:       16px;
  --radius-sm:    10px;
}

html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--font);color:var(--gray-100);background:var(--dark);line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ── Scroll progress bar ────────────────────────────────────── */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;z-index:10001;
  background:linear-gradient(90deg,var(--cyan),var(--electric),var(--neon),var(--rose));
  width:0%;transition:width .08s linear;
  box-shadow:0 0 12px var(--cyan),0 0 24px rgba(99,102,241,.4);
}

/* ── Cursor glow ─────────────────────────────────────────────── */
.cursor-glow{
  position:fixed;width:500px;height:500px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(99,102,241,.07) 0%,transparent 70%);
  transform:translate(-50%,-50%);
  transition:left .12s ease,top .12s ease;
  display:none;
}
@media(hover:hover){.cursor-glow{display:block}}

/* ── Gradient text ──────────────────────────────────────────── */
.gradient-text{
  background:linear-gradient(135deg,var(--cyan-light),var(--electric),var(--neon));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  background-size:200% 200%;
  animation:gradientShift 4s ease-in-out infinite;
}
.gradient-text-dark{
  background:linear-gradient(135deg,var(--indigo),var(--electric),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  background-size:200% 200%;
  animation:gradientShift 4s ease-in-out infinite;
}
@keyframes gradientShift{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* ── Buttons ────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 32px;border-radius:50px;font-weight:600;font-size:.95rem;
  cursor:pointer;border:none;transition:all .35s cubic-bezier(.25,.8,.25,1);
  font-family:var(--font);position:relative;overflow:hidden;
}
.btn::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);
  opacity:0;transition:opacity .3s;
}
.btn:hover::after{opacity:1}
.btn--primary{
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;box-shadow:0 4px 24px rgba(99,102,241,.35);
}
.btn--primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 40px rgba(99,102,241,.55)}
.btn--ghost{color:var(--cyan-light);border:1px solid rgba(6,182,212,.3);background:transparent}
.btn--ghost:hover{background:rgba(6,182,212,.08);border-color:var(--cyan-light);transform:translateY(-2px)}
.btn--glow{animation:btnGlow 2.5s ease-in-out infinite}
.btn--full{width:100%;justify-content:center}
.btn--sm{padding:10px 20px;font-size:.85rem}
.btn__loader{display:none}
.btn--loading .btn__text{display:none}
.btn--loading .btn__loader{display:inline-flex;align-items:center;gap:8px}

@keyframes btnGlow{
  0%,100%{box-shadow:0 4px 24px rgba(99,102,241,.35)}
  50%{box-shadow:0 4px 40px rgba(99,102,241,.65),0 0 80px rgba(99,102,241,.2)}
}

.btn .ripple{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.3);
  transform:scale(0);animation:rippleAnim .6s ease-out;pointer-events:none;
}
@keyframes rippleAnim{to{transform:scale(4);opacity:0}}

/* ── Section base ───────────────────────────────────────────── */
.section{padding:var(--section-py) 0;position:relative;overflow:hidden}
.section--dark{background:var(--dark)}
.section--light{background:var(--gray-100);color:var(--dark)}
.section--gradient{
  background:linear-gradient(180deg,var(--dark) 0%,var(--dark-card) 50%,var(--indigo-dark) 100%);
}
.section__particles{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.3}
.section__title{
  font-family:var(--font-display);
  font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;text-align:center;margin-bottom:14px;
  position:relative;z-index:1;
}
.section__title--light{color:#fff}
.section__subtitle{
  text-align:center;font-size:1.1rem;color:var(--gray-400);max-width:680px;margin:0 auto 60px;
  position:relative;z-index:1;
}
.section__subtitle--light{color:rgba(255,255,255,.55)}
.section--light .section__title{color:var(--dark)}
.section--light .section__subtitle{color:var(--gray-500)}

/* ── Header — homepage-specific (base inherited from global.css) ── */
.nav__link::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
  background:linear-gradient(90deg,var(--cyan-light),var(--electric));transition:width .3s ease;
}
.nav__link:hover::after{width:100%}
.nav__link--cta::after{display:none}

/* ── Dropdown menu ──────────────────────────────────────────── */
.nav__dropdown{position:relative}
.nav__link--has-dropdown{display:flex;align-items:center;gap:5px}
.nav__dropdown-arrow{
  font-size:.55rem;transition:transform .3s ease;
  margin-top:1px;
}
.nav__dropdown:hover .nav__dropdown-arrow{transform:rotate(180deg)}

.nav__dropdown-menu{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:240px;
  background:rgba(10,15,30,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(99,102,241,.15);
  border-radius:14px;padding:8px;
  opacity:0;pointer-events:none;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(99,102,241,.08);
  z-index:1100;
}
.nav__dropdown-menu::before{
  content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  width:16px;height:8px;
  background:rgba(10,15,30,.96);
  clip-path:polygon(50% 0%,0% 100%,100% 100%);
}
.nav__dropdown:hover .nav__dropdown-menu{
  opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
/* Invisible bridge between link and dropdown to prevent hover gap */
.nav__dropdown-menu::after{
  content:'';position:absolute;top:-14px;left:0;right:0;height:14px;
}

.nav__dropdown-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:8px;
  color:rgba(255,255,255,.7);font-size:.85rem;font-weight:500;
  transition:all .25s ease;white-space:nowrap;
}
.nav__dropdown-item i{
  width:18px;text-align:center;font-size:.8rem;
  color:var(--cyan-light);transition:color .25s;
}
.nav__dropdown-item:hover{
  background:rgba(99,102,241,.12);color:#fff;
  transform:translateX(4px);
}
.nav__dropdown-item:hover i{color:var(--electric)}

/* ── AI highlight link ─────────────────────────────────────── */
.nav__link--ai{
  color:#fff !important;font-weight:600;font-size:.88rem;
  background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(6,182,212,.2));
  padding:8px 18px;border-radius:50px;
  border:1px solid rgba(168,85,247,.35);
  position:relative;overflow:hidden;
  transition:all .4s ease;
}
.nav__link--ai::before{
  content:'';position:absolute;inset:-2px;border-radius:50px;
  background:linear-gradient(135deg,var(--neon),var(--cyan-light),var(--electric));
  opacity:0;z-index:-1;filter:blur(8px);
  transition:opacity .4s ease;
}
.nav__link--ai::after{display:none}
.nav__link--ai i{
  margin-right:2px;
  animation:aiBolt 2s ease-in-out infinite;
}
@keyframes aiBolt{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.6;transform:scale(1.15)}
}
.nav__link--ai:hover{
  background:linear-gradient(135deg,rgba(168,85,247,.35),rgba(6,182,212,.35));
  border-color:rgba(168,85,247,.6);
  box-shadow:0 0 24px rgba(168,85,247,.3),0 0 48px rgba(6,182,212,.15);
  transform:translateY(-1px);
}
.nav__link--ai:hover::before{opacity:.5}

/* ── Hero ───────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  padding:120px 0 100px;overflow:hidden;
}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.65}

/* Aurora borealis effect */
.hero__aurora{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 20% 40%, rgba(6,182,212,.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 70% 30%, rgba(99,102,241,.1) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 50% 60%, rgba(167,139,250,.08) 0%, transparent 50%);
  animation:auroraShift 12s ease-in-out infinite alternate;
  mix-blend-mode:screen;
}
@keyframes auroraShift{
  0%{transform:translateY(0) scaleX(1);opacity:.7}
  33%{transform:translateY(-15px) scaleX(1.05);opacity:1}
  66%{transform:translateY(10px) scaleX(.97);opacity:.8}
  100%{transform:translateY(-5px) scaleX(1.03);opacity:.9}
}

/* Sparkles canvas (rising particles) */
.hero__sparkles-canvas{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;
}

/* Mouse spotlight beam */
.hero__spotlight{
  position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;
  transition:opacity .4s ease;
  opacity:0;
}

.hero__grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 1px);
  background-size:50px 50px;
  animation:gridPulse 6s ease-in-out infinite;
}
@keyframes gridPulse{0%,100%{opacity:.5}50%{opacity:1}}

.hero__orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.hero__orb--1{width:700px;height:700px;background:var(--indigo);top:-250px;right:-150px;opacity:.18;animation:orbFloat1 14s ease-in-out infinite}
.hero__orb--2{width:500px;height:500px;background:var(--cyan);bottom:-150px;left:-150px;opacity:.14;animation:orbFloat2 12s ease-in-out infinite}
.hero__orb--3{width:400px;height:400px;background:var(--neon);top:40%;left:60%;transform:translate(-50%,-50%);opacity:.1;animation:orbFloat3 16s ease-in-out infinite}
.hero__orb--4{width:300px;height:300px;background:var(--emerald);bottom:20%;right:10%;opacity:.08;animation:orbFloat2 18s ease-in-out infinite reverse}
@keyframes orbFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,40px)}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-30px)}}
@keyframes orbFloat3{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}

.hero__inner{position:relative;z-index:1;text-align:center;max-width:900px;margin:0 auto}

.hero__badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);
  padding:8px 22px;border-radius:50px;font-size:.85rem;color:var(--neon-light);margin-bottom:28px;
  animation:badgePulse 3s ease-in-out infinite;
}
.hero__badge-dot{
  width:8px;height:8px;border-radius:50%;background:var(--emerald);
  animation:dotBlink 2s ease-in-out infinite;
}
@keyframes dotBlink{0%,100%{opacity:1;box-shadow:0 0 6px var(--emerald)}50%{opacity:.4;box-shadow:none}}
@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.15)}50%{box-shadow:0 0 0 14px rgba(99,102,241,0)}}

.hero__title{
  font-family:var(--font-display);
  font-size:clamp(1.8rem,4.2vw,3rem);font-weight:700;line-height:1.18;margin-bottom:14px;color:#fff;
}

/* Typing line in services section */
.services__typing-line{
  font-family:var(--font-display);
  font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:500;
  color:rgba(255,255,255,.5);text-align:center;margin-bottom:36px;min-height:1.8em;
}
.services__typing-line .typing-text{
  color:var(--cyan-light);font-weight:600;
}
.typing-cursor{
  color:var(--cyan-light);
  animation:blink 1s step-end infinite;margin-left:2px;font-weight:300;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}


.hero__subtitle{
  font-size:1.2rem;color:rgba(255,255,255,.6);max-width:660px;margin:0 auto 40px;line-height:1.8;
  opacity:0;animation:fadeSlideUp .8s .5s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes fadeSlideUp{
  0%{opacity:0;transform:translateY(20px)}
  100%{opacity:1;transform:translateY(0)}
}

.hero__stats{display:flex;justify-content:center;gap:40px;margin-bottom:40px;flex-wrap:wrap}
.hero__stat{
  text-align:center;position:relative;
  padding:16px 20px;border-radius:var(--radius);
  transition:all .4s ease;
}
.hero__stat:hover{background:rgba(99,102,241,.06)}

/* Animated glow ring behind each stat */
.hero__stat-ring{
  position:absolute;inset:-4px;border-radius:var(--radius);
  border:1px solid transparent;
  background:linear-gradient(var(--dark),var(--dark)) padding-box,
             linear-gradient(135deg,rgba(6,182,212,.3),rgba(99,102,241,.1),rgba(167,139,250,.3)) border-box;
  opacity:0;transition:opacity .4s;pointer-events:none;
  z-index:-1;
}
.hero__stat:hover .hero__stat-ring{opacity:1}

.hero__stat-number{font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:#fff;position:relative}
.hero__stat-suffix{font-size:1.4rem;font-weight:700;color:var(--cyan-light)}
.hero__stat-label{display:block;font-size:.78rem;color:rgba(255,255,255,.45);margin-top:4px}

.hero__actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}

.hero__logos{
  display:flex;justify-content:center;gap:24px;flex-wrap:wrap;
}
.hero__logo-item{
  width:44px;height:44px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:rgba(255,255,255,.3);
  transition:all .4s cubic-bezier(.25,.8,.25,1);
  animation:logoFloat 3.5s ease-in-out infinite;
}
.hero__logo-item:nth-child(1){animation-delay:0s}
.hero__logo-item:nth-child(2){animation-delay:.2s}
.hero__logo-item:nth-child(3){animation-delay:.4s}
.hero__logo-item:nth-child(4){animation-delay:.6s}
.hero__logo-item:nth-child(5){animation-delay:.8s}
.hero__logo-item:nth-child(6){animation-delay:1s}
.hero__logo-item:nth-child(7){animation-delay:1.2s}
.hero__logo-item:nth-child(8){animation-delay:1.4s}
.hero__logo-item:nth-child(9){animation-delay:1.6s}
@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
.hero__logo-item svg{width:20px;height:20px;fill:currentColor}
.hero__logo-item:hover{
  color:var(--cyan-light);background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.35);
  transform:translateY(-6px) scale(1.15) !important;
  box-shadow:0 8px 28px rgba(99,102,241,.25),0 0 12px rgba(6,182,212,.2);
}

/* Scroll indicator */
.hero__scroll-indicator{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(255,255,255,.3);font-size:.75rem;animation:scrollBounce 2s ease-in-out infinite;
}
.hero__scroll-mouse{
  width:20px;height:32px;border:2px solid rgba(255,255,255,.2);border-radius:10px;
  display:flex;justify-content:center;padding-top:5px;
}
.hero__scroll-wheel{
  width:3px;height:6px;background:rgba(255,255,255,.4);border-radius:2px;
  animation:scrollWheel 2s ease-in-out infinite;
}
@keyframes scrollWheel{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.3}}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

/* ── Marquee ────────────────────────────────────────────────── */
.marquee{
  background:linear-gradient(90deg,var(--indigo-dark),var(--indigo),var(--indigo-dark));
  padding:16px 0;overflow:hidden;position:relative;
  border-top:1px solid rgba(99,102,241,.2);
  border-bottom:1px solid rgba(99,102,241,.2);
}
.marquee__track{
  display:flex;gap:48px;white-space:nowrap;
  animation:marqueeScroll 30s linear infinite;
}
.marquee__item{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.88rem;font-weight:600;color:rgba(255,255,255,.85);
  flex-shrink:0;
}
.marquee__item i{color:var(--cyan-light);font-size:.8rem}
@keyframes marqueeScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ── Service cards ──────────────────────────────────────────── */
.services__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  position:relative;z-index:1;
}

.service-card{
  position:relative;
  background:var(--dark-card);border:1px solid rgba(99,102,241,.08);
  border-radius:var(--radius);padding:36px 28px 28px;
  display:flex;flex-direction:column;gap:12px;
  transition:all .5s cubic-bezier(.25,.8,.25,1);
  overflow:hidden;cursor:pointer;
  text-decoration:none;color:inherit;
}
.service-card__glow{
  position:absolute;top:-60px;right:-60px;width:200px;height:200px;
  border-radius:50%;filter:blur(80px);opacity:0;
  transition:opacity .5s ease;pointer-events:none;
}
.service-card:hover .service-card__glow{opacity:.15}
.service-card__glow--emerald{background:var(--emerald)}
.service-card__glow--purple{background:var(--neon)}
.service-card__glow--blue{background:var(--electric)}
.service-card__glow--cyan{background:var(--cyan)}
.service-card__glow--orange{background:var(--orange)}
.service-card__glow--green{background:var(--emerald)}

.service-card:hover{
  transform:translateY(-10px);
  border-color:rgba(99,102,241,.25);
  box-shadow:0 24px 80px rgba(99,102,241,.12);
}

.service-card__icon{
  width:56px;height:56px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:4px;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
}
.service-card:hover .service-card__icon{transform:scale(1.15) rotate(5deg)}
.service-card__icon--emerald{background:rgba(16,185,129,.1);color:var(--emerald)}
.service-card__icon--purple{background:rgba(167,139,250,.1);color:var(--neon)}
.service-card__icon--blue{background:rgba(99,102,241,.1);color:var(--electric)}
.service-card__icon--cyan{background:rgba(6,182,212,.1);color:var(--cyan)}
.service-card__icon--orange{background:rgba(245,158,11,.1);color:var(--orange)}
.service-card__icon--green{background:rgba(16,185,129,.1);color:var(--emerald)}

.service-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff}
.service-card p{font-size:.88rem;color:var(--gray-400);line-height:1.7;flex:1}

.service-card__tags{
  display:flex;flex-wrap:wrap;gap:6px;list-style:none;
}
.service-card__tags li{
  background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.1);
  padding:4px 12px;border-radius:50px;font-size:.72rem;color:var(--gray-300);
  font-weight:500;transition:all .3s;
}
.service-card:hover .service-card__tags li{border-color:rgba(99,102,241,.2)}

.service-card__stats{
  display:flex;gap:16px;padding-top:12px;border-top:1px solid rgba(99,102,241,.06);
}
.service-card__stats div{font-size:.82rem;color:var(--gray-400)}
.service-card__stats strong{color:var(--cyan-light);font-weight:700}

.service-card__arrow{
  position:absolute;top:28px;right:24px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(99,102,241,.06);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-400);font-size:.8rem;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
}
.service-card:hover .service-card__arrow{
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;transform:translateX(4px);
  box-shadow:0 4px 16px rgba(99,102,241,.4);
}

/* ── Why cards ──────────────────────────────────────────────── */
.why__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.why-card{
  background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);
  padding:36px 28px;position:relative;overflow:hidden;
  transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--indigo),var(--cyan),var(--neon));
  transform:scaleX(0);transform-origin:left;transition:transform .5s ease;
}
.why-card:hover::before{transform:scaleX(1)}
.why-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 60px rgba(79,70,229,.1);
}
.why-card__number{
  position:absolute;top:16px;right:20px;
  font-family:var(--font-display);font-size:2.4rem;font-weight:700;
  color:rgba(79,70,229,.06);line-height:1;
}
.why-card__icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(6,182,212,.06));
  color:var(--indigo);display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;margin-bottom:16px;
  transition:all .4s ease;
}
.why-card:hover .why-card__icon{
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;transform:scale(1.1) rotate(-5deg);
}
.why-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:10px}
.why-card p{font-size:.88rem;color:var(--gray-500);line-height:1.7}

/* ── Results section ────────────────────────────────────────── */
.results__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:56px;
}
.result-card{
  background:var(--dark-card);border:1px solid rgba(99,102,241,.1);
  border-radius:var(--radius);padding:24px;text-align:center;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
  overflow:hidden;
}
.result-card:hover{
  border-color:var(--electric);transform:translateY(-6px);
  box-shadow:0 16px 50px rgba(99,102,241,.12);
}
.result-card__chart{width:100%;height:auto;display:block;margin-bottom:16px}
.result-card h4{font-family:var(--font-display);font-size:.95rem;color:#fff;margin-bottom:8px}
.result-card__value{
  font-family:var(--font-display);font-size:2rem;font-weight:700;
  color:var(--cyan-light);margin-bottom:6px;
}
.result-card__desc{font-size:.8rem;color:var(--gray-400)}

.results__big-numbers{
  display:flex;justify-content:center;gap:64px;flex-wrap:wrap;
  padding:40px 0;
  border-top:1px solid rgba(99,102,241,.08);
}
.big-number{text-align:center}
.big-number__value{
  display:block;font-family:var(--font-display);
  font-size:clamp(2rem,4vw,3rem);font-weight:700;
  background:linear-gradient(135deg,var(--cyan-light),var(--electric),var(--neon));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.big-number__label{display:block;font-size:.85rem;color:var(--gray-400);margin-top:4px}

/* ── Process ────────────────────────────────────────────────── */
.process__steps{
  display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto;
  position:relative;
}
.process__steps::before{
  content:'';position:absolute;left:31px;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--gray-200),rgba(99,102,241,.2));
}

.process-card{
  display:flex;align-items:flex-start;gap:24px;position:relative;
  padding-bottom:40px;
}
.process-card:last-child{padding-bottom:0}
.process-card__line{display:none}

.process-card__dot{
  width:64px;min-width:64px;height:64px;border-radius:50%;
  background:#fff;border:3px solid var(--gray-200);
  display:flex;align-items:center;justify-content:center;
  position:relative;z-index:2;
  transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.process-card__dot span{
  font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--gray-400);
  transition:color .4s;
}
.process-card.visible .process-card__dot{
  border-color:var(--indigo);
  box-shadow:0 0 0 6px rgba(79,70,229,.1),0 8px 24px rgba(79,70,229,.15);
}
.process-card.visible .process-card__dot span{color:var(--indigo)}

.process-card__content{
  flex:1;background:#fff;border:1px solid var(--gray-200);
  border-radius:var(--radius);padding:28px 24px;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
}
.process-card:hover .process-card__content{
  border-color:rgba(79,70,229,.2);
  box-shadow:0 12px 40px rgba(79,70,229,.06);
  transform:translateX(8px);
}
.process-card__icon{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1rem;margin-bottom:12px;
  box-shadow:0 4px 16px rgba(99,102,241,.25);
}
.process-card__content h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:6px}
.process-card__content p{font-size:.88rem;color:var(--gray-500);line-height:1.7;margin-bottom:10px}
.process-card__time{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(79,70,229,.06);color:var(--indigo);
  padding:5px 14px;border-radius:50px;font-size:.75rem;font-weight:600;
}
.process-card__time i{font-size:.7rem}

/* ── Portfolio cards ────────────────────────────────────────── */
.portfolio__grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:28px;
}
.portfolio-card{
  background:var(--dark-card);border:1px solid rgba(99,102,241,.08);
  border-radius:var(--radius);padding:36px 30px;
  transition:all .5s cubic-bezier(.25,.8,.25,1);
  position:relative;overflow:hidden;
}
.portfolio-card::before{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(99,102,241,.03),transparent);
  transition:left .6s ease;
}
.portfolio-card:hover::before{left:150%}
.portfolio-card:hover{
  transform:translateY(-8px);
  border-color:rgba(99,102,241,.2);
  box-shadow:0 20px 60px rgba(99,102,241,.1);
}
.portfolio-card__badge{
  position:absolute;top:20px;right:20px;
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;padding:4px 14px;border-radius:50px;
  font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
}
.portfolio-card__icon{
  width:52px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(6,182,212,.06));
  color:var(--electric);display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:16px;
  transition:all .4s ease;
}
.portfolio-card:hover .portfolio-card__icon{
  background:linear-gradient(135deg,var(--indigo),var(--electric));color:#fff;
  transform:scale(1.1);
}
.portfolio-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:10px}
.portfolio-card p{font-size:.88rem;color:var(--gray-400);line-height:1.7;margin-bottom:20px}
.portfolio-card__results{display:flex;gap:14px;flex-wrap:wrap}
.portfolio-card__result{
  background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.1);
  padding:8px 16px;border-radius:var(--radius-sm);font-size:.85rem;color:var(--gray-300);
  transition:all .3s;
}
.portfolio-card__result:hover{background:rgba(99,102,241,.12);transform:translateY(-2px)}
.portfolio-card__result strong{color:var(--cyan-light);font-weight:700}

/* Portfolio category sub-titles */
.portfolio__category-title{
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:700;
  color:#fff;
  margin:56px 0 24px;
  display:flex;
  align-items:center;
  gap:12px;
}
.portfolio__category-title i{
  color:var(--cyan-light);
  font-size:1.1rem;
}
/* Override pf-grid on homepage to show 2 cols for 2 cards */
#portfolio .pf-grid--image{
  grid-template-columns:repeat(2,1fr);
}

/* ── Tech orbit ─────────────────────────────────────────────── */
.tech__orbit{
  width:100%;max-width:700px;aspect-ratio:1;margin:0 auto;
  position:relative;
}
.tech__orbit-center{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:80px;height:80px;border-radius:50%;
  background:var(--dark-card);border:2px solid rgba(99,102,241,.2);
  display:flex;align-items:center;justify-content:center;
  z-index:3;
  box-shadow:0 0 40px rgba(99,102,241,.15);
}
.tech__orbit-center img{width:50px;height:auto}

.tech__orbit-ring{
  position:absolute;top:50%;left:50%;border-radius:50%;
  border:1px solid rgba(99,102,241,.08);
  animation:orbitSpin 40s linear infinite;
}
.tech__orbit-ring--1{
  width:320px;height:320px;margin:-160px 0 0 -160px;
}
.tech__orbit-ring--2{
  width:560px;height:560px;margin:-280px 0 0 -280px;
  animation-duration:60s;animation-direction:reverse;
}

.tech__orbit-item{
  position:absolute;
  width:52px;height:52px;border-radius:50%;
  background:var(--dark-card);border:1px solid rgba(99,102,241,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:var(--cyan-light);
  top:50%;left:50%;
  /* Position around the orbit */
  transform:
    rotate(calc(360deg / var(--total) * var(--i)))
    translateX(calc(100%))
    rotate(calc(-360deg / var(--total) * var(--i)));
  margin:-26px 0 0 -26px;
  transition:all .3s ease;
  cursor:default;
}
.tech__orbit-ring--1 .tech__orbit-item{
  transform:
    rotate(calc(360deg / var(--total) * var(--i)))
    translate(160px)
    rotate(calc(-360deg / var(--total) * var(--i)))
    rotate(calc(-1 * var(--orbit-angle, 0deg)));
}
.tech__orbit-ring--2 .tech__orbit-item{
  transform:
    rotate(calc(360deg / var(--total) * var(--i)))
    translate(280px)
    rotate(calc(-360deg / var(--total) * var(--i)))
    rotate(calc(var(--orbit-angle, 0deg)));
}
.tech__orbit-item span{
  position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);
  font-size:.65rem;color:var(--gray-400);white-space:nowrap;
  opacity:0;transition:opacity .3s;
}
.tech__orbit-item:hover{
  border-color:var(--cyan-light);
  box-shadow:0 0 20px rgba(6,182,212,.3);
  transform-origin:center;
  z-index:5;
}
.tech__orbit-item:hover span{opacity:1}

@keyframes orbitSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

.tech__grid-mobile{display:none}

/* Tech pills (mobile fallback) */
.tech-pill{
  background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.12);
  padding:10px 18px;border-radius:50px;font-size:.82rem;font-weight:500;
  color:var(--gray-300);display:inline-flex;align-items:center;gap:8px;
  transition:all .3s cubic-bezier(.25,.8,.25,1);
}
.tech-pill:hover{
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  border-color:transparent;color:#fff;transform:translateY(-2px) scale(1.05);
}
.tech-pill i{color:var(--cyan-light);font-size:1rem}
.tech-pill:hover i{color:#fff}

/* ── Testimonials ───────────────────────────────────────────── */
.testimonials__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.testimonial-card{
  background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius);
  padding:36px 28px;transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 16px 50px rgba(79,70,229,.1)}
.testimonial-card__stars{color:#FBBF24;font-size:.9rem;margin-bottom:16px;display:flex;gap:2px}
.testimonial-card blockquote{
  font-size:.92rem;color:var(--gray-500);line-height:1.8;margin-bottom:20px;
  font-style:italic;border-left:3px solid var(--electric);padding-left:16px;
}
.testimonial-card__author{display:flex;align-items:center;gap:12px}
.testimonial-card__avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--indigo),var(--electric));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.testimonial-card__author strong{display:block;font-size:.88rem;color:var(--dark)}
.testimonial-card__author span{font-size:.78rem;color:var(--gray-400)}

/* ── FAQ ────────────────────────────────────────────────────── */
.faq__list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(99,102,241,.08)}
.faq-item__question{
  width:100%;padding:22px 0;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-size:1rem;font-weight:600;color:#fff;text-align:left;font-family:var(--font);
  transition:all .3s;
}
.faq-item__question:hover{color:var(--cyan-light);padding-left:8px}
.faq-item__icon{transition:transform .3s ease;color:var(--electric);font-size:.85rem}
.faq-item--open .faq-item__icon{transform:rotate(45deg)}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.8,.25,1),padding .3s}
.faq-item--open .faq-item__answer{max-height:400px;padding-bottom:20px}
.faq-item__answer p{font-size:.9rem;color:var(--gray-400);line-height:1.7}

/* ── Contact ────────────────────────────────────────────────── */
.contact__grid{
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;
}
.contact-form{
  background:var(--dark-card);border:1px solid rgba(99,102,241,.1);
  border-radius:var(--radius);padding:40px;
  transition:all .4s;
}
.contact-form:hover{border-color:rgba(99,102,241,.2);box-shadow:0 8px 40px rgba(99,102,241,.06)}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.contact-form__group{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.contact-form__group label{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.7)}
.contact-form__group label small{font-weight:400;color:var(--gray-400)}
.contact-form__group input,
.contact-form__group textarea,
.contact-form__group select{
  background:rgba(255,255,255,.04);border:1px solid rgba(99,102,241,.12);
  border-radius:var(--radius-sm);padding:12px 16px;color:#fff;font-size:.9rem;
  font-family:var(--font);transition:all .3s;
}
.contact-form__group input:focus,
.contact-form__group textarea:focus,
.contact-form__group select:focus{
  outline:none;border-color:var(--electric);
  box-shadow:0 0 0 3px rgba(99,102,241,.12),0 0 20px rgba(99,102,241,.06);
}
.contact-form__group select{cursor:pointer}
.contact-form__group select option{background:var(--dark-card);color:#fff}
.contact-form__group textarea{resize:vertical;min-height:100px}
.contact-form__error{font-size:.78rem;color:var(--rose);min-height:18px}
.contact-form__rodo{margin:16px 0 20px}
.contact-form__checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.82rem;color:var(--gray-400)}
.contact-form__checkbox input{display:none}
.contact-form__checkmark{
  width:20px;height:20px;min-width:20px;border-radius:4px;
  border:2px solid rgba(99,102,241,.25);display:flex;align-items:center;justify-content:center;
  transition:all .3s;margin-top:2px;
}
.contact-form__checkbox input:checked ~ .contact-form__checkmark{
  background:var(--electric);border-color:var(--electric);
  box-shadow:0 0 12px rgba(99,102,241,.4);
}
.contact-form__checkbox input:checked ~ .contact-form__checkmark::after{
  content:'\2713';color:#fff;font-size:.7rem;font-weight:bold;
}
.contact-form__checkbox a{color:var(--cyan-light);text-decoration:underline}

.contact-info{display:flex;flex-direction:column;gap:20px}
.contact-info__card{
  background:var(--dark-card);border:1px solid rgba(99,102,241,.1);
  border-radius:var(--radius);padding:28px;
  transition:all .4s cubic-bezier(.25,.8,.25,1);
}
.contact-info__card:hover{
  border-color:var(--electric);transform:translateY(-4px) translateX(4px);
  box-shadow:0 12px 40px rgba(99,102,241,.1);
}
.contact-info__card i{font-size:1.4rem;color:var(--cyan-light);margin-bottom:12px;display:block;transition:transform .4s}
.contact-info__card:hover i{transform:scale(1.2) rotate(-5deg)}
.contact-info__card h3{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px}
.contact-info__card p{font-size:.85rem;color:var(--gray-400)}
.contact-info__card a{color:var(--cyan-light)}

/* ── Form toast ─────────────────────────────────────────────── */
.form-toast{
  position:fixed;bottom:30px;right:30px;z-index:9999;
  transform:translateY(120%);opacity:0;transition:all .5s cubic-bezier(.25,.8,.25,1);
}
.form-toast--visible{transform:translateY(0);opacity:1}
.form-toast__inner{
  background:var(--dark-card);border:1px solid rgba(16,185,129,.3);
  border-radius:var(--radius);padding:20px 24px;display:flex;align-items:center;gap:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.4);
}
.form-toast__icon{font-size:1.8rem;color:var(--emerald)}
.form-toast__content strong{display:block;color:#fff;font-size:.95rem}
.form-toast__content p{font-size:.82rem;color:var(--gray-400);margin-top:2px}
.form-toast__close{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:1rem;padding:4px;transition:color .3s}
.form-toast__close:hover{color:#fff}

/* ── Footer ─────────────────────────────────────────────────── */
.footer{
  background:var(--dark-800);border-top:1px solid rgba(99,102,241,.06);
  padding:64px 0 0;
}
.footer__inner{
  display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;
  padding-bottom:48px;
}
.footer__brand p{font-size:.88rem;color:var(--gray-400);margin-top:12px;max-width:280px}
.footer__social{display:flex;gap:12px;margin-top:16px}
.footer__social a{
  width:38px;height:38px;border-radius:10px;
  background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.1);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-400);font-size:.9rem;
  transition:all .3s;
}
.footer__social a:hover{
  background:var(--electric);border-color:var(--electric);color:#fff;
  transform:translateY(-3px);box-shadow:0 4px 16px rgba(99,102,241,.3);
}
.footer__services h4,.footer__contact-col h4{
  font-family:var(--font-display);font-size:.95rem;color:#fff;margin-bottom:16px;
}
.footer__services a,.footer__contact-col p{
  display:block;font-size:.85rem;color:var(--gray-400);margin-bottom:10px;transition:all .3s;
}
.footer__services a:hover{color:var(--cyan-light);transform:translateX(4px)}
.footer__contact-col p i{color:var(--gray-500);width:18px;margin-right:6px}
.footer__contact-col a{color:var(--cyan-light)}

.footer__bottom{
  border-top:1px solid rgba(99,102,241,.06);padding:20px 0;
}
.footer__bottom-inner{
  display:flex;justify-content:space-between;align-items:center;
  font-size:.8rem;color:var(--gray-500);
}
.footer__bottom-links{display:flex;gap:20px}
.footer__bottom-links a{color:var(--gray-400);transition:color .3s}
.footer__bottom-links a:hover{color:var(--cyan-light)}

/* ── Cookie banner ──────────────────────────────────────────── */
.cookie-banner{
  position:fixed;bottom:0;left:0;width:100%;z-index:9998;
  background:var(--dark-card);border-top:1px solid rgba(99,102,241,.12);
  padding:20px 0;
}
.cookie-banner__inner{
  max-width:var(--container);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.cookie-banner__inner p{flex:1;font-size:.88rem;color:var(--gray-300)}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap}

/* ── Animations ─────────────────────────────────────────────── */
[data-animate]{opacity:0;transform:translateY(40px);transition:all .7s cubic-bezier(.25,.8,.25,1)}
[data-animate].visible{opacity:1;transform:translateY(0)}
[data-animate]:nth-child(2){transition-delay:.06s}
[data-animate]:nth-child(3){transition-delay:.12s}
[data-animate]:nth-child(4){transition-delay:.18s}
[data-animate]:nth-child(5){transition-delay:.24s}
[data-animate]:nth-child(6){transition-delay:.30s}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:1024px){
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .why__grid{grid-template-columns:repeat(2,1fr)}
  .results__grid{grid-template-columns:repeat(2,1fr)}
  .contact__grid{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr}
  .tech__orbit-ring--2{width:440px;height:440px;margin:-220px 0 0 -220px}
  .tech__orbit-ring--2 .tech__orbit-item{
    transform:
      rotate(calc(360deg / var(--total) * var(--i)))
      translate(220px)
      rotate(calc(-360deg / var(--total) * var(--i)))
      rotate(calc(var(--orbit-angle, 0deg)));
  }
}

@media(max-width:768px){
  :root{--section-py:80px}

  /* Nav inherits from global.css — only homepage-specific overrides below */
  .nav__link::after{display:none}

  /* Dropdown — mobile */
  .nav__dropdown{width:100%}
  .nav__link--has-dropdown{justify-content:center;width:100%;padding:14px 24px}
  .nav__dropdown-menu{
    position:static;transform:none;
    min-width:unset;width:100%;
    background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.1);
    border-radius:12px;padding:6px;margin-top:4px;
    max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .35s ease,opacity .3s ease,padding .3s ease;
    box-shadow:none;backdrop-filter:none;
  }
  .nav__dropdown-menu::before{display:none}
  .nav__dropdown-menu::after{display:none}
  .nav__dropdown.open .nav__dropdown-menu{
    max-height:400px;opacity:1;pointer-events:auto;padding:6px;
  }
  .nav__dropdown:hover .nav__dropdown-menu{
    opacity:0;pointer-events:none;transform:none;
  }
  .nav__dropdown.open .nav__dropdown-menu,
  .nav__dropdown.open:hover .nav__dropdown-menu{
    opacity:1;pointer-events:auto;
  }
  .nav__dropdown-item{justify-content:center;font-size:1rem;padding:12px 16px}
  .nav__dropdown-item:hover{transform:none}

  /* AI link — mobile */
  .nav__link--ai{
    width:auto;display:inline-flex;align-items:center;gap:6px;
    font-size:1.05rem;padding:12px 28px;
    margin:4px 0;
  }

  .services__grid{grid-template-columns:1fr}
  .why__grid{grid-template-columns:1fr}
  .results__grid{grid-template-columns:1fr 1fr}
  .portfolio__grid{grid-template-columns:1fr}
  #portfolio .pf-grid--image{grid-template-columns:1fr}
  .testimonials__grid{grid-template-columns:1fr}

  .hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px}
  .hero__stat{padding:12px 10px}
  .hero__stat-number{font-size:1.8rem}
  .contact-form__row{grid-template-columns:1fr}
  .contact-form{padding:28px 20px}

  .tech__orbit{display:none}
  .tech__grid-mobile{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

  .footer__inner{grid-template-columns:1fr}
  .footer__bottom-inner{flex-direction:column;gap:12px;text-align:center}

  .hero__scroll-indicator{display:none}
  .cursor-glow{display:none !important}
}

/* ============================================================
   GOOGLE MICRO WIDGET — hero section
   ============================================================ */
.google-micro{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:50px;
  margin:20px 0 25px 0;
  font-size:.82rem;
  color:#94a3b8;
  backdrop-filter:blur(8px);
  transition:all .3s ease;
}
.google-micro:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,255,255,0.2);
}
.google-micro__logo{flex-shrink:0}
.google-micro__stars{
  color:#FBBC05;
  font-size:.9rem;
  letter-spacing:1px;
  line-height:1;
}
.google-micro__text{
  color:#94a3b8;
  font-weight:500;
  white-space:nowrap;
}

/* ============================================================
   DOTATION BANNER — EU subsidies
   ============================================================ */
.dotation-banner{
  padding:0;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(99,102,241,0.08) 0%, rgba(6,182,212,0.06) 50%, rgba(99,102,241,0.04) 100%);
  border-top:1px solid rgba(99,102,241,0.15);
  border-bottom:1px solid rgba(99,102,241,0.15);
}
.dotation-banner__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:32px;
  padding:48px 24px;
  max-width:1200px;
  margin:0 auto;
}
.dotation-banner__icon{flex-shrink:0}
.dotation-banner__icon svg{display:block}
.dotation-banner__text{flex:1}
.dotation-banner__text h3{
  color:#fff;
  font-size:1.2rem;
  font-weight:600;
  margin-bottom:8px;
  font-family:var(--font-display);
}
.dotation-banner__text h3 strong{
  background:linear-gradient(135deg,var(--electric),var(--cyan));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.dotation-banner__text p{
  color:#94a3b8;
  font-size:.92rem;
  line-height:1.6;
  max-width:700px;
}
.dotation-banner__btn{
  flex-shrink:0;
  white-space:nowrap;
}

/* ============================================================
   GOOGLE 5-STAR BANNER — after testimonials
   ============================================================ */
.google-banner{
  background:#ffffff;
  padding:40px 0;
  border-top:1px solid #f1f5f9;
  border-bottom:1px solid #f1f5f9;
}
.google-banner__inner{
  display:flex;
  align-items:center;
  gap:32px;
  justify-content:center;
}
.google-banner__logo{
  flex-shrink:0;
}
.google-banner__logo svg{display:block}
.google-banner__content{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.google-banner__stars{
  display:flex;
  gap:4px;
  font-size:1.1rem;
  color:#FBBC05;
}
.google-banner__rating{
  display:flex;
  align-items:baseline;
  gap:10px;
}
.google-banner__score{
  font-size:2rem;
  font-weight:800;
  color:#1f2937;
  font-family:var(--font-display);
  line-height:1;
}
.google-banner__text{
  color:#6b7280;
  font-size:.9rem;
}
.google-banner__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4285F4;
  font-weight:600;
  font-size:.9rem;
  padding:10px 20px;
  border:1px solid #4285F4;
  border-radius:8px;
  transition:all .3s ease;
  flex-shrink:0;
  white-space:nowrap;
}
.google-banner__link:hover{
  background:#4285F4;
  color:#fff;
}

@media(max-width:768px){
  .dotation-banner__inner{flex-direction:column;text-align:center;gap:24px}
  .dotation-banner__text p{max-width:100%}
  .google-banner__inner{flex-direction:column;text-align:center;gap:20px}
  .google-banner__stars{justify-content:center}
  .google-banner__rating{flex-direction:column;align-items:center;gap:4px}
}

@media(max-width:480px){
  :root{--section-py:60px}
  .hero__title{font-size:1.5rem}
  .hero__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px;margin-bottom:24px}
  .hero__stat{padding:10px 8px}
  .hero__stat-number{font-size:1.6rem}
  .hero__stat-label{font-size:.68rem;margin-top:2px}
  .hero__actions{flex-direction:column;align-items:stretch}
  .btn{justify-content:center}
  .results__grid{grid-template-columns:1fr}
  .results__big-numbers{flex-direction:column;gap:32px}
  .process-card__dot{width:48px;min-width:48px;height:48px}
  .process__steps::before{left:23px}
}
