/* ==========================================================================
   ibusx — Drivexa Fleet Operating System
   Professional Landing Page · White Glass Floating Header · iMac Frames
   ========================================================================== */

:root {
  --white: #FFFFFF;
  --gray-50: #F8FAFC;
  --gray-100: #F1F5F9;
  --gray-200: #E2E8F0;
  --gray-300: #CBD5E1;
  --gray-400: #94A3B8;
  --gray-500: #64748B;
  --gray-600: #475569;
  --gray-700: #334155;
  --gray-800: #1E293B;
  --gray-900: #0F172A;

  --blue-50: #EFF6FF;
  --blue-100: #DBEAFE;
  --blue-500: #3B82F6;
  --blue-600: #2563EB;
  --blue-700: #1D4ED8;

  --cyan-400: #22D3EE;
  --emerald-400: #34D399;
  --emerald-500: #10B981;
  --amber-400: #FBBF24;
  --rose-500: #EF4444;

  --navy: #0A0F1C;
  --navy-light: #111827;
  --navy-card: #151D2F;

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;

  --shadow-md: 0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.1);
  --shadow-glow: 0 0 60px rgba(59,130,246,.15);

  --ease: cubic-bezier(.4,0,.2,1);
  --radius: 12px;
  --radius-lg: 16px;
  --radius-full: 9999px;
}

/* ── Reset & Clean Root Background ──────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;background:var(--navy)}
body{
  font-family:var(--font-sans);color:var(--gray-900);background:var(--navy);
  line-height:1.6;overflow-x:hidden;
  padding-top:0; /* No body gap behind floating header */
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit;font-size:.875rem}
ul{list-style:none}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.desktop-only{display:none}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:600;font-size:.8125rem;border-radius:var(--radius-full);
  transition:all .25s var(--ease);white-space:nowrap;
  text-align:center;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-700) 100%);
  color:var(--white);padding:10px 22px;
  box-shadow:0 4px 14px rgba(37,99,235,.35),0 0 20px rgba(16,185,129,.12);
  border:1px solid rgba(255,255,255,.15);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--blue-500) 0%,var(--blue-600) 100%);
  transform:translateY(-1px);
  box-shadow:0 8px 24px rgba(37,99,235,.45),0 0 25px rgba(16,185,129,.2);
}
.btn-outline-light{
  background:rgba(255,255,255,.05);color:var(--white);padding:10px 22px;
  border:1.5px solid rgba(255,255,255,.2);
  backdrop-filter:blur(8px);
}
.btn-outline-light:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.45);
  transform:translateY(-1px);
}
.btn-lg{padding:12px 28px;font-size:.9375rem}
.btn-sm{padding:7px 16px;font-size:.75rem}
.btn-block{width:100%;justify-content:center}
.btn-center{margin-left:auto;margin-right:auto}

/* ── Icon Box ───────────────────────────────────────────────────────────── */
.icon-box{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-box svg{width:18px;height:18px}
.icon-box--blue{background:var(--blue-50);color:var(--blue-600)}
.icon-box--navy{background:rgba(59,130,246,.12);color:var(--blue-500)}
.icon-box--emerald{background:rgba(16,185,129,.12);color:var(--emerald-500)}
.icon-box--amber{background:rgba(251,191,36,.12);color:var(--amber-400)}
.icon-box--rose{background:rgba(239,68,68,.12);color:var(--rose-500)}

/* ── Section ────────────────────────────────────────────────────────────── */
.section{padding:56px 0;background:var(--white)}
.section-dark{background:var(--navy);color:var(--white)}
.section-light{background:var(--gray-50)}

.section-header{text-align:center;max-width:560px;margin:0 auto 36px}
.section-label{display:inline-flex;align-items:center;gap:6px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-600);margin-bottom:10px}
.section-label--dark{color:var(--cyan-400)}
.section-title{font-size:1.45rem;font-weight:800;line-height:1.2;letter-spacing:-.02em;margin-bottom:8px}
.section-desc{font-size:.8125rem;color:var(--gray-500);line-height:1.55}
.section-desc--dark{color:var(--gray-400)}

/* ══════════════════════════════════════════════════════════════════════════
   FLOATING WHITE GLASS HEADER — Crisp Logo & Clear Navigation
   ══════════════════════════════════════════════════════════════════════════ */
.header{
  position:fixed;top:10px;left:50%;transform:translateX(-50%);
  width:calc(100% - 20px);max-width:1200px;
  z-index:1000;border-radius:16px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 12px 36px -4px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.1);
  transition:all .3s var(--ease);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:54px;padding:0 16px}

.brand{display:flex;align-items:center;gap:8px}
.brand__logo{height:32px;width:auto;object-fit:contain;filter:none}
.brand__logo--footer{height:28px;filter:brightness(1.1)}

.nav{display:none;align-items:center;gap:24px}
.nav__link{font-size:.8125rem;font-weight:600;color:#1E293B;transition:color .2s;position:relative}
.nav__link:hover{color:var(--blue-600)}
.nav__link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--blue-600);border-radius:2px;transition:width .2s}
.nav__link:hover::after{width:100%}

.header__actions{display:flex;align-items:center;gap:8px}
.header__phone{
  display:none;align-items:center;gap:6px;font-size:.75rem;font-weight:600;
  color:#1E293B;padding:6px 14px;border-radius:var(--radius-full);
  border:1px solid #CBD5E1;background:rgba(0,0,0,.04);transition:all .2s;
}
.header__phone:hover{color:var(--blue-600);border-color:var(--blue-500);background:#EFF6FF}
.header__phone svg{width:13px;height:13px;color:#16A34A}

.header .btn-outline-light{
  background:rgba(0,0,0,.04);color:#1E293B;border:1.5px solid #CBD5E1;
}
.header .btn-outline-light:hover{
  background:#F1F5F9;color:var(--blue-600);border-color:var(--blue-500);
}

.mobile-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:#0F172A;border-radius:8px;transition:background .15s}
.mobile-toggle:active{background:rgba(0,0,0,.08)}
.mobile-toggle svg{width:20px;height:20px}

/* Floating Mobile Nav dropdown in white glass */
.mobile-nav{
  position:fixed;top:68px;left:10px;right:10px;bottom:auto;
  max-height:calc(100vh - 84px);
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  z-index:999;padding:16px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.3);
  flex-direction:column;gap:4px;overflow-y:auto;
  transform:translateY(-16px) scale(.97);
  opacity:0;transition:transform .25s var(--ease),opacity .25s var(--ease),visibility .25s;
  display:flex;visibility:hidden;
}
.mobile-nav.is-open{transform:translateY(0) scale(1);opacity:1;visibility:visible}
.mobile-nav a{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:10px;font-size:.875rem;font-weight:600;color:#0F172A;transition:all .15s}
.mobile-nav a:hover,.mobile-nav a:active{background:#F1F5F9;color:var(--blue-600)}
.mobile-nav a svg{flex-shrink:0;color:#16A34A}
.mobile-nav .btn{margin-top:10px;width:100%;justify-content:center}

/* ══════════════════════════════════════════════════════════════════════════
   HERO — Seamless Full-Bleed Dark Navy Background (No Square Artifacts)
   ══════════════════════════════════════════════════════════════════════════ */
.hero{
  background:radial-gradient(ellipse at 50% 12%,#172846 0%,var(--navy) 70%);
  color:var(--white);
  padding:92px 0 52px; /* Starts at top with space for floating header */
  position:relative;overflow:hidden;
}

/* Micro dot-grid constellation */
.hero__grid{
  position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0),
    linear-gradient(to right,rgba(59,130,246,.03) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(16,185,129,.02) 1px,transparent 1px);
  background-size:32px 32px,64px 64px,64px 64px;
  pointer-events:none;
}
/* Highway road lanes at bottom with perspective dash */
.hero::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:4px;
  background:repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(37,99,235,.4) 24px,rgba(37,99,235,.4) 48px,transparent 48px,transparent 72px,rgba(16,185,129,.4) 72px,rgba(16,185,129,.4) 96px);
}
/* Subtle curved route contour vector line */
.hero::after{
  content:'';position:absolute;bottom:20px;left:-10%;
  width:120%;height:180px;
  border-top:1px dashed rgba(59,130,246,.15);
  border-radius:50% 50% 0 0;
  pointer-events:none;
}

.hero__content{position:relative;z-index:2;text-align:center;max-width:620px;margin:0 auto}
.hero__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-full);background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.35);font-size:.6875rem;font-weight:600;color:var(--cyan-400);margin-bottom:18px}
.hero__badge-dot{width:6px;height:6px;border-radius:50%;background:var(--emerald-400);box-shadow:0 0 8px var(--emerald-400);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

.hero__title{font-size:1.625rem;font-weight:900;line-height:1.15;letter-spacing:-.03em;margin-bottom:14px}
.hero__subtitle{font-size:.875rem;color:var(--gray-300);line-height:1.6;margin:0 auto 24px}

/* Centered CTA Buttons */
.hero__cta{
  display:flex;flex-direction:column;gap:12px;
  align-items:center;justify-content:center;
  margin:0 auto 24px;width:100%;
}
.hero__cta .btn{width:100%;max-width:280px;justify-content:center}

.hero__trust{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}
.hero__trust-item{display:flex;align-items:center;gap:6px;font-size:.6875rem;color:var(--gray-400);font-weight:500}
.hero__trust-item svg{width:13px;height:13px;color:var(--emerald-400)}

.hero__mockup{position:relative;z-index:2;margin-top:36px}

/* ══════════════════════════════════════════════════════════════════════════
   iMAC FRAME — Metallic Hardware Styling for All Screenshots
   ══════════════════════════════════════════════════════════════════════════ */
.imac-frame{
  background:linear-gradient(180deg,#2A3447 0%,#182133 100%);
  border:1.5px solid rgba(255,255,255,.14);
  border-radius:14px 14px 4px 4px;
  padding:8px 8px 0;
  box-shadow:0 24px 70px -15px rgba(0,0,0,.7),0 0 30px rgba(37,99,235,.15);
  position:relative;overflow:hidden;
  cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.imac-frame:hover{
  transform:translateY(-3px);
  box-shadow:0 30px 80px -15px rgba(0,0,0,.8),0 0 40px rgba(37,99,235,.25);
}

/* Top Bezel with macOS dots & centered camera */
.imac-frame__bezel{
  display:flex;align-items:center;justify-content:center;
  padding:4px 0 6px;position:relative;
}
.imac-frame__dots{
  position:absolute;left:8px;display:flex;gap:4px;
}
.imac-frame__dots span{width:7px;height:7px;border-radius:50%}
.imac-frame__dots span:nth-child(1){background:#FF5F56;box-shadow:0 0 4px rgba(255,95,86,.4)}
.imac-frame__dots span:nth-child(2){background:#FFBD2E;box-shadow:0 0 4px rgba(255,189,46,.4)}
.imac-frame__dots span:nth-child(3){background:#27CA40;box-shadow:0 0 4px rgba(39,202,64,.4)}
.imac-frame__camera{width:5px;height:5px;border-radius:50%;background:#090E17;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 0 3px rgba(34,211,238,.3)}

/* Screen Display */
.imac-frame__screen{
  border-radius:3px;overflow:hidden;background:#0d1527;
  position:relative;
}
.imac-frame__screen img{
  width:100%;display:block;position:relative;z-index:1;
}

/* Chin (Lower Metallic Bar with Logo) */
.imac-frame__chin{
  height:18px;
  background:linear-gradient(180deg,#1c2638 0%,#131c2d 100%);
  display:flex;align-items:center;justify-content:center;
  border-top:1px solid rgba(255,255,255,.06);
}
.imac-frame__chin-logo{
  width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,rgba(59,130,246,.7),rgba(16,185,129,.7));
  box-shadow:0 0 6px rgba(59,130,246,.4);
}

/* Stand and Foot */
.imac-frame__stand{
  width:32%;margin:0 auto;height:14px;
  background:linear-gradient(180deg,#1a2436 0%,#111927 100%);
  clip-path:polygon(18% 0%,82% 0%,100% 100%,0% 100%);
  border-top:1px solid rgba(255,255,255,.08);
}
.imac-frame__foot{
  width:46%;margin:0 auto;height:4px;
  background:linear-gradient(180deg,#202c40 0%,#141d2c 100%);
  border-radius:0 0 5px 5px;
  border-bottom:1px solid rgba(255,255,255,.1);
}

/* Hover Zoom Hint */
.zoom-hint{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:5;
  background:rgba(10,15,28,.82);backdrop-filter:blur(8px);
  padding:6px 14px;border-radius:var(--radius-full);
  font-size:.625rem;font-weight:600;color:var(--white);
  display:flex;align-items:center;gap:5px;
  opacity:0;transition:opacity .2s var(--ease);
  pointer-events:none;
  border:1px solid rgba(59,130,246,.4);
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.zoom-hint svg{width:11px;height:11px;color:var(--cyan-400)}
.imac-frame:hover .zoom-hint{opacity:1}

/* ══════════════════════════════════════════════════════════════════════════
   IMAGE SKELETON SHIMMER & SILKY FADE REVEAL
   ══════════════════════════════════════════════════════════════════════════ */
.img-lazy{
  position:relative;overflow:hidden;
  background:#0d1527;border-radius:3px;
}
.img-lazy::before{
  content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(
    90deg,
    rgba(13,21,39,0) 0%,
    rgba(37,99,235,.15) 30%,
    rgba(16,185,129,.18) 50%,
    rgba(37,99,235,.15) 70%,
    rgba(13,21,39,0) 100%
  );
  background-size:200% 100%;
  animation:brandShimmer 1.8s ease-in-out infinite;
  transition:opacity .4s ease-out;
  pointer-events:none;
}
@keyframes brandShimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
.img-lazy img{
  opacity:0;
  transform:scale(.985);
  transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);
}
.img-lazy.is-loaded::before{
  opacity:0;animation:none;
}
.img-lazy.is-loaded img{
  opacity:1;transform:scale(1);
}

/* ══════════════════════════════════════════════════════════════════════════
   STATS
   ══════════════════════════════════════════════════════════════════════════ */
.stats{background:var(--navy-light);padding:24px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stats__item{text-align:center}
.stats__number{font-size:1.25rem;font-weight:800;color:var(--white);line-height:1;margin-bottom:3px}
.stats__number span{color:var(--cyan-400)}
.stats__label{font-size:.5625rem;color:var(--gray-400);font-weight:500}

/* ══════════════════════════════════════════════════════════════════════════
   COMPARISON
   ══════════════════════════════════════════════════════════════════════════ */
.comparison__grid{display:grid;grid-template-columns:1fr;gap:12px}
.comparison__col{border-radius:var(--radius);padding:20px}
.comparison__col--old{background:#FFF5F5;border:1px solid #FED7D7}
.comparison__col--new{background:var(--blue-50);border:1px solid var(--blue-100);box-shadow:var(--shadow-md)}
.comparison__header{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}
.comparison__header h3{font-size:.9375rem;font-weight:800}
.comparison__col--old h3{color:#991B1B}
.comparison__col--new h3{color:var(--blue-700)}
.comparison__list{display:flex;flex-direction:column;gap:12px}
.comparison__item{display:flex;gap:8px}
.comparison__bullet{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.comparison__bullet svg{width:10px;height:10px}
.comparison__col--old .comparison__bullet{background:#FED7D7;color:#B91C1C}
.comparison__col--new .comparison__bullet{background:#BBF7D0;color:#15803D}
.comparison__item h4{font-size:.75rem;font-weight:700;margin-bottom:1px}
.comparison__col--old .comparison__item h4{color:#7F1D1D}
.comparison__col--new .comparison__item h4{color:var(--gray-900)}
.comparison__item p{font-size:.6875rem;color:var(--gray-600);line-height:1.45}

/* ══════════════════════════════════════════════════════════════════════════
   FEATURES
   ══════════════════════════════════════════════════════════════════════════ */
.features__grid{display:grid;grid-template-columns:1fr;gap:12px}
.feature-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:20px;transition:all .25s var(--ease)}
.feature-card:hover{border-color:var(--blue-100);box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.feature-card__icon{margin-bottom:12px}
.feature-card__title{font-size:.9375rem;font-weight:700;margin-bottom:4px}
.feature-card__desc{font-size:.75rem;color:var(--gray-500);line-height:1.5;margin-bottom:10px}
.feature-card__bullets{display:flex;flex-direction:column;gap:5px}
.feature-card__bullet{display:flex;align-items:center;gap:5px;font-size:.6875rem;color:var(--gray-700)}
.feature-card__bullet svg{width:12px;height:12px;color:var(--blue-600);flex-shrink:0}

/* ══════════════════════════════════════════════════════════════════════════
   MODULE EXPLORER
   ══════════════════════════════════════════════════════════════════════════ */
.modules__tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;margin-bottom:24px;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:center;flex-wrap:wrap}
.modules__tabs::-webkit-scrollbar{display:none}

.module-tab{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-full);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--gray-300);font-size:.6875rem;font-weight:600;white-space:nowrap;transition:all .2s;flex-shrink:0}
.module-tab svg{width:13px;height:13px}
.module-tab:hover{background:rgba(255,255,255,.1);color:var(--white)}
.module-tab.is-active{background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-700) 100%);color:var(--white);border-color:var(--blue-500);box-shadow:0 4px 16px rgba(37,99,235,.4)}

.modules__viewport{position:relative;overflow:hidden}
.module-panel{display:none;opacity:0;transform:translateY(12px)}
.module-panel.is-active{display:block;animation:panelIn .35s var(--ease) forwards}
.module-panel.is-leaving{display:block;animation:panelOut .2s var(--ease) forwards}
@keyframes panelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes panelOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}

.module-card{background:var(--navy-card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.module-card__grid{display:grid;grid-template-columns:1fr}
.module-card__media{padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.2)}

.module-card__info{padding:24px}
.module-card__label{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan-400);margin-bottom:6px}
.module-card__title{font-size:1.25rem;font-weight:800;color:var(--white);margin-bottom:8px;line-height:1.25}
.module-card__desc{font-size:.8125rem;color:var(--gray-300);margin-bottom:16px;line-height:1.55}
.module-card__features{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.module-card__feature{display:flex;gap:8px}
.module-card__feature svg{width:15px;height:15px;color:var(--emerald-400);flex-shrink:0;margin-top:2px}
.module-card__feature strong{display:block;font-size:.8125rem;color:var(--white);font-weight:600}
.module-card__cta{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px;width:100%}

/* ══════════════════════════════════════════════════════════════════════════
   CALCULATOR
   ══════════════════════════════════════════════════════════════════════════ */
.calc{background:linear-gradient(145deg,#0C1326,#131D36);border-radius:var(--radius-lg);padding:20px;color:var(--white);border:1px solid rgba(59,130,246,.25);box-shadow:var(--shadow-glow);overflow:hidden}
.calc__grid{display:grid;grid-template-columns:1fr;gap:20px}
.calc__sliders{display:flex;flex-direction:column;gap:16px}

.slider-group{overflow:hidden}
.slider-group label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:600;color:var(--gray-300);margin-bottom:6px}
.slider-group label span{font-family:var(--font-mono);font-weight:700;color:var(--cyan-400);background:rgba(34,211,238,.1);padding:1px 6px;border-radius:3px;border:1px solid rgba(34,211,238,.2);font-size:.6875rem}
.slider-group input[type=range]{width:100%;height:4px;border-radius:2px;outline:none;-webkit-appearance:none;background:rgba(255,255,255,.12);accent-color:var(--blue-600)}
.slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--blue-600);border:2px solid var(--white);cursor:pointer;box-shadow:0 2px 6px rgba(37,99,235,.4)}
.slider-group .range-limits{display:flex;justify-content:space-between;margin-top:3px;font-size:.5rem;color:var(--gray-500)}

.calc__result{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:22px;text-align:center}
.calc__result-badge{display:inline-block;background:rgba(16,185,129,.15);color:var(--emerald-400);border:1px solid rgba(16,185,129,.3);padding:2px 8px;border-radius:var(--radius-full);font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.calc__result-number{font-size:1.625rem;font-weight:900;color:var(--white);line-height:1;margin-bottom:4px}
.calc__result-label{font-size:.6875rem;color:var(--gray-400);margin-bottom:16px}
.calc__breakdown{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;text-align:left}
.calc__row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:rgba(255,255,255,.03);border-radius:6px;font-size:.6875rem;gap:8px}
.calc__row span{color:var(--gray-300);flex:1;min-width:0}
.calc__row strong{color:var(--cyan-400);font-family:var(--font-mono);font-size:.6875rem;white-space:nowrap}
.calc__row--total{background:rgba(37,99,235,.18);border:1px solid rgba(59,130,246,.35)}
.calc__row--total span{color:var(--white);font-weight:700}
.calc__row--total strong{color:#93C5FD;font-size:.75rem}

/* ══════════════════════════════════════════════════════════════════════════
   VERTICALS
   ══════════════════════════════════════════════════════════════════════════ */
.verticals__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vertical-card{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:16px;text-align:center;transition:all .25s var(--ease)}
.vertical-card:hover{border-color:var(--blue-100);box-shadow:var(--shadow-md)}
.vertical-card__icon{width:40px;height:40px;border-radius:10px;background:var(--blue-50);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.vertical-card__icon svg{width:18px;height:18px}
.vertical-card__title{font-size:.75rem;font-weight:700;margin-bottom:3px}
.vertical-card__desc{font-size:.625rem;color:var(--gray-500);line-height:1.4}

/* ══════════════════════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════════════════════ */
.faq__list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-item.is-active{border-color:var(--blue-200);box-shadow:0 4px 16px rgba(37,99,235,.06)}
.faq-item__question{width:100%;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-size:.8125rem;font-weight:700;color:var(--gray-900);background:var(--white)}
.faq-item__question svg{width:14px;height:14px;color:var(--gray-400);transition:transform .3s var(--ease);flex-shrink:0}
.faq-item.is-active .faq-item__question svg{transform:rotate(180deg);color:var(--blue-600)}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-item.is-active .faq-item__answer{max-height:300px}
.faq-item__answer-inner{padding:0 16px 14px;font-size:.8125rem;color:var(--gray-600);line-height:1.6}

/* ══════════════════════════════════════════════════════════════════════════
   CONTACT SECTION
   ══════════════════════════════════════════════════════════════════════════ */
.contact{background:var(--navy);color:var(--white);padding:52px 0;position:relative;overflow:hidden}
.contact__card{background:var(--navy-card);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.contact__grid{display:grid;grid-template-columns:1fr}
.contact__info{padding:24px;background:rgba(0,0,0,.15);border-bottom:1px solid rgba(255,255,255,.06)}
.contact__info h3{font-size:1.25rem;font-weight:800;margin-bottom:6px}
.contact__info p{color:var(--gray-400);font-size:.8125rem;margin-bottom:20px;line-height:1.55}
.contact__channels{display:flex;flex-direction:column;gap:16px}
.contact__channel{display:flex;gap:12px}
.contact__channel-icon{width:36px;height:36px;border-radius:10px;background:rgba(59,130,246,.12);color:var(--blue-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(59,130,246,.2)}
.contact__channel-icon svg{width:16px;height:16px}
.contact__channel-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan-400);margin-bottom:1px;font-weight:600}
.contact__channel-value{font-size:.8125rem;font-weight:600;color:var(--white)}
.contact__channel-value:hover{color:var(--cyan-400)}
.contact__channel-addr{font-style:normal;font-size:.75rem;color:var(--gray-300);line-height:1.5}

.contact__form-wrap{padding:24px}
.contact__form{display:flex;flex-direction:column;gap:12px}
.contact__form h4{font-size:1rem;font-weight:800}
.contact__form > p{font-size:.75rem;color:var(--gray-400);margin-bottom:4px}
.form-row{display:grid;grid-template-columns:1fr;gap:10px}
.form-group{display:flex;flex-direction:column;gap:3px}
.form-group label{font-size:.6875rem;font-weight:600;color:var(--gray-300)}
.req{color:var(--rose-500)}
.form-input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:9px 12px;color:var(--white);font-size:.8125rem;outline:none;transition:border-color .2s;width:100%}
.form-input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(59,130,246,.2)}
.form-input::placeholder{color:var(--gray-500)}
.form-input.is-invalid{border-color:var(--rose-500);box-shadow:0 0 0 3px rgba(239,68,68,.2)}
select.form-input option{background:var(--navy);color:var(--white)}
.form-error{font-size:.625rem;color:var(--rose-500);min-height:14px;display:block}
.form-hint{font-size:.625rem;color:var(--gray-500);text-align:center;margin-top:2px}

/* ══════════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════════ */
.footer{background:#050811;padding:36px 0 16px;color:var(--gray-400);font-size:.75rem}
.footer__grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:28px}
.footer__col h4{color:var(--white);font-size:.8125rem;font-weight:700;margin-bottom:10px}
.footer__links{display:flex;flex-direction:column;gap:8px}
.footer__links a{color:var(--gray-400);transition:color .15s;font-size:.75rem}
.footer__links a:hover{color:var(--white)}
.footer__bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:.6875rem}
.footer__bottom-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.footer__bottom-links a{color:var(--gray-400);transition:color .15s}
.footer__bottom-links a:hover{color:var(--white)}

/* ══════════════════════════════════════════════════════════════════════════
   FLOATING ACTIONS
   ══════════════════════════════════════════════════════════════════════════ */
.floating{position:fixed;bottom:14px;right:14px;display:flex;flex-direction:column;gap:8px;z-index:90}
.floating__btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);transition:transform .2s;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.floating__btn:hover{transform:scale(1.08)}
.floating__btn--wa{background:#25D366;box-shadow:0 6px 18px rgba(37,211,102,.4)}
.floating__btn--phone{background:var(--blue-600);box-shadow:0 6px 18px rgba(37,99,235,.4)}
.floating__btn svg{width:20px;height:20px}

/* ══════════════════════════════════════════════════════════════════════════
   MODALS & LIGHTBOX
   ══════════════════════════════════════════════════════════════════════════ */
.modal{position:fixed;inset:0;background:rgba(10,15,28,.85);backdrop-filter:blur(10px);z-index:1100;display:none;align-items:center;justify-content:center;padding:16px}
.modal.is-open{display:flex}
.modal__box{background:var(--navy-card);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);max-width:420px;width:100%;padding:24px;color:var(--white);position:relative;box-shadow:0 25px 60px rgba(0,0,0,.6);animation:modal-in .25s var(--ease)}
@keyframes modal-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal__close{position:absolute;top:12px;right:12px;color:var(--gray-400);padding:4px;border-radius:6px;transition:all .15s}
.modal__close:hover{color:var(--white);background:rgba(255,255,255,.08)}
.modal__close svg{width:18px;height:18px}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);backdrop-filter:blur(14px);z-index:1200;display:none;align-items:center;justify-content:center;padding:12px;touch-action:none;user-select:none}
.lightbox.is-open{display:flex}
.lightbox__inner{position:relative;max-width:95vw;max-height:92vh;touch-action:none;transition:transform .2s var(--ease),opacity .2s}
.lightbox__inner img{max-height:82vh;max-width:95vw;border-radius:6px;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px rgba(0,0,0,.85);touch-action:pinch-zoom;object-fit:contain}
.lightbox__close{position:absolute;top:-36px;right:0;color:var(--white);font-size:1.6rem;background:rgba(255,255,255,.12);border:none;cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}
.lightbox__close:hover{background:rgba(255,255,255,.25)}
.lightbox__caption{text-align:center;color:var(--gray-200);margin-top:10px;font-size:.75rem;font-weight:600}
.lightbox__hint{text-align:center;color:var(--gray-500);font-size:.5625rem;margin-top:4px}

/* ══════════════════════════════════════════════════════════════════════════
   TABLET BREAKPOINT (≥ 640px)
   ══════════════════════════════════════════════════════════════════════════ */
@media(min-width:640px){
  .container{padding:0 24px}
  .desktop-only{display:inline}
  .section{padding:68px 0}
  .section-header{margin-bottom:48px}
  .section-title{font-size:1.75rem}
  .section-desc{font-size:.875rem}

  .header{width:calc(100% - 32px);border-radius:18px}
  .header__inner{height:56px;padding:0 20px}
  .brand__logo{height:34px}
  .mobile-nav{top:74px;left:16px;right:16px}

  .hero{padding:110px 0 64px}
  .hero__title{font-size:2.125rem}
  .hero__subtitle{font-size:.9375rem}
  .hero__cta{flex-direction:row;gap:12px;justify-content:center}
  .hero__cta .btn{width:auto;max-width:none}
  .hero__trust{flex-direction:row;gap:20px}

  .imac-frame{padding:10px 10px 0;border-radius:16px 16px 4px 4px}
  .imac-frame__bezel{padding:5px 0 7px}
  .imac-frame__dots span{width:8px;height:8px}
  .imac-frame__camera{width:6px;height:6px}
  .imac-frame__chin{height:20px}
  .imac-frame__stand{height:18px}
  .imac-frame__foot{height:5px}

  .stats__grid{grid-template-columns:repeat(4,1fr)}
  .stats__number{font-size:1.625rem}
  .stats__label{font-size:.625rem}

  .comparison__grid{grid-template-columns:1fr 1fr}
  .comparison__col{padding:28px}
  .features__grid{grid-template-columns:repeat(2,1fr)}
  .verticals__grid{grid-template-columns:repeat(4,1fr)}
  .form-row{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:repeat(2,1fr)}
  .footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}

  .module-tab{padding:8px 16px;font-size:.75rem}
  .calc{padding:32px}
  .calc__result-number{font-size:1.875rem}
  .contact__info{padding:32px}
  .contact__form-wrap{padding:32px}
}

/* ══════════════════════════════════════════════════════════════════════════
   DESKTOP BREAKPOINT (≥ 1024px)
   ══════════════════════════════════════════════════════════════════════════ */
@media(min-width:1024px){
  .container{padding:0 32px}
  .section{padding:92px 0}
  .section-header{margin-bottom:56px;max-width:680px}
  .section-title{font-size:2.35rem}
  .section-desc{font-size:1rem}

  /* White Glass Floating Capsule Bar */
  .header{
    top:16px;width:calc(100% - 48px);
    border-radius:var(--radius-full);
  }
  .header__inner{height:60px;padding:0 24px}
  .brand__logo{height:36px}
  .nav{display:flex}
  .header__phone{display:flex}
  .mobile-toggle{display:none}

  .hero{padding:130px 0 96px}
  .hero__title{font-size:3.125rem;letter-spacing:-.035em}
  .hero__subtitle{font-size:1.0625rem;max-width:620px}
  .hero__badge{font-size:.75rem;padding:6px 14px}
  .hero__mockup{max-width:920px;margin-left:auto;margin-right:auto;margin-top:52px}
  .hero__cta{justify-content:center}
  .hero__cta .btn{padding:13px 32px;font-size:.9375rem}

  .hero-chip{
    display:flex;position:absolute;z-index:10;background:rgba(15,23,42,.85);backdrop-filter:blur(16px);
    border:1px solid rgba(59,130,246,.2);padding:12px 18px;border-radius:var(--radius);
    box-shadow:0 16px 40px rgba(0,0,0,.45);align-items:center;gap:12px;
  }
  .hero-chip__icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .hero-chip__title{font-size:.8125rem;font-weight:700;color:var(--white)}
  .hero-chip__desc{font-size:.6875rem;color:var(--gray-400);margin-top:1px}
  .hero-chip--left{top:12%;left:-16px;animation:float-y 5s ease-in-out infinite}
  .hero-chip--right{bottom:16%;right:-16px;animation:float-y 5s ease-in-out infinite reverse}
  @keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

  .stats{padding:44px 0}
  .stats__number{font-size:2.25rem}
  .stats__label{font-size:.75rem}

  .comparison__col{padding:36px}
  .comparison__header h3{font-size:1.125rem}
  .comparison__item h4{font-size:.875rem}
  .comparison__item p{font-size:.75rem}

  .features__grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .feature-card{padding:28px}
  .feature-card__title{font-size:1.0625rem}
  .feature-card__desc{font-size:.8125rem}

  .module-tab{padding:9px 20px;font-size:.75rem}
  .module-tab svg{width:14px;height:14px}
  .module-card__grid{grid-template-columns:1.2fr .8fr}
  .module-card__media{padding:28px}
  .module-card__info{padding:36px}
  .module-card__title{font-size:1.5rem}
  .module-card__desc{font-size:.875rem}
  .module-card__feature strong{font-size:.8125rem}
  .module-card__cta{justify-content:center}

  .imac-frame{padding:12px 12px 0;border-radius:18px 18px 4px 4px}
  .imac-frame__bezel{padding:6px 0 8px}
  .imac-frame__dots{left:12px}
  .imac-frame__dots span{width:9px;height:9px}
  .imac-frame__camera{width:7px;height:7px}
  .imac-frame__chin{height:24px}
  .imac-frame__chin-logo{width:9px;height:9px}
  .imac-frame__stand{height:22px;width:30%}
  .imac-frame__foot{height:6px;width:42%}

  .calc{padding:44px}
  .calc__grid{grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
  .calc__result-number{font-size:2.35rem}
  .slider-group label{font-size:.75rem}

  .vertical-card{padding:24px}
  .vertical-card__title{font-size:.875rem}
  .vertical-card__desc{font-size:.6875rem}

  .faq-item__question{padding:18px 20px;font-size:.875rem}
  .faq-item__answer-inner{padding:0 20px 16px;font-size:.875rem}

  .contact{padding:92px 0}
  .contact__grid{grid-template-columns:1fr 1.15fr}
  .contact__info{padding:44px;border-bottom:none;border-right:1px solid rgba(255,255,255,.06)}
  .contact__info h3{font-size:1.625rem}
  .contact__info p{font-size:.875rem}
  .contact__form-wrap{padding:44px}
  .contact__form h4{font-size:1.125rem}

  .footer{padding:64px 0 24px}
  .footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:44px}
  .footer__col h4{font-size:.875rem}
  .footer__links a{font-size:.75rem}

  .floating{bottom:24px;right:24px;gap:10px}
  .floating__btn{width:46px;height:46px}
}
