:root{
  --primary:#2a7fb2;
  --primary-2:#5fb1d6;
  --ink:#0b1324;
  --muted:#425166;
  --glass:rgba(255,255,255,.72);
  --glass2:rgba(255,255,255,.88);
  --stroke:rgba(2,6,23,.10);
  --shadow: 0 20px 60px rgba(12,24,40,.16);
}

/* Light liquid-glass background (Apple-ish) */
body{
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(900px 520px at 12% 8%, rgba(95,177,214,.26), transparent 62%),
    radial-gradient(760px 520px at 88% 10%, rgba(42,127,178,.20), transparent 60%),
    radial-gradient(1100px 820px at 50% 105%, rgba(142,194,234,.22), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 55%, #ffffff 100%);
  color: var(--ink);
  overflow-x:hidden;
}

/* Subtle noise */
.noise::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
  opacity:.06;
}

/* Glass surfaces */
.glass{
  background: linear-gradient(180deg, var(--glass2), var(--glass));
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.glass-soft{
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.48));
  border: 1px solid rgba(2,6,23,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.glow-ring{ position:relative; }
.glow-ring::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background: linear-gradient(135deg, rgba(95,177,214,.75), rgba(255,255,255,.50), rgba(42,127,178,.75));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  opacity:.65;
}

.floating-orb{
  position:absolute;
  border-radius:9999px;
  opacity:.40;
  transform: translateZ(0);
  animation: floaty 12s ease-in-out infinite;
}
@keyframes floaty{
  0%,100%{ transform: translateY(0px) translateX(0px) scale(1); }
  50%{ transform: translateY(-18px) translateX(12px) scale(1.02); }
}

.btn-liquid{ position:relative; overflow:hidden; }
.btn-liquid::before{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.70), transparent 50%),
              radial-gradient(circle at 70% 60%, rgba(255,255,255,.35), transparent 55%);
  transform: rotate(12deg);
  opacity:.30;
}
.btn-liquid::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(95,177,214,.95), rgba(42,127,178,.95));
  opacity:.95;
}
.btn-liquid > *{ position:relative; z-index:1; }
.btn-liquid:hover::after{ opacity:1; }
.btn-liquid:hover{ transform: translateY(-1px); }

a, button{ -webkit-tap-highlight-color: transparent; }
.section-title{ letter-spacing:-0.02em; }

/* Swiper */
.swiper{ width:100%; }
.swiper-pagination-bullet{ opacity:.35; }
.swiper-pagination-bullet-active{ opacity:1; }

/* Smooth anchor offset for fixed header */
:target{ scroll-margin-top: 90px; }

/* Accordion */
details summary::-webkit-details-marker{ display:none; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce){ .floating-orb{ animation:none; } }

/* --- Tailwind utility overrides (keep HTML untouched, switch to light) --- */
.text-white{ color: var(--ink) !important; }
.text-white\/90{ color: rgba(11,19,36,.90) !important; }
.text-white\/80{ color: rgba(11,19,36,.80) !important; }
.text-white\/75{ color: rgba(11,19,36,.75) !important; }
.text-white\/70{ color: rgba(11,19,36,.70) !important; }
.text-white\/65{ color: rgba(11,19,36,.65) !important; }
.text-white\/60{ color: rgba(11,19,36,.60) !important; }
.text-white\/50{ color: rgba(11,19,36,.50) !important; }

.bg-white\/15{ background-color: rgba(2,6,23,.06) !important; }
.bg-white\/10{ background-color: rgba(2,6,23,.05) !important; }
.bg-white\/5{ background-color: rgba(2,6,23,.04) !important; }
.bg-white\/0{ background-color: transparent !important; }
.border-white\/15{ border-color: rgba(2,6,23,.10) !important; }
.border-white\/10{ border-color: rgba(2,6,23,.08) !important; }
.border-white\/5{ border-color: rgba(2,6,23,.06) !important; }

/* Make big image overlays readable on light */
[class*="from-black"], [class*="to-black"]{ filter: saturate(110%); }


/* Font Awesome visibility + baseline */
i.fa-solid,i.fa-regular,i.fa-brands{
  display:inline-block;
  line-height:1;
  vertical-align:-0.125em;
}

/* Fallbacks if utilities fail */
.hidden{display:none!important;}

/* --- Navigation (works even if Tailwind CDN fails) --- */
.nav-desktop{display:none;align-items:center;gap:.25rem;}
.nav-mobile{display:none;}

@media (min-width:768px){
  .nav-desktop{display:flex;}
}

.nav-mobile.is-open{display:block;}

/* Header CTA: hidden on mobile, visible on desktop (no Tailwind dependency) */
.header-cta{display:none;}
@media (min-width:768px){
  .header-cta{display:inline-flex;}
}


/* Replace default bullets with FA check icons (for lists we mark as flex) */
li.flex::before{
  content:"\f00c";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--primary);
  margin-top:.2rem;
}
