/* ==========================================================================
   MegaEsim — Custom CSS for Bootstrap 5
   Tokens ported from original Tailwind config & index.css
   ========================================================================== */

:root {
  /* ── Brand tokens (HSL components, used in calc()/hsl() below) ── */
  --gs-background: 0 0% 100%;
  --gs-foreground: 222 47% 11%;
  --gs-card: 340 20% 98%;
  --gs-card-foreground: 222 47% 11%;
  --gs-popover: 0 0% 100%;
  --gs-primary: 340 75% 55%;
  --gs-primary-foreground: 0 0% 100%;
  --gs-secondary: 340 20% 96%;
  --gs-secondary-foreground: 222 47% 11%;
  --gs-muted: 340 15% 96%;
  --gs-muted-foreground: 215 20% 38%;
  --gs-accent: 350 80% 60%;
  --gs-accent-foreground: 0 0% 100%;
  --gs-destructive: 0 84% 60%;
  --gs-destructive-foreground: 0 0% 100%;
  --gs-border: 340 15% 90%;
  --gs-input: 340 15% 90%;
  --gs-ring: 340 75% 55%;
  --gs-success: 152 60% 42%;
  --gs-success-foreground: 0 0% 100%;
  --gs-warning: 38 92% 50%;
  --gs-warning-foreground: 0 0% 100%;
  --gs-trustpilot: 152 68% 36%;
  --gs-gradient-start: 340 75% 55%;
  --gs-gradient-end: 15 85% 58%;

  --gs-radius: 0.75rem;

  /* ── Bootstrap overrides ── */
  --bs-primary: hsl(var(--gs-primary));
  --bs-primary-rgb: 224, 65, 122;            /* hsl(340 75% 55%) ≈ rgb */
  --bs-secondary: hsl(var(--gs-muted-foreground));
  --bs-success: hsl(var(--gs-success));
  --bs-success-rgb: 43, 171, 117;
  --bs-danger: hsl(var(--gs-destructive));
  --bs-warning: hsl(var(--gs-warning));
  --bs-body-color: hsl(var(--gs-foreground));
  --bs-body-bg: hsl(var(--gs-background));
  --bs-body-font-family: 'Inter', system-ui, -apple-system, sans-serif;
  --bs-border-color: hsl(var(--gs-border));
  --bs-border-radius: var(--gs-radius);
  --bs-border-radius-sm: calc(var(--gs-radius) - 4px);
  --bs-border-radius-lg: calc(var(--gs-radius) + 4px);
  --bs-border-radius-xl: calc(var(--gs-radius) + 8px);
  --bs-border-radius-2xl: 1.5rem;
  --bs-link-color: hsl(var(--gs-primary));
  --bs-link-hover-color: hsl(340 75% 45%);
  --bs-font-sans-serif: 'Inter', system-ui, sans-serif;
}

/* ──────────────────────────────────────────────────────────────────────────
   Typography
   ────────────────────────────────────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: hsl(var(--gs-foreground));
  background-color: hsl(var(--gs-background));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Default size for inline SVG icons that don't declare width/height
   (icons.js emits SVGs without dimensions — without this they expand
   to fill flex/grid parents and break layout) */
svg:not([width]):not([height]) {
  width: 1.125em;
  height: 1.125em;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

h1, h2, h3, h4, h5, h6,
.font-display {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

.font-sans  { font-family: 'Inter', system-ui, sans-serif !important; }
.font-mono  { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace !important; }

/* ──────────────────────────────────────────────────────────────────────────
   Custom color utilities
   ────────────────────────────────────────────────────────────────────────── */
.text-primary-brand   { color: hsl(var(--gs-primary)) !important; }
.text-accent          { color: hsl(var(--gs-accent)) !important; }
.text-muted-foreground{ color: hsl(var(--gs-muted-foreground)) !important; }
.text-foreground      { color: hsl(var(--gs-foreground)) !important; }
.text-success         { color: hsl(var(--gs-success)) !important; }
.text-warning         { color: hsl(var(--gs-warning)) !important; }
.text-destructive     { color: hsl(var(--gs-destructive)) !important; }
.text-trustpilot      { color: hsl(var(--gs-trustpilot)) !important; }

.bg-card              { background-color: hsl(var(--gs-card)) !important; }
.bg-secondary-brand   { background-color: hsl(var(--gs-secondary)) !important; }
.bg-muted             { background-color: hsl(var(--gs-muted)) !important; }
.bg-background        { background-color: hsl(var(--gs-background)) !important; }
.bg-primary-soft      { background-color: hsl(var(--gs-primary) / 0.10) !important; }
.bg-success-soft      { background-color: hsl(var(--gs-success) / 0.15) !important; }
.bg-warning-soft      { background-color: hsl(var(--gs-warning) / 0.10) !important; }
.bg-destructive-soft  { background-color: hsl(var(--gs-destructive) / 0.10) !important; }

.border-brand         { border-color: hsl(var(--gs-border)) !important; }

/* ──────────────────────────────────────────────────────────────────────────
   Signature gradients & glass
   ────────────────────────────────────────────────────────────────────────── */
.gradient-bg {
  background-image: linear-gradient(
    135deg,
    hsl(var(--gs-gradient-start)),
    hsl(var(--gs-gradient-end))
  );
}

/* Luxury CTA gradient — deep midnight navy → rich violet → brand rose */
.gradient-bg-deep {
  background-image: linear-gradient(
    135deg,
    hsl(232 55% 13%) 0%,
    hsl(268 48% 24%) 45%,
    hsl(340 62% 42%) 100%
  );
}

.gradient-bg-subtle {
  background-image: linear-gradient(
    135deg,
    hsl(var(--gs-gradient-start) / 0.06),
    hsl(var(--gs-gradient-end) / 0.10)
  );
}

.gradient-text {
  background-image: linear-gradient(
    135deg,
    hsl(var(--gs-gradient-start)),
    hsl(var(--gs-gradient-end))
  );
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
          color: transparent;
}

.glass {
  background-color: hsl(var(--gs-card) / 0.7);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-bottom: 1px solid hsl(var(--gs-border) / 0.5);
}

/* ──────────────────────────────────────────────────────────────────────────
   Buttons (extend Bootstrap)
   ────────────────────────────────────────────────────────────────────────── */
.btn {
  font-weight: 600;
  border-radius: var(--gs-radius);
  transition: all .2s ease;
}
.btn-gradient {
  background-image: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  border: 0;
  color: #fff;
  box-shadow: 0 10px 25px -8px hsl(var(--gs-primary) / 0.40);
}
.btn-gradient:hover,
.btn-gradient:focus {
  color: #fff;
  filter: brightness(1.05);
  box-shadow: 0 12px 30px -8px hsl(var(--gs-primary) / 0.55);
}
.btn-outline-brand {
  background-color: transparent;
  color: hsl(var(--gs-primary));
  border: 1.5px solid hsl(var(--gs-primary));
}
.btn-outline-brand:hover {
  background-color: hsl(var(--gs-primary) / 0.08);
  color: hsl(var(--gs-primary));
  border-color: hsl(var(--gs-primary));
}
.btn-success-brand {
  background-color: hsl(var(--gs-success));
  color: #fff;
  border: 0;
}

/* ──────────────────────────────────────────────────────────────────────────
   Cards (rounded look) & dividers
   ────────────────────────────────────────────────────────────────────────── */
.card-brand {
  background-color: hsl(var(--gs-card));
  border: 1px solid hsl(var(--gs-border));
  border-radius: 1rem;
}

.rounded-2xl { border-radius: 1rem !important; }
.rounded-3xl { border-radius: 1.5rem !important; }
.rounded-4xl { border-radius: 2rem !important; }

/* ──────────────────────────────────────────────────────────────────────────
   Navbar
   ────────────────────────────────────────────────────────────────────────── */
.gs-navbar {
  position: sticky;
  top: 0;
  z-index: 1050;
  height: 64px;
  background-color: hsl(var(--gs-card) / 0.7);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-bottom: 1px solid hsl(var(--gs-border) / 0.5);
}
.gs-navbar .navbar-brand-text {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: hsl(var(--gs-foreground));
}
.gs-navbar .nav-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--gs-foreground) / 0.8);
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  transition: all .2s ease;
}
.gs-navbar .nav-link:hover {
  color: hsl(var(--gs-foreground));
  background-color: hsl(var(--gs-secondary));
}
.gs-navbar-logo {
  width: 32px;
  height: 32px;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  color: #fff;
}
.gs-cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  background-image: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  color: #fff;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ──────────────────────────────────────────────────────────────────────────
   Promo banner
   ────────────────────────────────────────────────────────────────────────── */
.gs-promo {
  background: linear-gradient(90deg, hsl(340 75% 55%), hsl(15 85% 58%));
  color: #fff;
  font-size: 0.875rem;
  padding: 0.625rem 0;
  position: relative;
  z-index: 1060;
}
.gs-promo .gs-promo-code {
  background-color: rgb(255 255 255 / 0.2);
  padding: 2px 8px;
  border-radius: 0.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.gs-promo .gs-promo-close {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  color: rgb(255 255 255 / 0.8);
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
}
.gs-promo .gs-promo-close:hover { background: rgb(255 255 255 / 0.2); color: #fff; }

/* ──────────────────────────────────────────────────────────────────────────
   Section backgrounds
   ────────────────────────────────────────────────────────────────────────── */
.bg-secondary-half  { background-color: hsl(var(--gs-secondary) / 0.5); }

.bg-hero-soft {
  background-image: linear-gradient(160deg,
    hsl(210 60% 93%) 0%,
    hsl(280 30% 95%) 35%,
    hsl(340 40% 94%) 70%,
    hsl(20 50% 95%) 100%);
}

.bg-destinations-soft {
  background-image: linear-gradient(180deg,
    hsl(20 30% 97%) 0%,
    hsl(240 15% 98%) 35%,
    hsl(0 0% 100%) 100%);
}

/* ──────────────────────────────────────────────────────────────────────────
   Country card (destinations grid)
   ────────────────────────────────────────────────────────────────────────── */
.country-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  border-radius: 1rem;
  border: 2px solid hsl(var(--gs-border));
  background-color: hsl(var(--gs-background));
  text-decoration: none;
  color: hsl(var(--gs-foreground));
  transition: all .3s ease;
}
.country-card:hover {
  border-color: hsl(var(--gs-success));
  background-color: hsl(var(--gs-success) / 0.05);
  transform: translateY(-8px) scale(1.05);
  box-shadow: 0 15px 35px -12px hsl(var(--gs-success) / 0.25);
  color: hsl(var(--gs-foreground));
}
.country-card .emoji {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  transition: transform .3s ease;
}
.country-card:hover .emoji { transform: scale(1.25); }
.country-card .name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1.2;
}
.country-card .operator {
  font-size: 10px;
  color: hsl(var(--gs-muted-foreground));
  margin-top: 2px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
}
.country-card .price {
  font-size: 11px;
  font-weight: 600;
  margin-top: 4px;
  color: hsl(var(--gs-success));
  opacity: 0;
  transition: opacity .3s ease;
}
.country-card:hover .price { opacity: 1; }
.country-card-hidden { display: none !important; }

/* ──────────────────────────────────────────────────────────────────────────
   Tabs (custom)
   ────────────────────────────────────────────────────────────────────────── */
.gs-tabs {
  display: inline-flex;
  background-color: hsl(var(--gs-background));
  border: 1px solid hsl(var(--gs-border));
  padding: 6px;
  border-radius: 12px;
  gap: 6px;
}
.gs-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: hsl(var(--gs-muted-foreground));
  background: transparent;
  border: 0;
  cursor: pointer;
  position: relative;
}
.gs-tab-btn.active {
  background-color: hsl(var(--gs-primary));
  color: #fff;
}

/* ── Clean segment tabs (destinations) ── */
.gs-tabs-clean {
  background: #eeeef3;
  border: none;
  border-radius: 50px;
  padding: 5px;
  gap: 2px;
}
.gs-tabs-clean .gs-tab-btn {
  padding: 8px 22px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 500;
  color: #6b6880;
  background: transparent;
  transition: color 0.18s, background 0.18s, box-shadow 0.18s;
}
.gs-tabs-clean .gs-tab-btn:hover:not(.active) {
  color: #1e1440;
}
.gs-tabs-clean .gs-tab-btn.active {
  background: #fff;
  color: #1e1440;
  font-weight: 600;
  box-shadow: 0 1px 6px rgba(0,0,0,0.10);
}

/* ── Premium Period Tabs (region pages) ── */
.gs-tabs-period {
  background: hsl(340 75% 97%);
  border: 1.5px solid hsl(340 75% 88%);
  border-radius: 50px;
  padding: 4px;
  gap: 2px;
}
.gs-tabs-period .gs-tab-btn {
  padding: 11px 32px;
  border-radius: 50px;
  color: hsl(var(--gs-muted-foreground));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.2s, background 0.2s, box-shadow 0.2s;
}
.gs-tabs-period .gs-tab-btn:hover:not(.active) {
  color: hsl(var(--gs-foreground));
}
.gs-tabs-period .gs-tab-btn.active {
  background: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  color: #fff;
  box-shadow: 0 2px 14px hsl(var(--gs-primary) / 0.35);
}

/* ── Standalone pill tabs (Key Features, FAQ) ── */
.gs-tab-btn.gs-tab-pill {
  border: 1.5px solid hsl(var(--gs-border));
  border-radius: 50px;
  padding: 9px 22px;
  color: hsl(var(--gs-foreground));
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s ease;
}
.gs-tab-btn.gs-tab-pill:hover:not(.active) {
  background: hsl(var(--gs-muted));
}
.gs-tab-btn.gs-tab-pill.active {
  background: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  border-color: hsl(var(--gs-primary));
  color: #fff;
  box-shadow: 0 2px 12px hsl(var(--gs-primary) / 0.3);
}

/* ──────────────────────────────────────────────────────────────────────────
   How It Works step card
   ────────────────────────────────────────────────────────────────────────── */
.step-card {
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid hsl(var(--gs-border));
  background-color: hsl(var(--gs-card));
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all .3s ease;
}
.step-card:hover {
  border-color: hsl(var(--gs-primary) / 0.3);
  box-shadow: 0 20px 40px -16px hsl(var(--gs-primary) / 0.10);
}
.step-card .icon-box {
  width: 64px;
  height: 64px;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-bottom: 1.5rem;
}

/* ──────────────────────────────────────────────────────────────────────────
   FAQ accordion override (use Bootstrap accordion but match brand)
   ────────────────────────────────────────────────────────────────────────── */
.gs-accordion .accordion-item {
  background-color: hsl(var(--gs-card));
  border: 1px solid hsl(var(--gs-border));
  border-radius: 0.75rem;
  margin-bottom: 0.75rem;
  overflow: hidden;
}
.gs-accordion .accordion-button {
  background-color: hsl(var(--gs-card));
  color: hsl(var(--gs-foreground));
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  box-shadow: none;
}
.gs-accordion .accordion-button:not(.collapsed) {
  background-color: hsl(var(--gs-card));
  color: hsl(var(--gs-foreground));
  box-shadow: none;
}
.gs-accordion .accordion-button:focus {
  border-color: transparent;
  box-shadow: none;
}
.gs-accordion .accordion-body {
  color: hsl(var(--gs-muted-foreground));
  padding-top: 1rem;
  padding-bottom: 1.25rem;
  border-top: 1px solid hsl(var(--gs-border));
  line-height: 1.7;
}

/* ──────────────────────────────────────────────────────────────────────────
   Form controls
   ────────────────────────────────────────────────────────────────────────── */
.form-control,
.form-select {
  border-color: hsl(var(--gs-border));
  background-color: hsl(var(--gs-background));
  color: hsl(var(--gs-foreground));
}
.form-control:focus,
.form-select:focus {
  border-color: hsl(var(--gs-primary));
  box-shadow: 0 0 0 0.2rem hsl(var(--gs-primary) / 0.15);
}
.input-icon-group {
  position: relative;
}
.input-icon-group > .form-control { padding-left: 2.75rem; }
.input-icon-group > svg.input-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: hsl(var(--gs-muted-foreground));
}

/* ──────────────────────────────────────────────────────────────────────────
   Footer
   ────────────────────────────────────────────────────────────────────────── */
.gs-footer {
  background-color: hsl(var(--gs-card));
  border-top: 1px solid hsl(var(--gs-border));
}
.gs-footer h4 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: hsl(var(--gs-foreground));
}
.gs-footer a {
  color: hsl(var(--gs-muted-foreground));
  text-decoration: none;
  font-size: 0.875rem;
}
.gs-footer a:hover { color: hsl(var(--gs-foreground)); }

/* Trust badges */
.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  border: 1px solid;
  font-size: 0.75rem;
  font-weight: 600;
}
.trust-badge.tb-ssl    { background:#ecfdf5; color:#059669; border-color:#a7f3d0; }
.trust-badge.tb-star   { background:#fffbeb; color:#d97706; border-color:#fde68a; }
.trust-badge.tb-money  { background:#eff6ff; color:#2563eb; border-color:#bfdbfe; }
.trust-badge.tb-time   { background:#faf5ff; color:#7c3aed; border-color:#e9d5ff; }
.trust-badge.tb-pack   { background:#fff7ed; color:#ea580c; border-color:#fed7aa; }

/* Payment chip */
.payment-chip {
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid hsl(var(--gs-border));
  background-color: hsl(var(--gs-background));
  font-size: 0.75rem;
  font-weight: 500;
  color: hsl(var(--gs-foreground));
}

/* ──────────────────────────────────────────────────────────────────────────
   Animations
   ────────────────────────────────────────────────────────────────────────── */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes pulse-soft {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.7; }
}
.animate-float      { animation: float 6s ease-in-out infinite; }
.animate-pulse-soft { animation: pulse-soft 3s ease-in-out infinite; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.6s ease-out both; }

/* ──────────────────────────────────────────────────────────────────────────
   Utility helpers
   ────────────────────────────────────────────────────────────────────────── */
.tracking-tight   { letter-spacing: -0.025em; }
.tracking-wide    { letter-spacing: 0.025em; }
.tracking-wider   { letter-spacing: 0.05em; }
.tracking-widest  { letter-spacing: 0.1em; }
.uppercase        { text-transform: uppercase; }
.leading-tight    { line-height: 1.25; }
.leading-relaxed  { line-height: 1.625; }

.size-icon-sm     { width: 14px; height: 14px; }
.size-icon        { width: 16px; height: 16px; }
.size-icon-lg     { width: 20px; height: 20px; }
.size-icon-xl     { width: 24px; height: 24px; }

.shadow-soft      { box-shadow: 0 8px 40px -8px rgb(0 0 0 / 0.15); }
.shadow-primary-glow { box-shadow: 0 12px 35px -10px hsl(var(--gs-primary) / 0.35); }

/* hero decorative blur shapes */
.blur-shape {
  position: absolute;
  border-radius: 999px;
  filter: blur(60px);
  pointer-events: none;
}

/* Country grid */
.country-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
@media (min-width: 576px) { .country-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 768px) { .country-grid { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 992px) { .country-grid { grid-template-columns: repeat(6, 1fr); } }

/* Section heading helper */
.eyebrow {
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--gs-primary));
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  display: block;
}

/* Comparison table icon circles */
.cmp-yes { width:28px; height:28px; border-radius:50%; background:hsl(var(--gs-success)/0.15); color:hsl(var(--gs-success)); display:inline-flex; align-items:center; justify-content:center; }
.cmp-no  { width:28px; height:28px; border-radius:50%; background:hsl(var(--gs-destructive)/0.10); color:hsl(var(--gs-destructive)/0.60); display:inline-flex; align-items:center; justify-content:center; }
.cmp-mid { width:28px; height:28px; border-radius:50%; background:hsl(var(--gs-warning)/0.15); color:hsl(var(--gs-warning)); display:inline-flex; align-items:center; justify-content:center; }

/* Phone mock for compatibility section */
.phone-mock {
  width: 144px;
  height: 256px;
  border-radius: 1.5rem;
  background-color: hsl(var(--gs-background));
  border: 2px solid hsl(var(--gs-border));
  box-shadow: 0 10px 25px -12px rgb(0 0 0 / 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.dial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; font-size: 0.75rem; }
.dial-key { width: 28px; height: 28px; border-radius: 999px; background: hsl(var(--gs-secondary)); display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 500; }

/* Plan card */
.plan-card {
  position: relative;
  border-radius: 1rem;
  background-color: hsl(var(--gs-background));
  display: flex;
  flex-direction: column;
  border: 1px solid hsl(var(--gs-border));
  transition: all .3s ease;
}
.plan-card:hover { box-shadow: 0 20px 40px -16px rgb(0 0 0 / 0.10); }
.plan-card.is-popular { border-color: hsl(var(--gs-primary)); box-shadow: 0 10px 25px -8px hsl(var(--gs-primary)/0.15); }
.plan-card.is-best    { border-color: hsl(var(--gs-success)); box-shadow: 0 10px 25px -8px hsl(var(--gs-success)/0.15); }

.plan-ribbon {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background-image: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}
.plan-ribbon.is-best {
  background: hsl(var(--gs-success));
}

/* Helpful misc */
.divider-y > * + * { border-top: 1px solid hsl(var(--gs-border)); }
.list-unstyled-tight li { padding: 0.25rem 0; }

/* Review/Testimonial */
.review-card {
  padding: 1.25rem;
  border-radius: 1rem;
  background-color: hsl(var(--gs-card));
  border: 1px solid hsl(var(--gs-border));
  position: relative;
  transition: box-shadow .3s ease;
}
.review-card:hover { box-shadow: 0 15px 30px -12px rgb(0 0 0 / 0.10); }

/* ──────────────────────────────────────────────────────────────────────────
   Responsive helpers
   ────────────────────────────────────────────────────────────────────────── */
.section { padding-top: 5rem; padding-bottom: 5rem; }
.section-sm { padding-top: 3rem; padding-bottom: 3rem; }

@media (max-width: 767.98px) {
  .section { padding-top: 3rem; padding-bottom: 3rem; }
  .container { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* ──────────────────────────────────────────────────────────────────────────
   MOBILE RESPONSIVE OVERRIDES
   Tightens padding, gaps, hides large decorations, and ensures flex rows
   wrap cleanly at iPhone/Android widths (≤575px) and small tablets.
   ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 575.98px) {
  /* ─── Tighten section padding (py-5 = 3rem is too much on mobile) ─── */
  .py-5  { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .pt-5  { padding-top: 2rem !important; }
  .pb-5  { padding-bottom: 2rem !important; }
  .my-5  { margin-top: 2rem !important; margin-bottom: 2rem !important; }
  .mt-5  { margin-top: 2rem !important; }
  .mb-5  { margin-bottom: 2rem !important; }
  .p-5   { padding: 1.5rem !important; }
  .px-5  { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }

  /* ─── Reduce 3rem row gaps to 1.5rem on mobile ─── */
  .row.g-5,
  .row.gx-5 { --bs-gutter-x: 1.5rem !important; }
  .row.g-5,
  .row.gy-5 { --bs-gutter-y: 1.5rem !important; }
  .row.g-4,
  .row.gy-4 { --bs-gutter-y: 1.25rem !important; }

  /* ─── Flex gap utilities ─── */
  .gap-5 { gap: 1.5rem !important; }
  .gap-4 { gap: 1rem !important; }

  /* ─── Container padding ─── */
  .container,
  .container-fluid { padding-left: 1rem !important; padding-right: 1rem !important; }

  /* ─── Hide large decorative blur shapes on mobile (cause horiz overflow) ─── */
  .blur-shape { display: none !important; }

  /* ─── Hero h1 sizing — clamp() still uses viewport so cap explicitly ─── */
  h1.font-display,
  .font-display.fw-bolder { font-size: clamp(1.75rem, 7vw, 2.25rem) !important; }
  h2.font-display { font-size: clamp(1.5rem, 6vw, 2rem) !important; }

  /* ─── Tabs — let them wrap or scroll when content overflows ─── */
  .gs-tabs {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .gs-tabs::-webkit-scrollbar { display: none; }
  .gs-tab-btn { flex-shrink: 0; padding: 8px 14px !important; font-size: 13px !important; }

  /* ─── Country grid — 4 cols, square cards on mobile ─── */
  .country-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 0.35rem !important; }
  .country-card { flex-direction: column !important; justify-content: center !important; align-items: center !important; padding: 0.5rem 0.15rem !important; border-radius: 1rem !important; aspect-ratio: 1 / 1; overflow: hidden; gap: 0; }
  .country-card .emoji { font-size: 1.1rem !important; margin-bottom: 0.2rem !important; }
  .country-card .name  { font-size: 0.6rem !important; line-height: 1.2 !important; text-align: center !important; }
  .country-card .price { display: none !important; }

  /* ─── Dashboard order row — stack vertical on mobile ─── */
  .db-order-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
  }
  .db-order-row > .d-flex.align-items-center.gap-3:last-child {
    justify-content: space-between;
  }

  /* ─── Force any d-flex (non-column) row to wrap when not explicitly told to nowrap ─── */
  .d-flex.gap-4:not(.flex-column):not(.flex-nowrap) { flex-wrap: wrap; }

  /* ─── Sticky purchase card on product — un-stick on mobile so it doesn't trap behind navbar ─── */
  .sticky-top { position: static !important; }

  /* ─── Product comparison table on mobile: smaller text, horizontal scroll ─── */
  .product-cmp-header,
  .product-cmp-row { font-size: 11px !important; }
  .product-cmp-header .p-3,
  .product-cmp-row   .p-3 { padding: 0.5rem 0.375rem !important; }

  /* ─── Trust badge pills - smaller padding on mobile ─── */
  .trust-badge { padding: 0.375rem 0.75rem !important; font-size: 0.75rem !important; }
  .payment-chip { font-size: 0.625rem !important; padding: 0.25rem 0.5rem !important; }

  /* ─── Footer columns ─── */
  .gs-footer .row.g-4 { --bs-gutter-y: 1.5rem !important; }
  .gs-footer .container { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }

  /* ─── Step card icons + content tighter ─── */
  .step-card { padding: 1.125rem !important; }
  .step-card .icon-box { width: 48px !important; height: 48px !important; margin-bottom: 1rem !important; }

  /* ─── Phone mocks ─── */
  .phone-mock { width: 120px !important; height: 220px !important; padding: 0.75rem !important; }

  /* ─── Plan card ribbon - prevent overflow ─── */
  .plan-ribbon { font-size: 0.6875rem !important; padding: 0.2rem 0.625rem !important; }

  /* ─── Promo banner - smaller text & padding ─── */
  .gs-promo { font-size: 0.75rem !important; padding: 0.5rem 2rem 0.5rem 0.5rem !important; }
  .gs-promo .container { padding-left: 0 !important; padding-right: 0 !important; }
  .gs-promo .gs-promo-close { right: 0.5rem !important; }

  /* ─── Big inline font-size overrides for elements that don't use clamp ─── */
  [style*="font-size: 4rem"]     { font-size: 3rem !important; }
  [style*="font-size: 3.75rem"]  { font-size: 2.5rem !important; }
  [style*="font-size: 3rem"]     { font-size: 2.25rem !important; }
  [style*="font-size: 2.5rem"]   { font-size: 2rem !important; }
  [style*="font-size: 2.25rem"]  { font-size: 1.875rem !important; }

  /* ─── Image hero / banner: cap heights ─── */
  .product-hero-img { aspect-ratio: 16/10; }

  /* ─── Tables: always wrap in horizontal scroll ─── */
  table:not(.table-borderless) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ─── Prevent very wide images / sections from forcing horizontal scroll ─── */
  html { overflow-x: hidden; }
  body { overflow-x: clip; }
  img { max-width: 100% !important; height: auto !important; }
}

/* ── Tablets (576-767px) — keep most of the above relaxed a touch ── */
@media (min-width: 576px) and (max-width: 767.98px) {
  .py-5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
  .blur-shape { opacity: 0.4; }
}

/* ── All small viewports - hide decorative blur shapes that overflow ── */
@media (max-width: 991.98px) {
  .blur-shape[style*="width:600px"],
  .blur-shape[style*="width: 600px"] { display: none !important; }
}

/* ── Scroll to Top Button ─────────────────────────────────────────────────── */
.gs-scroll-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, hsl(var(--gs-gradient-start)), hsl(var(--gs-gradient-end)));
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s, filter 0.2s;
  z-index: 999;
  box-shadow: 0 4px 20px -4px hsl(var(--gs-primary) / 0.45);
}
.gs-scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.gs-scroll-top:hover {
  filter: brightness(1.1);
  box-shadow: 0 8px 28px -4px hsl(var(--gs-primary) / 0.55);
}
@media (max-width: 767.98px) {
  .gs-scroll-top { bottom: 5rem; right: 1rem; width: 40px; height: 40px; }
}

/* ── Global Search Overlay ──────────────────────────────── */
body.gs-search-open { overflow: hidden; }

.gs-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 72px 16px 0;
}
.gs-search-overlay[hidden] { display: none !important; }

.gs-search-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.gs-search-box {
  position: relative;
  width: 100%;
  max-width: 580px;
  background: hsl(var(--gs-card));
  border: 1px solid hsl(var(--gs-border));
  border-radius: var(--gs-radius);
  box-shadow: 0 24px 64px -8px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  animation: gsSearchIn .15s ease-out;
}
@keyframes gsSearchIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gs-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid hsl(var(--gs-border));
}
.gs-search-icon {
  color: hsl(var(--gs-muted-foreground));
  flex-shrink: 0;
}
.gs-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 1rem;
  color: hsl(var(--gs-foreground));
  font-family: inherit;
  min-width: 0;
}
.gs-search-input::placeholder { color: hsl(var(--gs-muted-foreground)); }
.gs-search-close-btn {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: hsl(var(--gs-muted-foreground));
  padding: 4px 6px;
  display: flex;
  align-items: center;
  border-radius: 6px;
  transition: color .15s, background .15s;
}
.gs-search-close-btn:hover {
  color: hsl(var(--gs-foreground));
  background: hsl(var(--gs-muted));
}

.gs-search-results {
  list-style: none;
  margin: 0;
  padding: 6px 0;
  max-height: 420px;
  overflow-y: auto;
}
.gs-search-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  text-decoration: none;
  color: hsl(var(--gs-foreground));
  transition: background .12s;
  cursor: pointer;
}
.gs-search-result-item:hover,
.gs-search-result-item.gs-focused {
  background: hsl(var(--gs-muted));
  color: hsl(var(--gs-foreground));
  text-decoration: none;
}
.gs-sr-flag  { font-size: 1.5rem; flex-shrink: 0; line-height: 1; }
.gs-sr-name  { flex: 1; font-size: .95rem; font-weight: 500; }
.gs-sr-price { font-size: .82rem; color: hsl(var(--gs-primary)); font-weight: 600; flex-shrink: 0; }
.gs-sr-arrow { color: hsl(var(--gs-muted-foreground)); flex-shrink: 0; opacity: 0; transition: opacity .12s; }
.gs-search-result-item:hover .gs-sr-arrow,
.gs-search-result-item.gs-focused .gs-sr-arrow { opacity: 1; }

.gs-search-empty {
  padding: 18px 16px;
  text-align: center;
  color: hsl(var(--gs-muted-foreground));
  font-size: .9rem;
}

@media (max-width: 575.98px) {
  .gs-search-overlay { padding-top: 64px; }
}

/* ── App icon grid (Fast & Reliable Connection) ─────────── */
.gs-app-icon {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gs-app-icon:hover {
  transform: translateY(-3px) scale(1.06);
}

/* ── What is an eSIM Section ────────────────────────────────── */
.gs-esim-inner {
  max-width: 64rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 768px) {
  .gs-esim-inner { grid-template-columns: 1fr; gap: 3rem; }
  .gs-esim-visual { padding: 4rem 0; }
  .gs-esim-text { padding-left: 1rem; padding-right: 1rem; }
}
.gs-esim-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: hsl(var(--gs-primary)/0.09);
  color: hsl(var(--gs-primary));
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 1.1rem;
}
.gs-esim-h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: hsl(var(--gs-foreground));
  margin-bottom: 1rem;
}
.gs-esim-desc {
  font-size: 1rem;
  color: hsl(var(--gs-muted-foreground));
  line-height: 1.7;
  margin-bottom: 2rem;
}
.gs-esim-bullets {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.gs-esim-bullet {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.gs-esim-bullet-check {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background: hsl(var(--gs-primary)/0.09);
  border: 1.5px solid hsl(var(--gs-primary)/0.20);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  color: hsl(var(--gs-primary));
}
.gs-esim-bullet span {
  font-size: 0.9rem;
  line-height: 1.45;
  color: hsl(var(--gs-foreground));
}
.gs-esim-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 5.5rem;
}
.gs-phone-scene { position: relative; }
.gs-esim-phone {
  width: 180px;
  height: 360px;
  background: linear-gradient(155deg, hsl(260,25%,91%) 0%, hsl(300,18%,86%) 100%);
  border: 2.5px solid hsl(220,18%,70%);
  border-radius: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow:
    0 0 0 1px hsl(0,0%,100%,0.45) inset,
    0 28px 64px hsl(var(--gs-foreground)/0.18),
    0 4px 16px hsl(var(--gs-foreground)/0.10);
  position: relative;
  overflow: visible;
  z-index: 2;
}
.gs-esim-phone::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, hsl(var(--gs-primary)/0.20) 0%, hsl(var(--gs-primary)/0.05) 55%, transparent 75%);
  filter: blur(40px);
  z-index: -1;
  pointer-events: none;
}
.gs-phone-island {
  width: 60px; height: 14px;
  background: hsl(220,20%,20%);
  border-radius: 999px;
  margin-top: 12px;
  flex-shrink: 0;
}
.gs-phone-screen {
  flex: 1;
  width: calc(100% - 10px);
  background: #fff;
  border-radius: 28px;
  margin: 6px 5px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 14px 14px;
  overflow: hidden;
}
.gs-screen-label {
  font-size: 7.5px;
  font-weight: 600;
  color: hsl(var(--gs-muted-foreground));
  text-align: center;
  margin-bottom: 10px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.gs-qr-wrap {
  width: 145px;
  height: 145px;
  min-width: 145px;
  min-height: 145px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px hsl(var(--gs-foreground)/0.10);
  margin-bottom: 8px;
}
.gs-qr-wrap svg { width: 100% !important; height: 100% !important; display: block; }
.gs-screen-hint {
  font-size: 7px;
  color: hsl(var(--gs-muted-foreground));
  text-align: center;
  line-height: 1.5;
}
.gs-screen-hint strong {
  color: hsl(var(--gs-primary));
  display: block;
}
.gs-esim-badge {
  position: absolute;
  width: 160px; height: 46px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border: 1px solid hsl(var(--gs-border));
  border-radius: 999px;
  padding: 0 14px 0 7px;
  box-shadow: 0 6px 20px hsl(var(--gs-foreground)/0.10), 0 1px 4px hsl(var(--gs-foreground)/0.06);
  z-index: 10;
}
.gs-badge-tl { top: 54px; left: -80px; animation: gs-badgeFloat 4s ease-in-out infinite; }
.gs-badge-tr { top: 54px; right: -80px; animation: gs-badgeFloat 4s ease-in-out 1s infinite; }
.gs-badge-bl { bottom: 0; left: -80px; animation: gs-badgeFloat 4s ease-in-out 2s infinite; }
.gs-badge-br { bottom: 0; right: -80px; animation: gs-badgeFloat 4s ease-in-out 3s infinite; }
@keyframes gs-badgeFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}
.gs-badge-icon {
  width: 30px; height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gs-bi-pink { background: linear-gradient(135deg, hsl(var(--gs-primary)), hsl(350,78%,62%)); }
.gs-bi-red  { background: linear-gradient(135deg, hsl(4,72%,56%), hsl(18,80%,58%)); }
.gs-bi-blue { background: linear-gradient(135deg, hsl(212,80%,55%), hsl(228,75%,62%)); }
.gs-bi-grn  { background: linear-gradient(135deg, hsl(var(--gs-success)), hsl(162,62%,50%)); }
.gs-badge-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.gs-badge-text strong {
  font-size: 0.73rem;
  font-weight: 700;
  color: hsl(var(--gs-foreground));
  line-height: 1;
  white-space: nowrap;
}
.gs-badge-text small {
  font-size: 0.6rem;
  color: hsl(var(--gs-muted-foreground));
  line-height: 1;
  white-space: nowrap;
}

/* ── Compatibility Check Section ─────────────────────────── */
.gs-compat-inner {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}
.gs-compat-header {
  text-align: center;
  margin-bottom: 3rem;
}
.gs-compat-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: hsl(var(--gs-primary) / 0.08);
  color: hsl(var(--gs-primary));
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 1rem;
}
.gs-compat-h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.028em;
  line-height: 1.1;
  color: hsl(var(--gs-foreground));
  margin-bottom: 0.6rem;
}
.gs-compat-sub {
  font-size: 1.05rem;
  color: hsl(var(--gs-muted-foreground));
  line-height: 1.55;
}
.gs-compat-sub code {
  background: hsl(var(--gs-primary) / 0.08);
  color: hsl(var(--gs-primary));
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 6px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 0.95em;
}
.gs-compat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 2rem;
}
@media (max-width: 640px) {
  .gs-compat-grid { grid-template-columns: 1fr; }
}
.gs-compat-card {
  background: #fff;
  border: 1.5px solid hsl(var(--gs-border));
  border-radius: 1.25rem;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  justify-content: space-between;
}
.gs-compat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px hsl(var(--gs-primary) / 0.13);
  border-color: hsl(var(--gs-primary) / 0.4);
}
.gs-compat-badge {
  width: 28px;
  height: 28px;
  background: hsl(var(--gs-primary));
  color: #fff;
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  box-shadow: 0 3px 10px hsl(var(--gs-primary) / 0.35);
}
.gs-compat-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gs-compat-icon--pink { background: hsl(var(--gs-primary) / 0.08); }
.gs-compat-icon--green { background: hsl(var(--gs-success) / 0.10); }
.gs-compat-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--gs-foreground));
  line-height: 1.25;
  margin-bottom: 0.3rem;
}
.gs-compat-card-desc {
  font-size: 0.875rem;
  color: hsl(var(--gs-muted-foreground));
  line-height: 1.6;
}
.gs-compat-card-desc code {
  background: hsl(var(--gs-primary) / 0.08);
  color: hsl(var(--gs-primary));
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 5px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  font-size: 0.88em;
}
.gs-compat-card-desc strong { color: hsl(var(--gs-foreground)); }
.gs-eid-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: hsl(var(--gs-success) / 0.10);
  border: 1.5px solid hsl(var(--gs-success) / 0.28);
  border-radius: 999px;
  padding: 3px 10px 3px 5px;
  font-size: 0.78rem;
  font-weight: 700;
  color: hsl(var(--gs-success));
  margin-top: 0.5rem;
}
.gs-eid-pill-dot {
  width: 16px;
  height: 16px;
  background: hsl(var(--gs-success));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.55rem;
  color: #fff;
  font-weight: 900;
}
.gs-compat-links-label {
  text-align: center;
  font-size: 0.78rem;
  color: hsl(var(--gs-muted-foreground));
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
  opacity: 0.7;
}
.gs-compat-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
}
.gs-compat-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  border: 1.5px solid hsl(var(--gs-border));
  border-radius: 999px;
  color: hsl(var(--gs-primary));
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  background: #fff;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.gs-compat-link:hover {
  background: hsl(var(--gs-primary) / 0.06);
  border-color: hsl(var(--gs-primary) / 0.35);
  box-shadow: 0 4px 14px hsl(var(--gs-primary) / 0.12);
  color: hsl(var(--gs-primary));
}
.gs-compat-link .gs-compat-arr {
  opacity: 0.4;
  transition: transform 0.2s, opacity 0.2s;
}
.gs-compat-link:hover .gs-compat-arr {
  transform: translateX(3px);
  opacity: 1;
}

/* ── Hero section fixed height (Holafly 722px style) ── */
.gs-hero-section {
  min-height: 722px;
}

/* ── Feature Strip ── */
.gs-section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, hsl(var(--gs-primary) / 0.18) 30%, hsl(var(--gs-primary) / 0.18) 70%, transparent 100%);
}

/* ── Heading scale — matched to competitor ── */
h1, h1.font-display, h1.font-display.fw-bolder {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.17 !important;
}
h2, h2.font-display, h2.font-display.fw-bold {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important;
  line-height: 1.22 !important;
}
h3, h3.font-display, h3.font-display.fw-bold {
  font-size: 1.375rem !important;
  line-height: 1.4 !important;
}

/* Body/subtitle text scale — matched to competitor (16px) */
p.fs-5 {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}
.gs-hero-text p {
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

/* ═══════════════════════════════════════════════
   REDESIGNED SECTIONS
   ═══════════════════════════════════════════════ */

/* ── Features Grid ── */
.gs-features-grid-section { background: hsl(var(--gs-secondary) / 0.45); }
.gs-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: hsl(var(--gs-border));
  border: 1px solid hsl(var(--gs-border));
  border-radius: 1.25rem;
  overflow: hidden;
  margin-top: 3.5rem;
}
.gs-feature-cell {
  background: #fff;
  padding: 2rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: background 0.2s;
}
.gs-feature-cell:hover { background: hsl(var(--gs-primary) / 0.03); }
.gs-feature-cell-icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: hsl(var(--gs-primary) / 0.09);
  color: hsl(var(--gs-primary));
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.gs-feature-cell-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gs-feature-cell-header { display: flex; flex-direction: row; align-items: center; gap: 0.75rem; }
.gs-feature-cell-title { font-size: 0.9375rem; font-weight: 700; color: hsl(var(--gs-foreground)); line-height: 1.3; }
.gs-feature-cell-desc { font-size: 0.8125rem; color: hsl(var(--gs-muted-foreground)); line-height: 1.55; }
@media (max-width: 991px) { .gs-features-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px) {
  .gs-features-grid { grid-template-columns: repeat(2, 1fr); }
  .gs-feature-cell { align-items: flex-start; text-align: left; }
  .gs-feature-cell-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
}

/* ── Reviews v2 ── */
.gs-reviews-section { background: hsl(var(--gs-secondary) / 0.35); }
.gs-reviews-header { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; margin-bottom: 2.5rem; }
.gs-reviews-score-pill { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid hsl(var(--gs-border)); border-radius: 999px; padding: 10px 20px; box-shadow: 0 2px 12px hsl(var(--gs-primary) / 0.08); flex-shrink: 0; }
.gs-reviews-score-num { font-size: 1.375rem; font-weight: 800; color: hsl(var(--gs-foreground)); }
.gs-reviews-score-stars { display: flex; gap: 2px; }
.gs-reviews-score-stars svg { width: 15px; height: 15px; fill: hsl(42 92% 52%); }
.gs-reviews-score-label { font-size: 0.8rem; color: hsl(var(--gs-muted-foreground)); white-space: nowrap; }
.gs-reviews-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.gs-reviews-right { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.gs-rv-featured {
  background: hsl(var(--gs-primary));
  border-radius: 1.5rem; padding: 2.25rem;
  display: flex; flex-direction: column; justify-content: space-between;
  min-height: 320px; position: relative; overflow: hidden;
}
.gs-rv-featured::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 10%, rgba(255,255,255,0.18) 0%, transparent 60%),
              radial-gradient(ellipse at 10% 90%, rgba(0,0,0,0.15) 0%, transparent 50%);
  pointer-events: none;
}
.gs-rv-featured-quote { font-size: 3.5rem; line-height: 1; color: hsl(142 70% 60%); font-family: Georgia, serif; position: relative; z-index: 1; margin-bottom: 0.5rem; }
.gs-rv-featured-text { font-size: 1.0625rem; font-weight: 500; color: #fff; line-height: 1.65; flex: 1; position: relative; z-index: 1; }
.gs-rv-featured-stars { display: flex; gap: 3px; margin-bottom: 1rem; position: relative; z-index: 1; }
.gs-rv-featured-stars svg { width: 16px; height: 16px; fill: hsl(42 92% 70%); }
.gs-rv-featured-author { display: flex; align-items: center; gap: 10px; padding-top: 1.25rem; margin-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.2); position: relative; z-index: 1; }
.gs-rv-featured-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.gs-rv-featured-name { font-size: 0.875rem; font-weight: 700; color: #fff; }
.gs-rv-featured-loc { font-size: 0.75rem; color: rgba(255,255,255,0.65); margin-top: 1px; }
.gs-rv-verified-badge { font-size: 0.7rem; color: #2563eb; background: rgba(255,255,255,0.92); border-radius: 999px; padding: 3px 10px; margin-left: auto; border: 1px solid rgba(37,99,235,0.35); white-space: nowrap; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.gs-rv-card { background: #fff; border: 1px solid hsl(var(--gs-border)); border-radius: 1.25rem; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.875rem; transition: box-shadow 0.2s, transform 0.18s; }
.gs-rv-card:hover { box-shadow: 0 8px 28px hsl(var(--gs-primary) / 0.10); transform: translateY(-3px); }
.gs-rv-stars { display: flex; gap: 2px; }
.gs-rv-stars svg { width: 13px; height: 13px; fill: hsl(42 92% 52%); }
.gs-rv-text { font-size: 0.875rem; color: hsl(var(--gs-foreground)); line-height: 1.6; flex: 1; }
.gs-rv-author { display: flex; align-items: center; gap: 9px; padding-top: 0.75rem; border-top: 1px solid hsl(var(--gs-border)); margin-top: auto; }
.gs-rv-avatar { width: 32px; height: 32px; border-radius: 50%; background: hsl(var(--gs-primary) / 0.08); display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }
.gs-rv-name { font-size: 0.8rem; font-weight: 700; color: hsl(var(--gs-foreground)); }
.gs-rv-loc { font-size: 0.7rem; color: hsl(var(--gs-muted-foreground)); }
.gs-rv-verified { font-size: 0.68rem; color: hsl(152 68% 36%); margin-left: auto; white-space: nowrap; font-weight: 600; }
@media (max-width: 991px) { .gs-reviews-layout { grid-template-columns: 1fr; } .gs-rv-featured { min-height: 240px; } }
@media (max-width: 575px) { .gs-reviews-right { grid-template-columns: 1fr; } }

/* ── Go Green redesign ── */
.gs-green-section { background: linear-gradient(135deg, #f0faf5 0%, #fff 50%, #f5f0fa 100%); }
.gs-green-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; max-width: 1000px; margin: 0 auto; }
.gs-green-eyebrow { display: inline-flex; align-items: center; gap: 6px; background: hsl(152 68% 36% / 0.10); color: hsl(152 68% 32%); font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; margin-bottom: 1.25rem; }
.gs-green-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 700; line-height: 1.2; color: hsl(var(--gs-foreground)); margin-bottom: 1rem; }
.gs-green-desc { font-size: 1rem; color: hsl(var(--gs-muted-foreground)); line-height: 1.7; margin-bottom: 2rem; }
.gs-green-cta { display: inline-flex; align-items: center; gap: 8px; background: hsl(152 68% 36%); color: #fff; font-size: 0.9375rem; font-weight: 600; padding: 0.75rem 1.75rem; border-radius: 999px; text-decoration: none; transition: background 0.2s, transform 0.2s; }
.gs-green-cta:hover { background: hsl(152 68% 30%); transform: translateY(-2px); color: #fff; }
.gs-green-cards { display: flex; flex-direction: column; gap: 1rem; }
.gs-green-card { display: flex; align-items: flex-start; gap: 1rem; background: #fff; border: 1px solid hsl(152 68% 36% / 0.15); border-radius: 1rem; padding: 1.5rem; transition: box-shadow 0.2s; }
.gs-green-card:hover { box-shadow: 0 6px 20px hsl(152 68% 36% / 0.12); }
.gs-green-card-icon { width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0; background: hsl(152 68% 36% / 0.10); color: hsl(152 68% 36%); display: flex; align-items: center; justify-content: center; }
.gs-green-card-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gs-green-card-title { font-size: 0.9375rem; font-weight: 700; color: hsl(var(--gs-foreground)); margin-bottom: 2px; }
.gs-green-card-desc { font-size: 0.8125rem; color: hsl(var(--gs-muted-foreground)); line-height: 1.5; }
@media (max-width: 767px) { .gs-green-inner { grid-template-columns: 1fr; gap: 2.5rem; } .gs-green-cards { flex-direction: row; flex-wrap: wrap; } .gs-green-card { flex: 1 1 200px; } }

/* ── HOW IT WORKS (gs-hiw-*) ── */
.gs-hiw-section { background: hsl(340 15% 98%); }
.gs-hiw-header { text-align: center; margin-bottom: 3.5rem; }
.gs-hiw-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: hsl(var(--gs-primary)/0.10); color: hsl(var(--gs-primary)); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.gs-hiw-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: hsl(var(--gs-primary)); }
.gs-hiw-title { font-size: clamp(1.875rem,4vw,3rem); font-weight: 800; color: hsl(var(--gs-foreground)); line-height: 1.15; margin-bottom: .9rem; letter-spacing: -.02em; }
.gs-hiw-title-gradient { background: linear-gradient(135deg,hsl(var(--gs-primary)),hsl(15 85% 58%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.gs-hiw-sub { font-size: 1.0625rem; color: hsl(var(--gs-muted-foreground)); line-height: 1.65; max-width: 36rem; margin: 0 auto; }
.gs-hiw-steps { display: flex; align-items: stretch; max-width: 900px; margin: 0 auto; }
.gs-hiw-card { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 2rem 1.5rem 1.75rem; background: #fff; border: 1px solid hsl(var(--gs-border)); border-radius: 20px; position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.gs-hiw-card::before { content: attr(data-step-num); position: absolute; top: -8px; right: 4px; font-size: 6.5rem; font-weight: 900; color: hsl(var(--gs-primary)/0.06); line-height: 1; pointer-events: none; user-select: none; letter-spacing: -.04em; }
.gs-hiw-card:hover { transform: translateY(-6px); box-shadow: 0 20px 48px hsl(var(--gs-primary)/0.13); border-color: hsl(var(--gs-primary)/0.28); }
.gs-hiw-step-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: hsl(var(--gs-primary)); margin-bottom: 1.1rem; display: block; }
.gs-hiw-icon-box { width: 72px; height: 72px; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.4rem; flex-shrink: 0; }
.gs-hiw-icon-box svg { width: 30px; height: 30px; }
.gs-hiw-icon-1 { background: linear-gradient(135deg,hsl(var(--gs-primary)),hsl(340 65% 42%)); box-shadow: 0 8px 24px hsl(var(--gs-primary)/0.28); }
.gs-hiw-icon-2 { background: linear-gradient(135deg,hsl(var(--gs-primary)),hsl(15 85% 58%)); box-shadow: 0 8px 24px hsl(var(--gs-primary)/0.22); }
.gs-hiw-icon-3 { background: linear-gradient(135deg,hsl(var(--gs-success)),hsl(170 50% 45%)); box-shadow: 0 8px 24px hsl(var(--gs-success)/0.28); }
.gs-hiw-card-title { font-size: 1.0625rem; font-weight: 700; color: hsl(var(--gs-foreground)); margin-bottom: .5rem; letter-spacing: -.01em; }
.gs-hiw-card-desc { font-size: .875rem; color: hsl(var(--gs-muted-foreground)); line-height: 1.65; margin: 0; }
.gs-hiw-sep { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; padding-top: 99px; }
.gs-hiw-sep svg { width: 22px; height: 22px; stroke: hsl(var(--gs-primary)/0.35); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gs-hiw-cta { text-align: center; margin-top: 3rem; }
.gs-hiw-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 30px; border-radius: 12px; background: linear-gradient(135deg,hsl(var(--gs-primary)),hsl(340 75% 46%)); color: #fff; font-size: .9375rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 18px hsl(var(--gs-primary)/0.32); transition: opacity .2s, transform .2s; }
.gs-hiw-btn:hover { opacity: .88; transform: translateY(-2px); }
.gs-hiw-btn svg { width: 16px; height: 16px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 767px) { .gs-hiw-steps { flex-direction: column; gap: 1rem; } .gs-hiw-sep { display: none; } .gs-hiw-card::before { font-size: 5rem; } }

/* ── HERO V2 (full-height right image, Holafly-style) ── */
.gs-hero-v2 { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 620px; display: flex; align-items: center; }
.gs-hero-v2 .container { padding-top: 4.5rem; padding-bottom: 0.75rem; }
.gs-hero-v2 .gs-hero-text > * + * { margin-top: 0.25rem; }
@media (min-width: 768px) {
  #destinations { padding-top: 0.25rem !important; }
}
@media (max-width: 767.98px) {
  .gs-hero-v2 { min-height: auto; align-items: flex-start; }
  .gs-hero-v2 .container { padding-top: 5rem; padding-bottom: 3.5rem; }
}
/* Image wrapper: right half only — left:50% aligns with container midpoint */
.gs-hero-img-abs { position: absolute; top: 0; right: 16px; bottom: 0; z-index: 5; pointer-events: none; display: flex; align-items: flex-end; justify-content: flex-end; overflow: hidden; }

/* ══════════ HOMEPAGE EXTRACTED STYLES (moved from inline) ══════════ */

/* ── Scroll-mouse animation (moved from <style> block) ── */
.gs-scroll-mouse { display:flex; flex-direction:column; align-items:center; gap:6px; opacity:.8; transition:opacity .2s; }
.gs-scroll-mouse:hover { opacity:1; }
.gs-scroll-mouse-body { width:28px; height:44px; border:2.5px solid rgba(30,20,80,0.5); border-radius:14px; display:flex; justify-content:center; padding-top:7px; box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.gs-scroll-mouse-wheel { width:4px; height:8px; background:rgba(30,20,80,0.65); border-radius:2px; animation:gsMouseWheel 1.6s ease-in-out infinite; }
@keyframes gsMouseWheel { 0% { transform:translateY(0); opacity:1; } 75% { transform:translateY(11px); opacity:0; } 100% { transform:translateY(0); opacity:0; } }
.gs-hero-text { text-align: center; }

/* ── Hero section ── */
.gs-hero-pill { background:hsl(var(--gs-primary)/0.10); color:hsl(var(--gs-primary)); font-size:14px; font-weight:500; }
.gs-hero-h1 { font-size:clamp(1.9rem,5.5vw,4.5rem); line-height:1.15; font-weight:900; }
.gs-hero-lead { font-size:1.125rem; max-width:32rem; }
.gs-hero-search-wrap { max-width:32rem; }
.gs-hero-search-pin { left:1rem; top:50%; transform:translateY(-50%); color:hsl(var(--gs-muted-foreground)); pointer-events:none; }
.gs-hero-search-input { padding-left:3rem !important; padding-right:3.8rem !important; height:3.5rem !important; font-size:1rem !important; border-radius:1rem !important; }
.gs-hero-search-btn { position:absolute; right:.45rem; top:50%; transform:translateY(-50%); width:2.6rem; height:2.6rem; border-radius:50%; background:var(--primary); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(226,54,112,0.35); transition:background .18s,transform .15s,box-shadow .18s; }
.gs-hero-search-btn:hover { background:#c01f5a; transform:translateY(-50%) scale(1.07); }
.gs-hero-search-dd { position:fixed; z-index:9999; overflow:hidden; display:none; max-height:320px; overflow-y:auto; }
.gs-hero-rating { font-size:0.85rem; color:hsl(var(--gs-muted-foreground)); }
.gs-hero-container { z-index:10; padding-bottom:2.5rem; }
.gs-hero-fade { height:70px; background:linear-gradient(to bottom,transparent,hsl(20 30% 97%)); pointer-events:none; z-index:5; }
.gs-stars-green { color:#00b67a; letter-spacing:2px; }

/* ── Hero decorative blur shapes ── */
.gs-blur-pink  { top:80px;  left:0; width:500px; height:500px; background:hsl(340 40% 93%/0.4); }
.gs-blur-peach { bottom:0;  left:0; width:400px; height:400px; background:hsl(15 35% 94%/0.3); }

/* ── Section heading sizes ── */
.gs-section-h2    { font-size:clamp(2rem,4vw,3rem); }
.gs-section-h2-sm { font-size:clamp(1.875rem,3vw,2.5rem); }

/* ── Destinations section ── */
#destinations.section { padding-top:1rem; }

/* ── Global eSIM dark card ── */
.gs-global-card        { background:linear-gradient(135deg,#07071a,#12102a); border-radius:20px; border:1px solid rgba(255,255,255,0.08); }
.gs-global-emoji       { font-size:3rem; margin-bottom:0.5rem; }
.gs-global-h3          { color:#fff; font-size:1.5rem; }
.gs-global-desc        { color:rgba(255,255,255,0.7); max-width:480px; margin-inline:auto; }
.gs-global-region-pill { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.85); padding:4px 12px; border-radius:20px; font-size:0.8rem; }
.gs-global-price-line  { color:rgba(255,255,255,0.5); font-size:0.85rem; margin-bottom:1.25rem; }
.gs-global-price-val        { color:#e8cfa0; }
.gs-global-price-large      { font-size:1.1rem; }
.gs-global-btn         { background:linear-gradient(135deg,hsl(var(--gs-primary)),hsl(var(--gs-primary)/0.8)); color:#fff !important; border-radius:50px !important; font-size:0.95rem; text-decoration:none; display:inline-block; }
.gs-global-btn:hover   { opacity:0.9; color:#fff !important; }

/* ── Comparison table ── */
.gs-cmp-wrap            { max-width:48rem; }
.gs-cmp-header-row      { background:hsl(var(--gs-secondary)/0.5); border-bottom:1px solid hsl(var(--gs-border)); }
.gs-cmp-body .row:not(:last-child) { border-bottom:1px solid hsl(var(--gs-border)/0.5); }
.gs-cmp-body .row:nth-child(even)  { background:hsl(var(--gs-secondary)/0.3); }

/* ── FAQ ── */
.gs-faq-wrap { max-width:40rem; }

/* ── Search result dropdown items ── */
.gs-search-result-item  { display:flex; align-items:center; gap:0.75rem; padding:0.5rem 0.75rem; text-decoration:none; color:inherit; text-align:left; border-bottom:1px solid hsl(var(--gs-border)/0.5); transition:background .12s; }
.gs-search-result-item:hover { background:hsl(var(--gs-card)); }
.gs-search-result-flag  { font-size:1.5rem; flex-shrink:0; }
.gs-search-result-name  { flex:1; font-weight:500; font-size:0.875rem; text-align:left; }
.gs-search-result-price { flex-shrink:0; font-size:0.875rem; font-weight:600; color:hsl(var(--gs-primary)); }

/* ── Reviews badge icon ── */
.gs-rv-badge-icon { flex-shrink:0; display:inline-block; vertical-align:middle; }
.gs-hero-img-abs img { height: 100%; width: auto; max-height: 700px; display: block; object-fit: contain; object-position: center bottom; }
/* Destinations wrapper */
.gs-dest-wrap { max-width: 1280px; }
/* Compat card pill pushed to bottom of flex column */
.gs-compat-card .gs-eid-pill { margin-top: auto; }
/* Comparison table note text */
.gs-cmp-note { font-size: .75rem; }

/* ── Mobile menu background ── */
.gs-mobile-menu-bg { background: hsl(var(--gs-card)); }

/* ── Final CTA section ── */
.gs-cta-overlay  { pointer-events: none; }
.gs-cta-bloom-1  { position:absolute; inset:0; background:radial-gradient(ellipse at 20% 50%, rgba(255,255,255,0.08) 0%, transparent 60%); }
.gs-cta-bloom-2  { position:absolute; inset:0; background:radial-gradient(ellipse at 80% 40%, hsl(340 70% 55% / 0.22) 0%, transparent 55%); }
.gs-cta-z        { z-index: 10; }
.gs-cta-h2       { font-size: clamp(1.875rem, 3vw, 2.5rem); letter-spacing: -0.01em; }
.gs-cta-lead     { max-width: 28rem; color: rgba(255,255,255,0.75); }
.gs-cta-btn-light { color: hsl(268 48% 24%) !important; box-shadow: 0 4px 24px rgba(0,0,0,0.25) !important; }
.gs-cta-meta     { color: rgba(255,255,255,0.55); }

/* ── Cookie consent toast ── */
#gs-cc-toast {
  position:fixed; bottom:1.5rem; right:1.5rem;
  width:calc(100% - 2rem); max-width:360px;
  background:var(--bs-body-bg,#fff);
  border:1px solid var(--bs-border-color,#e5e7eb);
  border-radius:16px; box-shadow:0 8px 32px rgba(0,0,0,0.14);
  z-index:9999; overflow:hidden; display:none; flex-direction:column;
  animation:gs-toast-in 0.28s cubic-bezier(0.34,1.2,0.64,1) both;
}
@keyframes gs-toast-in {
  from { opacity:0; transform:translateY(20px) scale(0.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
.gs-cc-main { display:flex; gap:0.75rem; align-items:flex-start; padding:1rem 1rem 0.875rem; }
.gs-cc-icon { flex-shrink:0; width:36px; height:36px; border-radius:10px; background:hsl(var(--gs-primary)/0.10); display:flex; align-items:center; justify-content:center; margin-top:1px; }
.gs-cc-text { flex:1; min-width:0; }
.gs-cc-text strong { display:block; font-size:0.875rem; font-weight:700; color:var(--bs-body-color,#111827); margin-bottom:0.2rem; line-height:1.3; }
.gs-cc-text p { font-size:0.775rem; color:var(--bs-secondary-color,#6b7280); line-height:1.55; margin:0; }
.gs-cc-text a { color:hsl(var(--gs-primary)); text-decoration:none; font-weight:500; }
.gs-cc-text a:hover { text-decoration:underline; }
#gs-cc-manage-panel { display:none; border-top:1px solid var(--bs-border-color,#e5e7eb); padding:0.875rem 1rem; gap:0.5rem; flex-direction:column; }
#gs-cc-manage-panel.open { display:flex; }
.gs-cc-row { display:flex; align-items:center; justify-content:space-between; gap:0.5rem; padding:0.5rem 0.625rem; border-radius:8px; background:hsl(var(--gs-primary)/0.04); }
.gs-cc-row-label { font-size:0.8rem; font-weight:600; color:var(--bs-body-color,#111827); }
.gs-cc-row-sub { font-size:0.72rem; color:var(--bs-secondary-color,#6b7280); margin-top:1px; }
.gs-cc-toggle { position:relative; width:38px; height:21px; flex-shrink:0; }
.gs-cc-toggle input { opacity:0; width:0; height:0; position:absolute; }
.gs-cc-slider { position:absolute; inset:0; background:#d1d5db; border-radius:21px; cursor:pointer; transition:background .18s; }
.gs-cc-slider:before { content:''; position:absolute; width:15px; height:15px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .18s; box-shadow:0 1px 3px rgba(0,0,0,0.15); }
.gs-cc-toggle input:checked ~ .gs-cc-slider         { background:hsl(var(--gs-primary)); }
.gs-cc-toggle input:checked ~ .gs-cc-slider:before  { transform:translateX(17px); }
.gs-cc-toggle input:disabled ~ .gs-cc-slider        { opacity:0.5; cursor:not-allowed; }
.gs-cc-always { font-size:0.67rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:hsl(var(--gs-success,142 71% 45%)); background:hsl(var(--gs-success,142 71% 45%)/0.12); padding:2px 7px; border-radius:20px; white-space:nowrap; }
.gs-cc-actions { display:flex; gap:0.5rem; padding:0 1rem 1rem; }
.gs-cc-btn { flex:1; padding:0.5rem 0.625rem; border-radius:9px; font-size:0.78rem; font-weight:700; border:none; cursor:pointer; transition:opacity .15s,transform .1s; white-space:nowrap; line-height:1.3; }
.gs-cc-btn:hover  { opacity:0.85; }
.gs-cc-btn:active { transform:scale(0.97); }
.gs-cc-btn-reject { background:var(--bs-tertiary-bg,#f3f4f6); color:var(--bs-body-color,#374151); border:1px solid var(--bs-border-color,#e5e7eb); }
.gs-cc-btn-manage { background:hsl(var(--gs-primary)/0.10); color:hsl(var(--gs-primary)); border:1px solid hsl(var(--gs-primary)/0.20); }
.gs-cc-btn-all    { background:hsl(var(--gs-primary)); color:#fff; }





/* ==========================================================================
   eSIM Price Index  (added 2026-08-23)
   Every rule is namespaced .pix / .pix-* and only ever appears on
   /esim-price-index/. Nothing here touches an existing selector, so no other
   page can be affected. Colours and type come from the approved design.
   ========================================================================== */
.pix{
  --pix-ink:#10141C; --pix-ink-2:#3C4350; --pix-mut:#5C6472; --pix-mut-2:#7A818E;
  --pix-cream:#F7F6F3; --pix-cream-2:#FBFAF8; --pix-white:#FFFFFF;
  --pix-line:#E6E3DC; --pix-line-2:#F0EEE9; --pix-track:#EDEBE6; --pix-line-3:#D6D2CA;
  --pix-green:#0E7C6B; --pix-green-2:#2FA890; --pix-mint:#7FD3C3;
  --pix-rust:#B5541F; --pix-rust-2:#C9743B; --pix-peach:#E9A579;
  --pix-night:#0C0A22; --pix-dark:#10141C; --pix-dark-line:#2B313D; --pix-dark-btn:#3A4150;
  --pix-on-dark:#F7F6F3; --pix-on-dark-2:#B9BEC8; --pix-on-dark-3:#8C93A0; --pix-on-dark-4:#6E7686;
  --pix-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pix-sans:Manrope,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-family:var(--pix-sans); color:var(--pix-ink); background:var(--pix-cream);
  -webkit-font-smoothing:antialiased;
}
.pix *,.pix *::before,.pix *::after{box-sizing:border-box}
.pix a{color:var(--pix-green);text-decoration:none}
.pix a:hover{color:#0A5A4E;text-decoration:underline}
.pix h1,.pix h2,.pix h3,.pix h4{font-family:var(--pix-sans)}
.pix input,.pix select,.pix button{font-family:inherit}
.pix-mono{font-family:var(--pix-mono);font-variant-numeric:tabular-nums}
.pix-wrap{max-width:1180px;margin:0 auto}
.pix-sec{padding:72px 24px}
.pix-sec--white{background:var(--pix-white);border-top:1px solid var(--pix-line)}
.pix-sec--cream{background:var(--pix-cream)}
.pix-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--pix-green)}
.pix-h2{margin:10px 0 0;font-size:clamp(28px,3.4vw,38px);letter-spacing:-.028em;font-weight:800;line-height:1.15}
.pix-lead{margin:12px 0 0;color:var(--pix-mut);font-size:17px;line-height:1.6;max-width:68ch}

/* ── hero ───────────────────────────────────────────────────────────────── */
.pix-hero{position:relative;overflow:hidden;color:var(--pix-on-dark);padding:80px 24px 88px;
  background-color:var(--pix-night);
  background-image:
    radial-gradient(38% 60% at 6% 8%, rgba(190,32,88,.34) 0%, rgba(190,32,88,0) 70%),
    radial-gradient(45% 70% at 88% 78%, rgba(96,54,190,.36) 0%, rgba(96,54,190,0) 72%),
    radial-gradient(60% 80% at 50% 120%, rgba(24,20,58,.9) 0%, rgba(12,10,34,0) 70%),
    linear-gradient(160deg,#17102C 0%,#0C0A22 45%,#0A0A1E 100%);}
.pix-hero__stars{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;
  background-image:
    radial-gradient(1.6px 1.6px at 6% 14%,rgba(255,255,255,.75),transparent),
    radial-gradient(1.3px 1.3px at 14% 62%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.8px 1.8px at 21% 27%,rgba(255,255,255,.85),transparent),
    radial-gradient(1.2px 1.2px at 28% 82%,rgba(255,255,255,.45),transparent),
    radial-gradient(1.5px 1.5px at 33% 8%,rgba(255,255,255,.7),transparent),
    radial-gradient(1.2px 1.2px at 39% 47%,rgba(255,255,255,.4),transparent),
    radial-gradient(1.9px 1.9px at 44% 71%,rgba(255,255,255,.8),transparent),
    radial-gradient(1.3px 1.3px at 49% 19%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.6px 1.6px at 55% 90%,rgba(255,255,255,.65),transparent),
    radial-gradient(1.2px 1.2px at 61% 36%,rgba(255,255,255,.42),transparent),
    radial-gradient(1.8px 1.8px at 67% 11%,rgba(255,255,255,.8),transparent),
    radial-gradient(1.3px 1.3px at 72% 58%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 78% 30%,rgba(255,255,255,.68),transparent),
    radial-gradient(1.2px 1.2px at 83% 76%,rgba(255,255,255,.4),transparent),
    radial-gradient(1.9px 1.9px at 88% 21%,rgba(255,255,255,.85),transparent),
    radial-gradient(1.3px 1.3px at 93% 52%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 97% 86%,rgba(255,255,255,.6),transparent),
    radial-gradient(1.2px 1.2px at 3% 44%,rgba(255,255,255,.4),transparent),
    radial-gradient(1.4px 1.4px at 11% 94%,rgba(255,255,255,.55),transparent),
    radial-gradient(1.6px 1.6px at 24% 55%,rgba(255,255,255,.6),transparent),
    radial-gradient(1.2px 1.2px at 36% 96%,rgba(255,255,255,.38),transparent),
    radial-gradient(1.7px 1.7px at 47% 41%,rgba(255,255,255,.7),transparent),
    radial-gradient(1.2px 1.2px at 58% 66%,rgba(255,255,255,.4),transparent),
    radial-gradient(1.5px 1.5px at 69% 87%,rgba(255,255,255,.6),transparent),
    radial-gradient(1.3px 1.3px at 76% 6%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.6px 1.6px at 85% 43%,rgba(255,255,255,.62),transparent),
    radial-gradient(1.2px 1.2px at 91% 68%,rgba(255,255,255,.4),transparent);}
.pix-hero__inner{position:relative}
.pix-kicker{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--pix-mint)}
.pix-kicker i{width:7px;height:7px;border-radius:50%;background:var(--pix-mint);display:inline-block}
.pix-hero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:end;margin-top:22px}
.pix-h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.035em;font-weight:800;margin:0}
.pix-hero__lede{margin:20px 0 0;font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--pix-on-dark-2);max-width:62ch}
.pix-facts{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  border-top:1px solid rgba(255,255,255,.16);padding-top:20px}
.pix-facts dd{margin:0;font-family:var(--pix-mono);font-size:30px;font-weight:700;letter-spacing:-.03em}
.pix-facts dt{font-size:12px;color:var(--pix-on-dark-3);margin-top:4px;letter-spacing:.04em}
.pix-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
/* `color:inherit` lost to `.pix a` (0,1,1), so these cards sat at link green even at
   rest. The element in the selector fixes the resting state the same way as the hover. */
.pix a.pix-stat{display:block;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;padding:22px;
  text-decoration:none;color:var(--pix-on-dark);
  transition:border-color .18s ease,transform .18s ease,background .18s ease}
/* `.pix a:hover` is (0,2,1) and was beating `.pix-stat:hover` (0,2,0), so these cards
   picked up the link underline and the dark green link colour on hover, which is
   unreadable on the near black hero. Adding the element to the selector wins it back. */
.pix a.pix-stat:hover,.pix a.pix-stat:focus-visible{
  border-color:var(--pix-mint);text-decoration:none;transform:translateY(-2px);
  background:rgba(255,255,255,.09);color:#fff}
.pix a.pix-stat--warm:hover,.pix a.pix-stat--warm:focus-visible{border-color:var(--pix-peach)}
/* every line inside the card goes white together, so the whole card reads as one unit */
.pix a.pix-stat:hover .pix-stat__k,.pix a.pix-stat:hover .pix-stat__v,
.pix a.pix-stat:hover .pix-stat__w,.pix a.pix-stat:hover .pix-stat__l,
.pix a.pix-stat:focus-visible .pix-stat__k,.pix a.pix-stat:focus-visible .pix-stat__v,
.pix a.pix-stat:focus-visible .pix-stat__w,.pix a.pix-stat:focus-visible .pix-stat__l{color:#fff}
.pix a.pix-stat:focus-visible{outline:2px solid var(--pix-mint);outline-offset:3px}
.pix-stat__k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--pix-on-dark-2)}
.pix-stat__k--mint{color:var(--pix-mint)}
.pix-stat__k--peach{color:var(--pix-peach)}
.pix-stat__v{font-family:var(--pix-mono);font-size:34px;font-weight:700;letter-spacing:-.03em;
  margin-top:12px;color:var(--pix-on-dark)}
.pix-stat__w{font-size:15px;font-weight:600;margin-top:6px;color:var(--pix-on-dark)}
.pix-stat__l{font-size:13px;color:var(--pix-on-dark-3);margin-top:6px}

/* ── lookup ─────────────────────────────────────────────────────────────── */
.pix-lookup{padding:56px 24px;background:var(--pix-white);border-bottom:1px solid var(--pix-line)}
.pix-lookup__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;justify-content:space-between}
.pix-lookup__head h2{margin:0;font-size:26px;letter-spacing:-.02em;font-weight:800}
.pix-field{width:100%;padding:16px 18px;font-size:17px;border:1.5px solid var(--pix-line);
  border-radius:12px;background:var(--pix-cream);outline:none;color:var(--pix-ink)}
.pix-field:focus{border-color:var(--pix-green);background:var(--pix-white)}
.pix-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pix-result{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--pix-line);
  border-radius:12px;background:var(--pix-white);text-decoration:none;color:inherit}
.pix a.pix-result:hover{border-color:var(--pix-green);background:#F4FAF8;color:inherit;text-decoration:none}
.pix-result__flag{font-size:26px;line-height:1}
.pix-result__nm{display:block;font-weight:700;font-size:15px}
.pix-result__sub{display:block;font-size:13px;color:var(--pix-mut);margin-top:2px}
.pix-result__p{font-family:var(--pix-mono);font-weight:700;font-size:17px}

/* ── segmented control ──────────────────────────────────────────────────── */
.pix-seg{display:flex;gap:6px;padding:5px;background:var(--pix-white);border:1px solid var(--pix-line);border-radius:999px}
.pix-seg button{padding:9px 16px;border-radius:999px;border:none;cursor:pointer;font-size:13.5px;
  font-weight:700;background:transparent;color:var(--pix-mut)}
.pix-seg button.is-on{background:var(--pix-ink);color:#fff}
.pix-seg button:focus-visible{outline:2px solid var(--pix-green);outline-offset:2px}

/* ── ranking ────────────────────────────────────────────────────────────── */
.pix-split{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between}
.pix-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.pix-card{background:var(--pix-white);border:1px solid var(--pix-line);border-radius:16px;padding:24px}
.pix-card h3{margin:0 0 4px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.pix-card__sub{margin:0 0 18px;font-size:13px;color:var(--pix-mut)}
.pix-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:7px 0;
  text-decoration:none;color:inherit}
.pix a.pix-row:hover{opacity:.75;color:inherit;text-decoration:none}
.pix-row__flag{font-size:18px;line-height:1}
.pix-row__body{min-width:0}
.pix-row__nm{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pix-bar{display:block;height:8px;border-radius:999px;background:var(--pix-track);margin-top:5px}
.pix-bar i{display:block;height:8px;border-radius:999px;background:var(--pix-green)}
.pix-bar--warm i{background:var(--pix-rust)}
.pix-row__p{font-family:var(--pix-mono);font-size:13.5px;font-weight:600;white-space:nowrap}
.pix-credit{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.pix-credit p{margin:0;font-size:13px;color:var(--pix-mut-2)}

/* ── buttons ────────────────────────────────────────────────────────────── */
.pix-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;
  border:1.5px solid var(--pix-line-3);background:var(--pix-white);font-size:13px;font-weight:700;
  color:var(--pix-ink);cursor:pointer}
.pix-btn:hover{border-color:var(--pix-green);color:var(--pix-green)}
.pix-btn:focus-visible{outline:2px solid var(--pix-green);outline-offset:2px}
.pix .pix-btn--solid{padding:13px 20px;border:none;background:var(--pix-ink);color:#fff;
  font-size:14.5px;text-decoration:none}
.pix .pix-btn--solid:hover,.pix .pix-btn--solid:focus{background:var(--pix-green);color:#fff;text-decoration:none}
.pix-btn--ghost{padding:11px 17px;border:1px solid var(--pix-dark-btn);background:transparent;
  color:var(--pix-on-dark);font-size:13.5px}
.pix .pix-btn--ghost{color:var(--pix-on-dark)}
.pix .pix-btn--ghost:hover{background:#232A37;color:var(--pix-on-dark)}
.pix-btn--outline{padding:10px 18px;border:1.5px solid var(--pix-ink);background:transparent;font-size:14px}
.pix-btn--outline:hover{background:var(--pix-ink);color:#fff}

/* ── compare ────────────────────────────────────────────────────────────── */
.pix-pick{border:1px solid var(--pix-line);border-radius:16px;padding:22px;background:var(--pix-cream)}
.pix-pick label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--pix-mut)}
.pix-select{width:100%;margin-top:10px;padding:13px 14px;font-size:16px;border:1.5px solid var(--pix-line);
  border-radius:10px;background:var(--pix-white);color:var(--pix-ink)}
.pix-select:focus{outline:none;border-color:var(--pix-green)}
.pix-pick__v{font-family:var(--pix-mono);font-size:40px;font-weight:700;letter-spacing:-.03em;margin-top:18px}
.pix-pick__s{font-size:14px;color:var(--pix-mut);margin-top:4px}
.pix-verdict{margin-top:20px;background:var(--pix-dark);color:var(--pix-on-dark);border-radius:16px;
  padding:24px 26px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.pix-verdict p{margin:0;font-size:18px;line-height:1.5;max-width:70ch}

/* ── table ──────────────────────────────────────────────────────────────── */
.pix-tablebox{margin-top:16px;background:var(--pix-white);border:1px solid var(--pix-line);
  border-radius:16px;overflow:hidden}
.pix-scroll{overflow-x:auto}
.pix-table{width:100%;min-width:720px;font-size:15px;border-collapse:collapse}
.pix-table caption{caption-side:bottom;text-align:left;padding:14px 20px;font-size:13px;color:var(--pix-mut-2)}
.pix-table thead tr{background:var(--pix-cream-2);border-bottom:1px solid var(--pix-line)}
.pix-table th{text-align:left;padding:14px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pix-mut);font-weight:700}
.pix-table th:first-child{padding-left:20px;width:64px}
.pix-table th:last-child{padding-right:20px}
.pix-table th.pix-r,.pix-table td.pix-r{text-align:right}
.pix-table th button{background:none;border:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;
  text-transform:inherit;cursor:pointer;font-weight:700}
.pix-table th button:hover{color:var(--pix-green)}
.pix-table tbody tr{border-bottom:1px solid var(--pix-line-2)}
.pix-table tbody tr:hover{background:var(--pix-cream-2)}
.pix-table td{padding:12px}
.pix-table td:first-child{padding-left:20px;font-family:var(--pix-mono);color:var(--pix-mut-2);font-size:13.5px}
.pix-table td:last-child{padding-right:20px}
.pix-table td a{display:flex;align-items:center;gap:10px;color:inherit;font-weight:600}
.pix-table td a:hover{color:var(--pix-green)}
.pix-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700}
.pix-badge--lo{background:#E4F3EE;color:#0B5F52}
.pix-badge--hi{background:#F7E9DF;color:#8A3F14}
.pix-badge--mid{background:#EFEEE9;color:#5C6472}
.pix-tfoot{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-top:1px solid var(--pix-line);background:var(--pix-cream-2)}
.pix-tfoot span{font-size:13.5px;color:var(--pix-mut)}

/* ── findings ───────────────────────────────────────────────────────────── */
.pix-finds{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;align-items:start}
.pix-find{border:1px solid var(--pix-line);border-radius:18px;background:var(--pix-cream-2);
  padding:26px 28px;display:flex;flex-direction:column;gap:20px}
.pix-find--dark{grid-column:1/-1;border:none;background:var(--pix-dark);color:var(--pix-on-dark)}
.pix-find--wide{grid-column:1/-1}
.pix-find__top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pix-find__no{font-family:var(--pix-mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:#A2A8B2}
.pix-find__big{font-family:var(--pix-mono);font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1}
.pix-find__tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pix-mut-2)}
.pix-find h3{margin:12px 0 0;font-size:19px;font-weight:800;letter-spacing:-.015em}
.pix-find p{margin:0;font-size:15.5px;line-height:1.6;color:var(--pix-ink-2)}
.pix-find--dark p{color:#D5D9E0}
.pix-find--dark .pix-find__tag,.pix-find--dark .pix-find__no{color:var(--pix-on-dark-4)}
.pix-gapbar__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pix-gapbar__l{font-size:14.5px;font-weight:700}
.pix-gapbar__p{font-family:var(--pix-mono);font-size:19px;font-weight:700}
.pix-gapbar__track{margin-top:9px;height:20px;border-radius:6px;background:var(--pix-track);overflow:hidden}
.pix-gapbar__track i{display:block;height:20px;border-radius:6px;background:var(--pix-green)}
.pix-gapbar__note{margin-top:7px;font-size:13px;color:var(--pix-mut-2)}
.pix-minibar__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pix-minibar__l{font-size:14px;font-weight:700}
.pix-minibar__p{font-family:var(--pix-mono);font-size:15px;font-weight:700}
.pix-minibar__track{margin-top:7px;height:14px;border-radius:5px;background:var(--pix-track);overflow:hidden}
.pix-minibar__track i{display:block;height:14px;border-radius:5px;background:var(--pix-rust)}
.pix-dots{display:flex;flex-wrap:wrap;gap:5px;position:relative}
.pix-dots span[data-i]{width:14px;height:14px;border-radius:3px;background:var(--pix-green-2);
  cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.pix-dots span[data-i].is-hi{background:var(--pix-rust-2)}
.pix-dots span[data-i]:hover,.pix-dots span[data-i].is-sel{transform:scale(1.45);
  box-shadow:0 0 0 2px rgba(255,255,255,.85);position:relative;z-index:2}
.pix-dots span[data-i]:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* label that follows the square being pointed at */
.pix-dottip{position:absolute;z-index:5;pointer-events:none;transform:translate(-50%,-108%);
  background:#fff;color:var(--pix-ink);border-radius:10px;padding:9px 12px;min-width:150px;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.55);opacity:0;transition:opacity .12s ease;
  display:flex;flex-direction:column;gap:2px;width:max-content;max-width:230px}
.pix-dottip.is-on{opacity:1}
.pix-dottip b{font-size:13.5px;font-weight:800;line-height:1.25}
.pix-dottip span{font-size:12.5px;color:var(--pix-mut);font-family:var(--pix-mono)}
.pix-dottip .pix-dottip__vs{color:var(--pix-green);font-weight:700}
@media (prefers-reduced-motion:reduce){
  .pix-dots span[data-i]{transition:none}
  .pix-dottip{transition:none}
}
.pix-key{display:flex;flex-wrap:wrap;gap:22px;font-size:13.5px}
.pix-key span{display:flex;align-items:center;gap:8px;color:var(--pix-on-dark-2)}
.pix-key i{width:12px;height:12px;border-radius:3px;display:inline-block}
.pix-find__foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.pix-find--dark .pix-find__foot{border-top:1px solid var(--pix-dark-line);padding-top:18px}
.pix-chips{display:flex;flex-wrap:wrap;gap:8px}
.pix-chip{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--pix-white);
  border:1px solid var(--pix-line);color:var(--pix-ink);text-decoration:none;font-size:14px;font-weight:600}
.pix a.pix-chip:hover{border-color:var(--pix-green);color:var(--pix-ink);text-decoration:none}
.pix-chip b{font-family:var(--pix-mono);color:var(--pix-green);font-weight:700}
.pix-take{margin-top:40px;border:1px solid var(--pix-line);border-radius:16px;background:var(--pix-cream);
  padding:24px 26px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.pix-take h3{margin:0;font-size:17px;font-weight:800}
.pix-take p{margin:6px 0 0;font-size:14.5px;color:var(--pix-mut)}
.pix-take__btns{display:flex;flex-wrap:wrap;gap:10px}

/* ── methodology + faq ──────────────────────────────────────────────────── */
.pix-split2{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}
.pix-meta{margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pix-meta > div{border-top:2px solid var(--pix-ink);padding-top:10px}
.pix-meta dd{margin:0;font-family:var(--pix-mono);font-size:22px;font-weight:700}
.pix-meta dt{font-size:13px;color:var(--pix-mut);margin-top:2px}
.pix-prose{display:flex;flex-direction:column;gap:20px}
.pix-prose h3{margin:0 0 8px;font-size:18px;font-weight:800}
.pix-prose p{margin:0;font-size:16.5px;line-height:1.65;color:var(--pix-ink-2)}
.pix-faq details{border-top:1px solid var(--pix-line);padding:18px 0}
.pix-faq details:last-child{border-bottom:1px solid var(--pix-line)}
.pix-faq summary{cursor:pointer;font-size:17.5px;font-weight:700;letter-spacing:-.01em;list-style:none}
.pix-faq summary::-webkit-details-marker{display:none}
.pix-faq summary::after{content:"+";float:right;color:var(--pix-mut);font-weight:400}
.pix-faq details[open] summary::after{content:"\2212"}
.pix-faq p{margin:12px 0 0;font-size:16.5px;line-height:1.6;color:var(--pix-ink-2)}

/* ── closing cta ────────────────────────────────────────────────────────── */
.pix-cta{padding:80px 24px;background:var(--pix-dark);color:var(--pix-on-dark)}
.pix-cta__inner{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.pix-cta h2{margin:0;font-size:clamp(26px,3.2vw,36px);letter-spacing:-.028em;font-weight:800}
.pix-cta p{margin:12px 0 0;font-size:17px;color:var(--pix-on-dark-2);line-height:1.6}
.pix-cta a{padding:17px 30px;border-radius:999px;background:#fff;color:var(--pix-ink);font-weight:800;
  font-size:16.5px;text-decoration:none;white-space:nowrap}
.pix-cta a:hover{background:var(--pix-mint);color:var(--pix-ink);text-decoration:none}

.pix-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,12px);z-index:60;
  background:var(--pix-ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;
  font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.pix-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ── responsive ─────────────────────────────────────────────────────────── */
@media (max-width:980px){
  .pix-hero__grid{grid-template-columns:1fr;gap:30px}
  .pix-split2{grid-template-columns:1fr;gap:32px}
}
@media (max-width:860px){
  .pix-two,.pix-finds{grid-template-columns:1fr}
  .pix-stats{grid-template-columns:1fr 1fr}
  .pix-sec{padding:56px 20px}
  .pix-hero{padding:60px 20px 64px}
  .pix-lookup{padding:44px 20px}
  .pix-cta{padding:60px 20px}
}
@media (max-width:560px){
  .pix-stats{grid-template-columns:1fr}
  .pix-facts{grid-template-columns:1fr 1fr}
  .pix-card{padding:18px}
  .pix-find{padding:20px}
  .pix-verdict{padding:20px}
  .pix-take{padding:20px}
}
@media (prefers-reduced-motion:reduce){
  .pix-stat,.pix-toast{transition:none}
  .pix-stat:hover{transform:none}
}


/* =====================================================================
   eSIM Reseller page (/esim-reseller/) - namespaced .rs-* only.
   Added 2026-08-27. Every colour resolves from the existing --gs-* tokens.
   ===================================================================== */
/* ==========================================================================
   eSIM Reseller page — namespaced .rs-* only. Safe to drop into the site:
   every colour resolves from the existing --gs-* tokens (with fallbacks).
   ========================================================================== */
.rs-page{
  --rs-primary:hsl(var(--gs-primary,340 75% 55%));
  --rs-ink:hsl(var(--gs-foreground,222 47% 11%));
  --rs-mut:hsl(var(--gs-muted-foreground,215 20% 38%));
  --rs-line:hsl(var(--gs-border,340 15% 90%));
  --rs-card:hsl(var(--gs-card,340 20% 98%));
  --rs-success:hsl(var(--gs-success,152 60% 42%));
  --rs-grad:linear-gradient(135deg,hsl(var(--gs-gradient-start,340 75% 55%)),hsl(var(--gs-gradient-end,15 85% 58%)));
  --rs-deep:linear-gradient(135deg,hsl(232 55% 13%) 0%,hsl(268 48% 24%) 48%,hsl(340 62% 42%) 100%);
  --rs-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
.rs-page .rs-mono{font-family:var(--rs-mono);font-variant-numeric:tabular-nums}
.rs-page .rs-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-primary)}
.rs-page .rs-h2{font-size:clamp(1.75rem,3.2vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:.75rem 0 0}
.rs-page .rs-lead{font-size:1.0625rem;line-height:1.65;color:var(--rs-mut);text-wrap:pretty}
.rs-page .rs-section{padding-top:5.25rem}
.rs-page .rs-muted{color:var(--rs-mut)}
.rs-page .rs-body{font-size:.95rem;line-height:1.65}

/* hero */
.rs-hero{background:var(--rs-deep);color:#fff;position:relative;overflow:hidden}
.rs-hero__bloom{position:absolute;top:-220px;right:-140px;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,hsl(var(--gs-primary,340 75% 55%)/.32),transparent 70%);pointer-events:none}
.rs-hero__pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:100px}
.rs-hero__h1{font-size:clamp(2.1rem,4.2vw,3.25rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:1.5rem 0 0}
.rs-hero__h1 span{color:hsl(340 70% 82%)}
.rs-hero__sub{font-size:1.125rem;line-height:1.6;color:rgba(255,255,255,.8);max-width:34rem;margin-top:1.25rem}
.rs-hero__fine{color:rgba(255,255,255,.62);font-size:.875rem;margin-top:1.125rem}
.rs-login-link{color:hsl(340 70% 82%);font-weight:600;font-size:.9375rem;text-decoration:none}
.rs-login-link:hover{color:#fff}

/* fixed reseller login pill */
.rs-login-fixed{position:fixed;top:18px;right:18px;z-index:1055;display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--rs-line);color:var(--rs-ink);font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;
  text-decoration:none;box-shadow:0 8px 24px rgba(15,20,51,.18)}
.rs-login-fixed:hover{border-color:var(--rs-primary);color:var(--rs-primary)}
@media (max-width:767.98px){.rs-login-fixed{top:auto;bottom:14px;right:14px;font-size:13px;padding:8px 14px}}

/* stat strip */
.rs-strip{background:var(--rs-card);border-bottom:1px solid var(--rs-line)}
.rs-stat__num{font-size:1.75rem;font-weight:800;letter-spacing:-.025em}
.rs-stat__lbl{font-size:.85rem;color:var(--rs-mut);margin-top:.3rem}

/* cards */
.rs-card{border:1px solid var(--rs-line);border-radius:1rem;background:#fff;height:100%;transition:border-color .2s,box-shadow .2s}
.rs-card:hover{border-color:var(--rs-primary);box-shadow:0 12px 34px rgba(16,24,40,.08)}
.rs-card__num{font-family:var(--rs-mono);font-size:1.875rem;color:var(--rs-primary);letter-spacing:-.02em}
.rs-soft{background:var(--rs-card);border-radius:1rem;height:100%}

/* calculator */
.rs-calc{background:#fff;border-radius:1.125rem;color:var(--rs-ink);box-shadow:0 30px 70px rgba(3,8,20,.5)}
.rs-calc__tier{font-size:12px;font-weight:700;color:var(--rs-success);background:hsl(var(--gs-success,152 60% 42%)/.12);padding:5px 10px;border-radius:100px}
.rs-calc__out{background:var(--rs-card);border:1px solid var(--rs-line);border-radius:.875rem}
.rs-page input[type=range]{accent-color:var(--rs-primary);width:100%}

/* pricing tiers */
.rs-tier{border:1px solid var(--rs-line);border-radius:1.125rem;background:#fff;height:100%}
.rs-tier.is-featured{border-color:var(--rs-primary);box-shadow:0 10px 25px -8px hsl(var(--gs-primary,340 75% 55%)/.18)}
.rs-tier__disc{font-size:2.75rem;font-weight:800;letter-spacing:-.035em;line-height:1}
.rs-badge-brand{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--rs-primary);padding:5px 10px;border-radius:100px}

/* tier switch */
.rs-switch{display:inline-flex;gap:6px;background:var(--rs-card);border:1px solid var(--rs-line);padding:5px;border-radius:.75rem}
.rs-switch button{border:0;background:transparent;color:var(--rs-mut);font-size:14px;font-weight:700;padding:9px 16px;border-radius:.5rem}
.rs-switch button.active{background:#fff;color:var(--rs-ink);box-shadow:0 2px 8px rgba(16,24,40,.12)}

/* price table */
.rs-table-wrap{border:1px solid var(--rs-line);border-radius:1.125rem;overflow:hidden}
.rs-table{margin:0;--bs-table-bg:transparent}
.rs-table thead th{background:var(--rs-card);border-bottom:1px solid var(--rs-line);font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--rs-mut);padding:.9rem 1.5rem;white-space:nowrap}
.rs-table tbody td{padding:.85rem 1.5rem;border-color:hsl(var(--gs-border,340 15% 90%)/.7);vertical-align:middle;font-size:.9375rem}
.rs-table tbody tr:last-child td{border-bottom:0}
.rs-pill-green{font-family:var(--rs-mono);font-size:.875rem;color:var(--rs-success);background:hsl(var(--gs-success,152 60% 42%)/.12);padding:4px 9px;border-radius:.45rem}
.rs-table-cta{background:var(--rs-deep);color:rgba(255,255,255,.82)}
.rs-table-cta__text{flex:1 1 26rem;min-width:16rem;max-width:46rem;line-height:1.65}

/* api panel */
.rs-code{background:hsl(232 55% 11%);border-radius:1.125rem}
.rs-code pre{margin:0;font-family:var(--rs-mono);font-size:12.5px;line-height:1.85;color:#E4DCEF;white-space:pre-wrap}
.rs-code .k{color:hsl(340 70% 82%)}.rs-code .s{color:#8BE0B0}.rs-code .n{color:#F5C86B}.rs-code .c{color:rgba(255,255,255,.45)}
.rs-dot{width:10px;height:10px;border-radius:50%;display:inline-block}

/* dark panels */
.rs-dark{background:var(--rs-deep);color:#fff;border-radius:1.375rem}
.rs-dark .rs-step-num{font-family:var(--rs-mono);font-size:13px;color:hsl(340 70% 82%)}
.rs-dark p{color:rgba(255,255,255,.78)}

/* faq */
.rs-faq .accordion-item{border:0;border-bottom:1px solid var(--rs-line);border-radius:0;background:transparent}
.rs-faq .accordion-button{background:transparent;box-shadow:none;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;
  font-size:1.0625rem;color:var(--rs-ink);padding:1.25rem 0}
.rs-faq .accordion-button:not(.collapsed){color:var(--rs-primary)}
.rs-faq .accordion-button::after{margin-left:auto}
.rs-faq .accordion-body{padding:0 2.5rem 1.375rem 0;color:var(--rs-mut);line-height:1.7}

/* signup */
.rs-signup{border:1px solid var(--rs-line);border-radius:1.375rem;overflow:hidden}
.rs-signup__aside{background:var(--rs-deep);color:#fff}
.rs-check{color:hsl(340 70% 82%);font-weight:700}
.rs-signup__aside a{color:hsl(340 70% 82%)}
.rs-page .form-control,.rs-page .form-select{border-radius:.625rem;padding:.7rem .875rem}
.rs-page .form-label{font-size:13.5px;font-weight:600;color:var(--rs-ink)}

@media (max-width:991.98px){
  .rs-page .rs-section{padding-top:3.25rem}
  .rs-hero__bloom{display:none}
  .rs-table{min-width:720px}
  .rs-table-scroll{overflow-x:auto}
}

/* ── eSIM Reseller page v2: Mega Global design language (2026-08-27) ── */
.rs-hero2{position:relative;min-height:540px;background:linear-gradient(135deg,#07071a 0%,#0e0b2e 35%,#160d38 60%,#0a0a1e 100%);overflow:hidden;display:flex;align-items:center}
.rs-hero2-content{position:relative;z-index:2;padding:55px 0 55px}
.rs-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.rs-star{position:absolute;border-radius:50%;background:#fff;animation:rsTwinkle 3s ease-in-out infinite alternate}
@keyframes rsTwinkle{from{opacity:.1;transform:scale(1)}to{opacity:.8;transform:scale(1.3)}}
.rs-orb1{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,hsl(var(--gs-primary)/.18) 0%,transparent 70%);top:-100px;left:-100px;pointer-events:none}
.rs-orb2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(99,60,255,.12) 0%,transparent 70%);bottom:-80px;right:200px;pointer-events:none}
.rs-badge2{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,rgba(255,215,0,.15),rgba(255,180,0,.08));border:1px solid rgba(255,215,0,.3);color:#ffd700;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:1.5rem}
.rs-badge2-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:rsLivePulse 1.8s ease-out infinite;flex-shrink:0}
@keyframes rsLivePulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.rs-headline{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:900;line-height:1.05;color:#fff;margin-bottom:.4rem}
.rs-headline-accent{background:linear-gradient(90deg,hsl(var(--gs-primary)),#ff8c69);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rs-subhead{font-size:1.2rem;color:rgba(255,255,255,.65);max-width:560px;line-height:1.6;margin-bottom:2rem}
.rs-hero2-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;margin-bottom:1rem}
.rs-btn-primary{display:inline-flex;align-items:center;gap:10px;background:hsl(var(--gs-primary));color:#fff;font-weight:700;font-size:1.05rem;padding:16px 32px;border-radius:100px;border:none;text-decoration:none;cursor:pointer;box-shadow:0 8px 32px hsl(var(--gs-primary)/.4);transition:all .2s ease}
.rs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px hsl(var(--gs-primary)/.5);color:#fff;text-decoration:none}
.rs-btn-ghost{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.75);font-weight:600;font-size:.95rem;padding:14px 24px;border-radius:100px;border:1px solid rgba(255,255,255,.2);background:transparent;text-decoration:none;transition:all .2s}
.rs-btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.rs-hero2-ticks{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:4px}
.rs-hero2-ticks span{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:rgba(255,255,255,.45);font-weight:500}
.rs-trust-bar{background:hsl(var(--gs-background));border-bottom:1px solid hsl(var(--gs-border));padding:20px 0;position:relative;z-index:3}
.rs-trust-item{display:flex;align-items:center;gap:12px;padding:8px 20px;border-right:1px solid hsl(var(--gs-border))}
.rs-trust-item:last-child{border-right:none}
@media(max-width:767px){.rs-trust-item{border-right:none;padding:8px 4px}}
.rs-trust-icon{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:hsl(var(--gs-primary)/.1);display:flex;align-items:center;justify-content:center;color:hsl(var(--gs-primary))}
.rs-trust-num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.05rem;color:hsl(var(--gs-foreground));line-height:1.1}
.rs-trust-lbl{font-size:.78rem;color:hsl(var(--gs-muted-foreground))}
.rs-sec{padding:90px 0;background:hsl(var(--gs-background))}
.rs-sec-soft{padding:90px 0;background:linear-gradient(180deg,hsl(var(--gs-secondary)/.3) 0%,hsl(var(--gs-background)) 100%)}
.rs-sec-tint{padding:90px 0;background:hsl(var(--gs-secondary)/.2)}
.rs-sec-head{text-align:center;margin-bottom:3rem}
.rs-sec-head .rs-lead{max-width:38rem;margin-left:auto;margin-right:auto}
.rs-feature-card{background:hsl(var(--gs-background));border:1px solid hsl(var(--gs-border));border-radius:20px;padding:32px 28px;height:100%;transition:all .2s}
.rs-feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.07);border-color:hsl(var(--gs-primary)/.25)}
.rs-feature-icon{width:56px;height:56px;border-radius:16px;background:hsl(var(--gs-primary)/.1);color:hsl(var(--gs-primary));display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.rs-feature-icon svg{width:26px;height:26px}
.rs-feature-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.1rem;font-weight:700;color:hsl(var(--gs-foreground));margin-bottom:8px}
.rs-feature-desc{font-size:.9rem;color:hsl(var(--gs-muted-foreground));line-height:1.7;margin:0}
