/* Travels Wallet — global stylesheet
   Design tokens: Warm Night Sky & Deep Ocean */

:root {
  --tw-bg: #F6F9FF;
  --tw-surface: #FFFFFF;
  --tw-ink: #0B1B3D;
  --tw-muted: #64748B;
  --tw-border: #E2E8F0;
  --tw-accent: #1E7CE8;      /* brand blue from logo */
  --tw-accent-2: #E52426;    /* brand red from logo */
  --tw-night: #071429;
  --tw-night-2: #0F1E3D;
  --tw-sky: #57A5FF;
  --tw-amber: #F59E0B;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--tw-ink);
  background: var(--tw-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

.font-display { font-family: 'Outfit', sans-serif; letter-spacing: -0.02em; }
.font-mono-neue { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* Subtle noise for dark sections */
.bg-noise {
  position: relative;
}
.bg-noise::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
  mix-blend-mode: overlay;
}

/* Mesh gradient for hero backgrounds */
.mesh-hero {
  background:
    radial-gradient(1200px 500px at 12% -10%, rgba(30,124,232,0.20), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(229,36,38,0.10), transparent 60%),
    radial-gradient(1000px 700px at 60% 100%, rgba(87,165,255,0.14), transparent 60%),
    linear-gradient(180deg, #F6FAFF 0%, #E9F1FF 100%);
}

/* Shared subpage hero */
.subpage-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 8.75rem 0 5.75rem;
}
.subpage-hero::before,
.subpage-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;
}
.subpage-hero::before {
  width: 420px;
  height: 420px;
  left: -230px;
  bottom: -280px;
  border: 1px solid rgba(30,124,232,.15);
  box-shadow: 0 0 0 70px rgba(30,124,232,.035), 0 0 0 140px rgba(30,124,232,.025);
}
.subpage-hero::after {
  width: 8px;
  height: 8px;
  right: 7%;
  top: 21%;
  background: #E52426;
  box-shadow: 42px 58px 0 -2px rgba(30,124,232,.55), -50px 110px 0 -3px rgba(245,158,11,.65);
}
.subpage-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(390px,.94fr);
  align-items: center;
  gap: clamp(3rem,6vw,6.5rem);
}
.subpage-hero-copy { min-width: 0; }
.subpage-hero-copy h1 {
  max-width: 770px;
  font-size: clamp(3.15rem,5.15vw,4.75rem);
}
.subpage-hero-subtitle {
  max-width: 680px;
  margin-top: 1.35rem;
  color: #52627B;
  font-size: clamp(1rem,1.35vw,1.18rem);
  line-height: 1.72;
}
.subpage-hero-meta {
  width: fit-content;
  margin-top: 1.1rem;
  padding: .48rem .75rem;
  border: 1px solid rgba(30,124,232,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  color: #64748B;
  font-family: 'JetBrains Mono',ui-monospace,monospace;
  font-size: .7rem;
}
.subpage-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
  margin-top: 1.75rem;
}
.subpage-hero-actions .store-badge {
  min-width: 165px;
  padding: 9px 14px;
}
.subpage-hero-actions .store-badge .sb-bottom { font-size: 16px; }
.subpage-store-row {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: .1rem;
}
.subpage-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem 1.25rem;
  margin-top: 1.55rem;
  color: #718096;
  font-size: .68rem;
  font-weight: 600;
}
.subpage-hero-trust span { display: inline-flex; align-items: center; gap: .42rem; }
.subpage-hero-trust span:not(:first-child)::before {
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #94A3B8;
}
.subpage-hero-trust i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22C55E;
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}
.subpage-hero-visual {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1200px;
}
.hero-visual-orbit {
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(30,124,232,.12);
  border-radius: 50%;
}
.hero-visual-orbit-one { width: 470px; height: 470px; }
.hero-visual-orbit-two { width: 360px; height: 360px; border-style: dashed; transform: rotate(-18deg); }
.hero-board {
  --hero-tone: #1E7CE8;
  --hero-soft: #E7F1FF;
  position: relative;
  z-index: 2;
  width: min(100%,430px);
  padding: 1.45rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 30px;
  background:
    radial-gradient(280px 180px at 100% 0%, color-mix(in srgb,var(--hero-tone) 15%,transparent), transparent 72%),
    rgba(255,255,255,.86);
  box-shadow: 0 36px 90px rgba(11,27,61,.16), inset 0 0 0 1px rgba(11,27,61,.035);
  backdrop-filter: blur(22px);
  transform: rotateY(-4deg) rotateX(1deg);
}
.hero-board::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -80px;
  top: -90px;
  border: 20px solid color-mix(in srgb,var(--hero-tone) 8%,transparent);
  border-radius: 50%;
}
.hero-board-story { --hero-tone:#7C3AED; --hero-soft:#F1EAFE; }
.hero-board-features { --hero-tone:#1E7CE8; --hero-soft:#E7F1FF; }
.hero-board-traveler { --hero-tone:#0891B2; --hero-soft:#E0F7FA; }
.hero-board-agency { --hero-tone:#E52426; --hero-soft:#FDEBEC; }
.hero-board-attendance { --hero-tone:#7C3AED; --hero-soft:#F1EAFE; }
.hero-board-pricing { --hero-tone:#EA580C; --hero-soft:#FFF0E5; }
.hero-board-security,.hero-board-privacy { --hero-tone:#059669; --hero-soft:#E2F8F0; }
.hero-board-faq,.hero-board-contact { --hero-tone:#2563EB; --hero-soft:#E8F0FF; }
.hero-board-blog { --hero-tone:#D97706; --hero-soft:#FFF4D9; }
.hero-board-demo { --hero-tone:#DB2777; --hero-soft:#FCE7F3; }
.hero-board-terms { --hero-tone:#475569; --hero-soft:#EEF2F6; }
.hero-board-lost { --hero-tone:#E52426; --hero-soft:#FDEBEC; }
.hero-board-head { display:flex; align-items:center; justify-content:space-between; }
.hero-board-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb,var(--hero-tone) 12%,#fff);
  border-radius: 15px;
  background: var(--hero-soft);
  font-size: 1.35rem;
  box-shadow: 0 10px 22px color-mix(in srgb,var(--hero-tone) 12%,transparent);
}
.hero-board-live {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .4rem .68rem;
  border: 1px solid #E4EAF2;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #64748B;
  font-size: .62rem;
  font-weight: 700;
}
.hero-board-live i { width: 6px; height: 6px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 3px rgba(34,197,94,.12); }
.hero-board-label {
  margin-top: 1.35rem;
  color: var(--hero-tone);
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .62rem;
  font-weight: 800;
}
.hero-board h2 {
  max-width: 330px;
  margin-top: .35rem;
  color: #0B1B3D;
  font-family: 'Outfit',sans-serif;
  font-size: 1.85rem;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.hero-board-focus {
  display: grid;
  grid-template-columns: 11px 1fr auto;
  align-items: center;
  gap: .8rem;
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb,var(--hero-tone) 14%,#E2E8F0);
  border-radius: 18px;
  background: linear-gradient(135deg,var(--hero-soft),rgba(255,255,255,.92));
}
.hero-board-focus-mark { width: 3px; height: 34px; border-radius:999px; background:var(--hero-tone); box-shadow:0 0 14px color-mix(in srgb,var(--hero-tone) 45%,transparent); }
.hero-board-focus small,.hero-board-focus strong { display:block; }
.hero-board-focus small { color:#8491A5; text-transform:uppercase; letter-spacing:.1em; font-size:.52rem; font-weight:700; }
.hero-board-focus strong { margin-top:.18rem; color:#16233D; font-size:.73rem; line-height:1.35; }
.hero-board-focus b { color:var(--hero-tone); font-size:1.15rem; }
.hero-board-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; margin-top:.75rem; }
.hero-board-list li {
  min-height: 62px;
  display: flex;
  flex-direction: column;
  gap: .38rem;
  padding: .62rem;
  border: 1px solid #E7ECF3;
  border-radius: 13px;
  background: rgba(255,255,255,.75);
  color: #5D6B80;
  font-size: .56rem;
  font-weight: 650;
  line-height: 1.35;
}
.hero-board-list li span {
  width: 18px;
  height: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:var(--hero-soft);
  color:var(--hero-tone);
  font-size:.58rem;
  font-weight:900;
}
.hero-board-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .85rem;
  padding-top: .8rem;
  border-top: 1px solid #E7ECF3;
  color: #8290A3;
  font-size: .58rem;
}
.hero-board-footer b {
  width: 27px;
  height: 27px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#0B1B3D;
  color:#fff;
  font-size:.53rem;
  letter-spacing:.04em;
}
.hero-float-card {
  position: absolute;
  z-index: 3;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: .65rem;
  min-width: 190px;
  padding: .72rem;
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 15px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 42px rgba(11,27,61,.13);
  backdrop-filter: blur(16px);
}
.hero-float-card>span { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:#E7F1FF; color:#1E7CE8; font-size:.8rem; }
.hero-float-card small,.hero-float-card strong { display:block; }
.hero-float-card small { color:#94A3B8; text-transform:uppercase; letter-spacing:.09em; font-size:.48rem; }
.hero-float-card strong { margin-top:.12rem; color:#21304A; font-family:'Outfit',sans-serif; font-size:.67rem; font-weight:650; }
.hero-float-card-top { right:-4%; top:12%; }
.hero-float-card-bottom { left:-8%; bottom:10%; }
.hero-float-card-bottom>span { background:#FEF3C7; }

@media (max-width: 1100px) {
  .subpage-hero { padding-top:8rem; }
  .subpage-hero-grid { grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:2.5rem; }
  .subpage-hero-copy h1 { font-size:clamp(2.85rem,5vw,4rem); }
  .hero-float-card-top { right:0; }
  .hero-float-card-bottom { left:0; }
}
@media (max-width: 900px) {
  .subpage-hero { padding:7.5rem 0 4.75rem; }
  .subpage-hero-grid { grid-template-columns:1fr; gap:3.5rem; }
  .subpage-hero-copy { max-width:720px; }
  .subpage-hero-visual { min-height:460px; }
  .hero-board { width:min(86%,440px); transform:none; }
  .hero-float-card-top { right:5%; }
  .hero-float-card-bottom { left:5%; }
}
@media (max-width: 640px) {
  .subpage-hero { padding:6.75rem 0 3.5rem; }
  .subpage-hero-copy h1 { font-size:clamp(2.5rem,12vw,3.35rem); }
  .subpage-hero-subtitle { margin-top:1rem; font-size:.98rem; line-height:1.65; }
  .subpage-hero-actions { margin-top:1.4rem; }
  .subpage-hero-actions .btn { flex:1; justify-content:center; min-width:140px; }
  .subpage-hero-actions .store-badge { flex:1; min-width:145px; }
  .subpage-store-row { width:100%; }
  .subpage-hero-trust span:nth-child(n+2) { display:none; }
  .subpage-hero-grid { gap:2.25rem; }
  .subpage-hero-visual { min-height:410px; margin-inline:-.5rem; }
  .hero-visual-orbit-one { width:360px; height:360px; }
  .hero-visual-orbit-two { width:285px; height:285px; }
  .hero-board { width:94%; padding:1.05rem; border-radius:24px; }
  .hero-board h2 { font-size:1.55rem; }
  .hero-board-icon { width:42px; height:42px; }
  .hero-board-list li { min-height:58px; padding:.5rem; }
  .hero-float-card { min-width:0; width:164px; grid-template-columns:28px 1fr; padding:.55rem; }
  .hero-float-card>span { width:28px; height:28px; }
  .hero-float-card-top { right:-1%; top:5%; }
  .hero-float-card-bottom { left:-1%; bottom:3%; }
}

.mesh-night {
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(87,165,255,0.18), transparent 60%),
    radial-gradient(1000px 700px at 100% 100%, rgba(229,36,38,0.10), transparent 60%),
    linear-gradient(180deg, #071429 0%, #050E20 100%);
}

/* Glassmorphic nav */
.glass {
  background: rgba(255,255,255,0.96);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid rgba(15,23,42,0.06);
  box-shadow: 0 8px 30px rgba(15,23,42,0.035);
}
.glass-dark {
  background: rgba(11,17,32,0.65);
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border: 1px solid rgba(255,255,255,0.08);
}

/* Shared premium header */
.site-header { pointer-events:none; font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif; }
.header-announcement,.header-nav-wrap,.mobile-nav { pointer-events:auto; }
.header-announcement { height:30px; color:#D7E3F3; background:linear-gradient(90deg,#071429,#10284D 62%,#071429); }
.header-announcement>div { display:grid; grid-template-columns:1fr auto 1fr; height:100%; align-items:center; }
.header-announcement p,.header-announcement a,.header-announcement>div>div { font-size:.62rem; font-weight:600; letter-spacing:.01em; }
.header-announcement p { display:flex; align-items:center; gap:.5rem; }
.header-announcement p span { padding:.16rem .4rem; border-radius:999px; color:#fff; background:#E52426; font-size:.48rem; letter-spacing:.08em; }
.header-announcement a { display:flex; align-items:center; gap:.45rem; color:#8FC3FF; }
.header-announcement a:hover { color:#fff; }
.header-announcement a b { display:grid; width:18px; height:18px; place-items:center; border-radius:6px; background:rgba(255,255,255,.1); }
.header-announcement>div>div { display:flex; justify-content:flex-end; align-items:center; gap:.45rem; color:#9EB0C8; }
.header-announcement>div>div i { width:6px; height:6px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 3px rgba(34,197,94,.12); }
.header-nav-wrap { padding:9px 1.25rem 0; }
.header-nav-shell { display:grid; grid-template-columns:auto 1fr auto; max-width:1280px; min-height:68px; margin:0 auto; padding:.45rem .55rem .45rem .9rem; align-items:center; border:1px solid rgba(203,213,225,.78); border-radius:21px; background:rgba(255,255,255,.92); box-shadow:0 18px 48px rgba(15,23,42,.11),inset 0 1px 0 #fff; backdrop-filter:blur(18px) saturate(170%); }
.header-logo { display:flex; min-width:205px; align-items:center; }
.header-logo img { width:auto; height:47px; }
.header-desktop-nav { justify-self:center; align-items:center; gap:.18rem; padding:.3rem; border:1px solid #E8EDF4; border-radius:15px; background:#F7F9FC; }
.header-nav-link { display:flex; min-height:39px; align-items:center; gap:.4rem; padding:.55rem .72rem; border-radius:11px; color:#53627A; font-size:.76rem; font-weight:600; letter-spacing:-.01em; white-space:nowrap; transition:color 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.header-nav-link:hover,.header-nav-link.font-semibold { color:#0B1B3D; background:#fff; box-shadow:0 5px 14px rgba(15,23,42,.07); }
.header-nav-link>span:last-child:not(.header-nav-dot) { color:#94A3B8; font-size:.7rem; }
.header-nav-dot { width:7px; height:7px; border-radius:50%; }.dot-blue { background:#1E7CE8; box-shadow:0 0 0 3px #DCEEFF; }.dot-red { background:#E52426; box-shadow:0 0 0 3px #FDEBEC; }
.header-actions { align-items:center; gap:.35rem; padding-left:.65rem; }
.header-demo-link { padding:.65rem .75rem; color:#334155; font-size:.76rem; font-weight:600; letter-spacing:-.01em; }
.header-demo-link:hover { color:#1E7CE8; }
.header-app-link { display:flex; min-height:46px; align-items:center; gap:.7rem; padding:.45rem .5rem .45rem 1rem; border-radius:14px; color:#fff; background:linear-gradient(135deg,#1E7CE8,#1668CC); box-shadow:0 10px 24px rgba(30,124,232,.25); font-size:.76rem; font-weight:700; letter-spacing:-.01em; }
.header-app-link b { display:grid; width:31px; height:31px; place-items:center; border-radius:10px; color:#1E7CE8; background:#fff; }
.header-app-link:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(30,124,232,.32); }
.header-mega { top:calc(100% + 14px); left:50%; right:auto; width:330px; margin:0; padding:.55rem; transform:translate(-50%,-6px); border:1px solid #DCE5F0; border-radius:20px; background:rgba(255,255,255,.98); box-shadow:0 24px 65px rgba(15,23,42,.16); }
.has-mega:hover .header-mega,.has-mega:focus-within .header-mega { transform:translate(-50%,0); }
.header-mega>a { display:grid; grid-template-columns:40px 1fr; gap:.7rem; align-items:center; padding:.7rem; border-radius:14px; }
.header-mega>a:hover { background:#F6F9FD; }
.header-mega-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:12px; font-family:'JetBrains Mono',monospace; font-size:.58rem; font-weight:800; }
.mega-blue { color:#1E7CE8; background:#E8F2FF; }.mega-amber { color:#D97706; background:#FEF3C7; }.mega-green { color:#059669; background:#D1FAE5; }.mega-violet { color:#7C3AED; background:#EDE9FE; }
.header-mega strong,.header-mega p { display:block; }.header-mega strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.76rem; }.header-mega p { margin-top:.12rem; color:#8491A5; font-size:.54rem; }
.header-mega em { margin-left:.3rem; padding:.16rem .35rem; border-radius:999px; color:#9A3412; background:#FFEDD5; font-family:'Plus Jakarta Sans',sans-serif; font-size:.42rem; font-style:normal; text-transform:uppercase; }
.header-mega-compact { width:300px; }
.header-mobile-toggle { display:grid; width:44px; height:44px; place-content:center; gap:6px; border:1px solid #DCE5F0; border-radius:14px; background:#F7F9FC; }
.header-mobile-toggle span { display:block; width:18px; height:2px; border-radius:999px; background:#0B1B3D; }
@media (min-width:1024px) { .header-mobile-toggle { display:none !important; } }
.header-mobile-close { position:relative; width:42px; height:42px; border:1px solid #E2E8F0; border-radius:13px; }
.header-mobile-close span { position:absolute; top:19px; left:11px; width:18px; height:2px; background:#0B1B3D; transform:rotate(45deg); }.header-mobile-close span:last-child { transform:rotate(-45deg); }
@media (max-width:1100px) { .header-nav-shell { grid-template-columns:auto 1fr auto; }.header-logo { min-width:175px; }.header-nav-link { padding:.55rem .58rem; }.header-demo-link { display:none; } }
@media (max-width:1023px) { .header-nav-shell { display:flex; min-height:62px; justify-content:space-between; padding:.35rem .45rem .35rem .75rem; border-radius:18px; }.header-logo { min-width:0; }.header-logo img { height:44px; }.header-nav-wrap { padding:.55rem .75rem 0; }.header-announcement>div { grid-template-columns:1fr auto; }.header-announcement a { display:none; }.header-announcement>div>div { font-size:.52rem; } }
@media (max-width:540px) { .header-announcement>div>div { display:none; }.header-announcement>div { grid-template-columns:1fr; justify-items:center; }.header-announcement p { font-size:.52rem; }.header-nav-wrap { padding-inline:.55rem; }.header-logo img { height:41px; } }

/* Shared demo-booking modal */
body.demo-modal-open { overflow:hidden; }
.demo-modal[hidden] { display:none; }
.demo-modal { position:fixed; z-index:110; isolation:isolate; inset:0; display:grid; place-items:center; padding:1.25rem; font-family:'Plus Jakarta Sans',sans-serif; }
.demo-modal-backdrop { position:absolute; inset:0; background:rgba(4,13,31,.7); backdrop-filter:blur(10px); animation:demoFadeIn 180ms ease both; }
.demo-modal-dialog {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(300px,.7fr) minmax(560px,1.3fr);
  width:min(1050px,100%);
  max-height:min(880px,calc(100vh - 2.5rem));
  border:1px solid rgba(255,255,255,.68);
  border-radius:30px;
  background:#fff;
  opacity:1;
  isolation:isolate;
  box-shadow:0 36px 110px rgba(3,12,30,.35);
  animation:demoDialogIn 240ms cubic-bezier(.2,.8,.2,1) both;
}
.demo-modal-close { position:absolute; z-index:5; top:1rem; right:1rem; width:40px; height:40px; border:1px solid #DCE5F0; border-radius:13px; background:rgba(255,255,255,.92); box-shadow:0 7px 20px rgba(15,23,42,.08); }
.demo-modal-close span { position:absolute; top:19px; left:11px; width:18px; height:2px; border-radius:999px; background:#0B1B3D; transform:rotate(45deg); }
.demo-modal-close span:last-child { transform:rotate(-45deg); }
.demo-modal-aside {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:2.2rem;
  color:#fff;
  background:
    radial-gradient(circle at 15% 0,rgba(87,165,255,.32),transparent 30%),
    radial-gradient(circle at 100% 90%,rgba(229,36,38,.18),transparent 35%),
    linear-gradient(150deg,#07172F,#0B2449 68%,#111A37);
}
.demo-modal-aside::after { content:""; position:absolute; right:-120px; bottom:-120px; width:330px; height:330px; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.018); }
.demo-modal-logo { position:relative; z-index:1; display:inline-flex; width:max-content; padding:.45rem .65rem; border-radius:12px; background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.demo-modal-logo img { width:auto; height:28px; }
.demo-modal-eyebrow { position:relative; z-index:1; margin-top:2rem; color:#86BEFF; text-transform:uppercase; letter-spacing:.15em; font-size:.58rem; font-weight:800; }
.demo-modal-aside h2 { position:relative; z-index:1; max-width:380px; margin-top:.65rem; font-size:clamp(2rem,3vw,3rem); line-height:1.02; font-weight:600; letter-spacing:-.04em; }
.demo-modal-aside>p:not(.demo-modal-eyebrow) { position:relative; z-index:1; margin-top:.8rem; color:#B5C5D9; font-size:.78rem; line-height:1.65; }
.demo-modal-aside ul { position:relative; z-index:1; display:grid; gap:.35rem; margin-top:1.6rem; }
.demo-modal-aside li { display:grid; grid-template-columns:34px 1fr; gap:.7rem; align-items:center; padding:.68rem; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:rgba(255,255,255,.055); }
.demo-modal-aside li>span { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; color:#9CCBFF; background:rgba(59,130,246,.15); font-family:'JetBrains Mono',monospace; font-size:.52rem; font-weight:800; }
.demo-modal-aside li strong,.demo-modal-aside li small { display:block; }
.demo-modal-aside li strong { font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:600; }
.demo-modal-aside li small { margin-top:.15rem; color:#8EA3BE; font-size:.58rem; line-height:1.4; }
.demo-modal-security { position:relative; z-index:1; display:flex; align-items:center; gap:.5rem; margin-top:auto; padding-top:1.5rem; color:#91A5BF; font-size:.58rem; }
.demo-modal-security i { width:7px; height:7px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 4px rgba(34,197,94,.12); }
.demo-modal-content { position:relative; z-index:1; overflow-y:auto; min-width:0; padding:2rem 2.2rem; background:#fff; opacity:1; }
.demo-modal-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-right:3rem; }
.demo-modal-heading p { color:#1E7CE8; text-transform:uppercase; letter-spacing:.13em; font-size:.56rem; font-weight:800; }
.demo-modal-heading h3 { margin-top:.3rem; color:#0B1B3D; font-size:1.55rem; line-height:1.08; font-weight:600; }
.demo-modal-heading>span { padding:.42rem .62rem; border-radius:999px; background:#E8F2FF; color:#1E7CE8; font-size:.62rem; font-weight:800; white-space:nowrap; }
.demo-booking-form { display:grid; gap:.9rem; margin-top:1.25rem; }
.demo-honeypot { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; }
.demo-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.demo-booking-form label>span,.demo-time-field legend { display:flex; align-items:center; gap:.25rem; margin-bottom:.38rem; color:#263550; font-size:.68rem; font-weight:700; }
.demo-booking-form label>span b,.demo-time-field legend>b { color:#E52426; }
.demo-booking-form label>span small,.demo-time-field legend small { margin-left:auto; color:#94A3B8; font-size:.54rem; font-weight:600; }
.demo-booking-form input:not([type="hidden"]),.demo-booking-form textarea {
  width:100%;
  border:1px solid #DCE5F0;
  border-radius:13px;
  background:#F8FAFC;
  padding:.72rem .8rem;
  color:#0B1B3D;
  font-family:inherit;
  font-size:.72rem;
  outline:none;
  transition:border 180ms ease,box-shadow 180ms ease,background 180ms ease;
}
.demo-booking-form textarea { min-height:78px; resize:vertical; }
.demo-booking-form input:focus,.demo-booking-form textarea:focus { border-color:#57A5FF; background:#fff; box-shadow:0 0 0 3px rgba(87,165,255,.13); }
.demo-date-field { max-width:260px; }
.demo-time-field { min-width:0; padding:0; border:0; }
.demo-time-field legend { width:100%; }
.demo-time-status { padding:.7rem .8rem; border:1px dashed #CBD8E8; border-radius:13px; background:#F8FAFC; color:#71839B; font-size:.65rem; text-align:center; }
.demo-time-status.is-loading { color:#1E7CE8; background:#EFF6FF; }
.demo-time-status.is-error { color:#B91C1C; border-color:#FECACA; background:#FEF2F2; }
.demo-time-slots { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.42rem; }
.demo-time-slot { min-height:38px; padding:.45rem .35rem; border:1px solid #DCE5F0; border-radius:11px; background:#fff; color:#334155; font-family:inherit; font-size:.62rem; font-weight:700; transition:transform 150ms ease,border 150ms ease,background 150ms ease,color 150ms ease; }
.demo-time-slot:hover:not(:disabled) { transform:translateY(-1px); border-color:#7CB8FF; color:#1E7CE8; }
.demo-time-slot.is-selected { border-color:#1E7CE8; background:#1E7CE8; color:#fff; box-shadow:0 7px 18px rgba(30,124,232,.2); }
.demo-time-slot:disabled { cursor:not-allowed; color:#B7C1CE; border-color:#EEF2F6; background:#F5F7FA; text-decoration:line-through; }
.demo-form-error { padding:.65rem .8rem; border:1px solid #FECACA; border-radius:12px; background:#FEF2F2; color:#B91C1C; font-size:.68rem; }
.demo-booking-submit { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:.65rem .7rem .65rem 1rem; border-radius:14px; background:linear-gradient(135deg,#1E7CE8,#1668CC); color:#fff; font-family:inherit; font-size:.76rem; font-weight:800; box-shadow:0 12px 26px rgba(30,124,232,.22); transition:transform 180ms ease,box-shadow 180ms ease; }
.demo-booking-submit b { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#fff; color:#1E7CE8; }
.demo-booking-submit:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 16px 32px rgba(30,124,232,.28); }
.demo-booking-submit:disabled { cursor:wait; opacity:.68; }
.demo-form-footnote { color:#94A3B8; font-size:.55rem; text-align:center; }
.demo-booking-success { display:flex; min-height:520px; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.demo-success-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:19px; background:#DCFCE7; color:#15803D; font-size:1.4rem; font-weight:800; box-shadow:0 12px 28px rgba(34,197,94,.12); }
.demo-booking-success .demo-modal-eyebrow { margin-top:1.3rem; }
.demo-booking-success h3 { margin-top:.45rem; color:#0B1B3D; font-size:2rem; font-weight:600; }
.demo-booking-success>p:not(.demo-modal-eyebrow) { max-width:420px; margin-top:.55rem; color:#64748B; font-size:.78rem; line-height:1.6; }
.demo-success-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,380px); gap:.6rem; margin-top:1.3rem; }
.demo-success-details>div { padding:.8rem; border:1px solid #DCE5F0; border-radius:14px; background:#F8FAFC; }
.demo-success-details small,.demo-success-details strong { display:block; }
.demo-success-details small { color:#94A3B8; text-transform:uppercase; letter-spacing:.08em; font-size:.5rem; font-weight:800; }
.demo-success-details strong { margin-top:.25rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.8rem; }
.demo-success-close { margin-top:1.3rem; padding:.7rem 1.5rem; border-radius:999px; background:#0B1B3D; color:#fff; font-size:.72rem; font-weight:700; }
@keyframes demoFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes demoDialogIn { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width:900px) {
  .demo-modal-dialog { grid-template-columns:1fr; max-width:680px; }
  .demo-modal-aside { display:none; }
  .demo-modal-content { max-height:calc(100vh - 2.5rem); }
}
@media (max-width:580px) {
  .demo-modal { padding:.55rem; }
  .demo-modal-dialog { max-height:calc(100vh - 1.1rem); border-radius:22px; }
  .demo-modal-content { padding:1.25rem; }
  .demo-modal-heading { padding-right:2.6rem; }
  .demo-modal-heading h3 { font-size:1.3rem; }
  .demo-form-grid { grid-template-columns:1fr; }
  .demo-date-field { max-width:none; }
  .demo-time-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .demo-time-field legend { align-items:flex-start; flex-direction:column; }
  .demo-time-field legend small { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  .demo-modal-backdrop,.demo-modal-dialog { animation:none; }
}

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; border-radius: 999px; font-weight: 600; font-size: 0.95rem; transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, color 220ms ease; will-change: transform; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--tw-accent); color: #fff; box-shadow: 0 8px 24px rgba(30,124,232,0.28); }
.btn-primary:hover { background: #1668CC; box-shadow: 0 14px 36px rgba(30,124,232,0.34); }
.btn-accent { background: var(--tw-accent-2); color: #fff; box-shadow: 0 8px 24px rgba(229,36,38,0.28); }
.btn-accent:hover { background: #C41C1E; }
.btn-dark { background: var(--tw-ink); color: #fff; box-shadow: 0 8px 24px rgba(11,27,61,0.22); }
.btn-dark:hover { background: #142954; }
.btn-ghost { background: transparent; color: var(--tw-ink); border: 1px solid var(--tw-border); }
.btn-ghost:hover { background: #fff; border-color: #CBD5E1; }
.btn-light { background: #fff; color: var(--tw-ink); border: 1px solid var(--tw-border); }

/* Section labels */
.eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.22em; font-weight: 600; color: var(--tw-accent); }
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: 0.55; }

.eyebrow-dark { color: var(--tw-sky); }
.eyebrow-red { color: var(--tw-accent-2); }

/* Cards */
.card {
  background: #fff;
  border: 1px solid rgba(11,27,61,0.06);
  border-radius: 24px;
  padding: 1.75rem;
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(11,27,61,0.08);
  border-color: rgba(30,124,232,0.28);
}

.icon-wrap {
  width: 46px; height: 46px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #E7F1FF 0%, #CFE2FF 100%);
  color: #1668CC;
}
.icon-wrap-red { background: linear-gradient(135deg, #FDECEC 0%, #FBD1D2 100%); color: #C41C1E; }
.icon-wrap-amber { background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%); color: #B45309; }
.icon-wrap-emerald { background: linear-gradient(135deg, #D1FAE5 0%, #A7F3D0 100%); color: #047857; }
.icon-wrap-coral { background: linear-gradient(135deg, #FFEDD5 0%, #FED7AA 100%); color: #C2410C; }
.icon-wrap-violet { background: linear-gradient(135deg, #EDE9FE 0%, #DDD6FE 100%); color: #6D28D9; }
.icon-wrap-slate { background: linear-gradient(135deg, #F1F5F9 0%, #E2E8F0 100%); color: #334155; }

/* Feature page icon system */
.feature-card { position: relative; overflow: hidden; min-height: 210px; }
.feature-card::after {
  content: "";
  position: absolute;
  width: 88px;
  height: 88px;
  right: -34px;
  top: -34px;
  border-radius: 999px;
  background: var(--feature-glow, rgba(30,124,232,0.08));
  pointer-events: none;
}
.feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55), 0 10px 24px rgba(15,23,42,0.08);
}
.feature-icon span { font-size: 24px; line-height: 1; filter: saturate(1.08); }
.feature-icon-blue { background: linear-gradient(135deg,#DBEAFE,#BFDBFE); --feature-glow:rgba(59,130,246,.12); }
.feature-icon-violet { background: linear-gradient(135deg,#EDE9FE,#DDD6FE); --feature-glow:rgba(139,92,246,.12); }
.feature-icon-sky { background: linear-gradient(135deg,#E0F2FE,#BAE6FD); --feature-glow:rgba(14,165,233,.12); }
.feature-icon-coral { background: linear-gradient(135deg,#FFEDD5,#FED7AA); --feature-glow:rgba(249,115,22,.12); }
.feature-icon-emerald,.feature-icon-green { background: linear-gradient(135deg,#D1FAE5,#A7F3D0); --feature-glow:rgba(16,185,129,.12); }
.feature-icon-amber,.feature-icon-yellow { background: linear-gradient(135deg,#FEF3C7,#FDE68A); --feature-glow:rgba(245,158,11,.13); }
.feature-icon-slate { background: linear-gradient(135deg,#F1F5F9,#CBD5E1); --feature-glow:rgba(100,116,139,.11); }
.feature-icon-red { background: linear-gradient(135deg,#FEE2E2,#FECACA); --feature-glow:rgba(239,68,68,.11); }
.feature-icon-rose { background: linear-gradient(135deg,#FFE4E6,#FECDD3); --feature-glow:rgba(244,63,94,.11); }
.feature-icon-teal { background: linear-gradient(135deg,#CCFBF1,#99F6E4); --feature-glow:rgba(20,184,166,.11); }
.feature-icon-orange { background: linear-gradient(135deg,#FFEDD5,#FDBA74); --feature-glow:rgba(249,115,22,.11); }
.feature-icon-indigo { background: linear-gradient(135deg,#E0E7FF,#C7D2FE); --feature-glow:rgba(99,102,241,.11); }
.feature-icon-purple { background: linear-gradient(135deg,#F3E8FF,#E9D5FF); --feature-glow:rgba(168,85,247,.11); }
.journey-step { position: relative; background:#fff; border:1px solid rgba(11,27,61,.07); border-radius:28px; padding:2rem; }
.journey-number { position:absolute; right:1.75rem; top:1.5rem; font-family:'JetBrains Mono',monospace; font-size:.75rem; letter-spacing:.12em; color:#94A3B8; }
.traveler-flow-wrap { position:relative; padding:3.5rem 0 1rem; }
.traveler-flow-orbit { position:absolute; border-radius:999px; filter:blur(2px); pointer-events:none; }
.traveler-flow-orbit-one { width:380px; height:380px; left:-230px; top:30px; background:radial-gradient(circle,rgba(59,130,246,.13),transparent 68%); }
.traveler-flow-orbit-two { width:460px; height:460px; right:-280px; bottom:-80px; background:radial-gradient(circle,rgba(139,92,246,.12),transparent 68%); }
.traveler-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.traveler-flow::before { content:""; position:absolute; left:7%; right:7%; top:52px; height:2px; background:linear-gradient(90deg,#60A5FA,#A78BFA,#FB923C,#34D399); opacity:.45; }
.traveler-flow-card { --flow:#3B82F6; --flow-soft:#DBEAFE; position:relative; min-height:340px; display:flex; flex-direction:column; padding:1.65rem; border:1px solid rgba(15,23,42,.07); border-radius:28px; background:rgba(255,255,255,.92); box-shadow:0 18px 45px rgba(15,23,42,.06); transition:transform 260ms ease,box-shadow 260ms ease,border-color 260ms ease; overflow:hidden; }
.traveler-flow-card::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:var(--flow); }
.traveler-flow-card::after { content:""; position:absolute; width:130px; height:130px; right:-55px; top:-55px; border-radius:999px; background:var(--flow-soft); opacity:.5; }
.traveler-flow-card:hover { transform:translateY(-8px); box-shadow:0 28px 60px rgba(15,23,42,.11); border-color:var(--flow); }
.flow-violet { --flow:#8B5CF6; --flow-soft:#EDE9FE; }
.flow-coral { --flow:#F97316; --flow-soft:#FFEDD5; }
.flow-emerald { --flow:#10B981; --flow-soft:#D1FAE5; }
.flow-card-top { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.flow-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:18px; background:var(--flow-soft); box-shadow:0 10px 24px color-mix(in srgb,var(--flow) 18%,transparent); font-size:26px; }
.flow-number { font-family:'JetBrains Mono',monospace; color:var(--flow); font-size:.75rem; font-weight:700; letter-spacing:.15em; }
.flow-label { color:var(--flow); text-transform:uppercase; letter-spacing:.13em; font-size:.65rem; font-weight:800; }
.flow-result { display:flex; align-items:center; gap:.55rem; margin-top:auto; padding-top:1.25rem; border-top:1px solid #E2E8F0; color:#334155; font-size:.76rem; font-weight:700; }
.flow-result span { width:8px; height:8px; border-radius:999px; background:var(--flow); box-shadow:0 0 0 5px var(--flow-soft); }
.traveler-flow-summary { max-width:760px; margin:2.5rem auto 0; display:grid; grid-template-columns:1fr 180px 1fr; align-items:center; gap:1rem; padding:1rem 1.4rem; border:1px solid rgba(59,130,246,.12); border-radius:22px; background:rgba(255,255,255,.72); backdrop-filter:blur(10px); }
.traveler-flow-summary>div:first-child { text-align:right; }
.traveler-flow-summary>div:last-child { text-align:left; }
.traveler-flow-summary strong,.traveler-flow-summary span { display:block; }
.traveler-flow-summary strong { font-family:'Outfit',sans-serif; color:#0B1B3D; font-size:1rem; }
.traveler-flow-summary>div>span { color:#64748B; font-size:.72rem; }
.flow-summary-route { display:flex; align-items:center; gap:.6rem; color:#2563EB; }
.flow-summary-route span { flex:1; height:1px; background:linear-gradient(90deg,transparent,#93C5FD); }
.flow-summary-route span:last-child { background:linear-gradient(90deg,#93C5FD,transparent); }
.flow-summary-route i { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:#DBEAFE; font-style:normal; }
.feature-checklist { display:grid; gap:.85rem; color:#475569; }
.feature-checklist li { display:flex; gap:.75rem; align-items:flex-start; }
.feature-checklist li::before { content:"✓"; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:1.35rem; height:1.35rem; margin-top:.1rem; border-radius:999px; background:#DBEAFE; color:#1D4ED8; font-size:.75rem; font-weight:800; }
.feature-checklist-dark { color:#CBD5E1; }
.feature-checklist-dark li::before { background:rgba(87,165,255,.18); color:#93C5FD; }

/* Passport / doc floating cards */
.doc-card {
  position: absolute;
  border-radius: 22px;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(14px);
  box-shadow: 0 22px 60px rgba(15,23,42,0.14), 0 0 0 1px rgba(15,23,42,0.05);
  padding: 14px 18px;
}

/* Marquee */
.marquee { display: flex; gap: 3.5rem; animation: marquee 42s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* Accordion */
details.faq { border-bottom: 1px solid var(--tw-border); padding: 1.25rem 0; }
details.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--tw-ink); font-family: 'Outfit', sans-serif; font-size: 1.06rem; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary .plus { transition: transform 240ms ease; }
details.faq[open] summary .plus { transform: rotate(45deg); }
details.faq .answer { padding-top: 0.75rem; color: var(--tw-muted); line-height: 1.7; }

/* Phone mockup */
.phone {
  position: relative;
  width: 300px;
  height: 620px;
  background: linear-gradient(160deg, #0B1120 0%, #1E293B 100%);
  border-radius: 46px;
  padding: 12px;
  box-shadow: 0 40px 80px rgba(15,23,42,0.28), 0 0 0 8px rgba(15,23,42,0.06);
}
.phone-screen {
  width: 100%; height: 100%; border-radius: 34px; overflow: hidden;
  background: linear-gradient(180deg, #F8FAFC 0%, #E0EAFF 100%);
  position: relative;
}
.phone-notch {
  position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
  width: 100px; height: 22px; border-radius: 16px; background: #0B1120; z-index: 3;
}

/* AI Attendance bus */
.bus-seat { transition: fill 380ms ease, transform 380ms ease; }
.bus-seat.detected { fill: #10B981; }
.bus-seat.missing { fill: #EF4444; }
.bus-seat.away { fill: #94A3B8; }

/* Utility */
.divider-dot { width: 4px; height: 4px; border-radius: 999px; background: currentColor; opacity: 0.35; }

/* Fade in on scroll baseline (AOS provides its own too) */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 700ms ease, transform 700ms ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* Sticky scroll progress */
.scroll-progress { position: fixed; top: 0; left: 0; height: 2px; background: linear-gradient(90deg, #2563EB, #38BDF8, #EA580C); z-index: 60; width: 0%; transition: width 120ms linear; }

/* Focus */
*:focus-visible { outline: 2px solid #2563EB; outline-offset: 3px; border-radius: 6px; }

/* Selection */
::selection { background: #FCD34D; color: #0F172A; }

/* Emergent badge — hide inside this pure marketing site */
#emergent-badge { display: none !important; }

/* Mega menu */
.mega { position: absolute; top: 100%; left: 0; right: 0; margin-top: 12px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all 220ms ease; }
.mega .icon-wrap { width: 40px; height: 40px; border-radius: 12px; }
.has-mega:hover .mega, .has-mega:focus-within .mega { opacity: 1; visibility: visible; transform: translateY(0); }
.header-desktop-nav .header-mega { top:calc(100% + 14px); left:50%; right:auto; margin:0; transform:translate(-50%,-6px); }
.header-desktop-nav .has-mega:hover .header-mega,.header-desktop-nav .has-mega:focus-within .header-mega { transform:translate(-50%,0); }

/* Mobile menu */
.mobile-nav { transform: translateX(100%); visibility:hidden; pointer-events:none; transition: transform 340ms cubic-bezier(0.22,0.61,0.36,1), visibility 0s linear 340ms; }
.mobile-nav.open { transform: translateX(0); visibility:visible; pointer-events:auto; transition-delay:0s; }

/* Grid lines background (used sparingly) */
.grid-lines {
  background-image:
    linear-gradient(rgba(15,23,42,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,0.05) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* Real phone screenshot frame */
.phone-frame {
  position: relative;
  width: 280px;
  height: 590px;
  background: #0B1B3D;
  border-radius: 44px;
  padding: 10px;
  box-shadow: 0 40px 80px rgba(11,27,61,0.32), 0 0 0 6px rgba(11,27,61,0.05);
}
.phone-frame img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 34px; display: block;
}
.phone-frame::before {
  content: "";
  position: absolute; top: 10px; left: 50%; transform: translateX(-50%);
  width: 100px; height: 22px; border-radius: 16px; background: #0B1B3D; z-index: 3;
}
.hero-traveler-phone { z-index:2; width:258px; height:558px; padding:8px; border-radius:40px; transform:rotateY(-4deg) rotateZ(1deg); box-shadow:0 42px 90px rgba(11,27,61,.3),0 0 0 8px rgba(30,124,232,.055); }
.hero-traveler-phone img { border-radius:32px; }
.hero-traveler-phone::before { top:8px; width:92px; height:21px; }
@media (max-width:640px) { .hero-traveler-phone { width:226px; height:490px; border-radius:36px; transform:none; }.hero-traveler-phone img { border-radius:29px; } }

/* Traveler app screen slider */
.traveler-slider-shell { position:relative; min-height:670px; width:100%; max-width:100%; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.traveler-slider-glow { position:absolute; width:min(430px,calc(100vw - 32px)); height:min(430px,calc(100vw - 32px)); border-radius:999px; background:radial-gradient(circle,rgba(59,130,246,.24),rgba(139,92,246,.08) 48%,transparent 72%); filter:blur(8px); }
.traveler-phone { position:relative; z-index:2; width:290px; height:610px; padding:10px; border-radius:46px; background:linear-gradient(155deg,#0B1B3D,#25365B); box-shadow:0 42px 85px rgba(11,27,61,.3),0 0 0 7px rgba(11,27,61,.06); }
.traveler-phone-notch { position:absolute; z-index:5; top:10px; left:50%; transform:translateX(-50%); width:104px; height:23px; border-radius:0 0 16px 16px; background:#0B1B3D; }
.traveler-slide-viewport { width:100%; height:100%; overflow:hidden; border-radius:36px; background:#fff; }
.traveler-slide-track { display:flex; height:100%; transition:transform 650ms cubic-bezier(.22,.61,.36,1); will-change:transform; }
.traveler-slide { position:relative; min-width:100%; height:100%; margin:0; }
.traveler-slide img { width:100%; height:100%; display:block; object-fit:cover; }
.traveler-slide figcaption { position:absolute; left:50%; bottom:18px; transform:translateX(-50%) translateY(8px); opacity:0; pointer-events:none; white-space:nowrap; background:rgba(7,20,41,.82); color:#fff; padding:7px 12px; border-radius:999px; font-size:11px; font-weight:600; transition:opacity 300ms ease,transform 300ms ease; }
.traveler-slide.is-active figcaption { opacity:1; transform:translateX(-50%) translateY(0); }
.slider-arrow { position:absolute; z-index:3; top:48%; width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:#fff; color:#0B1B3D; border:1px solid #E2E8F0; box-shadow:0 12px 28px rgba(15,23,42,.14); font-size:28px; line-height:1; transition:transform 200ms ease,box-shadow 200ms ease; }
.slider-arrow:hover { transform:translateY(-2px); box-shadow:0 16px 34px rgba(15,23,42,.2); }
.slider-arrow-prev { left:4%; }
.slider-arrow-next { right:4%; }
.slider-dots { display:flex; gap:8px; margin-top:26px; z-index:3; }
.slider-dots button { width:8px; height:8px; border-radius:999px; background:#CBD5E1; transition:width 240ms ease,background 240ms ease; }
.slider-dots button.is-active { width:28px; background:#1E7CE8; }
.slider-caption { min-height:20px; margin-top:10px; color:#64748B; font-size:13px; font-weight:600; z-index:3; }
.traveler-points { display:grid; gap:1.2rem; }
.traveler-points li { display:flex; gap:1rem; align-items:flex-start; }
.traveler-points li>span { flex:0 0 auto; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:13px; background:#E7F1FF; font-size:19px; }
.traveler-points h3 { font-family:'Outfit',sans-serif; font-weight:600; font-size:1.06rem; color:#0B1B3D; }
.traveler-points p { margin-top:.2rem; color:#64748B; font-size:.875rem; line-height:1.55; }
.traveler-highlight { border:1px solid rgba(11,27,61,.08); border-radius:30px; padding:2.5rem; overflow:hidden; }
.traveler-highlight-currency { background:linear-gradient(145deg,#ECFDF5,#fff 62%); }
.currency-example { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem; border:1px solid #D1FAE5; border-radius:20px; background:rgba(255,255,255,.82); box-shadow:0 16px 40px rgba(16,185,129,.08); }
.currency-example div { display:flex; flex-direction:column; gap:.3rem; }
.currency-example span { color:#64748B; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; }
.currency-example strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.1rem; }
.currency-example .currency-swap { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:#D1FAE5; color:#047857; font-size:1rem; }
.group-chat-card { max-width:440px; margin:auto; padding:1.35rem; border:1px solid rgba(99,102,241,.14); border-radius:26px; background:rgba(255,255,255,.9); box-shadow:0 28px 65px rgba(76,29,149,.12); }
.group-chat-head { display:flex; align-items:center; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #E2E8F0; }
.group-chat-head strong { display:block; font-family:'Outfit',sans-serif; color:#0B1B3D; }
.group-chat-head p { color:#64748B; font-size:.75rem; margin-top:.15rem; }
.avatar-stack { display:flex; }
.avatar-stack span { width:36px; height:36px; margin-left:-8px; display:flex; align-items:center; justify-content:center; border:3px solid #fff; border-radius:999px; color:#fff; font-size:.65rem; font-weight:700; background:#3B82F6; }
.avatar-stack span:first-child { margin-left:0; background:#8B5CF6; }
.avatar-stack span:last-child { background:#F97316; }
.chat-bubble { width:fit-content; max-width:84%; margin-top:1rem; padding:.75rem 1rem; border-radius:18px; color:#334155; font-size:.85rem; line-height:1.5; }
.chat-bubble-in { background:#F1F5F9; border-bottom-left-radius:5px; }
.chat-bubble-out { margin-left:auto; background:#DBEAFE; color:#1E3A8A; border-bottom-right-radius:5px; }
.chat-update { margin:1rem auto 0; width:fit-content; color:#64748B; background:#F8FAFC; border:1px solid #E2E8F0; border-radius:999px; padding:.45rem .75rem; font-size:.7rem; }
.chat-compose { display:flex; justify-content:space-between; align-items:center; margin-top:1rem; padding:.8rem 1rem; border:1px solid #E2E8F0; border-radius:999px; color:#94A3B8; font-size:.8rem; }
.chat-compose span { color:#2563EB; }
@media (max-width:640px) {
  .traveler-slider-shell { min-height:620px; margin-inline:auto; }
  .traveler-phone { width:264px; height:556px; }
  .slider-arrow-prev { left:2px; }
  .slider-arrow-next { right:2px; }
  .currency-example { align-items:flex-start; flex-direction:column; }
  .currency-example .currency-swap { transform:rotate(90deg); }
  footer form[data-form] { flex-direction:column; align-items:stretch; }
  footer form[data-form] .btn { justify-content:center; }
  footer .store-badge { min-width:0; width:100%; justify-content:center; }
  footer .mt-6.flex.gap-3 { flex-direction:column; }
  .traveler-flow-wrap { padding-top:1.5rem; }
  .traveler-flow { grid-template-columns:1fr; gap:1rem; padding-left:1.25rem; }
  .traveler-flow::before { left:0; right:auto; top:36px; bottom:36px; width:2px; height:auto; background:linear-gradient(180deg,#60A5FA,#A78BFA,#FB923C,#34D399); }
  .traveler-flow-card { min-height:300px; }
  .traveler-flow-summary { grid-template-columns:1fr; text-align:center; }
  .traveler-flow-summary>div:first-child,.traveler-flow-summary>div:last-child { text-align:center; }
  .flow-summary-route { width:170px; margin:auto; }
}
@media (min-width:641px) and (max-width:1023px) {
  .traveler-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .traveler-flow::before { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .traveler-slide-track { transition:none; }
}

/* Store badges */
.store-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: #0B1B3D; color: #fff;
  padding: 10px 20px; border-radius: 14px;
  transition: transform 220ms ease, box-shadow 220ms ease;
  min-width: 180px;
}
.store-badge:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(11,27,61,0.28); }
.store-badge .sb-icon { flex-shrink: 0; }
.store-badge .sb-top { font-size: 10px; opacity: 0.8; line-height: 1.1; letter-spacing: 0.06em; }
.store-badge .sb-bottom { font-family: 'Outfit', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.1; margin-top: 2px; }

/* Traveler page — high-visibility app download CTA */
.traveler-download-cta { position:relative; overflow:hidden; background:radial-gradient(520px 240px at 100% 0,rgba(255,255,255,.2),transparent 70%),linear-gradient(135deg,#1673DF 0%,#2584EE 58%,#1268D2 100%); box-shadow:0 28px 70px rgba(30,124,232,.2); }
.traveler-download-cta::before { content:""; position:absolute; width:260px; height:260px; left:-110px; bottom:-165px; border:1px solid rgba(255,255,255,.2); border-radius:50%; box-shadow:0 0 0 38px rgba(255,255,255,.05); }
.traveler-download-cta>* { position:relative; z-index:1; }
.traveler-download-actions { min-width:430px; padding:1.25rem; border:1px solid rgba(255,255,255,.22); border-radius:24px; background:rgba(5,28,68,.2); box-shadow:0 18px 38px rgba(4,28,68,.15); backdrop-filter:blur(12px); }
.traveler-download-label { display:flex; align-items:center; gap:.5rem; margin:0 0 .8rem; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.traveler-download-label span { width:8px; height:8px; border-radius:50%; background:#5CF2A1; box-shadow:0 0 0 5px rgba(92,242,161,.14); }
.traveler-download-buttons { display:flex; gap:.75rem; }
.traveler-store-badge { min-width:188px; min-height:66px; padding:11px 17px; border:1px solid rgba(255,255,255,.16); border-radius:16px; background:#071A3D; box-shadow:0 12px 28px rgba(3,18,44,.22); }
.traveler-store-badge:hover { background:#061531; box-shadow:0 20px 42px rgba(3,18,44,.32); }
.traveler-download-note { margin:.75rem 0 0; color:rgba(255,255,255,.76); font-size:.68rem; }
@media (max-width:1100px) { .traveler-download-actions { min-width:0; width:100%; } }
@media (max-width:640px) { .traveler-download-actions { padding:1rem; }.traveler-download-buttons { flex-direction:column; }.traveler-store-badge { width:100%; justify-content:center; }.traveler-download-note { text-align:center; } }

/* Premium shared footer */
.site-footer { position:relative; overflow:hidden; padding:1.5rem 0 .75rem; color:#CBD5E1; background:linear-gradient(155deg,#061126 0%,#091A36 52%,#071429 100%); border-radius:28px 28px 0 0; }
.site-footer::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,#000,transparent 68%); }
.site-footer-glow { position:absolute; border-radius:999px; filter:blur(12px); pointer-events:none; }
.site-footer-glow-blue { width:480px; height:480px; left:-220px; top:-240px; background:radial-gradient(circle,rgba(30,124,232,.3),transparent 70%); }
.site-footer-glow-red { width:420px; height:420px; right:-220px; top:40px; background:radial-gradient(circle,rgba(229,36,38,.17),transparent 70%); }
.footer-feature-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr); gap:3.5rem; align-items:stretch; padding-bottom:1.05rem; }
.footer-brand-panel { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
.footer-logo { display:inline-flex; align-items:center; padding:.35rem .58rem; border-radius:11px; background:#fff; box-shadow:0 14px 35px rgba(0,0,0,.22); }
.footer-logo img { width:auto; height:24px; }
.footer-kicker { display:flex; align-items:center; gap:.55rem; margin-top:.55rem; color:#7CB8FF; text-transform:uppercase; letter-spacing:.15em; font-size:.55rem; font-weight:800; }
.footer-kicker span { width:24px; height:1px; background:#57A5FF; }
.footer-brand-panel h2 { max-width:650px; margin-top:.35rem; color:#fff; font-size:clamp(1.55rem,2.2vw,2rem); line-height:1.05; font-weight:600; letter-spacing:-.035em; }
.footer-brand-copy { max-width:610px; margin-top:.35rem; color:#94A3B8; font-size:.74rem; line-height:1.45; }
.footer-store-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.65rem; }
.footer-store-link { position:relative; min-width:190px; display:grid; gap:.02rem; padding:.45rem 2.2rem .45rem .7rem; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.055); color:#fff; transition:transform 220ms ease,background 220ms ease,border-color 220ms ease; }
.footer-store-link:hover { transform:translateY(-3px); background:rgba(255,255,255,.1); border-color:rgba(87,165,255,.48); }
.footer-store-link span { color:#94A3B8; font-size:.62rem; }
.footer-store-link strong { font-family:'Outfit',sans-serif; font-size:.76rem; font-weight:600; }
.footer-store-link b { position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:#7CB8FF; font-size:1.2rem; }
.footer-journey-panel { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:.95rem; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:rgba(255,255,255,.035); }
.footer-journey-panel .footer-column-title { margin:0 0 .35rem .2rem; }
.footer-journey-panel>a { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:.65rem; padding:.55rem .25rem; border-bottom:1px solid rgba(255,255,255,.07); transition:transform 180ms ease,background 180ms ease; }
.footer-journey-panel>a:last-child { border-bottom:0; }
.footer-journey-panel>a:hover { transform:translateX(3px); }
.footer-journey-icon { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:10px; font-size:.83rem; }
.footer-journey-blue { color:#60A5FA; background:rgba(59,130,246,.13); }
.footer-journey-violet { color:#C4B5FD; background:rgba(139,92,246,.13); }
.footer-journey-coral { color:#FDBA74; background:rgba(249,115,22,.13); }
.footer-journey-panel strong,.footer-journey-panel small { display:block; }
.footer-journey-panel strong { color:#E2E8F0; font-family:'Outfit',sans-serif; font-size:.75rem; font-weight:600; }
.footer-journey-panel small { margin-top:.08rem; color:#64748B; font-size:.57rem; line-height:1.25; }
.footer-journey-panel b { color:#57A5FF; font-size:.88rem; }
.footer-updates-card { position:relative; overflow:hidden; display:flex; min-height:160px; flex-direction:column; justify-content:center; align-self:stretch; padding:1.2rem; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.045)); box-shadow:0 18px 45px rgba(0,0,0,.17); backdrop-filter:blur(16px); }
.footer-updates-card::after { content:""; position:absolute; width:180px; height:180px; right:-90px; top:-90px; border-radius:999px; background:rgba(87,165,255,.1); }
.footer-updates-icon { position:absolute; right:1rem; top:1rem; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:linear-gradient(135deg,#1E7CE8,#57A5FF); color:#fff; font-size:.85rem; box-shadow:0 10px 22px rgba(30,124,232,.3); }
.footer-card-label { margin-top:0; color:#7CB8FF; text-transform:uppercase; letter-spacing:.13em; font-size:.55rem; font-weight:800; }
.footer-updates-card h3 { max-width:300px; margin-top:.25rem; color:#fff; font-size:1.1rem; line-height:1.12; font-weight:600; }
.footer-updates-card>p:not(.footer-card-label) { display:block; max-width:320px; margin-top:.45rem; color:#94A3B8; font-size:.7rem; line-height:1.5; }
.footer-form { display:grid; grid-template-columns:1fr auto; gap:.4rem; margin-top:.55rem; }
.footer-form input { min-width:0; padding:.7rem .85rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(3,11,26,.48); color:#fff; font-size:.76rem; outline:none; }
.footer-form input:focus { border-color:#57A5FF; box-shadow:0 0 0 3px rgba(87,165,255,.14); }
.footer-form button { display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; border-radius:999px; background:#fff; color:#0B1B3D; font-size:.72rem; font-weight:800; transition:transform 200ms ease,background 200ms ease; }
.footer-form button:hover { transform:translateY(-2px); background:#E7F1FF; }
.footer-updates-card small { display:none; }
.footer-links-grid { display:grid; grid-template-columns:minmax(300px,1.65fr) repeat(3,minmax(120px,1fr)) minmax(90px,.7fr); align-items:start; gap:2rem; padding:1.05rem 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.footer-column-title { margin-bottom:.55rem; color:#64748B; text-transform:uppercase; letter-spacing:.14em; font-size:.56rem; font-weight:800; }
.footer-links-grid ul { display:grid; gap:.32rem; }
.footer-links-grid li a { color:#CBD5E1; font-size:.74rem; transition:color 180ms ease,transform 180ms ease; }
.footer-links-grid li a:hover { color:#fff; }
.footer-new { margin-left:.3rem; padding:.16rem .4rem; border-radius:999px; background:rgba(245,158,11,.16); color:#FBBF24; text-transform:uppercase; letter-spacing:.06em; font-size:.5rem; font-weight:800; }
.footer-contact-block { max-width:330px; }
.footer-email-link { display:flex; width:max-content; gap:.5rem; align-items:center; color:#fff; font-family:'Outfit',sans-serif; font-size:.9rem; font-weight:600; }
.footer-email-link span { color:#57A5FF; }
.footer-contact-block>p:not(.footer-column-title) { display:none; }
.footer-whatsapp { display:flex; width:max-content; align-items:center; gap:.5rem; margin-top:.5rem; color:#86EFAC; font-size:.68rem; font-weight:700; }
.footer-whatsapp i { width:8px; height:8px; border-radius:999px; background:#22C55E; box-shadow:0 0 0 5px rgba(34,197,94,.12); }
.footer-bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; padding-top:.8rem; color:#64748B; font-size:.62rem; }
.footer-availability { display:flex; align-items:center; gap:.55rem; }
.footer-availability i { width:7px; height:7px; border-radius:999px; background:#22C55E; box-shadow:0 0 0 4px rgba(34,197,94,.1); }
.footer-top-link { justify-self:end; color:#94A3B8; transition:color 180ms ease; }
.footer-top-link:hover { color:#fff; }
@media (max-width:1023px) {
  .footer-feature-grid { grid-template-columns:1fr; gap:1.5rem; }
  .footer-journey-panel { display:none; }
  .footer-links-grid { grid-template-columns:repeat(2,1fr); }
  .footer-contact-block { grid-column:1/-1; }
}
@media (max-width:640px) {
  .site-footer { margin-top:3rem; padding-top:1.25rem; border-radius:24px 24px 0 0; }
  .footer-feature-grid { padding-bottom:1rem; gap:.9rem; }
  .footer-brand-panel h2 { font-size:1.7rem; }
  .footer-store-row { width:100%; flex-direction:row; }
  .footer-store-link { flex:1; width:auto; min-width:0; padding:.45rem 1.7rem .45rem .55rem; }
  .footer-store-link strong { font-size:.67rem; }
  .footer-updates-card { min-height:0; padding:1rem; }
  .footer-form { grid-template-columns:1fr; }
  .footer-form button { justify-content:center; }
  .footer-links-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1rem 0; }
  .footer-contact-block { grid-column:1/-1; }
  .footer-bottom { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .footer-top-link { justify-self:center; }
}

/* Shared light footer */
.site-footer { color:#475569; background:linear-gradient(180deg,#FFFFFF 0%,#F3F7FD 100%); border:1px solid #DCE6F2; border-bottom:0; box-shadow:0 -22px 70px rgba(30,124,232,.07); }
.site-footer::before { opacity:.35; background-image:linear-gradient(rgba(30,124,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(30,124,232,.045) 1px,transparent 1px); }
.site-footer-glow-blue { background:radial-gradient(circle,rgba(30,124,232,.12),transparent 70%); }
.site-footer-glow-red { background:radial-gradient(circle,rgba(229,36,38,.07),transparent 70%); }
.footer-logo { border:1px solid #E1E9F3; background:#fff; box-shadow:0 12px 28px rgba(15,23,42,.08); }
.footer-kicker { color:#1E7CE8; }
.footer-kicker span { background:#1E7CE8; }
.footer-brand-panel h2 { color:#0B1B3D; }
.footer-brand-copy { color:#64748B; }
.footer-store-link { grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:.65rem; min-width:215px; padding:.55rem .75rem; border-color:#D8E3F0; background:#fff; color:#0B1B3D; box-shadow:0 8px 24px rgba(15,23,42,.055); }
.footer-store-link:hover { background:#F7FAFF; border-color:#7CB8FF; box-shadow:0 12px 30px rgba(30,124,232,.1); }
.footer-store-icon { width:24px; height:24px; display:block; }
.footer-apple-icon { color:#0B1B3D; }
.footer-store-copy { display:block; min-width:0; }
.footer-store-copy small,.footer-store-copy strong { display:block; }
.footer-store-copy small { color:#64748B; font-size:.55rem; line-height:1; }
.footer-store-copy strong { margin-top:.18rem; color:#0B1B3D; font-size:.78rem; line-height:1; white-space:nowrap; }
.footer-store-link b { color:#1E7CE8; }
.footer-updates-card { border-color:#D5E2F1; background:linear-gradient(145deg,#FFFFFF,#EAF3FF); box-shadow:0 16px 42px rgba(30,124,232,.1); }
.footer-updates-card::after { background:rgba(30,124,232,.07); }
.footer-card-label { color:#1E7CE8; }
.footer-updates-card h3 { color:#0B1B3D; }
.footer-updates-card>p:not(.footer-card-label) { color:#64748B; }
.footer-form input { border-color:#D8E3F0; background:#fff; color:#0B1B3D; }
.footer-form input::placeholder { color:#94A3B8; }
.footer-form button { background:#1E7CE8; color:#fff; box-shadow:0 8px 20px rgba(30,124,232,.18); }
.footer-form button:hover { background:#1668CC; }
.footer-links-grid { border-color:#DCE6F2; }
.footer-column-title { color:#71839B; }
.footer-links-grid li a { color:#475569; }
.footer-links-grid li a:hover { color:#1E7CE8; }
.footer-new { background:#FEF3C7; color:#B45309; }
.footer-email-link { color:#0B1B3D; }
.footer-email-link span { color:#1E7CE8; }
.footer-whatsapp { color:#15803D; }
.footer-bottom { color:#71839B; }
.footer-top-link { color:#64748B; }
.footer-top-link:hover { color:#1E7CE8; }
@media (max-width:640px) {
  .footer-store-link { grid-template-columns:22px minmax(0,1fr); gap:.5rem; padding:.5rem; }
  .footer-store-icon { width:21px; height:21px; }
  .footer-store-link b { display:none; }
  .footer-store-copy strong { font-size:.65rem; }
}

/* Shared footer v2 */
.site-footer-v2 {
  padding:1.5rem 0 .8rem;
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  color:#475569;
  border:1px solid #DCE6F2;
  border-bottom:0;
  border-radius:34px 34px 0 0;
  background:
    radial-gradient(circle at 12% 12%,rgba(30,124,232,.08),transparent 28%),
    radial-gradient(circle at 92% 34%,rgba(229,36,38,.055),transparent 24%),
    linear-gradient(180deg,#FFFFFF 0%,#F5F8FC 100%);
  box-shadow:0 -24px 80px rgba(30,124,232,.08);
}
.site-footer-v2::before {
  opacity:.55;
  background-image:
    linear-gradient(rgba(30,124,232,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(30,124,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
.footer-v2-glow { position:absolute; z-index:0; border-radius:999px; pointer-events:none; filter:blur(20px); }
.footer-v2-glow-blue { top:-120px; left:-150px; width:420px; height:420px; background:rgba(30,124,232,.08); }
.footer-v2-glow-red { right:-160px; bottom:-180px; width:400px; height:400px; background:rgba(229,36,38,.055); }
.footer-v2-command {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(520px,.95fr);
  gap:2.5rem;
  align-items:center;
  margin-top:0;
  padding:2rem 2.25rem;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 78% 0,rgba(87,165,255,.24),transparent 32%),
    radial-gradient(circle at 100% 100%,rgba(229,36,38,.15),transparent 30%),
    linear-gradient(135deg,#07172F 0%,#0A2041 56%,#0B1732 100%);
  box-shadow:0 24px 60px rgba(11,27,61,.18);
}
.footer-v2-command::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(90deg,#000,transparent 72%);
}
.footer-v2-command-copy,.footer-v2-paths { position:relative; z-index:1; }
.footer-v2-eyebrow { display:flex; align-items:center; gap:.55rem; color:#87C0FF; text-transform:uppercase; letter-spacing:.16em; font-size:.58rem; font-weight:800; }
.footer-v2-eyebrow span { width:28px; height:1px; background:#57A5FF; }
.footer-v2-command h2 { max-width:600px; margin-top:.55rem; color:#fff; font-size:clamp(1.75rem,2.5vw,2.45rem); line-height:1.04; font-weight:600; letter-spacing:-.035em; }
.footer-v2-command-copy>p:last-child { max-width:600px; margin-top:.6rem; color:#AFC0D8; font-size:.84rem; line-height:1.65; }
.footer-v2-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.footer-v2-path {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:.7rem;
  min-height:88px;
  padding:.85rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  transition:transform 200ms ease,background 200ms ease,border-color 200ms ease;
}
.footer-v2-path:hover { transform:translateY(-3px); border-color:rgba(124,184,255,.42); background:rgba(255,255,255,.11); }
.footer-v2-path-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; font-size:.82rem; font-weight:800; }
.footer-v2-path-blue { color:#BFDBFE; background:rgba(59,130,246,.22); }
.footer-v2-path-red { color:#FECACA; background:rgba(229,36,38,.2); }
.footer-v2-path small,.footer-v2-path strong { display:block; }
.footer-v2-path small { color:#7F96B5; text-transform:uppercase; letter-spacing:.08em; font-size:.48rem; font-weight:800; }
.footer-v2-path strong { margin-top:.22rem; color:#F8FAFC; font-family:'Outfit',sans-serif; font-size:.82rem; line-height:1.25; font-weight:600; }
.footer-v2-path b { color:#7CB8FF; font-size:1rem; }
.footer-v2-main {
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);
  gap:4rem;
  align-items:start;
  padding:1.65rem .35rem 1.45rem;
  border-bottom:1px solid #DCE6F2;
}
.footer-v2-brand { max-width:360px; }
.footer-v2-logo { display:inline-flex; align-items:center; padding:.42rem .65rem; border:1px solid #DCE6F2; border-radius:12px; background:#fff; box-shadow:0 10px 25px rgba(15,23,42,.06); }
.footer-v2-logo img { width:auto; height:27px; }
.footer-v2-brand>p { max-width:340px; margin-top:.8rem; color:#64748B; font-size:.76rem; line-height:1.65; }
.footer-v2-contact { display:flex; flex-wrap:wrap; gap:.55rem 1rem; align-items:center; margin-top:.85rem; }
.footer-v2-contact>a:first-child { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:600; }
.footer-v2-contact>a:first-child span { color:#1E7CE8; }
.footer-v2-whatsapp { display:inline-flex; align-items:center; gap:.45rem; color:#15803D; font-size:.7rem; font-weight:700; }
.footer-v2-whatsapp i,.footer-v2-status i { width:7px; height:7px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 4px rgba(34,197,94,.11); }
.footer-v2-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.4rem; }
.footer-v2-title { margin-bottom:.65rem; color:#71839B; text-transform:uppercase; letter-spacing:.13em; font-size:.57rem; font-weight:700; }
.footer-v2-nav ul { display:grid; gap:.42rem; }
.footer-v2-nav a { color:#475569; font-size:.76rem; line-height:1.45; transition:color 180ms ease,transform 180ms ease; }
.footer-v2-nav a:hover { color:#1E7CE8; }
.footer-v2-utility {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(440px,.8fr);
  gap:1rem;
  align-items:stretch;
  padding:1rem .35rem;
  border-bottom:1px solid #DCE6F2;
}
.footer-v2-newsletter,.footer-v2-download {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:86px;
  padding:.85rem 1rem;
  border:1px solid #D9E4F1;
  border-radius:17px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.footer-v2-newsletter h3 { color:#0B1B3D; font-size:.92rem; line-height:1.1; font-weight:600; }
.footer-v2-newsletter>div>p:last-child { margin-top:.25rem; color:#71839B; font-size:.66rem; }
.footer-v2-form { display:grid; grid-template-columns:minmax(150px,1fr) auto; gap:.4rem; min-width:360px; }
.footer-v2-form input { min-width:0; padding:.65rem .8rem; border:1px solid #D8E3F0; border-radius:999px; background:#F8FAFC; color:#0B1B3D; font-family:inherit; font-size:.72rem; outline:none; }
.footer-v2-form input:focus { border-color:#57A5FF; box-shadow:0 0 0 3px rgba(87,165,255,.13); }
.footer-v2-form button { display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.65rem .85rem; border-radius:999px; background:#1E7CE8; color:#fff; font-family:inherit; font-size:.72rem; font-weight:700; box-shadow:0 8px 20px rgba(30,124,232,.16); transition:transform 180ms ease,background 180ms ease; }
.footer-v2-form button:hover { transform:translateY(-2px); background:#1668CC; }
.footer-v2-download { justify-content:space-between; background:linear-gradient(135deg,#EFF6FF,#FFFFFF); }
.footer-v2-download-copy { display:flex; align-items:center; gap:.65rem; }
.footer-v2-download-copy>span { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:#DDEEFF; color:#1E7CE8; font-size:.9rem; font-weight:800; }
.footer-v2-download-copy small,.footer-v2-download-copy strong { display:block; }
.footer-v2-download-copy small { color:#71839B; text-transform:uppercase; letter-spacing:.09em; font-size:.47rem; font-weight:800; }
.footer-v2-download-copy strong { margin-top:.16rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.72rem; font-weight:600; white-space:nowrap; }
.footer-v2-store-row { display:flex; gap:.4rem; }
.footer-v2-store { display:grid; grid-template-columns:22px auto; align-items:center; gap:.45rem; min-width:122px; padding:.52rem .6rem; border-radius:11px; background:#0B1B3D; color:#fff; transition:transform 180ms ease,box-shadow 180ms ease; }
.footer-v2-store:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(11,27,61,.18); }
.footer-v2-store-icon { width:22px; height:22px; }
.footer-v2-store small,.footer-v2-store strong { display:block; }
.footer-v2-store small { color:#AFC0D8; font-size:.43rem; line-height:1; }
.footer-v2-store strong { margin-top:.18rem; color:#fff; font-family:'Outfit',sans-serif; font-size:.62rem; line-height:1; white-space:nowrap; font-weight:600; }
.footer-v2-bottom { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.25rem; padding:.75rem .35rem 0; color:#71839B; font-size:.64rem; }
.footer-v2-bottom>div { display:flex; align-items:center; gap:1.6rem; }
.footer-v2-status { display:flex; align-items:center; gap:.5rem; }
.footer-v2-bottom a { color:#64748B; transition:color 180ms ease; }
.footer-v2-bottom a:hover { color:#1E7CE8; }
.footer-v2-credit { display:inline-flex; align-items:center; justify-content:center; gap:.25rem; padding:.35rem .6rem; border-radius:999px; white-space:nowrap; }
.footer-v2-credit strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-weight:600; }
.footer-v2-credit span { color:#1E7CE8; }
.footer-v2-bottom>div:last-child { justify-self:end; }
@media (max-width:1100px) {
  .footer-v2-command { grid-template-columns:1fr; gap:1.25rem; }
  .footer-v2-main { grid-template-columns:1fr; gap:1.5rem; }
  .footer-v2-brand { max-width:680px; }
  .footer-v2-utility { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .site-footer-v2 { margin-top:3rem; padding-top:1rem; border-radius:26px 26px 0 0; }
  .site-footer-v2>.max-w-7xl { padding-inline:1rem; }
  .footer-v2-command { padding:1.35rem; border-radius:23px; }
  .footer-v2-command h2 { font-size:1.8rem; }
  .footer-v2-paths { grid-template-columns:1fr; }
  .footer-v2-path { min-height:74px; }
  .footer-v2-main { padding:1.3rem .15rem; }
  .footer-v2-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem 1rem; }
  .footer-v2-utility { padding-inline:.15rem; }
  .footer-v2-newsletter,.footer-v2-download { align-items:stretch; flex-direction:column; }
  .footer-v2-form { min-width:0; width:100%; grid-template-columns:1fr; }
  .footer-v2-download { gap:.8rem; }
  .footer-v2-store-row { width:100%; }
  .footer-v2-store { flex:1; min-width:0; }
  .footer-v2-bottom { grid-template-columns:1fr; justify-items:center; text-align:center; padding-inline:.15rem; }
  .footer-v2-bottom>div { width:100%; justify-content:space-between; gap:1rem; }
  .footer-v2-bottom>div:last-child { justify-self:stretch; }
}
@media (max-width:420px) {
  .footer-v2-command { padding:1.15rem; }
  .footer-v2-command-copy>p:last-child { font-size:.72rem; }
  .footer-v2-nav { grid-template-columns:1fr 1fr; }
  .footer-v2-store { padding:.48rem; }
  .footer-v2-store strong { font-size:.56rem; }
}

/* Homepage — connected journey system */
.home-main { padding-top:0; }
.home-hero { min-height:100svh; padding-top:108px; }
.home-hero::after { content:""; position:absolute; left:50%; bottom:-190px; width:760px; height:420px; border-radius:50%; background:rgba(255,255,255,.46); filter:blur(50px); transform:translateX(-50%); pointer-events:none; }
.home-hero-grid { min-height:calc(100svh - 108px); padding-top:3.5rem; padding-bottom:6rem; }
.home-hero-grid>div { position:relative; z-index:2; }
.home-hero-audience { display:inline-flex; align-items:center; gap:.55rem; padding:.42rem .7rem; border:1px solid rgba(30,124,232,.14); border-radius:999px; background:rgba(255,255,255,.68); box-shadow:0 8px 24px rgba(15,23,42,.05); color:#52627B; text-transform:uppercase; letter-spacing:.1em; font-size:.52rem; font-weight:800; backdrop-filter:blur(10px); }
.home-hero-audience i { width:4px; height:4px; border-radius:50%; background:#E52426; }
.home-hero h1 { max-width:760px; font-size:clamp(3.9rem,5.4vw,5.65rem); }
.home-hero h1>span { color:#1E7CE8; text-shadow:0 12px 34px rgba(30,124,232,.14); }
.home-hero-actions .store-badge { min-height:68px; border-radius:17px; }
.home-hero-actions .btn { min-height:68px; padding-inline:1.45rem; border-radius:17px; }
.home-hero-visual { min-width:0; }
.home-hero-device-stage { isolation:isolate; width:100%; max-width:620px; height:660px; }
.home-hero-device-stage .home-phone { position:absolute; left:50%; top:54px; width:250px; height:540px; transform-origin:50% 85%; transition:transform 300ms ease,opacity 300ms ease; }
.home-hero-device-stage .home-phone-back { z-index:1; opacity:.78; transform:translateX(-78%) rotate(-7deg) scale(.9); }
.home-hero-device-stage .home-phone-middle { z-index:2; opacity:.88; transform:translateX(-22%) rotate(6deg) scale(.92); }
.home-hero-device-stage .home-phone-front { z-index:3; top:38px; transform:translateX(-50%); }
.home-device-backdrop { position:absolute; width:510px; height:510px; border:1px solid rgba(30,124,232,.13); border-radius:50%; background:radial-gradient(circle at 45% 38%,rgba(255,255,255,.9),rgba(219,235,255,.34) 55%,transparent 70%); box-shadow:0 0 0 55px rgba(255,255,255,.18),0 0 0 110px rgba(30,124,232,.025); }
.home-journey-pulse { position:absolute; z-index:6; left:0; bottom:45px; min-width:210px; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.76); border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 18px 44px rgba(15,23,42,.14); backdrop-filter:blur(14px); }
.home-journey-pulse small,.home-journey-pulse strong { display:block; }.home-journey-pulse small { color:#94A3B8; text-transform:uppercase; letter-spacing:.09em; font-size:.46rem; }.home-journey-pulse strong { margin-top:.12rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.72rem; }
.home-journey-pulse>span { display:flex; align-items:center; gap:.35rem; padding:.35rem .5rem; border-radius:999px; color:#15803D; background:#DCFCE7; font-size:.5rem; font-weight:800; }.home-journey-pulse i { width:6px; height:6px; border-radius:50%; background:#22C55E; }
.home-hero-route { position:absolute; z-index:1; left:42%; top:23%; width:240px; height:170px; border-top:1px dashed rgba(30,124,232,.25); border-radius:50%; transform:rotate(-10deg); pointer-events:none; }
.home-hero-route i { position:absolute; left:0; top:-4px; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#E52426; box-shadow:0 0 0 5px rgba(229,36,38,.1); }
.home-hero-route b { position:absolute; right:0; top:-16px; display:grid; width:32px; height:32px; place-items:center; border-radius:11px; color:#1E7CE8; background:#fff; box-shadow:0 10px 26px rgba(15,23,42,.12); font-size:.72rem; transform:rotate(10deg); }
.home-hero-proof { display:flex; flex-wrap:wrap; gap:.55rem; max-width:620px; }
.home-hero-proof span { display:inline-flex; align-items:center; gap:.45rem; padding:.55rem .75rem; border:1px solid rgba(30,124,232,.14); border-radius:999px; background:rgba(255,255,255,.72); color:#475569; box-shadow:0 8px 24px rgba(15,23,42,.05); font-size:.72rem; font-weight:700; backdrop-filter:blur(12px); }
.home-hero-proof b { display:grid; width:20px; height:20px; place-items:center; border-radius:7px; background:#E8F2FF; color:#1E7CE8; font-size:.68rem; }
.home-capability-rail { border-block:1px solid #E7EDF5; background:rgba(255,255,255,.94); }
.home-capability-dock { position:relative; z-index:8; width:min(calc(100% - 3rem),1280px); margin:-40px auto 0; border:1px solid #DDE6F1; border-radius:24px; box-shadow:0 22px 58px rgba(15,23,42,.1); overflow:hidden; backdrop-filter:blur(16px); }
.home-capability-dock>div { max-width:none; padding-inline:0; }
.home-capability-rail .grid>div { display:flex; align-items:center; gap:.65rem; min-height:94px; padding:1rem; border-right:1px solid #EDF1F7; }
.home-capability-rail .grid>div:last-child { border-right:0; }
.home-capability-rail p { color:#334155; font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:600; }
.home-rail-icon,.home-flow-icon { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border-radius:12px; font-weight:800; }
.rail-blue,.flow-blue { color:#1E7CE8; background:#E8F2FF; }
.rail-pink,.flow-pink { color:#DB2777; background:#FCE7F3; }
.rail-green,.flow-green { color:#059669; background:#D1FAE5; }
.rail-amber { color:#D97706; background:#FEF3C7; }
.rail-violet,.flow-violet { color:#7C3AED; background:#EDE9FE; }
.rail-cyan { color:#0891B2; background:#CFFAFE; }
.home-promise-card { display:flex; gap:1rem; min-height:176px; padding:1.45rem; border:1px solid rgba(148,163,184,.16); border-radius:24px; background:#fff; box-shadow:0 18px 50px rgba(15,23,42,.055); transition:transform 220ms ease,box-shadow 220ms ease; }
.home-promise-card:hover { transform:translateY(-4px); box-shadow:0 24px 58px rgba(15,23,42,.09); }
.home-promise-card>span { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border-radius:12px; font-family:'JetBrains Mono',monospace; font-size:.65rem; font-weight:700; }
.home-promise-card h3 { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.12rem; font-weight:600; }
.home-promise-card p { margin-top:.45rem; color:#64748B; font-size:.82rem; line-height:1.65; }
.promise-blue>span { color:#1E7CE8; background:#E8F2FF; }.promise-green>span { color:#059669; background:#D1FAE5; }.promise-violet>span { color:#7C3AED; background:#EDE9FE; }.promise-amber>span { color:#D97706; background:#FEF3C7; }
.home-flow { position:relative; }
.home-flow::before { content:""; position:absolute; top:31px; left:9%; right:9%; border-top:1px dashed #BFDBFE; }
.home-flow-card { position:relative; min-height:270px; padding:1.5rem; border:1px solid #E6ECF4; border-radius:26px; background:linear-gradient(180deg,#fff,#FBFDFF); box-shadow:0 14px 40px rgba(15,23,42,.045); }
.home-flow-card small { display:block; margin-top:1.5rem; color:#8AA0BC; text-transform:uppercase; letter-spacing:.13em; font-size:.58rem; font-weight:800; }
.home-flow-card h3 { margin-top:.65rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.25rem; font-weight:600; }
.home-flow-card p { margin-top:.65rem; color:#64748B; font-size:.83rem; line-height:1.65; }
.home-moments-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.home-moment { position:relative; overflow:hidden; min-height:300px; padding:1.7rem; border-radius:28px; display:grid; grid-template-rows:auto minmax(64px,1fr) auto; gap:1rem; align-items:start; }
.home-moment::after { content:""; position:absolute; width:190px; height:190px; right:-65px; top:-80px; border-radius:999px; background:rgba(255,255,255,.35); }
.home-moment>span { position:relative; z-index:1; align-self:start; justify-self:start; padding:.45rem .7rem; border:1px solid rgba(255,255,255,.65); border-radius:999px; background:rgba(255,255,255,.52); color:#0B1B3D; font-size:.68rem; font-weight:800; backdrop-filter:blur(8px); }
.home-moment-preview { position:relative; z-index:1; inset:auto; display:flex; align-self:center; width:100%; align-items:center; gap:.65rem; }
.home-moment-preview small { margin:0; letter-spacing:0; text-transform:none; }
.flight-preview { max-width:360px; padding:.75rem .9rem; border:1px solid rgba(30,124,232,.12); border-radius:15px; background:rgba(255,255,255,.45); }
.flight-preview b { font-size:.88rem; }.flight-preview i { color:#1E7CE8; font-style:normal; }.flight-preview small { margin-left:auto; color:#64748B; font-size:.58rem; }
.currency-preview { display:grid; grid-template-columns:1fr auto; padding:.7rem .85rem; border-radius:15px; background:rgba(255,255,255,.42); }
.currency-preview small { grid-column:1/-1; color:#047857; font-size:.56rem; }.currency-preview b { font-size:1rem; }.currency-preview i { color:#059669; font-style:normal; font-weight:800; }
.group-preview i { display:grid; width:32px; height:32px; place-items:center; margin-left:-.35rem; border:2px solid #F5F3FF; border-radius:999px; background:#fff; color:#6D28D9; font-size:.58rem; font-style:normal; font-weight:800; }.group-preview i:first-child { margin-left:0; }.group-preview small { margin-left:.4rem; color:#6D28D9; font-size:.58rem; }
.advisory-preview { max-width:370px; padding:.7rem .85rem; border-radius:15px; background:rgba(255,255,255,.42); }.advisory-preview>i { display:grid; width:30px; height:30px; place-items:center; border-radius:10px; background:#fff; color:#EA580C; font-style:normal; font-weight:900; }.advisory-preview span { padding:0; border:0; background:none; backdrop-filter:none; }.advisory-preview small,.advisory-preview b { display:block; }.advisory-preview small { color:#9A3412; font-size:.54rem; }.advisory-preview b { margin-top:.1rem; font-size:.7rem; }
.home-moment > div:last-child { position:relative; z-index:1; }
.home-moment small { display:block; margin-bottom:.5rem; text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; font-weight:800; opacity:.65; }
.home-moment h3 { max-width:440px; font-family:'Outfit',sans-serif; font-size:1.35rem; line-height:1.25; font-weight:600; }
.moment-flight { grid-column:span 7; color:#0B1B3D; background:linear-gradient(135deg,#DCEEFF,#F2F7FF); }.moment-currency { grid-column:span 5; color:#064E3B; background:linear-gradient(135deg,#D1FAE5,#ECFDF5); }.moment-group { grid-column:span 5; color:#4C1D95; background:linear-gradient(135deg,#EDE9FE,#F5F3FF); }.moment-advisory { grid-column:span 7; color:#7C2D12; background:linear-gradient(135deg,#FFEDD5,#FFF7ED); }
.home-faq { border-top:1px solid #DDE6F1; }
.home-faq details { border-bottom:1px solid #DDE6F1; }
.home-faq summary { position:relative; padding:1.4rem 3rem 1.4rem 0; color:#0B1B3D; cursor:pointer; list-style:none; font-family:'Outfit',sans-serif; font-size:1.15rem; font-weight:600; }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq summary::after { content:"+"; position:absolute; right:.25rem; top:1.2rem; display:grid; width:30px; height:30px; place-items:center; border-radius:10px; background:#E8F2FF; color:#1E7CE8; }
.home-faq details[open] summary::after { content:"−"; }
.home-faq p { max-width:720px; padding:0 3rem 1.5rem 0; color:#64748B; font-size:.9rem; line-height:1.75; }
.home-page .site-footer { margin-top:0 !important; }
.home-download-assurance { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; padding-top:1.15rem; border-top:1px solid rgba(255,255,255,.12); }
.home-download-assurance span { display:flex; align-items:center; gap:.65rem; color:#CBD5E1; font-size:.72rem; font-weight:600; }
.home-download-assurance b { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:rgba(87,165,255,.13); color:#7CB8FF; font-family:'JetBrains Mono',monospace; font-size:.55rem; }

/* Homepage — testimonials */
.home-testimonials { position:relative; overflow:hidden; border-block:1px solid #E4EAF2; background:radial-gradient(600px 300px at 50% 0,rgba(96,165,250,.12),transparent 72%),#F8FAFD; }
.home-testimonial-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:end; }
.home-testimonial-heading h2 { max-width:720px; margin-top:.85rem; color:#0B1B3D; font-size:clamp(2.6rem,4.5vw,4.2rem); line-height:1; letter-spacing:-.045em; font-weight:650; }
.home-testimonial-heading>p { max-width:520px; padding-bottom:.35rem; color:#64748B; line-height:1.75; }
.home-testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3.2rem; align-items:stretch; }
.home-testimonial-card { position:relative; display:flex; min-height:340px; flex-direction:column; padding:1.7rem; border:1px solid #DFE7F1; border-radius:26px; background:#fff; box-shadow:0 18px 48px rgba(15,23,42,.055); }
.home-testimonial-card::before { content:"“"; position:absolute; right:1.45rem; top:.75rem; color:#DDEBFA; font-family:'Outfit',sans-serif; font-size:4.8rem; line-height:1; font-weight:800; }
.home-testimonial-featured { color:#fff; border-color:#17345D; background:radial-gradient(380px 220px at 100% 100%,rgba(229,36,38,.2),transparent 70%),linear-gradient(145deg,#071429,#12305D); transform:translateY(-12px); box-shadow:0 28px 62px rgba(7,20,41,.18); }
.home-testimonial-featured::before { color:rgba(255,255,255,.08); }
.home-testimonial-stars { position:relative; z-index:1; color:#F59E0B; letter-spacing:.12em; font-size:.72rem; }
.home-testimonial-card .home-testimonial-copy { position:relative; z-index:1; margin-top:2rem; color:#263550; font-family:'Outfit',sans-serif; font-size:1.18rem; line-height:1.5; font-weight:550; }
.home-testimonial-featured blockquote { color:#fff; }
.home-testimonial-card footer { display:flex; align-items:center; gap:.75rem; margin-top:auto; padding-top:2rem; }
.home-testimonial-avatar { display:grid; width:43px; height:43px; flex:0 0 auto; place-items:center; border-radius:14px; font-size:.65rem; font-weight:800; }
.avatar-blue { color:#1E7CE8; background:#E8F2FF; }.avatar-red { color:#E52426; background:#FDEBEC; }.avatar-green { color:#059669; background:#D1FAE5; }
.home-testimonial-featured .home-testimonial-avatar { background:rgba(255,255,255,.13); color:#fff; }
.home-testimonial-card footer strong,.home-testimonial-card footer small { display:block; }
.home-testimonial-card footer strong { color:#0B1B3D; font-size:.75rem; }.home-testimonial-card footer small { margin-top:.15rem; color:#94A3B8; font-size:.58rem; }
.home-testimonial-featured footer strong { color:#fff; }.home-testimonial-featured footer small { color:#9FB1C9; }
.home-testimonial-proof { display:grid; grid-template-columns:repeat(3,1fr); margin-top:1rem; border:1px solid #DFE7F1; border-radius:18px; background:rgba(255,255,255,.78); }
.home-testimonial-proof span { display:flex; align-items:center; justify-content:center; gap:.6rem; min-height:70px; border-right:1px solid #E7ECF3; color:#53637B; font-size:.7rem; font-weight:700; }
.home-testimonial-proof span:last-child { border-right:0; }
.home-testimonial-proof b { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; background:#E8F2FF; color:#1E7CE8; font-size:.58rem; }

/* Homepage — agency operations highlight */
.home-agency-section { position:relative; overflow:hidden; border-block:1px solid #DFE8F4; background:radial-gradient(720px 420px at 10% 4%,rgba(96,165,250,.17),transparent 68%),radial-gradient(520px 340px at 96% 22%,rgba(229,36,38,.08),transparent 72%),linear-gradient(180deg,#F4F9FF,#EDF5FF 58%,#F8FBFF); }
.home-agency-section::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.3; background-image:linear-gradient(rgba(30,124,232,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(30,124,232,.055) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,black,transparent 58%); }
.home-agency-shell { position:relative; display:grid; grid-template-columns:.86fr 1.14fr; gap:4.2rem; align-items:center; }
.home-agency-copy h2 { max-width:590px; margin-top:1rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:clamp(2.7rem,4.5vw,4.3rem); line-height:.98; letter-spacing:-.045em; font-weight:650; }
.home-agency-copy>p { max-width:580px; margin-top:1.3rem; color:#53637B; font-size:.98rem; line-height:1.75; }
.home-agency-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
.home-agency-kicker span { color:#1E7CE8; text-transform:uppercase; letter-spacing:.16em; font-size:.65rem; font-weight:800; }
.home-agency-kicker span::before { content:""; display:inline-block; width:24px; margin-right:.55rem; border-top:1px solid #60A5FA; vertical-align:middle; }
.home-agency-kicker b { padding:.4rem .65rem; border:1px solid #CDE0F8; border-radius:999px; background:rgba(255,255,255,.76); color:#0B1B3D; font-size:.62rem; box-shadow:0 7px 20px rgba(15,23,42,.05); }
.home-agency-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.home-agency-proof { display:flex; flex-wrap:wrap; gap:.65rem 1rem; margin-top:1.6rem; padding-top:1.25rem; border-top:1px solid #D7E4F4; }
.home-agency-proof span { display:flex; align-items:center; gap:.45rem; color:#64748B; font-size:.66rem; font-weight:700; }
.home-agency-proof b { display:grid; width:25px; height:25px; place-items:center; border-radius:8px; background:#fff; color:#1E7CE8; font-family:'JetBrains Mono',monospace; font-size:.48rem; box-shadow:0 5px 15px rgba(15,23,42,.06); }
.home-agency-console-wrap { position:relative; padding:1.25rem 1.5rem 3.25rem 0; }
.home-agency-console-wrap::before { content:""; position:absolute; inset:0 0 1rem 2rem; border-radius:34px; background:linear-gradient(145deg,#0A1B38,#112F5B); box-shadow:0 30px 80px rgba(13,39,77,.24); transform:rotate(1.5deg); }
.home-agency-console { position:relative; z-index:1; }
.home-agency-console .agency-console-body { min-height:365px; }
.home-agency-live-map { margin-top:.75rem; padding:.75rem; border:1px solid #DDE6F1; border-radius:15px; background:#F8FBFF; }
.home-agency-map-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.home-agency-map-head small,.home-agency-map-head strong { display:block; }
.home-agency-map-head small { color:#1E7CE8; font-size:.44rem; letter-spacing:.08em; font-weight:800; }
.home-agency-map-head strong { margin-top:.12rem; color:#334155; font-size:.58rem; }
.home-agency-map-head>span { padding:.3rem .45rem; border-radius:999px; background:#DCFCE7; color:#15803D; font-size:.46rem; font-weight:800; white-space:nowrap; }
.home-agency-map-canvas { position:relative; overflow:hidden; height:74px; margin-top:.5rem; border-radius:11px; background:linear-gradient(130deg,#E3F0E7,#E9F2FB); }
.home-agency-map-canvas::before,.home-agency-map-canvas::after { content:""; position:absolute; width:150%; height:12px; left:-25%; border:3px solid rgba(255,255,255,.9); border-inline:0; border-radius:50%; transform:rotate(-12deg); }
.home-agency-map-canvas::before { top:22px; }.home-agency-map-canvas::after { top:51px; transform:rotate(9deg); }
.map-route { position:absolute; z-index:1; height:2px; background:#93C5FD; transform-origin:left center; }
.route-one { width:90px; left:25%; top:49%; transform:rotate(-10deg); }.route-two { width:74px; left:52%; top:43%; transform:rotate(14deg); }
.map-pin { position:absolute; z-index:2; display:grid; width:24px; height:24px; place-items:center; border:3px solid #fff; border-radius:50% 50% 50% 0; background:#1E7CE8; color:#fff; font-size:.42rem; transform:rotate(-45deg); box-shadow:0 5px 12px rgba(30,124,232,.25); }
.map-pin::first-letter { transform:rotate(45deg); }
.pin-one { left:29%; top:20%; }.pin-two { left:56%; top:32%; background:#7C3AED; }.pin-three { left:68%; top:12%; width:29px; height:29px; background:#E52426; }
.map-meeting { position:absolute; z-index:2; right:6%; bottom:8px; padding:.25rem .4rem; border-radius:7px; background:#fff; color:#334155; font-size:.42rem; font-weight:800; box-shadow:0 5px 12px rgba(15,23,42,.08); }
.home-agency-live-map>p { margin-top:.42rem; color:#94A3B8; font-size:.45rem; }
.home-agency-passenger-card { position:absolute; z-index:2; right:-.4rem; bottom:0; width:245px; padding:1rem; border:1px solid rgba(255,255,255,.42); border-radius:18px; background:rgba(255,255,255,.95); box-shadow:0 20px 48px rgba(15,23,42,.2); backdrop-filter:blur(16px); }
.home-agency-passenger-card>span { color:#E52426; text-transform:uppercase; letter-spacing:.12em; font-size:.48rem; font-weight:800; }
.home-agency-passenger-card>strong { display:block; margin-top:.25rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.9rem; }
.home-agency-passenger-card>p { margin-top:.35rem; color:#718096; font-size:.56rem; line-height:1.5; }
.home-agency-passenger-card>div { margin-top:.65rem; padding-top:.6rem; border-top:1px solid #E5EBF3; color:#15803D; font-size:.5rem; font-weight:750; }
.home-agency-passenger-card i { display:inline-grid; width:17px; height:17px; margin-right:.3rem; place-items:center; border-radius:6px; background:#DCFCE7; font-style:normal; }
.home-agency-feature-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:4.5rem; }
.home-agency-feature-grid article { display:grid; grid-template-columns:42px 1fr; gap:.85rem; min-height:160px; padding:1.3rem; border:1px solid rgba(203,216,233,.86); border-radius:22px; background:rgba(255,255,255,.84); box-shadow:0 14px 36px rgba(15,23,42,.05); backdrop-filter:blur(8px); transition:transform 200ms ease,box-shadow 200ms ease; }
.home-agency-feature-grid article:hover { transform:translateY(-4px); box-shadow:0 20px 46px rgba(15,23,42,.09); }
.home-agency-feature-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; font-family:'JetBrains Mono',monospace; font-size:.65rem; font-weight:800; }
.feature-blue { color:#1E7CE8; background:#E8F2FF; }.feature-red { color:#E52426; background:#FDEBEC; }.feature-violet { color:#7C3AED; background:#EDE9FE; }.feature-green { color:#059669; background:#D1FAE5; }.feature-amber { color:#D97706; background:#FEF3C7; }.feature-cyan { color:#0891B2; background:#CFFAFE; }
.home-agency-feature-grid h3 { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1rem; font-weight:650; }
.home-agency-feature-grid p { margin-top:.42rem; color:#64748B; font-size:.72rem; line-height:1.62; }
.home-agency-deep-link { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; padding:1.15rem 1.3rem; border:1px solid #D5E3F3; border-radius:18px; background:rgba(255,255,255,.66); }
.home-agency-deep-link p { color:#64748B; font-size:.75rem; }.home-agency-deep-link a { display:flex; align-items:center; gap:.6rem; color:#1E7CE8; font-size:.75rem; font-weight:800; white-space:nowrap; }.home-agency-deep-link a span { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:#1E7CE8; color:#fff; }
@media (max-width:1023px) { .home-hero { padding-top:101px; }.home-hero-grid { grid-template-columns:minmax(0,1fr); width:100%; min-height:auto; padding-top:4rem; }.home-hero-grid>div { min-width:0; max-width:100%; }.home-hero-grid>div:first-of-type { max-width:760px; }.home-hero h1 { font-size:clamp(3.7rem,9vw,5rem); }.home-hero-route { display:none; }.home-hero-device-stage { width:100%; max-width:680px; height:640px; }.home-flow::before { display:none; }.home-capability-rail .grid>div:nth-child(3n) { border-right:0; }.home-testimonial-heading { grid-template-columns:1fr; gap:1rem; }.home-testimonial-grid { grid-template-columns:1fr; }.home-testimonial-card { min-height:260px; }.home-testimonial-featured { transform:none; }.home-agency-shell { grid-template-columns:1fr; gap:2rem; }.home-agency-copy { max-width:760px; }.home-agency-console-wrap { max-width:760px; width:100%; }.home-agency-feature-grid { grid-template-columns:repeat(2,1fr); margin-top:3.5rem; } }
@media (max-width:767px) { .home-hero-grid { padding-top:3rem; padding-bottom:4.5rem; }.home-hero h1 { font-size:clamp(3rem,13vw,4rem); }.home-hero-actions .store-badge { min-width:calc(50% - .4rem); min-height:62px; }.home-hero-actions .btn { width:100%; min-height:58px; justify-content:center; }.home-hero-device-stage { height:500px; }.home-hero-device-stage .home-phone { width:220px; height:465px; border-radius:35px; padding:7px; }.home-hero-device-stage .home-phone-back,.home-hero-device-stage .home-phone-middle { display:none; }.home-hero-device-stage .home-phone-front { top:18px; transform:translateX(-50%); }.home-device-backdrop { width:360px; height:360px; }.home-capability-dock { width:calc(100% - 1rem); margin-top:-26px; border-radius:20px; }.home-capability-rail .grid>div { min-height:76px; border-bottom:1px solid #EDF1F7; }.home-capability-rail .grid>div:nth-child(3n) { border-right:1px solid #EDF1F7; }.home-capability-rail .grid>div:nth-child(2n) { border-right:0; }.home-moment { grid-column:1/-1; min-height:280px; padding:1.35rem; }.home-flow-card { min-height:0; }.home-hero-proof span { font-size:.66rem; }.home-download-assurance { grid-template-columns:1fr; gap:.65rem; margin-top:1.5rem; }.home-testimonial-heading h2 { font-size:2.65rem; }.home-testimonial-card { min-height:300px; }.home-testimonial-proof { grid-template-columns:1fr; }.home-testimonial-proof span { justify-content:flex-start; padding:0 1rem; border-right:0; border-bottom:1px solid #E7ECF3; }.home-testimonial-proof span:last-child { border-bottom:0; }.home-agency-copy h2 { font-size:2.65rem; }.home-agency-console-wrap { padding:0 0 2.75rem; }.home-agency-console-wrap::before { inset:.75rem -.5rem 1rem .5rem; }.home-agency-passenger-card { right:-.25rem; width:220px; }.home-agency-feature-grid { grid-template-columns:1fr; margin-top:2.25rem; }.home-agency-feature-grid article { min-height:0; }.home-agency-deep-link { align-items:flex-start; flex-direction:column; }.home-agency-deep-link a { white-space:normal; } }
@media (max-width:480px) {
  .home-hero .eyebrow { display:flex; width:100%; }
  .home-hero-actions { display:grid !important; grid-template-columns:1fr; }
  .home-hero-actions .store-badge,
  .home-hero-actions .btn { width:100%; min-width:0; justify-content:center; }
  .home-hero-proof { gap:.45rem; }
  .home-hero-proof span { padding:.48rem .62rem; }
}

/* Traveler page — sliding story testimonials */
.traveler-testimonial-section { position:relative; color:#fff; background:radial-gradient(680px 420px at 100% 0,rgba(87,165,255,.19),transparent 70%),radial-gradient(520px 340px at 0 100%,rgba(229,36,38,.14),transparent 72%),linear-gradient(135deg,#071429,#0E2348); }
.traveler-testimonial-head { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:end; }
.traveler-testimonial-head h2 { max-width:720px; margin-top:.85rem; font-size:clamp(2.6rem,4.5vw,4.2rem); line-height:1; letter-spacing:-.045em; font-weight:650; }
.traveler-testimonial-head>p { max-width:500px; padding-bottom:.35rem; color:#AFC0D8; line-height:1.75; }
.traveler-testimonials-swiper { padding:12px 4px 52px !important; }
.traveler-testimonial-card { position:relative; display:flex !important; min-height:390px; flex-direction:column; padding:1.7rem; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:27px; background:rgba(255,255,255,.08); box-shadow:0 22px 55px rgba(0,0,0,.15); backdrop-filter:blur(12px); }
.traveler-testimonial-card::after { content:""; position:absolute; right:-45px; top:-45px; width:150px; height:150px; border-radius:50%; background:rgba(255,255,255,.05); }
.traveler-ticket-top { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; color:#7CB8FF; letter-spacing:.14em; font-size:.56rem; font-weight:800; }
.traveler-ticket-top b { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:11px; background:rgba(255,255,255,.06); color:#fff; font-family:'JetBrains Mono',monospace; }
.traveler-testimonial-card .traveler-story-copy { position:relative; z-index:1; margin-top:2rem; color:#fff; font-family:'Outfit',sans-serif; font-size:1.25rem; line-height:1.5; font-weight:550; }
.traveler-testimonial-person { display:flex; align-items:center; gap:.75rem; margin-top:auto; padding-top:2rem; }
.traveler-testimonial-person>span { display:grid; width:43px; height:43px; place-items:center; border-radius:14px; background:#1E7CE8; color:#fff; font-size:.65rem; font-weight:800; }
.traveler-testimonial-person strong,.traveler-testimonial-person small { display:block; }.traveler-testimonial-person strong { color:#fff; font-size:.74rem; }.traveler-testimonial-person small { margin-top:.15rem; color:#8FA5C1; font-size:.56rem; }
.traveler-testimonial-route { display:flex; align-items:center; gap:.65rem; margin-top:1.3rem; padding-top:1rem; border-top:1px dashed rgba(255,255,255,.18); color:#91A7C2; text-transform:uppercase; letter-spacing:.11em; font-size:.5rem; font-weight:800; }
.traveler-testimonial-route i { color:#60A5FA; font-style:normal; }.traveler-testimonial-route span:last-child { margin-left:auto; }
.traveler-testimonials-swiper .swiper-pagination-bullet { background:#7891B2; opacity:.55; }.traveler-testimonials-swiper .swiper-pagination-bullet-active { width:24px; border-radius:999px; background:#57A5FF; opacity:1; }

/* Agency page — operations testimonial */
.agency-testimonial-section { position:relative; overflow:hidden; border-block:1px solid #DDE6F1; background:linear-gradient(180deg,#F2F7FD,#F8FBFF); }
.agency-voice-shell { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid #DCE5F0; border-radius:32px; background:#fff; box-shadow:0 28px 72px rgba(15,23,42,.09); }
.agency-voice-quote { position:relative; min-height:520px; padding:3rem; overflow:hidden; color:#fff; background:radial-gradient(420px 300px at 100% 100%,rgba(229,36,38,.2),transparent 72%),linear-gradient(145deg,#071429,#12315D); }
.agency-voice-mark { position:absolute; right:1.8rem; top:.8rem; color:rgba(255,255,255,.08); font-family:'Outfit',sans-serif; font-size:8rem; line-height:1; font-weight:800; }
.agency-voice-quote blockquote { position:relative; z-index:1; margin-top:3rem; font-family:'Outfit',sans-serif; font-size:clamp(1.6rem,2.8vw,2.45rem); line-height:1.27; font-weight:550; letter-spacing:-.025em; }
.agency-voice-person { position:absolute; left:3rem; right:3rem; bottom:3rem; display:flex; align-items:center; gap:.8rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.13); }
.agency-voice-person>span { display:grid; width:46px; height:46px; place-items:center; border-radius:14px; background:#1E7CE8; font-size:.68rem; font-weight:800; }
.agency-voice-person strong,.agency-voice-person small { display:block; }.agency-voice-person strong { font-size:.75rem; }.agency-voice-person small { margin-top:.15rem; color:#91A7C2; font-size:.57rem; }
.agency-voice-outcomes { padding:2.6rem 3rem; }
.agency-voice-heading>span { color:#1E7CE8; text-transform:uppercase; letter-spacing:.15em; font-size:.58rem; font-weight:800; }
.agency-voice-heading h2 { max-width:580px; margin-top:.6rem; color:#0B1B3D; font-size:2.15rem; line-height:1.08; font-weight:650; letter-spacing:-.035em; }
.agency-voice-outcomes article { display:grid; grid-template-columns:42px 1fr; gap:1rem; margin-top:1.15rem; padding-top:1.15rem; border-top:1px solid #E5EBF3; }
.agency-voice-outcomes article>b { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; background:#E8F2FF; color:#1E7CE8; font-family:'JetBrains Mono',monospace; font-size:.55rem; }
.agency-voice-outcomes article strong { display:block; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1rem; }.agency-voice-outcomes article p { margin-top:.3rem; color:#718096; font-size:.72rem; line-height:1.6; }
.agency-voice-strip { display:grid; grid-template-columns:repeat(3,1fr); margin-top:1rem; border:1px solid #DCE5F0; border-radius:18px; background:#fff; }
.agency-voice-strip span { display:flex; min-height:72px; align-items:center; justify-content:center; gap:.6rem; border-right:1px solid #E5EBF3; color:#52627B; font-size:.68rem; font-weight:750; }.agency-voice-strip span:last-child { border-right:0; }.agency-voice-strip i { display:grid; width:26px; height:26px; place-items:center; border-radius:9px; background:#DCFCE7; color:#15803D; font-style:normal; font-size:.55rem; }
@media (max-width:1023px) { .traveler-testimonial-head { grid-template-columns:1fr; gap:1rem; }.agency-voice-shell { grid-template-columns:1fr; }.agency-voice-quote { min-height:460px; } }
@media (max-width:640px) { .traveler-testimonial-head h2 { font-size:2.6rem; }.traveler-testimonial-card { min-height:360px; }.agency-voice-quote { min-height:510px; padding:1.6rem; }.agency-voice-person { left:1.6rem; right:1.6rem; bottom:1.6rem; }.agency-voice-outcomes { padding:1.6rem; }.agency-voice-heading h2 { font-size:1.85rem; }.agency-voice-strip { grid-template-columns:1fr; }.agency-voice-strip span { justify-content:flex-start; padding:0 1rem; border-right:0; border-bottom:1px solid #E5EBF3; }.agency-voice-strip span:last-child { border-bottom:0; } }

/* Agency SaaS page */
.agency-proof-strip { position:relative; z-index:3; border-block:1px solid #E3EAF4; background:rgba(255,255,255,.94); box-shadow:0 12px 38px rgba(15,23,42,.035); }
.agency-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.agency-proof-grid>div { min-height:98px; display:flex; flex-direction:column; justify-content:center; padding:1rem 1.25rem; border-right:1px solid #E8EDF4; }
.agency-proof-grid>div:first-child { padding-left:0; }
.agency-proof-grid>div:last-child { border-right:0; }
.agency-proof-grid strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1rem; font-weight:650; }
.agency-proof-grid span { margin-top:.22rem; color:#7B8799; font-size:.68rem; line-height:1.45; }
.agency-checks { display:grid; gap:1.05rem; }
.agency-checks li { display:grid; grid-template-columns:38px 1fr; gap:.85rem; align-items:start; }
.agency-checks li>span { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:#E8F2FF; color:#1E7CE8; font-family:'JetBrains Mono',monospace; font-size:.62rem; font-weight:800; }
.agency-checks strong { display:block; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1rem; }
.agency-checks p { margin-top:.2rem; color:#718096; font-size:.78rem; line-height:1.55; }
.agency-console { overflow:hidden; border:1px solid #DCE5F0; border-radius:28px; background:#fff; box-shadow:0 30px 78px rgba(15,23,42,.14); }
.agency-console-nav { height:58px; display:flex; align-items:center; justify-content:space-between; padding:0 1rem; border-bottom:1px solid #E7ECF3; background:linear-gradient(180deg,#fff,#F8FAFD); }
.agency-console-brand { display:flex; align-items:center; gap:.6rem; color:#263550; font-size:.7rem; font-weight:700; }
.agency-console-brand b { display:grid; width:29px; height:29px; place-items:center; border-radius:9px; background:#0B1B3D; color:#fff; font-size:.52rem; }
.agency-console-online { display:flex; align-items:center; gap:.4rem; padding:.35rem .6rem; border:1px solid #E2E8F0; border-radius:999px; color:#64748B; font-size:.55rem; font-weight:700; }
.agency-console-online i { width:6px; height:6px; border-radius:50%; background:#22C55E; }
.agency-console-body { display:grid; grid-template-columns:125px 1fr; min-height:390px; }
.agency-console-body aside { display:flex; flex-direction:column; gap:.3rem; padding:.8rem; border-right:1px solid #E7ECF3; background:#F8FAFD; }
.agency-console-body aside span { padding:.62rem .65rem; border-radius:9px; color:#718096; font-size:.58rem; font-weight:650; }
.agency-console-body aside span.is-active { background:#E8F2FF; color:#1E7CE8; }
.agency-console-main { min-width:0; padding:1rem; }
.agency-console-title { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.agency-console-title small,.agency-console-title strong { display:block; }
.agency-console-title small { color:#94A3B8; font-size:.52rem; }
.agency-console-title strong { margin-top:.1rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.05rem; }
.agency-console-title button { padding:.55rem .7rem; border-radius:10px; background:#1E7CE8; color:#fff; font-size:.58rem; font-weight:700; }
.agency-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin-top:1rem; }
.agency-stat-row>div { padding:.7rem; border:1px solid #E5EBF3; border-radius:13px; background:#FBFCFE; }
.agency-stat-row span,.agency-stat-row strong,.agency-stat-row small { display:block; }
.agency-stat-row span { color:#718096; font-size:.52rem; }
.agency-stat-row strong { margin-top:.2rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.35rem; }
.agency-stat-row small { margin-top:.1rem; color:#94A3B8; font-size:.46rem; }
.agency-trip-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.8rem; margin-top:.75rem; padding:.8rem; border:1px solid #E1E9F3; border-radius:15px; }
.agency-trip-route { display:flex; align-items:center; gap:.35rem; padding:.45rem .5rem; border-radius:10px; background:#E8F2FF; color:#1E7CE8; font-family:'JetBrains Mono',monospace; font-size:.52rem; font-weight:800; }
.agency-trip-route i { font-style:normal; }
.agency-trip-card strong,.agency-trip-card small { display:block; }
.agency-trip-card strong { color:#27364F; font-size:.62rem; }
.agency-trip-card small { margin-top:.14rem; color:#94A3B8; font-size:.48rem; }
.agency-status-pill { padding:.35rem .5rem; border-radius:999px; background:#DCFCE7; color:#15803D; font-size:.48rem; font-weight:750; }
.agency-attendance-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:.75rem; margin-top:.75rem; padding:.85rem; border-radius:15px; background:linear-gradient(135deg,#0B1B3D,#142B54); color:#fff; font-size:.55rem; }
.agency-attendance-row>div { display:flex; }
.agency-attendance-row i { width:17px; height:17px; margin-left:-4px; border:2px solid #142B54; border-radius:50%; background:#34D399; }
.agency-attendance-row i.is-away { background:#F59E0B; }
.agency-attendance-row strong { color:#A7F3D0; font-size:.55rem; }
.agency-connected-heading { max-width:820px; }
.agency-connected-system { display:grid; grid-template-columns:1fr 130px 1fr; align-items:center; }
.agency-system-panel { min-height:500px; padding:1.6rem; border:1px solid #DDE6F1; border-radius:28px; background:#fff; box-shadow:0 24px 60px rgba(15,23,42,.07); }
.agency-system-title { display:flex; align-items:center; gap:.8rem; padding-bottom:1.1rem; border-bottom:1px solid #E7ECF3; }
.agency-system-title>span { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; background:#E8F2FF; font-size:1.15rem; }
.agency-system-passenger .agency-system-title>span { background:#FDEBEC; }
.agency-system-title small,.agency-system-title h3 { display:block; }
.agency-system-title small { color:#8A97AA; text-transform:uppercase; letter-spacing:.11em; font-size:.52rem; font-weight:800; }
.agency-system-title h3 { margin-top:.15rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.35rem; font-weight:650; }
.agency-system-backend>ul { display:grid; gap:.65rem; margin-top:1rem; }
.agency-system-backend>ul li { display:grid; grid-template-columns:30px 1fr; gap:.7rem; align-items:start; padding:.72rem; border:1px solid #E5EBF3; border-radius:14px; background:#FBFCFE; }
.agency-system-backend>ul b { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#E8F2FF; color:#1E7CE8; font-family:'JetBrains Mono',monospace; font-size:.52rem; }
.agency-system-backend>ul strong,.agency-system-backend>ul span { display:block; }
.agency-system-backend>ul strong { color:#263550; font-size:.72rem; }
.agency-system-backend>ul span { margin-top:.15rem; color:#8491A5; font-size:.57rem; line-height:1.45; }
.agency-system-bridge { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:.55rem; margin-inline:-1px; color:#8290A3; font-size:.52rem; font-weight:700; text-align:center; }
.agency-system-bridge::before { content:""; position:absolute; z-index:-1; top:50%; left:-25px; right:-25px; border-top:1px dashed #93BCEB; }
.agency-system-bridge span { padding:.34rem .5rem; border:1px solid #DDE6F1; border-radius:999px; background:#fff; }
.agency-system-bridge i { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#1E7CE8; color:#fff; font-style:normal; box-shadow:0 9px 22px rgba(30,124,232,.24); }
.agency-system-bridge b { padding:.45rem .65rem; border-radius:999px; background:#0B1B3D; color:#fff; text-transform:uppercase; letter-spacing:.08em; font-size:.5rem; }
.agency-passenger-phone { width:88%; margin:1rem auto 0; padding:.85rem; border:7px solid #0B1B3D; border-radius:25px; background:#F7FAFD; box-shadow:0 18px 40px rgba(15,23,42,.13); }
.agency-phone-head { display:flex; align-items:center; justify-content:space-between; padding:.3rem .25rem .7rem; }
.agency-phone-head span { color:#94A3B8; font-size:.55rem; }
.agency-phone-head b { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.72rem; }
.agency-phone-item { display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:.55rem; margin-top:.45rem; padding:.62rem; border:1px solid #E2E8F0; border-radius:12px; background:#fff; }
.agency-phone-item>i { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; background:#E8F2FF; font-style:normal; font-size:.72rem; }
.agency-phone-item small,.agency-phone-item strong { display:block; }
.agency-phone-item small { color:#94A3B8; font-size:.47rem; }
.agency-phone-item strong { margin-top:.1rem; color:#334155; font-size:.56rem; }
.agency-phone-item em { display:grid; min-width:18px; height:18px; place-items:center; border-radius:6px; background:#DCFCE7; color:#15803D; font-size:.5rem; font-style:normal; font-weight:800; }
.agency-passenger-benefits { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin-top:.9rem; }
.agency-passenger-benefits li { position:relative; padding-left:1rem; color:#64748B; font-size:.58rem; line-height:1.45; }
.agency-passenger-benefits li::before { content:"✓"; position:absolute; left:0; color:#E52426; font-weight:900; }
.agency-lifecycle { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.agency-lifecycle::before { content:""; position:absolute; top:43px; left:8%; right:8%; border-top:1px dashed #AFCBF1; }
.agency-lifecycle article { position:relative; min-height:380px; padding:1.45rem; border:1px solid #E2E9F2; border-radius:26px; background:#fff; box-shadow:0 18px 44px rgba(15,23,42,.05); }
.agency-stage-head { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; }
.agency-stage-head span { display:grid; width:46px; height:46px; place-items:center; border:6px solid #F8FAFC; border-radius:50%; background:#1E7CE8; color:#fff; font-family:'JetBrains Mono',monospace; font-size:.62rem; font-weight:800; box-shadow:0 0 0 1px #BFDBFE; }
.agency-stage-head i { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:#E8F2FF; font-style:normal; }
.agency-lifecycle article:nth-child(2) .agency-stage-head span { background:#7C3AED; box-shadow:0 0 0 1px #DDD6FE; }
.agency-lifecycle article:nth-child(3) .agency-stage-head span { background:#059669; box-shadow:0 0 0 1px #A7F3D0; }
.agency-stage-label { margin-top:1.45rem; color:#1E7CE8; text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; font-weight:800; }
.agency-lifecycle h3 { margin-top:.45rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.35rem; line-height:1.25; font-weight:650; }
.agency-lifecycle ul { display:grid; gap:.62rem; margin-top:1.25rem; }
.agency-lifecycle li { position:relative; padding-left:1.2rem; color:#64748B; font-size:.76rem; line-height:1.5; }
.agency-lifecycle li::before { content:"✓"; position:absolute; left:0; color:#1E7CE8; font-weight:900; }
.agency-capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.agency-capability-grid article { padding:1.5rem; border:1px solid #E4EAF2; border-radius:23px; background:linear-gradient(180deg,#fff,#FBFCFE); transition:transform 220ms ease,box-shadow 220ms ease; }
.agency-capability-grid article:hover { transform:translateY(-4px); box-shadow:0 20px 46px rgba(15,23,42,.08); }
.agency-capability-grid .feature-icon { display:flex; margin-bottom:1rem; }
.agency-capability-grid h3 { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.08rem; font-weight:650; }
.agency-capability-grid p { margin-top:.45rem; color:#718096; font-size:.76rem; line-height:1.6; }
.agency-capability-grid .agency-capability-wide { grid-column:1/-1; display:grid; grid-template-columns:50px minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1.25rem 1.5rem; border-color:#F3C7CA; background:linear-gradient(135deg,#FFF8F8,#fff 55%,#F5F9FF); }
.agency-capability-wide .feature-icon { margin:0; }
.agency-capability-wide p { max-width:760px; }
.agency-capability-wide>b { padding:.55rem .75rem; border:1px solid #F1D2D4; border-radius:999px; background:#fff; color:#9F3438; font-size:.58rem; font-weight:750; white-space:nowrap; }
.agency-price-panel { position:relative; overflow:hidden; display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; padding:3.5rem; border-radius:34px; background:radial-gradient(650px 380px at 100% 100%,rgba(229,36,38,.2),transparent 68%),linear-gradient(135deg,#071429,#0E2348); color:#fff; box-shadow:0 32px 85px rgba(7,20,41,.2); }
.agency-price-copy h2 { max-width:700px; margin-top:.65rem; font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.04; font-weight:650; letter-spacing:-.04em; }
.agency-price-copy h2 span { color:#7CB8FF; }
.agency-price-copy>p:not(.eyebrow) { max-width:650px; margin-top:1rem; color:#AFC0D8; line-height:1.7; }
.agency-price-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
.agency-price-card { padding:1.7rem; border:1px solid rgba(255,255,255,.14); border-radius:24px; background:rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.agency-price-card>p { color:#7CB8FF; text-transform:uppercase; letter-spacing:.14em; font-size:.6rem; font-weight:800; }
.agency-price-card>div { display:flex; align-items:flex-end; gap:.4rem; margin-top:.5rem; }
.agency-price-card>div strong { font-family:'Outfit',sans-serif; font-size:3.2rem; line-height:1; }
.agency-price-card>div span { color:#AFC0D8; font-size:.75rem; }
.agency-price-card ul { display:grid; gap:.55rem; margin-top:1.25rem; padding-top:1.15rem; border-top:1px solid rgba(255,255,255,.12); }
.agency-price-card li { position:relative; padding-left:1.35rem; color:#D7E1EF; font-size:.72rem; }
.agency-price-card li::before { content:"✓"; position:absolute; left:0; color:#60A5FA; font-weight:900; }
.agency-price-card small { display:block; margin-top:1.25rem; color:#7F90AA; font-size:.58rem; }
.agency-convert-section { padding:6rem 0; border-block:1px solid #DFE7F1; background:linear-gradient(180deg,#F2F7FD,#F8FBFF); scroll-margin-top:70px; }
.agency-convert-heading { max-width:760px; margin:0 auto 2rem; text-align:center; }
.agency-convert-heading h2 { margin-top:.7rem; color:#0B1B3D; font-size:clamp(2.25rem,4.5vw,3.7rem); line-height:1.05; font-weight:650; letter-spacing:-.04em; }
.agency-convert-heading>p:not(.eyebrow) { margin-top:1rem; color:#64748B; line-height:1.7; }
.agency-form-shell { overflow:hidden; border:1px solid #DCE5F0; border-radius:30px; background:#fff; box-shadow:0 28px 80px rgba(15,23,42,.09); }
.agency-form-tabs { display:grid; grid-template-columns:1fr 1fr; padding:.6rem; border-bottom:1px solid #E5EBF3; background:#F5F8FC; }
.agency-form-tabs button { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:.8rem; padding:1rem; border:1px solid transparent; border-radius:18px; text-align:left; transition:background 180ms ease,border 180ms ease,box-shadow 180ms ease; }
.agency-form-tabs button[aria-selected="true"] { border-color:#DCE5F0; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.agency-form-tabs button>span { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; background:#E8F2FF; }
.agency-form-tabs button:last-child>span { background:#FDEBEC; }
.agency-form-tabs strong,.agency-form-tabs small { display:block; }
.agency-form-tabs strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:.94rem; }
.agency-form-tabs small { margin-top:.15rem; color:#8491A5; font-size:.62rem; }
.agency-form-panel { display:grid; grid-template-columns:.78fr 1.22fr; gap:2.5rem; padding:2.5rem; }
.agency-form-panel[hidden] { display:none; }
.agency-form-intro { padding:1.8rem; border-radius:24px; background:linear-gradient(145deg,#E8F2FF,#F5F9FF); }
.agency-form-intro>span { color:#1E7CE8; text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; font-weight:800; }
.agency-form-intro h3 { margin-top:.7rem; color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:1.8rem; line-height:1.08; font-weight:650; }
.agency-form-intro>p { margin-top:.8rem; color:#64748B; font-size:.78rem; line-height:1.7; }
.agency-form-intro ul { display:grid; gap:.55rem; margin-top:1.2rem; padding-top:1rem; border-top:1px solid #D6E5F7; }
.agency-form-intro li { position:relative; padding-left:1.25rem; color:#52627B; font-size:.72rem; }
.agency-form-intro li::before { content:"✓"; position:absolute; left:0; color:#1E7CE8; font-weight:900; }
.agency-form-intro-signup { background:linear-gradient(145deg,#FDEBEC,#FFF7F7); }
.agency-form-intro-signup>span { color:#E52426; }
.agency-signup-price { display:flex; align-items:center; gap:.7rem; margin-top:1.2rem; padding-top:1rem; border-top:1px solid #F5CDD0; }
.agency-signup-price strong { color:#0B1B3D; font-family:'Outfit',sans-serif; font-size:2.2rem; }
.agency-signup-price span { color:#718096; font-size:.62rem; line-height:1.4; }
.agency-lead-form { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; align-content:start; }
.agency-lead-form label>span { display:block; margin-bottom:.35rem; color:#334155; font-size:.68rem; font-weight:750; }
.agency-lead-form input:not([type="checkbox"]),.agency-lead-form select,.agency-lead-form textarea { width:100%; border:1px solid #DCE5F0; border-radius:13px; background:#FBFCFE; padding:.78rem .85rem; color:#0B1B3D; font-size:.76rem; outline:none; transition:border 180ms ease,box-shadow 180ms ease,background 180ms ease; }
.agency-lead-form input:focus,.agency-lead-form select:focus,.agency-lead-form textarea:focus { border-color:#60A5FA; background:#fff; box-shadow:0 0 0 4px rgba(30,124,232,.1); }
.agency-lead-form textarea { resize:vertical; }
.agency-form-wide { grid-column:1/-1; }
.agency-lead-form button { justify-content:center; border:0; }
.agency-lead-form button:disabled { opacity:.65; cursor:wait; transform:none; }
.agency-consent { display:grid !important; grid-template-columns:18px 1fr; align-items:start; gap:.6rem; padding:.75rem; border:1px solid #E3E9F1; border-radius:13px; background:#F8FAFC; }
.agency-consent input { margin-top:.15rem; accent-color:#E52426; }
.agency-consent span { margin:0 !important; color:#64748B !important; font-size:.65rem !important; line-height:1.55; }
@media (max-width:1023px) {
  .agency-proof-grid { grid-template-columns:repeat(2,1fr); }
  .agency-proof-grid>div { border-bottom:1px solid #E8EDF4; }
  .agency-proof-grid>div:nth-child(2n) { border-right:0; }
  .agency-proof-grid>div:nth-child(n+3) { border-bottom:0; }
  .agency-proof-grid>div:first-child { padding-left:1.25rem; }
  .agency-lifecycle { grid-template-columns:1fr; }
  .agency-lifecycle::before { display:none; }
  .agency-lifecycle article { min-height:0; }
  .agency-connected-system { grid-template-columns:1fr; gap:1rem; }
  .agency-system-panel { min-height:0; }
  .agency-system-bridge { min-height:95px; justify-content:center; }
  .agency-system-bridge::before { top:-18px; bottom:-18px; left:50%; right:auto; border-top:0; border-left:1px dashed #93BCEB; }
  .agency-system-bridge span { display:none; }
  .agency-system-bridge i:first-of-type { transform:rotate(90deg); }
  .agency-system-bridge i:last-of-type { transform:rotate(90deg); }
  .agency-capability-grid { grid-template-columns:repeat(2,1fr); }
  .agency-price-panel { grid-template-columns:1fr; padding:2.5rem; }
  .agency-price-card { max-width:520px; }
  .agency-form-panel { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .agency-proof-grid { grid-template-columns:1fr; }
  .agency-proof-grid>div { min-height:78px; padding:1rem 0 !important; border-right:0; border-bottom:1px solid #E8EDF4 !important; }
  .agency-proof-grid>div:last-child { border-bottom:0 !important; }
  .agency-console-body { grid-template-columns:1fr; min-height:0; }
  .agency-console-body aside { display:none; }
  .agency-stat-row { grid-template-columns:repeat(3,1fr); }
  .agency-stat-row>div { padding:.55rem; }
  .agency-trip-card { grid-template-columns:1fr auto; }
  .agency-trip-route { display:none; }
  .agency-attendance-row { grid-template-columns:1fr auto; }
  .agency-attendance-row>div { display:none; }
  .agency-capability-grid { grid-template-columns:1fr; }
  .agency-capability-grid .agency-capability-wide { grid-template-columns:42px 1fr; align-items:start; }
  .agency-capability-wide>b { grid-column:1/-1; width:fit-content; white-space:normal; }
  .agency-passenger-phone { width:100%; }
  .agency-passenger-benefits { grid-template-columns:1fr; }
  .agency-price-panel { margin-inline:-.25rem; padding:1.5rem; border-radius:26px; }
  .agency-price-copy h2 { font-size:2.2rem; }
  .agency-price-actions .btn { width:100%; justify-content:center; }
  .agency-convert-section { padding:4.5rem 0; }
  .agency-form-tabs { grid-template-columns:1fr; }
  .agency-form-tabs button { padding:.8rem; }
  .agency-form-panel { gap:1rem; padding:1rem; }
  .agency-form-intro { padding:1.3rem; }
  .agency-lead-form { grid-template-columns:1fr; }
  .agency-form-wide { grid-column:auto; }
}

/* WhatsApp floating CTA */
.wa-fab {
  position: fixed; right: 20px; bottom: 24px;
  z-index: 55;
  display: inline-flex; align-items: center; gap: 8px;
  background: #25D366; color: #fff;
  padding: 12px 18px 12px 14px; border-radius: 999px;
  box-shadow: 0 16px 40px rgba(37,211,102,0.4), 0 0 0 4px rgba(37,211,102,0.15);
  font-weight: 600; font-family: 'Outfit', sans-serif;
  transition: transform 220ms ease, box-shadow 220ms ease;
  animation: wa-pulse 2.4s ease-in-out infinite;
}
.wa-fab:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 20px 48px rgba(37,211,102,0.5); }
.wa-fab svg { width: 22px; height: 22px; }
.wa-fab .wa-label { font-size: 14px; }
@keyframes wa-pulse {
  0%, 100% { box-shadow: 0 16px 40px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.4); }
  50% { box-shadow: 0 16px 40px rgba(37,211,102,0.4), 0 0 0 12px rgba(37,211,102,0); }
}
@media (max-width: 640px) {
  .wa-fab .wa-label { display: none; }
  .wa-fab { padding: 12px; }
}
/* Production accessibility and interaction safeguards */
.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 200;
  transform: translateY(-160%);
  border-radius: 0.75rem;
  background: #0b1b3d;
  color: #fff;
  padding: 0.75rem 1rem;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(11, 27, 61, 0.24);
  transition: transform 0.2s ease;
}
.skip-link:focus { transform: translateY(0); }
body.mobile-menu-open { overflow: hidden; }
:focus-visible { outline: 3px solid #57a5ff; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
