/* ═══════════════════════════════════════════════════════════
   ASCAER — Design System v2
   Palette: Light Blue (#76b5c7)
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ═══════════════════════════════════════════════
   1. DESIGN TOKENS
   ═══════════════════════════════════════════════ */
:root {
  /* ── Dark Base ── */
  --color-bg-primary:      #0B0F1A;
  --color-bg-secondary:    #111828;
  --color-bg-elevated:     #1A2236;
  --color-bg-surface:      #232E44;

  /* ── Light Alt ── */
  --color-bg-light:        #F2F7FA;
  --color-bg-white:        #FFFFFF;

  /* ── Accent (#76b5c7 family) ── */
  --color-accent-primary:  #76b5c7;
  --color-accent-hover:    #92c8d7;
  --color-accent-muted:    #5a9ab0;
  --color-accent-dark:     #3d7f99;
  --color-accent-glow:     rgba(118, 181, 199, 0.15);
  --color-accent-glow-strong: rgba(118, 181, 199, 0.28);

  /* ── Secondary ── */
  --color-secondary:       #5b8def;
  --color-secondary-hover: #7da5f5;

  /* ── Signals ── */
  --color-warning:         #F59E0B;
  --color-danger:          #EF4444;
  --color-success:         #34D399;
  --color-info:            #818CF8;

  /* ── Text ── */
  --color-text-primary:    #F1F5F9;
  --color-text-secondary:  #94A3B8;
  --color-text-muted:      #64748B;
  --color-text-on-accent:  #0B0F1A;
  
  /* ── Borders & Decor ── */
  --color-border:          rgba(255, 255, 255, 0.06);
  --color-border-weak:     rgba(255, 255, 255, 0.03);
  --color-border-hover:    rgba(255, 255, 255, 0.12);
  --grid-line:             rgba(26, 34, 54, 0.3);
  --header-bg:             rgba(11, 15, 26, 0.85);
  --header-bg-menu:        rgba(11, 15, 26, 0.96);
  --color-text-dark:       #1E293B;
  --color-text-dark-sec:   #475569;

  /* ── Fonts ── */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* ── Type Scale ── */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.563rem;
  --text-3xl:  1.953rem;
  --text-4xl:  2.441rem;
  --text-5xl:  3.052rem;

  /* ── Spacing ── */
  --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-8: 2rem; --sp-10: 2.5rem;
  --sp-12: 3rem; --sp-16: 4rem; --sp-20: 5rem; --sp-24: 6rem; --sp-32: 8rem;

  /* ── Radius ── */
  --r-sm: 4px; --r-md: 8px; --r-lg: 12px; --r-xl: 16px; --r-2xl: 24px;

  /* ── Shadows ── */
  --shadow-sm:   0 1px 3px rgba(0,0,0,.3);
  --shadow-md:   0 4px 14px rgba(0,0,0,.35);
  --shadow-lg:   0 8px 30px rgba(0,0,0,.45);
  --shadow-glow: 0 0 24px var(--color-accent-glow);
  --shadow-glow-s: 0 0 36px var(--color-accent-glow-strong);
  --shadow-card: 0 1px 3px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.04);

  --container: 1280px;
  --container-sm: 960px;
  --trans-fast: .2s ease;
  --trans: .3s ease;
  --trans-slow: .6s ease-out;
}

/* ── Light Theme Overrides ── */
[data-theme="light"] {
  --color-bg-primary:      #E8F4F8;
  --color-bg-secondary:    #DDF0F5;
  --color-bg-elevated:     #F4FAFB;
  --color-bg-surface:      #CFE7EE;

  --color-text-primary:    #0F172A;
  --color-text-secondary:  #334155;
  --color-text-muted:      #64748B;
  --color-text-on-accent:  #FFFFFF;

  --color-accent-glow:     rgba(118, 181, 199, 0.2);
  --color-accent-glow-strong: rgba(118, 181, 199, 0.4);

  --shadow-glow: 0 4px 14px rgba(0,0,0,0.06);
  --shadow-glow-s: 0 8px 30px rgba(118,181,199,0.3);
}

[data-theme="light"] .hero__grid {
  background-image: linear-gradient(rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.05) 1px,transparent 1px);
}
[data-theme="light"] .card, [data-theme="light"] .bento__item, [data-theme="light"] .dash-card, [data-theme="light"] .accordion__item, [data-theme="light"] .channel, [data-theme="light"] .task-item, [data-theme="light"] .marquee__item {
  border-color: rgba(15,23,42,0.1);
}
[data-theme="light"] .header.scrolled {
  background: rgba(255,255,255,0.9);
  box-shadow: 0 1px 0 rgba(15,23,42,0.06);
}
[data-theme="light"] .mobile-nav {
  background: rgba(248,250,252,0.96);
}
[data-theme="light"] .hero__stats {
  border-top-color: rgba(15,23,42,0.1);
}
[data-theme="light"] .dash-card__header, [data-theme="light"] .dash-row, [data-theme="light"] .dash-footer {
  border-color: rgba(15,23,42,0.06);
}
[data-theme="light"] .compare-table th {
  border-color: rgba(15,23,42,0.1);
}
[data-theme="light"] .compare-table td {
  border-color: rgba(15,23,42,0.05);
}
[data-theme="light"] .footer {
  border-color: rgba(15,23,42,0.08);
}
[data-theme="light"] .footer__bottom {
  border-color: rgba(15,23,42,0.08);
}
[data-theme="light"] .section__badge {
  background: rgba(118, 181, 199, 0.1);
  border-color: rgba(118, 181, 199, 0.3);
}

/* ═══ 2. RESET ═══ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-size:16px}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--trans-fast)}
a:hover{color:var(--color-accent-hover)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}
::selection{background:var(--color-accent-primary);color:var(--color-text-on-accent)}


/* ═══ 3. LAYOUT ═══ */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--sp-6)}
.container--sm{max-width:var(--container-sm)}
.section{padding-block:var(--sp-24);position:relative}
.section--alt{background:var(--color-bg-secondary)}

.section__header{text-align:center;margin-bottom:var(--sp-16)}
.section__badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--color-accent-glow);border:1px solid rgba(118,181,199,.2);border-radius:var(--r-2xl);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-6)}
.section__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-4xl);line-height:1.2;color:var(--color-text-primary);margin-bottom:var(--sp-4)}
.section__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:680px;margin-inline:auto;line-height:1.6}


/* ═══ 4. HEADER ═══ */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--sp-4) 0;transition:background var(--trans),padding var(--trans),box-shadow var(--trans)}
.header.scrolled{background:var(--header-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.04);padding:var(--sp-3) 0}
.header__inner{display:flex;align-items:center;justify-content:space-between}
.header__logo{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--sp-1);letter-spacing:-.02em}
.header__logo-accent{color:var(--color-accent-primary);text-shadow:0 0 18px var(--color-accent-glow)}
.header__nav{display:flex;align-items:center;gap:var(--sp-6)}
.header__link{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:color var(--trans-fast);position:relative;padding-bottom:2px}
.header__link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-accent-primary);transition:width var(--trans);border-radius:1px}
.header__link:hover{color:var(--color-text-primary)}
.header__link:hover::after{width:100%}
.header__link.active{color:var(--color-accent-primary)}
.header__link.active::after{width:100%}
.header__cta-wrap{margin-left:var(--sp-4);display:flex;align-items:center;gap:var(--sp-2)}

/* Theme Toggle */
.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:20px;color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid rgba(255,255,255,.06);transition:all var(--trans)}
.theme-toggle:hover{background:var(--color-bg-surface)}
[data-theme="light"] .theme-toggle{border-color:rgba(15,23,42,0.1)}

/* Burger */
.burger{display:none;flex-direction:column;gap:5px;padding:var(--sp-2);z-index:1001}
.burger__line{width:24px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:transform var(--trans),opacity var(--trans-fast)}
.burger.active .burger__line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active .burger__line:nth-child(2){opacity:0}
.burger.active .burger__line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{display:none;position:fixed;inset:0;background:var(--header-bg-menu);backdrop-filter:blur(20px);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-8);opacity:0;pointer-events:none;transition:opacity var(--trans)}
.mobile-nav.active{opacity:1;pointer-events:auto}
.mobile-nav__link{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);transition:color var(--trans-fast)}
.mobile-nav__link:hover{color:var(--color-accent-primary)}


/* ═══ 5. BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);transition:all var(--trans);white-space:nowrap}
.btn--primary{background:var(--color-accent-primary);color:var(--color-text-on-accent);box-shadow:var(--shadow-glow)}
.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-text-on-accent);box-shadow:var(--shadow-glow-s);transform:translateY(-1px)}
.btn--secondary{background:transparent;color:var(--color-accent-primary);border:1px solid var(--color-accent-muted)}
.btn--secondary:hover{background:var(--color-accent-glow);border-color:var(--color-accent-primary);color:var(--color-accent-hover)}
.btn--lg{padding:var(--sp-4) var(--sp-8);font-size:var(--text-base);border-radius:var(--r-lg)}


/* ═══ 6. HERO ═══ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:80px}
.hero--short{min-height:auto;padding-top:120px;padding-bottom:var(--sp-16)}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at 60% 40%,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,black 30%,transparent 70%)}
.hero__glow{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 25%,rgba(118,181,199,.1) 0%,transparent 50%),radial-gradient(ellipse at 20% 80%,rgba(91,141,239,.06) 0%,transparent 40%);pointer-events:none}
.hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16);align-items:center;position:relative;z-index:1}
.hero__inner--center{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero__content{max-width:620px}
.hero__inner--center .hero__content{max-width:800px}
.hero__badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--color-accent-glow);border:1px solid rgba(118,181,199,.2);border-radius:var(--r-2xl);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-6)}
.hero__badge-dot{width:6px;height:6px;background:var(--color-accent-primary);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}
.hero__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-5xl);line-height:1.15;color:var(--color-text-primary);margin-bottom:var(--sp-6)}
.hero__title-accent{color:var(--color-accent-primary)}
.hero__subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:1.65;margin-bottom:var(--sp-8);max-width:540px}
.hero__inner--center .hero__subtitle{max-width:700px;margin-inline:auto}
.hero__actions{display:flex;gap:var(--sp-4);flex-wrap:wrap}
.hero__inner--center .hero__actions{justify-content:center}
.hero__stats{display:flex;gap:var(--sp-10);padding-top:var(--sp-8);border-top:1px solid var(--color-border);margin-top:var(--sp-10)}
.hero__stat-value{font-family:var(--font-mono);font-weight:700;font-size:var(--text-3xl);color:var(--color-accent-primary);text-shadow:0 0 18px var(--color-accent-glow)}
.hero__stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--sp-1)}


/* ═══ 7. DASHBOARD CARD (Hero visual) ═══ */
.dash-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--sp-8);width:100%;max-width:480px;box-shadow:var(--shadow-lg),var(--shadow-glow);position:relative}
.dash-card__header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);padding-bottom:var(--sp-4);border-bottom:1px solid var(--color-border)}
.dash-dot{width:8px;height:8px;border-radius:50%}
.dash-dot--g{background:var(--color-success);box-shadow:0 0 8px rgba(52,211,153,.4)}
.dash-dot--y{background:var(--color-warning)}
.dash-dot--r{background:var(--color-danger)}
.dash-card__title{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto}
.dash-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--color-border-weak)}
.dash-row:last-child{border-bottom:none}
.dash-label{font-size:var(--text-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--sp-2)}
.dash-icon{width:24px;height:24px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:13px}
.dash-value{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}
.dash-status{display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--text-xs);padding:2px var(--sp-2);border-radius:var(--r-sm)}
.dash-status--ok{color:var(--color-success);background:rgba(52,211,153,.1)}
.dash-status--warn{color:var(--color-warning);background:rgba(245,158,11,.1)}
.dash-bar{width:100%;height:4px;background:var(--color-bg-surface);border-radius:2px;margin-top:var(--sp-3);overflow:hidden}
.dash-bar__fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--color-accent-muted),var(--color-accent-primary));transition:width 1.5s ease-out}
.dash-footer{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--color-border)}
.dash-footer__row{display:flex;justify-content:space-between;margin-bottom:var(--sp-2)}


/* ═══ 8. FEATURE CARDS ═══ */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}

.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:var(--sp-8);transition:all var(--trans);position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent-primary),transparent);opacity:0;transition:opacity var(--trans)}
.card:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-glow);transform:translateY(-2px)}
.card:hover::before{opacity:1}
.card__icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--color-accent-glow);display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-5);font-size:22px}
.card__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);color:var(--color-text-primary);margin-bottom:var(--sp-3)}
.card__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.65}

/* Large industry card */
.card--industry{min-height:280px;padding:var(--sp-10);display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--r-xl)}
.card--industry::after{content:'';position:absolute;inset:0;opacity:.06;transition:opacity var(--trans);pointer-events:none}
.card--heat::after{background:radial-gradient(ellipse at 80% 20%,var(--color-warning) 0%,transparent 60%)}
.card--water::after{background:radial-gradient(ellipse at 80% 20%,var(--color-secondary) 0%,transparent 60%)}
.card--industry:hover::after{opacity:.12}
.card--industry:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card__link{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:600;color:var(--color-accent-primary);transition:gap var(--trans);margin-top:var(--sp-4)}
.card--industry:hover .card__link{gap:var(--sp-3)}


/* ═══ 9. STEPS ═══ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8);position:relative}
.steps::before{content:'';position:absolute;top:36px;left:calc(16.66% + 24px);right:calc(16.66% + 24px);height:2px;background:linear-gradient(90deg,var(--color-accent-muted),var(--color-accent-primary),var(--color-accent-muted));opacity:.35}
.step{text-align:center;position:relative;z-index:1}
.step__num{width:72px;height:72px;border-radius:50%;background:var(--color-bg-elevated);border:2px solid var(--color-accent-muted);display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-6);font-family:var(--font-mono);font-weight:700;font-size:var(--text-2xl);color:var(--color-accent-primary);transition:all var(--trans)}
.step:hover .step__num{border-color:var(--color-accent-primary);box-shadow:var(--shadow-glow-s)}
.step__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);color:var(--color-text-primary);margin-bottom:var(--sp-3)}
.step__text{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:280px;margin-inline:auto}


/* ═══ 10. BENTO ═══ */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:var(--sp-5)}
.bento__item{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:var(--sp-6);transition:all var(--trans);display:flex;flex-direction:column}
.bento__item:hover{border-color:var(--color-accent-muted);box-shadow:var(--shadow-glow)}
.bento__item--lg{grid-column:span 2;grid-row:span 2;padding:var(--sp-8)}
.bento__item--wide{grid-column:span 2}
.bento__icon{font-size:26px;margin-bottom:var(--sp-4)}
.bento__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--sp-2)}
.bento__item--lg .bento__title{font-size:var(--text-2xl)}
.bento__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}
.bento__mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:auto;padding-top:var(--sp-6)}
.bento__mini-stat{padding:var(--sp-3);background:var(--color-bg-surface);border-radius:var(--r-md);text-align:center}
.bento__mini-val{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;color:var(--color-accent-primary)}
.bento__mini-label{font-size:var(--text-xs);color:var(--color-text-muted)}


/* ═══ 11. ACCORDION ═══ */
.accordion{display:flex;flex-direction:column;gap:var(--sp-3)}
.accordion__item{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--r-lg);overflow:hidden;transition:border-color var(--trans)}
.accordion__item.open{border-color:var(--color-accent-muted)}
.accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--color-text-primary);text-align:left;transition:color var(--trans-fast);cursor:pointer;gap:var(--sp-4)}
.accordion__trigger:hover{color:var(--color-accent-primary)}
.accordion__icon{font-size:var(--text-xl);color:var(--color-text-muted);transition:transform var(--trans);flex-shrink:0}
.accordion__item.open .accordion__icon{transform:rotate(45deg);color:var(--color-accent-primary)}
.accordion__body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.accordion__item.open .accordion__body{max-height:600px}
.accordion__content{padding:0 var(--sp-6) var(--sp-6);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}
.accordion__content ul{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}
.accordion__content li{padding-left:var(--sp-5);position:relative}
.accordion__content li::before{content:'—';position:absolute;left:0;color:var(--color-accent-muted)}


/* ═══ 12. TABLE (Compare) ═══ */
.compare-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}
.compare-table th{text-align:center;padding:var(--sp-5);font-family:var(--font-display);font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}
.compare-table th:first-child{text-align:left;color:var(--color-text-muted)}
.compare-table th.cloud{color:var(--color-accent-primary);background:var(--color-accent-glow);border-radius:var(--r-lg) var(--r-lg) 0 0}
.compare-table th.box{color:var(--color-text-secondary)}
.compare-table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--color-border-weak);vertical-align:top}
.compare-table td:first-child{color:var(--color-text-primary);font-weight:500}
.compare-table td.box-cell{text-align:center;color:var(--color-text-secondary)}
.compare-table td.cloud-cell{text-align:center;color:var(--color-text-primary);background:rgba(118,181,199,.04)}
.compare-table tr:last-child td.cloud-cell{border-radius:0 0 var(--r-lg) var(--r-lg)}
.compare-table tr:hover td{background:rgba(255,255,255,.02)}
.compare-table tr:hover td.cloud-cell{background:rgba(118,181,199,.07)}


/* ═══ 13. MARQUEE ═══ */
.marquee{padding-block:var(--sp-12);overflow:hidden;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.marquee__track{display:flex;gap:var(--sp-10);animation:marquee 35s linear infinite;width:max-content}
.marquee__item{font-family:var(--font-display);font-weight:500;font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;opacity:.5;transition:opacity var(--trans-fast);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg-secondary)}
.marquee__item:hover{opacity:1}


/* ═══ 14. CTA BANNER ═══ */
.cta-banner{position:relative;border-radius:var(--r-2xl);padding:var(--sp-16) var(--sp-10);text-align:center;overflow:hidden;background:linear-gradient(135deg,var(--color-bg-elevated),var(--color-bg-surface));border:1px solid var(--color-border)}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,var(--color-accent-glow-strong),transparent 60%);pointer-events:none}
.cta-banner__title{font-family:var(--font-display);font-weight:700;font-size:var(--text-4xl);color:var(--color-text-primary);margin-bottom:var(--sp-4);position:relative}
.cta-banner__sub{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--sp-8);position:relative}
.cta-banner__actions{display:flex;justify-content:center;gap:var(--sp-4);flex-wrap:wrap;position:relative}


/* ═══ 15. CHANNELS ROW ═══ */
.channels{display:flex;justify-content:center;gap:var(--sp-8);flex-wrap:wrap;margin-top:var(--sp-12)}
.channel{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--sp-3) var(--sp-5);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg-elevated);transition:all var(--trans)}
.channel:hover{border-color:var(--color-accent-muted);color:var(--color-text-primary)}
.channel__icon{color:var(--color-accent-primary);font-size:var(--text-lg)}


/* ═══ 16. FOOTER ═══ */
.footer{background:var(--color-bg-secondary);border-top:1px solid rgba(255,255,255,.04);padding-top:var(--sp-16);padding-bottom:var(--sp-8)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-10);margin-bottom:var(--sp-12)}
.footer__brand{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--sp-4);max-width:300px;line-height:1.6}
.footer__group-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--sp-5);text-transform:uppercase;letter-spacing:.06em}
.footer__link{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--sp-3);transition:color var(--trans-fast)}
.footer__link:hover{color:var(--color-accent-primary)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--sp-8);border-top:1px solid rgba(255,255,255,.04);font-size:var(--text-xs);color:var(--color-text-muted)}
.footer__cert{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-muted)}


/* ═══ 17. CONTENT BLOCKS (for inner pages) ═══ */
.content-block{margin-bottom:var(--sp-12)}
.content-block__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-2xl);color:var(--color-text-primary);margin-bottom:var(--sp-4)}
.content-block__text{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.7;max-width:800px}
.content-block__text + .content-block__text{margin-top:var(--sp-4)}

.task-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);margin-top:var(--sp-6)}
.task-item{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;transition:all var(--trans)}
.task-item:hover{border-color:var(--color-accent-muted)}
.task-item__check{color:var(--color-accent-primary);font-weight:700;flex-shrink:0;margin-top:1px}


/* ═══ 18. ANIMATIONS ═══ */
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}
.reveal-d4{transition-delay:.4s}.reveal-d5{transition-delay:.5s}


/* ═══ 19. RESPONSIVE ═══ */
@media(max-width:1024px){
  .header__nav,.header__cta-wrap{display:none}
  .burger{display:flex}
  .mobile-nav{display:flex}
  .hero__inner{grid-template-columns:1fr;text-align:center}
  .hero__content{max-width:100%}
  .hero__subtitle{margin-inline:auto}
  .hero__actions{justify-content:center}
  .hero__stats{justify-content:center}
  .hero__visual{display:none}
  .hero__title{font-size:var(--text-4xl)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento__item--lg{grid-column:span 2;grid-row:span 1}
  .footer__grid{grid-template-columns:1fr 1fr;gap:var(--sp-8)}
  .task-list{grid-template-columns:1fr}
}
@media(max-width:768px){
  .section{padding-block:var(--sp-16)}
  .section__title{font-size:var(--text-3xl)}
  .hero{min-height:auto;padding-top:100px;padding-bottom:var(--sp-16)}
  .hero__title{font-size:var(--text-3xl)}
  .hero__stats{flex-direction:column;gap:var(--sp-4);align-items:center}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:var(--sp-10)}
  .steps::before{display:none}
  .bento{grid-template-columns:1fr}
  .bento__item--lg,.bento__item--wide{grid-column:span 1}
  .cta-banner{padding:var(--sp-10) var(--sp-6)}
  .cta-banner__title{font-size:var(--text-3xl)}
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;gap:var(--sp-4);text-align:center}
  .channels{flex-direction:column;align-items:center}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  .marquee__track{animation:none}
}

[data-theme="light"] {
  /* ── Light Base ── */
  --color-bg-primary:      #E8F4F8;
  --color-bg-secondary:    #DDF0F5;
  --color-bg-elevated:     #F4FAFB;
  --color-bg-surface:      #CFE7EE;

  /* ── Accent (#76b5c7) ── */
  --color-accent-primary:  #76b5c7; 
  --color-accent-hover:    #5a9ab0; 
  --color-accent-muted:    #a3cadd; 
  --color-accent-dark:     #3d7f99;
  --color-accent-glow:     rgba(118, 181, 199, 0.25);
  --color-accent-glow-strong: rgba(118, 181, 199, 0.4);

  /* ── Signals ── */
  --color-warning:         #D97706;
  --color-danger:          #DC2626;
  --color-success:         #059669;
  --color-info:            #4F46E5;

  /* ── Text ── */
  --color-text-primary:    #0F172A;
  --color-text-secondary:  #475569;
  --color-text-muted:      #64748B;
  --color-text-on-accent:  #0F172A;

  /* ── Borders & Decor ── */
  --color-border:          rgba(15, 23, 42, 0.08); 
  --color-border-weak:     rgba(15, 23, 42, 0.04);
  --color-border-hover:    rgba(15, 23, 42, 0.15);
  --grid-line:             rgba(15, 23, 42, 0.05); 
  --header-bg:             rgba(248, 250, 252, 0.85); 
  --header-bg-menu:        rgba(248, 250, 252, 0.96);
  --compare-cloud-bg:      rgba(118, 181, 199, 0.08);
  --compare-cloud-bg-hover:rgba(118, 181, 199, 0.14);
  
  --shadow-glow:           0 0 24px rgba(118, 181, 199, 0.3);
  --shadow-glow-s:         0 0 36px rgba(118, 181, 199, 0.45);
}

.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-md);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);transition:all var(--trans);cursor:pointer;margin-right:var(--sp-4)}
.theme-toggle:hover{color:var(--color-accent-primary);border-color:var(--color-accent-muted);transform:scale(1.05)}
.header__cta-wrap{display:flex;align-items:center;}
