
/* ================= premium refinements shared by all options ================= */
.worldmap .d { stroke-width: 3.9; }
.worldmap .d.is-active { stroke-width: 4.8; }
.worldmap .pill { fill: var(--pill-bg, #fff); }
.worldmap .pilltext { fill: var(--ink); }
.worldmap .anchor, .worldmap .hub { stroke: var(--halo, #fff); }
.worldmap .pulse { fill: none; stroke: var(--green); stroke-width: 2; transform-box: fill-box; transform-origin: center; opacity: 0; animation: pulse 3.2s ease-out 2s 3; }
@keyframes pulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(4.5); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .worldmap .pulse { animation: none; } }
.legend button { background: var(--paper); border-color: var(--line); color: var(--ink); }
.legend button:hover, .legend button[aria-pressed="true"] { border-color: var(--ink); }
.legend .origin { color: var(--muted); }

.site-header .bar { min-height: 88px; }
.brand img { height: 60px; }
.nav a { font-size: .97rem; letter-spacing: .005em; }
.btn { border-radius: var(--btn-r, 999px); letter-spacing: .005em; min-height: 50px; padding-inline: 26px; }
.btn-sm { min-height: 42px; padding-inline: 18px; }
.tile, .accred li, .form-card { border-radius: var(--card-r, 14px); }
.tile { transition: border-color .2s, box-shadow .2s, transform .2s; }
.tile:hover { transform: translateY(-3px); }
.tile .art svg { transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.tile:hover .art svg { transform: scale(1.06) rotate(-1.5deg); }
@media (prefers-reduced-motion: reduce) { .tile, .tile .art svg { transition: none; } .tile:hover, .tile:hover .art svg { transform: none; } }
.section { padding-block: clamp(64px, 9vw, 120px); }
.section-head { margin-bottom: clamp(32px, 5vw, 60px); }
.foot-grid img { height: 70px; }

.site-footer .foot-grid h2 { font-family: var(--body); font-size: .95rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; margin-bottom: .7em; }
.theme-a .foot-grid img, .theme-c .foot-grid img { background: #fff; border-radius: 10px; padding: 8px; height: 78px; width: auto; }

/* ================= Option E: Aurora (deep teal gradient, glass panels, Outfit + Albert Sans) ================= */
.theme-e { --bg: #f3f7f9; --navy: #073046; --ink: #0a2233; --text: #47596a; --muted: #6b7d8d; --green: #0e9b66; --green-dark: #0a7a50; --blue: #1b7ea6; --tint: #e7f0f4; --line: #d6e2e9; --paper: #ffffff;
  --display: "Outfit", "Segoe UI", system-ui, sans-serif; --body: "Albert Sans", "Segoe UI", system-ui, sans-serif; --btn-r: 14px; --card-r: 22px; }
.theme-e h1 { font-weight: 600; font-size: clamp(2.8rem, 5.6vw, 5rem); line-height: 1.02; letter-spacing: -0.035em; }
.theme-e h2 { font-weight: 600; letter-spacing: -0.03em; }
.theme-e h3 { font-weight: 600; letter-spacing: -0.015em; }
.theme-e .site-header { background: rgba(255,255,255,.92); }
.theme-e .btn-primary { background: linear-gradient(135deg, #0e9b66, #0b8a8a); color: #fff; }
.theme-e .btn-primary:hover { filter: brightness(1.08); background: linear-gradient(135deg, #0e9b66, #0b8a8a); }
.theme-e .btn-quiet { border-color: #073046; color: #073046; }
.theme-e .btn-quiet:hover { background: #073046; color: #fff; }
.theme-e .tile { border-color: transparent; box-shadow: 0 1px 2px rgba(7,48,70,.06), 0 20px 40px -26px rgba(7,48,70,.35); padding: 16px 16px 24px; }
.theme-e .tile:hover { border-color: transparent; box-shadow: 0 30px 50px -24px rgba(7,48,70,.45); }
.theme-e .tile .art, .theme-e .offer .art { background: radial-gradient(circle at 50% 35%, #ffffff 0%, #d9ecf1 100%); border-radius: 16px; }
.theme-e .tint { background: #e7f0f4; }
.theme-e .accred li, .theme-e .form-card { border-color: transparent; box-shadow: 0 20px 40px -30px rgba(7,48,70,.4); }
.theme-e .col-rule { border-top-width: 0; padding: 22px 24px; background: #fff; border-radius: 18px; box-shadow: 0 20px 40px -32px rgba(7,48,70,.4); }
.theme-e .col-rule::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #0e9b66, #1b7ea6); margin-bottom: 16px; }
.theme-e .steps li { border-top: 0; background: #fff; border-radius: 18px; padding: 22px; }
.theme-e .page-head { background: linear-gradient(135deg, #041b2d 0%, #073046 55%, #0a4b5b 100%); border-bottom: 0; }
.theme-e .section:has(> .wrap > .models) { background: #06283b; }
.theme-e .cta { background: linear-gradient(120deg, #073046, #0a5c68); }
.theme-e .site-footer { background: #04202f; border-top: 0; }
.theme-e .foot-grid img { background: #fff; border-radius: 12px; padding: 8px; height: 78px; width: auto; }

.hero-e { background: radial-gradient(70% 90% at 88% 18%, rgba(24,166,160,.55) 0%, rgba(24,166,160,0) 60%), linear-gradient(135deg, #041b2d 0%, #073046 52%, #0a4b5b 100%); padding-block: clamp(56px, 8vw, 104px) clamp(36px, 5vw, 64px); overflow: hidden; }
.he-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.hero-e h1 { max-width: 13ch; }
.he-glass { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 24px; padding: 28px 30px; }
.he-glass h2 { font-family: var(--body); font-size: 1rem; font-weight: 600; letter-spacing: 0; color: var(--muted); margin-bottom: 1rem; }
.he-glass ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.he-glass li { display: flex; gap: 10px; align-items: center; font-family: var(--display); font-weight: 500; font-size: 1.3rem; color: #fff; }
.he-glass li svg { color: var(--green); }
.he-glass .more { font-family: var(--body); font-size: .95rem; color: var(--muted); }
.he-map { margin-top: clamp(12px, 3vw, 40px); }
@media (max-width: 900px) { .he-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---- dark surfaces: re-point tokens so everything inside reads on dark ---- */
.on-dark, .theme-e .page-head, .theme-e .section:has(> .wrap > .models), .theme-e .site-footer { color: var(--text); }
.on-dark, .theme-e .page-head, .theme-e .section:has(> .wrap > .models), .theme-e .site-footer { --ink: #ffffff; --navy: #ffffff; --text: #c4d6df; --muted: #8fa9b8; --line: rgba(255,255,255,.16); --paper: #0b3a4f; --pill-bg: #0b3a4f; --halo: #041b2d;
  --green: #3fe0a6; --green-dark: #3fe0a6; --dot: #1d5266; --r-europe: #7aa2ff; --r-latam: #52a8ff; --r-africa: #34d68e; --r-gcc: #f3bb3f; --r-cis: #2fd0d8; --r-sea: #ff7f61; }
.on-dark .btn-primary,
.theme-e .page-head .btn-primary,
.theme-e .section:has(> .wrap > .models) .btn-primary,
.theme-e .site-footer .btn-primary { background: #3fe0a6; color: #04210f; }
.on-dark .btn-primary:hover,
.theme-e .page-head .btn-primary:hover,
.theme-e .section:has(> .wrap > .models) .btn-primary:hover,
.theme-e .site-footer .btn-primary:hover { background: #ffffff; }
.on-dark .btn-quiet,
.theme-e .page-head .btn-quiet,
.theme-e .section:has(> .wrap > .models) .btn-quiet,
.theme-e .site-footer .btn-quiet { color: #fff; border-color: rgba(255,255,255,.55); }
.on-dark .btn-quiet:hover,
.theme-e .page-head .btn-quiet:hover,
.theme-e .section:has(> .wrap > .models) .btn-quiet:hover,
.theme-e .site-footer .btn-quiet:hover { background: #fff; color: #061538; }
