:root{
  --bg: #070d1c;
  --panel: rgba(255,255,255,.06);
  --panel-2: rgba(255,255,255,.09);
  --border: rgba(255,255,255,.12);
  --text: rgba(255,255,255,.93);
  --muted: rgba(255,255,255,.62);
  --shadow: 0 16px 52px rgba(0,0,0,.48);
  --shadow-lg: 0 32px 80px rgba(0,0,0,.6);
  --glow: 0 0 48px rgba(0,168,204,.18);
  --radius: 18px;
  --radius-sm: 12px;
  --primary: #00a8cc;
  --accent: #7ab800;
  --max: 1200px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: #070d1c;
  line-height:1.65;
  font-feature-settings: 'cv02','cv03','cv04','cv11';
  -webkit-font-smoothing: antialiased;
}

a{color:inherit; text-decoration:none}
p{margin:0 0 1rem}
h1,h2,h3{margin:0 0 .9rem; letter-spacing:-.03em; font-weight:800}
h1{font-size:clamp(2.4rem,5vw,4rem); line-height:1.04; letter-spacing:-.04em; font-weight:900}
h2{font-size:clamp(1.75rem,2.8vw,2.5rem); line-height:1.15; letter-spacing:-.035em}
h3,.h3{font-size:1.2rem; letter-spacing:-.02em; font-weight:700}
.muted{color:var(--muted)}
.home-title{margin:0}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.container{width:min(var(--max), calc(100% - 2rem)); margin-inline:auto}
.main{padding-top:5.5rem; padding-bottom:3rem}

/* header / nav */
.header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background: rgba(7,13,28,.78);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: background .3s ease;
}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding: .85rem 0; position:relative;}
.brand{display:flex; align-items:center; gap:.5rem; font-weight:900; letter-spacing:.12em}
.brand__mark{font-size:1.15rem}
.brand__dot{color:var(--primary); font-size:1.6rem; line-height:0}
.brand__logo{display:block; width:auto; height:60px}

.nav{display:flex; align-items:center; gap:.75rem; position:absolute; left:50%; transform:translateX(-50%);}
.nav__toggle{
  display:none;
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.nav__menu{display:flex; gap:.35rem; align-items:center}
.nav__link{
  padding:.55rem .9rem;
  border-radius: 999px;
  color: var(--muted);
  transition: background .2s ease, color .2s ease;
}
.nav__link:hover{background: rgba(255,255,255,.08); color: var(--text)}
.nav__link--cta{
  background: transparent;
  color: var(--text);
  font-weight:700;
}
.nav__link--cta:hover{background: rgba(255,255,255,.08);}

/* ─── NAV CONTROLS ───────────────────────────────────────── */
.nav__controls{display:flex; align-items:center; gap:.4rem}
.nav__ctrl-group{display:flex; align-items:center; gap:.18rem}
.nav__ctrl-sep{width:1px; height:18px; background:var(--border); flex-shrink:0}
.nav__ctrl-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px;
  border-radius:8px;
  border:1px solid transparent;
  background:transparent;
  color:var(--muted);
  font:inherit; font-size:.82rem;
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.nav__ctrl-btn:hover{background:var(--panel); color:var(--text)}
.nav__ctrl-btn[aria-pressed="true"]{
  background:var(--panel-2);
  color:var(--text);
  border-color:rgba(255,255,255,.22);
}
.nav__ctrl-btn--lang{
  width:auto; padding:0 .45rem;
  font-size:.72rem; font-weight:700; letter-spacing:.05em;
}
[data-theme="light"] .nav__ctrl-btn[aria-pressed="true"]{border-color:rgba(0,0,0,.18)}
[data-theme="light"] .nav__ctrl-sep{background:rgba(0,0,0,.12)}

.nav__dropdown{position:relative}
.nav__link--dropdown{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.nav__dropdown-icon{
  font-size:.62rem;
  opacity:.75;
  transition:transform .2s ease;
}
.nav__dropdown:hover .nav__dropdown-icon,
.nav__dropdown:focus-within .nav__dropdown-icon,
.nav__dropdown[data-submenu-open="true"] .nav__dropdown-icon{
  transform:rotate(180deg);
}
.nav__submenu{
  position:absolute;
  top:100%;
  margin-top:.55rem;
  left:50%;
  min-width:520px;
  padding:.6rem;
  border-radius:16px;
  background:rgba(11,18,32,.96);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(-6px);
  transition:opacity .2s ease, visibility .2s ease, transform .2s ease, display .2s ease;
  transition-delay: .15s;
}
.nav__submenu::before {
  content: '';
  position: absolute;
  top: -1rem;
  left: 0;
  right: 0;
  height: 1rem;
}

.nav__dropdown:hover .nav__submenu,
.nav__dropdown:focus-within .nav__submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
  transition-delay: 0s;
}

.nav__groups{
  display:flex;
  gap:.5rem;
}
.nav__group{
  flex:1;
  display:flex;
  flex-direction:column;
}
.nav__group-title{
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  padding:.45rem .75rem .35rem;
}
.nav__group a{
  display:flex;
  align-items:flex-start;
  gap:.45rem;
  padding:.42rem .55rem .42rem .75rem;
  border-radius:10px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.35;
  transition:background .2s ease, color .2s ease;
}
.nav__group a::before{
  content:"•";
  color:var(--accent);
  flex-shrink:0;
}
.nav__group a:hover{
  background:rgba(255,255,255,.08);
  color:var(--text);
}
.nav__group-divider{
  width:1px;
  background:rgba(255,255,255,.1);
  margin:.35rem 0;
  flex-shrink:0;
}

@media (max-width: 820px){
  .nav{position:static; transform:none;}
  .nav__toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav__menu{
    position:absolute;
    right: 1rem;
    top: 64px;
    width:min(320px, calc(100vw - 2rem));
    padding:.65rem;
    border-radius: 16px;
    background: rgba(11,18,32,.92);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: var(--shadow);
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .nav__menu[data-open="true"]{display:flex}
  .nav__link{border-radius:12px; padding:.75rem .9rem}
  .nav__dropdown{width:100%}
  .nav__link--dropdown{width:100%; justify-content:space-between}
  .nav__submenu{
    position:static;
    min-width:0;
    width:100%;
    max-width:100%;
    overflow:hidden;
    margin:.15rem 0 .35rem;
    padding:.25rem .15rem;
    border:none;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    display:none;
  }
  .nav__dropdown[data-submenu-open="true"] .nav__submenu{display:block}
  .nav__groups{flex-direction:column; gap:0}
  .nav__group-divider{width:100%; height:1px; margin:.35rem 0}
  .nav__group a{padding:.55rem .55rem .55rem .65rem; white-space:normal; overflow-wrap:break-word; word-break:break-word}
  .nav__group-title{white-space:normal; overflow-wrap:break-word}
}

/* hero */
.hero{padding: 3.6rem 0 2.8rem}
.hero__inner{display:grid; grid-template-columns: 1.2fr .8fr; gap: 2rem; align-items:center}
.hero__copy{max-width: 58ch}
.lead{font-size:1.1rem; color: var(--muted); line-height:1.75}
.pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .65rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background: rgba(255,255,255,.06);
  color: var(--muted);
  margin-bottom: 1rem;
}
.hero__actions{display:flex; gap:.75rem; flex-wrap:wrap; margin: 1.25rem 0 1.4rem}
.hero__stats{display:flex; gap:1rem; flex-wrap:wrap}
.stat{
  padding:.8rem .95rem;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}
.stat__num{font-weight:900}
.stat__label{color: var(--muted); font-size:.92rem}
.hero__card{justify-self:end}
.glass-card{
  padding: 1.2rem 1.2rem 1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: var(--shadow);
  max-width: 420px;
}
.glass-card__title{font-weight:800; margin-bottom:.75rem}
.checklist{list-style:none; padding:0; margin:0 0 .9rem}
.checklist li{display:flex; gap:.6rem; align-items:flex-start; padding:.35rem 0; color: var(--muted)}
.checklist i{color: var(--accent); margin-top:.2rem}
.checklist--spacious li{padding:.55rem 0}
.link{display:inline-flex; gap:.5rem; align-items:center; color: rgba(255,255,255,.86)}
.link:hover{color: #fff}

@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr}
  .hero__card{justify-self:start}
}

.hero--after-carousel{
  padding: 2.6rem 0 2.2rem;
  background: linear-gradient(120deg, rgba(0,168,204,.13) 0%, rgba(0,20,60,.04) 45%, rgba(122,184,0,.11) 100%);
  background-size: 280% 280%;
  animation: hero-bg-shift 16s ease infinite;
}

/* ─── VIDEO HERO ─────────────────────────────────────────── */
.video-hero{
  position:relative;
  overflow:hidden;
  width:70%;
  margin-inline:auto;
  height:68vh;
  min-height:400px;
  margin-top:1rem;
  border-radius:var(--radius);
}
.video-hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  opacity:0;
  transition:opacity .5s ease;
}
.video-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to right,  #070d1c 0%, #070d1c 10%, transparent 26%, transparent 74%, #070d1c 90%, #070d1c 100%),
    linear-gradient(to bottom, #070d1c 0%, transparent 11%, transparent 68%, #070d1c 100%);
}
.video-hero__content{
  position:relative;
  z-index:2;
  text-align:center;
  width:min(820px, calc(100% - 2rem));
  margin:-2rem auto 0;
  padding:0 1rem;
}
.video-hero__pill{margin-bottom:1.2rem}
.video-hero__title{
  color:#fff;
  font-size:clamp(2.1rem,5vw,3.5rem);
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:1rem;
  text-shadow:0 2px 24px rgba(0,0,0,.5);
}
.video-hero__sub{
  font-size:clamp(1rem,1.6vw,1.15rem);
  color:rgba(255,255,255,.82);
  max-width:62ch;
  margin:0 auto 1.8rem;
}
.video-hero__actions{
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  justify-content:center;
}
.video-hero__scroll{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  color:rgba(255,255,255,.45);
  font-size:1.1rem;
  animation:scroll-bounce .9s ease-in-out infinite alternate;
}
@keyframes scroll-bounce{
  from{transform:translateX(-50%) translateY(0)}
  to  {transform:translateX(-50%) translateY(7px)}
}
[data-theme="light"] .video-hero__overlay{
  background:
    linear-gradient(to right,  #f0f6ff 0%, #f0f6ff 10%, transparent 26%, transparent 74%, #f0f6ff 90%, #f0f6ff 100%),
    linear-gradient(to bottom, #f0f6ff 0%, transparent 11%, transparent 68%, #f0f6ff 100%);
}
@media(max-width:820px){
  .video-hero{
    width:100%;
    margin-inline:0;
    border-radius:0;
    height:52vh;
    min-height:300px;
  }
  .video-hero__overlay{
    background:
      linear-gradient(to right,  transparent 0%, transparent 100%),
      linear-gradient(to bottom, #070d1c 0%, transparent 15%, transparent 68%, #070d1c 100%);
  }
  [data-theme="light"] .video-hero__overlay{
    background:
      linear-gradient(to right,  transparent 0%, transparent 100%),
      linear-gradient(to bottom, #f0f6ff 0%, transparent 15%, transparent 68%, #f0f6ff 100%);
  }
}
[data-theme="light"] .video-hero__title{color:rgba(0,0,0,.88)}
[data-theme="light"] .video-hero__sub{color:rgba(0,0,0,.64)}

/* carousel hero wrapper */
.carousel-hero{padding: 2.0rem 0 1.2rem}
.carousel--hero .carousel__track{height: 356px}
.carousel-hero__copy{margin-top: 1.2rem}
@media (max-width: 820px){
  .carousel-hero{padding: 1.4rem 0 1rem}
  .carousel--hero .carousel__track{height: 304px}
  .carousel-hero__copy{margin-top: 1rem}
}

/* sections / cards */
.section{padding: 5rem 0}
.section--muted{padding: 5rem 0; background: rgba(255,255,255,.025); border-block: 1px solid rgba(255,255,255,.06)}
.section__header{display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom: 2.8rem}
.section__header p{color: var(--muted); max-width: 60ch; font-size:1.05rem; line-height:1.7}
.section__spacer{height: 1.6rem}
.section__header h2::before{
  content:'';
  display:block;
  width:2.8rem; height:3px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  border-radius:999px;
  margin-bottom:.9rem;
}

.grid{display:grid; gap: 1rem}
.grid--2{grid-template-columns: repeat(2, minmax(0, 1fr))}
.grid--3{grid-template-columns: repeat(3, minmax(0, 1fr))}
.grid--4{grid-template-columns: repeat(4, minmax(0, 1fr))}
@media (max-width: 980px){ .grid--4{grid-template-columns: repeat(2, minmax(0, 1fr))} }
@media (max-width: 820px){
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .section__header{flex-direction:column; align-items:flex-start}
}

.card{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.045);
  padding: 1.6rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.28);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.card:hover{
  transform: translateY(-5px);
  box-shadow: 0 24px 64px rgba(0,0,0,.45), 0 0 0 1px rgba(0,168,204,.18);
  border-color: rgba(0,168,204,.22);
}
.card--soft{background: rgba(255,255,255,.03)}
@keyframes icon-color-shift {
  0%   { background: rgba(0,168,204,.20); border-color: rgba(0,168,204,.32); box-shadow: 0 0 14px rgba(0,168,204,.18); }
  50%  { background: rgba(122,184,0,.18); border-color: rgba(122,184,0,.30); box-shadow: 0 0 14px rgba(122,184,0,.16); }
  100% { background: rgba(0,168,204,.20); border-color: rgba(0,168,204,.32); box-shadow: 0 0 14px rgba(0,168,204,.18); }
}

.card--icon .card__icon{
  width: 44px; height: 44px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 14px;
  margin-bottom:.7rem;
  animation: icon-color-shift 5s ease-in-out infinite;
}
.card__icon{color: rgba(255,255,255,.9)}

.card:nth-child(1) .card__icon { animation-delay:  0s }
.card:nth-child(2) .card__icon { animation-delay: -0.7s }
.card:nth-child(3) .card__icon { animation-delay: -1.4s }
.card:nth-child(4) .card__icon { animation-delay: -2.1s }
.card:nth-child(5) .card__icon { animation-delay: -2.8s }
.card:nth-child(6) .card__icon { animation-delay: -3.5s }
.card:nth-child(7) .card__icon { animation-delay: -4.2s }
.card:nth-child(8) .card__icon { animation-delay: -4.9s }
.card:nth-child(9) .card__icon { animation-delay: -5.6s }

.bullets{margin:.6rem 0 0; padding-left: 1.15rem; color: var(--muted)}
.bullets li{margin:.45rem 0}

/* buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55rem;
  padding:.85rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  font-weight: 700;
  font-size: .97rem;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .22s ease, background .2s ease, filter .18s ease;
}
.btn:active{transform: translateY(1px)}
.btn--primary{
  background: linear-gradient(135deg, rgba(0,168,204,.95), rgba(122,184,0,.82));
  color: #07101d;
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 4px 22px rgba(0,168,204,.28);
}
.btn--primary:hover{
  box-shadow: 0 8px 36px rgba(0,168,204,.42);
  filter: brightness(1.08);
}
.btn--ghost{
  background: rgba(255,255,255,.05);
  color: var(--text);
  border-color: rgba(255,255,255,.18);
}
.btn--ghost:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.28);
}

/* dynamic hero gradient */
@keyframes hero-bg-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* page hero */
.page-hero{
  padding: 2.6rem 0 2rem;
  background: linear-gradient(120deg, rgba(0,168,204,.20) 0%, rgba(0,20,60,.05) 40%, rgba(122,184,0,.16) 100%);
  background-size: 280% 280%;
  animation: hero-bg-shift 12s ease infinite;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.page-hero__inner{display:flex; gap: 1.25rem; align-items:flex-end; justify-content:space-between}
.kicker{color: rgba(255,255,255,.68); margin:0 0 .5rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800; font-size:.82rem}

/* contact form */
.form{display:flex; flex-direction:column; gap:.85rem}
.label{display:block; font-size:.9rem; color: rgba(255,255,255,.78); margin-bottom:.35rem}
input, textarea{
  width:100%;
  padding:.75rem .85rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: var(--text);
  outline: none;
}
input:focus, textarea:focus{border-color: rgba(0,168,204,.7); box-shadow: 0 0 0 3px rgba(0,168,204,.18)}
.field-error{color: #ffd4d4; font-size:.9rem}
.info-list{display:flex; flex-direction:column; gap: .9rem}
.info{display:flex; gap:.75rem}
.info__icon{
  width:42px; height:42px;
  flex-shrink:0;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  animation: icon-color-shift 5s ease-in-out infinite;
}
.info:nth-child(1) .info__icon { animation-delay:  0s }
.info:nth-child(2) .info__icon { animation-delay: -1.7s }
.info:nth-child(3) .info__icon { animation-delay: -3.4s }
[data-theme="light"] .info__icon { animation-name: icon-color-shift-light }
.info__title{font-weight:800; margin-bottom:.15rem}
.info__text{color: var(--muted); font-size:.98rem}

/* messages */
.messages{margin: 1rem 0 0}
.message{
  padding:.85rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  margin-bottom:.6rem;
}
.message--success{border-color: rgba(122,184,0,.25); background: rgba(122,184,0,.10)}
.message--error{border-color: rgba(255,90,90,.25); background: rgba(255,90,90,.08)}

/* scroll reveal */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .75s cubic-bezier(.22,.68,0,1.05), transform .75s cubic-bezier(.22,.68,0,1.05);
}
.reveal.is-visible{opacity:1; transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* footer */
.footer{
  margin-top: 2.5rem;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(0,0,0,.15);
}
.footer__inner{display:flex; justify-content:space-between; gap: 1.5rem; padding: 2.2rem 0}
.footer__logo{font-weight:900; letter-spacing:.12em}
.footer__dot{color: var(--primary)}
.footer__logo-img{display:block; width:auto; height:70px}

@media (max-width: 820px){
  .brand__logo{height:44px}
  .footer__logo-img{height:52px}
  .main{padding-top:4.5rem}
}
.footer__tagline{color: var(--muted); margin:.4rem 0 0}
.footer__cols{display:flex; gap:2.4rem}
.footer__title{font-weight:800; margin-bottom:.6rem}
.footer__link{display:block; color: var(--muted); padding:.25rem 0}
.footer__link:hover{color: var(--text)}
.footer__text{color: var(--muted); padding:.25rem 0}
.footer__bottom{border-top: 1px solid rgba(255,255,255,.08)}
.footer__bottom-inner{padding: .9rem 0; color: rgba(255,255,255,.65); font-size:.95rem}
@media (max-width: 820px){
  .footer__inner{flex-direction:column}
  .footer__cols{flex-direction:column; gap:1rem}
}

/* carousel */
.carousel{
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  overflow:hidden;
}
.carousel__viewport{position:relative}
.carousel__track{position:relative; height: 360px}
.carousel__slide{
  position:absolute; inset:0;
  display:block;
  opacity:0;
  transform: scale(1.01);
  transition: opacity .35s ease, transform .55s ease;
  pointer-events: none;
}
.carousel__slide.is-active{opacity:1; transform: scale(1); pointer-events: auto; cursor: pointer;}

.carousel__slide--cyan  { background: linear-gradient(135deg, rgba(0,168,204,.22) 0%, rgba(0,30,60,.7) 100%), #080f1c; }
.carousel__slide--blue  { background: linear-gradient(135deg, rgba(30,100,220,.25) 0%, rgba(0,15,60,.7) 100%), #060c1a; }
.carousel__slide--green { background: linear-gradient(135deg, rgba(122,184,0,.22) 0%, rgba(8,35,18,.7) 100%), #070e10; }
.carousel__slide--deep  { background: linear-gradient(135deg, rgba(80,30,200,.24) 0%, rgba(8,4,36,.7) 100%), #080618; }

.carousel__bg{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  pointer-events:none;
}
.carousel__bg-icon{
  font-size:10rem;
  opacity:.07;
  color:#fff;
  user-select:none;
}
.carousel__overlay{
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:space-between;
  padding: 1.8rem 2rem 2rem;
  background: linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.20) 42%, rgba(0,0,0,.82) 100%);
}
[data-theme="light"] .carousel__overlay{
  background: linear-gradient(180deg, rgba(0,30,70,.58) 0%, rgba(0,30,70,.12) 42%, rgba(0,30,70,.62) 100%);
}
.carousel__header{ display:flex; flex-direction:column }
.carousel__kicker{
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
  color: rgba(255,255,255,.78);
  margin-bottom:.35rem;
}
.carousel__title{
  font-weight:900;
  letter-spacing:-.02em;
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  margin-bottom:.4rem;
  line-height:1.2;
}
.carousel__subtitle{
  font-size: clamp(.88rem, 1.4vw, 1.05rem);
  color: rgba(255,255,255,.82);
  font-weight:400;
  line-height:1.4;
}
.carousel__list{
  list-style:none;
  padding:0; margin:.8rem 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.3rem .9rem;
}
.carousel__list li{
  font-size: clamp(.78rem, 1.1vw, .9rem);
  color: rgba(255,255,255,.78);
  padding-left:1rem;
  position:relative;
  line-height:1.35;
}
@media(max-width:500px){
  .carousel__list{ grid-template-columns:1fr }
}
.carousel__list li::before{
  content:'›';
  position:absolute; left:0;
  color: rgba(255,255,255,.50);
  font-weight:700;
}
.carousel__cta{color: rgba(255,255,255,.86); font-weight:800}
.carousel__cta i{margin-left:.4rem}

.carousel__btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:42px; height:42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(11,18,32,.55);
  color: rgba(255,255,255,.92);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: background .2s ease, transform .12s ease;
}
.carousel__btn:hover{background: rgba(11,18,32,.78)}
.carousel__btn:active{transform: translateY(-50%) translateY(1px)}
.carousel__btn--prev{left: 12px}
.carousel__btn--next{right: 12px}

.carousel__dots{
  display:flex;
  justify-content:center;
  gap:.5rem;
  padding:.8rem .9rem;
  background: rgba(255,255,255,.02);
  border-top: 1px solid rgba(255,255,255,.06);
}
.carousel__dot{
  width:10px; height:10px;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  cursor:pointer;
}
.carousel__dot.is-active{
  width: 26px;
  background: linear-gradient(135deg, rgba(0,168,204,.95), rgba(122,184,0,.8));
  border-color: rgba(255,255,255,.12);
}

@media (max-width: 820px){
  .carousel__track{height: 300px}
  .carousel__btn{display:none}
}

/* ─── PEEK CAROUSEL ──────────────────────────────────────── */
.peek-section{padding:1.8rem 0 2rem}
.peek-wrap{overflow:hidden}
.peek-track{
  display:flex;
  gap:1.25rem;
  transition:transform .6s cubic-bezier(.25,.46,.45,.94);
  will-change:transform;
}
.peek-slide{
  flex:0 0 78%;
  height:340px;
  border-radius:var(--radius);
  position:relative;
  overflow:hidden;
  display:block;
  flex-shrink:0;
  opacity:.55;
  transition:opacity .4s ease;
}
.peek-slide.is-active{opacity:1}
.peek-slide--cyan{background:linear-gradient(135deg,rgba(0,168,204,.22) 0%,rgba(0,30,60,.7) 100%),#080f1c}
.peek-slide--blue{background:linear-gradient(135deg,rgba(30,100,220,.25) 0%,rgba(0,15,60,.7) 100%),#060c1a}
.peek-slide--green{background:linear-gradient(135deg,rgba(122,184,0,.22) 0%,rgba(8,35,18,.7) 100%),#070e10}
.peek-slide--deep{background:linear-gradient(135deg,rgba(80,30,200,.24) 0%,rgba(8,4,36,.7) 100%),#080618}
.peek-slide__bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.peek-slide__bg-icon{font-size:10rem;opacity:.07;color:#fff;user-select:none}
.peek-slide__overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:1.8rem 2rem 2rem;
  background:linear-gradient(180deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,0) 60%,rgba(0,0,0,.75) 100%);
}
.peek-slide__title{font-weight:900;font-size:clamp(1.1rem,2.2vw,1.6rem);letter-spacing:-.02em;color:#fff;margin-bottom:.35rem;line-height:1.2}
.peek-slide__sub{font-size:clamp(.82rem,1.2vw,.98rem);color:rgba(255,255,255,.80);line-height:1.4}
.peek-slide__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .9rem}
.peek-slide__list li{font-size:clamp(.72rem,1vw,.86rem);color:rgba(255,255,255,.72);padding-left:.9rem;position:relative;line-height:1.35}
.peek-slide__list li::before{content:'›';position:absolute;left:0;color:rgba(255,255,255,.48);font-weight:700}

.peek-footer{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.9rem}
.peek-dots{display:flex;gap:.5rem}
.peek-dot{
  width:10px;height:10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  cursor:pointer;
  transition:width .25s ease,background .25s ease;
}
.peek-dot.is-active{width:26px;background:linear-gradient(135deg,rgba(0,168,204,.95),rgba(122,184,0,.8));border-color:rgba(255,255,255,.12)}
.peek-btn{
  width:38px;height:38px;border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(11,18,32,.55);
  color:rgba(255,255,255,.9);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .2s;
}
.peek-btn:hover{background:rgba(11,18,32,.82)}
@media(max-width:820px){
  .peek-slide{flex:0 0 88%;height:280px}
}
@media(max-width:500px){
  .peek-slide__list{grid-template-columns:1fr}
}
[data-theme="light"] .peek-btn{background:rgba(236,241,248,.85);border-color:rgba(0,0,0,.14);color:rgba(0,0,0,.70)}
[data-theme="light"] .peek-btn:hover{background:rgba(236,241,248,.97)}
[data-theme="light"] .peek-dot{background:rgba(0,0,0,.12);border-color:rgba(0,0,0,.20)}
[data-theme="light"] .peek-dot.is-active{background:linear-gradient(135deg,rgba(0,146,179,.95),rgba(91,138,0,.82));border-color:rgba(0,0,0,.08)}

/* cta block */
.cta{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap}
.cta__copy h2{margin-bottom:.4rem}
.cta__copy p{color:var(--muted); margin:0}
.cta__actions{display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0}
@media(max-width:820px){.cta{flex-direction:column; align-items:flex-start}}

/* service pages */
.service-intro{font-size:1.05rem; color:var(--muted); max-width:72ch; margin-bottom:0}

.card--icon-accent .card__icon{
  animation-delay: -2.5s;
}

.card--product{
  background:linear-gradient(135deg, rgba(0,168,204,.10), rgba(122,184,0,.07));
  border-color:rgba(0,168,204,.25);
}
.product-label{
  font-size:.72rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.1em; color:var(--primary); margin-bottom:.5rem;
}

.terms-label{
  font-size:.72rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.1em; color:var(--muted); margin-bottom:.55rem;
}
.term-pills{display:flex; flex-wrap:wrap; gap:.45rem}
.term-pill{
  padding:.22rem .65rem;
  border-radius:999px;
  background:rgba(0,168,204,.08);
  border:1px solid rgba(0,168,204,.18);
  color:var(--muted);
  font-size:.82rem;
}

/* ─── THEME SWITCHER BAR ─────────────────────────────────── */
.theme-bar{
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
  padding:.5rem 0;
}
.theme-switcher{display:flex; align-items:center; gap:.35rem; justify-content:flex-end}
.theme-switcher__label{font-size:.75rem; color:var(--muted); margin-right:.2rem; letter-spacing:.07em; text-transform:uppercase; font-weight:700}
.theme-btn{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.28rem .72rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:transparent;
  color:var(--muted);
  font:inherit; font-size:.8rem;
  cursor:pointer;
  transition:background .18s, color .18s, border-color .18s;
}
.theme-btn:hover{background:var(--panel); color:var(--text)}
.theme-btn[aria-pressed="true"]{
  background:var(--panel-2);
  color:var(--text);
  border-color:rgba(255,255,255,.28);
}
.theme-btn__swatch{width:9px; height:9px; border-radius:50%; flex-shrink:0}
.theme-btn--dark  .theme-btn__swatch{background:#0b1220; border:1.5px solid rgba(255,255,255,.35)}
.theme-btn--light .theme-btn__swatch{background:#f2f5fa; border:1.5px solid rgba(0,0,0,.22)}

/* ─── LIGHT THEME ────────────────────────────────────────── */
[data-theme="light"]{
  --bg:#f0f6ff;
  --panel:rgba(0,0,0,.04);
  --panel-2:rgba(0,0,0,.07);
  --border:rgba(0,0,0,.09);
  --text:rgba(0,0,0,.88);
  --muted:rgba(0,0,0,.54);
  --shadow:0 16px 52px rgba(0,0,0,.12);
  --shadow-lg:0 32px 80px rgba(0,0,0,.18);
  --glow:0 0 48px rgba(0,146,179,.12);
  --radius:18px;
  --primary:#0092b3;
  --accent:#5b8a00;
}
[data-theme="light"] body{
  background: #f0f6ff;
}
[data-theme="light"] .header{
  background:rgba(240,246,255,.90);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-bottom-color:rgba(0,0,0,.07);
}
[data-theme="light"] .nav__link{color:rgba(0,0,0,.58)}
[data-theme="light"] .nav__link:hover{background:rgba(0,0,0,.05); color:rgba(0,0,0,.88)}
[data-theme="light"] .nav__toggle{border-color:rgba(0,0,0,.12); background:rgba(0,0,0,.04); color:rgba(0,0,0,.68)}
[data-theme="light"] .nav__submenu{background:rgba(232,245,255,.98); border-color:rgba(0,0,0,.10)}
[data-theme="light"] .nav__group-title{color:rgba(0,0,0,.48)}
[data-theme="light"] .nav__group a{color:rgba(0,0,0,.58)}
[data-theme="light"] .nav__group a:hover{background:rgba(0,0,0,.05); color:rgba(0,0,0,.88)}
[data-theme="light"] .nav__group-divider{background:rgba(0,0,0,.10)}
@media(max-width:820px){
  [data-theme="light"] .nav__menu{background:rgba(232,245,255,.97); border-color:rgba(0,0,0,.10)}
}
[data-theme="light"] .card{
  background:rgba(255,255,255,.82);
  border-color:rgba(0,0,0,.09);
  box-shadow:0 8px 26px rgba(0,0,0,.08);
}
[data-theme="light"] .card--soft{background:rgba(255,255,255,.55)}
[data-theme="light"] .card--product{
  background:linear-gradient(135deg,rgba(0,146,179,.07),rgba(91,138,0,.05));
  border-color:rgba(0,146,179,.20);
}
[data-theme="light"] .glass-card{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));
  border-color:rgba(0,0,0,.10);
}
[data-theme="light"] .pill{background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.10); color:rgba(0,0,0,.58)}
[data-theme="light"] .stat{background:rgba(0,0,0,.04); border-color:rgba(0,0,0,.09)}
[data-theme="light"] .btn--ghost{background:rgba(0,0,0,.05); color:rgba(0,0,0,.76); border-color:rgba(0,0,0,.14)}
[data-theme="light"] .btn--ghost:hover{background:rgba(0,0,0,.09); border-color:rgba(0,0,0,.22)}
[data-theme="light"] .btn--primary{background:linear-gradient(135deg,rgba(0,146,179,.95),rgba(91,138,0,.82)); box-shadow:0 4px 22px rgba(0,146,179,.25)}
[data-theme="light"] .btn--primary:hover{box-shadow:0 8px 36px rgba(0,146,179,.38)}
[data-theme="light"] .section--muted{background:rgba(0,0,0,.03); border-block-color:rgba(0,0,0,.06)}

[data-theme="light"] .page-hero{background:linear-gradient(120deg, rgba(0,168,204,.14) 0%, rgba(255,255,255,.0) 40%, rgba(122,184,0,.11) 100%); background-size:280% 280%; border-bottom-color:rgba(0,0,0,.07)}
[data-theme="light"] .hero--after-carousel{background:linear-gradient(120deg, rgba(0,168,204,.10) 0%, rgba(255,255,255,.0) 45%, rgba(122,184,0,.08) 100%); background-size:280% 280%}
[data-theme="light"] .footer{background:rgba(0,0,0,.04); border-top-color:rgba(0,0,0,.08)}
[data-theme="light"] .footer__bottom{border-top-color:rgba(0,0,0,.07)}
[data-theme="light"] .footer__bottom-inner{color:rgba(0,0,0,.48)}
[data-theme="light"] .footer__tagline,
[data-theme="light"] .footer__text{color:rgba(0,0,0,.54)}
[data-theme="light"] .footer__title{color:rgba(0,0,0,.80)}
[data-theme="light"] .footer__link{color:rgba(0,0,0,.54)}
[data-theme="light"] .footer__link:hover{color:rgba(0,0,0,.88)}
[data-theme="light"] .carousel{background:rgba(0,0,0,.03); border-color:rgba(0,0,0,.09)}
[data-theme="light"] .carousel__btn{background:rgba(236,241,248,.82); border-color:rgba(0,0,0,.16); color:rgba(0,0,0,.68)}
[data-theme="light"] .carousel__btn:hover{background:rgba(236,241,248,.97)}
[data-theme="light"] .carousel__dots{background:rgba(0,0,0,.02); border-top-color:rgba(0,0,0,.06)}
[data-theme="light"] .carousel__dot{background:rgba(0,0,0,.12); border-color:rgba(0,0,0,.20)}
[data-theme="light"] .carousel__dot.is-active{background:linear-gradient(135deg,rgba(0,146,179,.95),rgba(91,138,0,.82)); border-color:rgba(0,0,0,.08)}
[data-theme="light"] input,[data-theme="light"] textarea{background:rgba(255,255,255,.90); border-color:rgba(0,0,0,.14); color:rgba(0,0,0,.85)}
[data-theme="light"] input:focus,[data-theme="light"] textarea:focus{border-color:rgba(0,146,179,.60); box-shadow:0 0 0 3px rgba(0,146,179,.12)}
[data-theme="light"] .message{background:rgba(0,0,0,.04); border-color:rgba(0,0,0,.09)}
[data-theme="light"] .term-pill{background:rgba(0,146,179,.07); border-color:rgba(0,146,179,.16); color:rgba(0,0,0,.58)}
@keyframes icon-color-shift-light {
  0%   { background: rgba(0,168,204,.14); border-color: rgba(0,168,204,.24); box-shadow: 0 0 12px rgba(0,168,204,.12); }
  50%  { background: rgba(122,184,0,.12); border-color: rgba(122,184,0,.22); box-shadow: 0 0 12px rgba(122,184,0,.10); }
  100% { background: rgba(0,168,204,.14); border-color: rgba(0,168,204,.24); box-shadow: 0 0 12px rgba(0,168,204,.12); }
}
[data-theme="light"] .card--icon .card__icon,
[data-theme="light"] .card--icon-accent .card__icon {
  animation-name: icon-color-shift-light;
  color: rgba(0,0,0,.70);
}
[data-theme="light"] .kicker{color:rgba(0,0,0,.48)}
[data-theme="light"] .checklist li{color:rgba(0,0,0,.64)}
[data-theme="light"] .bullets li{color:rgba(0,0,0,.58)}
[data-theme="light"] .service-intro{color:rgba(0,0,0,.58)}
[data-theme="light"] .product-label{color:var(--primary)}
[data-theme="light"] .theme-bar{background:rgba(0,0,0,.02)}
[data-theme="light"] .theme-btn[aria-pressed="true"]{border-color:rgba(0,0,0,.20)}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,
[data-theme="light"] h4,[data-theme="light"] h5,[data-theme="light"] h6{color:rgba(0,0,0,.88)}
[data-theme="light"] p,[data-theme="light"] li,[data-theme="light"] span{color:rgba(0,0,0,.75)}
[data-theme="light"] .lead{color:rgba(0,0,0,.68)}
[data-theme="light"] .stat__num{color:rgba(0,0,0,.88)}
[data-theme="light"] .stat__label{color:rgba(0,0,0,.54)}
[data-theme="light"] .glass-card__title{color:rgba(0,0,0,.88)}
[data-theme="light"] .carousel__kicker{color:rgba(255,255,255,.80)}
[data-theme="light"] .carousel__title{color:#fff}
[data-theme="light"] .carousel__subtitle{color:rgba(255,255,255,.84)}
[data-theme="light"] .carousel__list li{color:rgba(255,255,255,.80)}
[data-theme="light"] .carousel__cta{color:rgba(255,255,255,.75)}

