:root {
  --ink: #173d40;
  --ink-deep: #102f32;
  --sage: #6f8e84;
  --sage-soft: #dfe9e3;
  --ivory: #f4f0e7;
  --paper: #fbf9f4;
  --brass: #a88954;
  --line: #c5d0cb;
  --white: #fffdf8;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink-deep);
  background: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  min-height: 94px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 26px;
  padding: 0 4vw;
  color: var(--ivory);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}
.brand-mark { width: 31px; height: 38px; object-fit: contain; }
.brand-copy { display: flex; flex-direction: column; gap: 3px; }
.brand-main { font: 400 17px/1 var(--serif); letter-spacing: .2em; }
.brand-sub { font-size: 6.5px; letter-spacing: .18em; opacity: .75; }
.nav {
  justify-self: center;
  display: flex;
  gap: clamp(12px, 1.35vw, 22px);
  align-items: center;
  font-size: 9.5px;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.nav a { opacity: .82; transition: opacity .2s ease; }
.nav a:hover, .nav a[aria-current="page"] { opacity: 1; }
.header-action { justify-self: end; }

.outline-button,
.solid-button,
.light-button,
.text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 20px;
  border: 0;
  font: inherit;
  font-size: 9.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}
.outline-button { border: 1px solid rgba(255,253,248,.7); color: var(--ivory); }
.outline-button:hover { background: rgba(255,253,248,.1); border-color: var(--ivory); }
.light-button { background: var(--ivory); color: var(--ink-deep); border: 1px solid var(--ivory); }
.light-button:hover { background: #fff; }
.solid-button { background: var(--ink); color: var(--ivory); border: 1px solid var(--ink); }
.solid-button:hover { background: var(--ink-deep); }
.text-link { padding: 0; min-height: 34px; border-bottom: 1px solid currentColor; }

.mobile-menu { display: none; position: relative; justify-self: end; }
.mobile-menu summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 0;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.mobile-menu summary::-webkit-details-marker { display: none; }
.menu-panel {
  position: absolute;
  top: 50px;
  right: 0;
  width: min(310px, 82vw);
  padding: 24px;
  background: rgba(16,47,50,.98);
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 50px rgba(10,30,31,.22);
}
.menu-panel a {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.11);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.menu-panel a:last-child { border-bottom: 0; }

.hero {
  min-height: 86vh;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  color: var(--ivory);
  background: var(--ink);
}
.page-hero { min-height: 70vh; }
.destinations-hero { min-height: clamp(520px, 60vh, 620px); }
.destinations-hero .hero-content { padding-bottom: 6vh; }
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(12,42,43,.82) 0%, rgba(25,64,62,.48) 42%, rgba(45,83,76,.18) 78%);
}
.hero.soft-green::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(87,128,113,.16);
  mix-blend-mode: color;
  pointer-events: none;
}
.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) contrast(.98);
}
.home-hero .hero-bg { object-position: center center; }
.concierge-hero .hero-bg { object-position: center 58%; }
.about-hero .hero-bg {
  object-position: center 42%;
  filter: none;
}
.about-hero::before {
  background: linear-gradient(90deg, rgba(8,32,32,.76) 0%, rgba(8,32,32,.42) 31%, rgba(8,32,32,.08) 54%, transparent 70%);
}
.about-hero.soft-green::after { display: none; }
.contact-hero .hero-bg { object-position: center 52%; }
.international-hero .hero-bg { object-position: center 48%; }
.signature-collection-hero .hero-bg { object-position: center 78%; }
.signature-collection-hero,
.signature-collection-hero *,
.signature-collection-hero::before,
.signature-collection-hero::after { cursor: none !important; }
.signature-collection-hero .hero-bg { pointer-events: none; }
.journal-hero .hero-bg {
  object-position: center center;
  filter: saturate(1.06) contrast(1.02);
}
.journal-hero::before {
  background: linear-gradient(90deg, rgba(8,32,32,.72) 0%, rgba(12,42,43,.48) 32%, rgba(12,42,43,.12) 58%, transparent 78%);
}
.journal-hero.soft-green::after { display: none; }
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding: 0 5vw 8vh;
}
.eyebrow {
  margin: 0 0 20px;
  color: #e6dcc7;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.hero h1 {
  margin: 0;
  max-width: 760px;
  font: 400 clamp(48px, 5.1vw, 80px)/1 var(--serif);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.hero-copy {
  margin: 24px 0 30px;
  max-width: 610px;
  color: rgba(255,253,248,.9);
  font-size: 15.5px;
  line-height: 1.75;
}
.hero-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.international-hero { min-height: 72vh; }
.international-hero .hero-content { max-width: 980px; padding-bottom: 6vh; }
.international-hero .eyebrow { margin-bottom: 14px; }
.international-hero h1 {
  max-width: 920px;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.04;
}
.international-hero .hero-copy { margin: 18px 0 22px; font-size: 14.5px; }
.international-hero .locale-links { margin-top: 21px; }
.business-hero .hero-content { max-width: 860px; padding-bottom: 6vh; }
.business-hero h1 { max-width: 780px; font-size: clamp(38px, 4vw, 62px); line-height: 1.04; }
.business-hero .hero-copy { margin: 18px 0 24px; }
.locale-links {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 27px;
  color: rgba(255,253,248,.72);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.locale-links a[aria-current="page"] { color: #fff; }

.section { padding: 96px 6vw; }
.section.tinted { background: var(--ivory); }
.section.sage-tint { background: #e8efea; }
.section-heading { max-width: 760px; margin-bottom: 52px; }
.section-heading .eyebrow { color: var(--brass); }
.section-heading h2,
.story-copy h2,
.card-copy h2 {
  margin: 0;
  font: 400 clamp(40px, 4.7vw, 66px)/1.06 var(--serif);
  letter-spacing: -.015em;
}
.section-heading p:not(.eyebrow),
.story-copy p,
.card-copy p {
  color: #536b6c;
  font-size: 15.5px;
  line-height: 1.8;
}

.journey-feature {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  min-height: 610px;
  background: #1D4548;
  color: var(--ivory);
}
.visual { position: relative; min-height: 560px; overflow: hidden; }
.visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20,58,58,.02), rgba(20,58,58,.17));
}
.card-copy { align-self: center; padding: 64px; }
.card-copy p { color: rgba(255,253,248,.74); }
.meta {
  margin: 28px 0;
  display: grid;
  gap: 12px;
  color: rgba(255,253,248,.76);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.split-story {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 8vw;
  align-items: start;
}
.story-copy { max-width: 620px; }
.statement {
  margin: 0;
  color: var(--ink);
  font: 400 clamp(31px, 3.6vw, 55px)/1.13 var(--serif);
}

.standard-grid,
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.standard-card,
.service {
  padding: 34px 34px 38px;
  min-height: 220px;
  border-top: 1px solid #9db2ad;
}
.standard-card .number { color: var(--brass); font-size: 10px; letter-spacing: .18em; }
.standard-card h3,
.service h3 { margin: 38px 0 14px; font: 400 28px/1.15 var(--serif); }
.service h3 { margin-top: 4px; }
.standard-card p,
.service p { margin: 0; color: #617777; line-height: 1.7; }

.visual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.visual-card { background: var(--paper); }
.visual-card .image-wrap { height: 330px; overflow: hidden; background: var(--sage-soft); }
.visual-card img { height: 100%; object-fit: cover; transition: transform .5s ease; }
.visual-card:hover img { transform: scale(1.015); }
.signature-grid .image-wrap { height: 390px; }
.signature-grid #virungas img { object-position: 46% center; }
.signature-itineraries { display: grid; gap: 54px; }
.signature-journey-block {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  background: var(--paper);
  border-top: 1px solid var(--line);
}
.signature-journey-photo { min-height: 620px; overflow: hidden; background: var(--sage-soft); }
.signature-journey-photo img { width: 100%; height: 100%; object-fit: cover; }
.signature-journey-photo.virungas-photo img { object-position: 46% center; }
.signature-itinerary-copy { padding: 46px 50px 50px; }
.signature-itinerary-copy .eyebrow { margin-bottom: 12px; color: var(--brass); }
.signature-itinerary-copy h3 { margin: 0; font: 400 clamp(34px, 3vw, 47px)/1.08 var(--serif); }
.itinerary-intro { margin: 16px 0 0; color: #536b6c; line-height: 1.7; }
.day-list { list-style: none; padding: 0; margin: 30px 0 24px; border-top: 1px solid var(--line); }
.day-list li { display: grid; grid-template-columns: 74px 1fr; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.day-list li > span { padding-top: 2px; color: var(--brass); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.day-list strong { display: block; color: var(--ink-deep); font: 500 15px/1.4 var(--sans); }
.day-list p { margin: 4px 0 0; color: #617777; font-size: 13px; line-height: 1.6; }
.itinerary-note { margin: -3px 0 21px; color: #718282; font-size: 11.5px; line-height: 1.55; }
.visual-card-copy { padding: 24px 6px 8px; }
.visual-card-copy .eyebrow { margin-bottom: 10px; color: var(--brass); }
.visual-card h3 { margin: 0 0 9px; font: 400 30px/1.15 var(--serif); }
.visual-card p { margin: 0; color: #617777; line-height: 1.65; }

.image-band { position: relative; height: clamp(360px, 48vw, 680px); overflow: hidden; }
.image-band img { width: 100%; height: 100%; object-fit: cover; }
.image-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16,47,50,.04), rgba(16,47,50,.19));
}

.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.journal-card { border-top: 1px solid var(--line); padding-top: 18px; }
.journal-card img { height: 260px; object-fit: cover; margin-bottom: 22px; }
.journal-card .golden-monkey-crop {
  aspect-ratio: 717 / 462;
  overflow: hidden;
  margin-bottom: 22px;
  background: var(--sage-soft);
}
.journal-card .golden-monkey-crop img {
  width: 104.4%;
  max-width: none;
  height: auto;
  margin: 0;
  object-fit: initial;
  transform: translate(-1.65%, -2.65%);
}
.journal-card .eyebrow { color: var(--brass); margin-bottom: 10px; }
.journal-card h3 { margin: 0 0 10px; font: 400 29px/1.18 var(--serif); }
.journal-card p { color: #617777; line-height: 1.65; }
.journal-grid > .journal-card:last-child { grid-column: 2; }

.journey-list { border-top: 1px solid #b8c7c2; }
.journey-row {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  gap: 36px;
  align-items: center;
  padding: 31px 0;
  border-bottom: 1px solid #b8c7c2;
}
.journey-row .place { color: var(--brass); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.journey-row h3 { margin: 0 0 8px; font: 400 32px/1.15 var(--serif); }
.journey-row p { margin: 0; color: #617777; line-height: 1.6; }

.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; }
.contact-copy h2 { margin: 0 0 22px; font: 400 clamp(40px, 4vw, 62px)/1.06 var(--serif); }
.contact-copy p { color: #617777; line-height: 1.75; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: grid; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: #557071; }
.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid #9db2ad;
  border-radius: 0;
  background: transparent;
  color: var(--ink-deep);
  font: inherit;
}
.field textarea { min-height: 110px; resize: vertical; }
.consent-field { color: #617777; font-size: 12px; line-height: 1.6; }
.consent-field span { display: flex; gap: 10px; align-items: flex-start; }
.consent-field input { width: auto; margin-top: 3px; accent-color: var(--ink); }
.form-trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; opacity: 0!important; pointer-events: none!important; }
.form-status { grid-column: 1 / -1; min-height: 1.4em; margin: 0; font-size: 12px; line-height: 1.6; }
.form-status.success { color: #2f7450; }
.form-status.error { color: #9e3030; }
.contact-form input.invalid, .contact-form select.invalid, .contact-form textarea.invalid { border-bottom-color: #9e3030; }
.form-note { grid-column: 1 / -1; margin: 0; color: #718282; font-size: 12px; line-height: 1.6; }

.site-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: end;
  padding: 46px 6vw;
  background: var(--ink-deep);
  color: var(--ivory);
}
.site-footer .brand-mark { width: 26px; height: 32px; }
.site-footer p { margin: 12px 0 0; color: rgba(255,253,248,.64); font-size: 12.5px; }
.version-note { text-align: right; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; opacity: .62; }

@media (max-width: 1380px) {
  .nav { display: none; }
  .mobile-menu { display: block; }
  .site-header { grid-template-columns: auto 1fr auto; }
}

@media (max-width: 900px) {
  .journey-feature, .split-story, .contact-layout, .signature-journey-block { grid-template-columns: 1fr; }
  .journey-feature .visual { min-height: 60vw; }
  .signature-journey-photo { min-height: 58vw; max-height: 610px; }
  .standard-grid, .services-grid { grid-template-columns: 1fr 1fr; }
  .visual-grid, .journal-grid { grid-template-columns: 1fr 1fr; }
  .visual-card:last-child, .journal-card:last-child { grid-column: 1 / -1; max-width: 50%; }
  .journal-grid > .journal-card:last-child { grid-column: 1 / -1; }
  .journal-card:last-child { justify-self: center; width: 100%; }
}

@media (max-width: 680px) {
  .site-header { min-height: 78px; padding: 0 20px; gap: 16px; }
  .brand-mark { width: 27px; height: 33px; }
  .brand-main { font-size: 14px; letter-spacing: .16em; }
  .brand-sub { font-size: 5.8px; }
  .header-action { display: none; }
  .site-header { grid-template-columns: auto 1fr; }
  .hero { min-height: 78vh; }
  .page-hero { min-height: 70vh; }
  .destinations-hero { min-height: 62vh; }
  .hero-content { padding: 0 22px 8vh; }
  .hero h1 { font-size: clamp(44px, 13vw, 62px); }
  html[lang="de"] .hero h1,
  html[lang="fr"] .hero h1,
  html[lang="it"] .hero h1,
  html[lang="ja"] .hero h1,
  html[lang="zh-CN"] .hero h1 { font-size: clamp(36px, 10.5vw, 52px); }
  .international-hero h1 { font-size: clamp(32px, 9vw, 44px); }
  .international-hero .hero-content { padding-bottom: 5vh; }
  .business-hero h1 { font-size: clamp(34px, 9.5vw, 48px); }
  .business-hero .hero-content { padding-bottom: 5vh; }
  .hero-copy { font-size: 14.5px; }
  .hero-actions { align-items: stretch; gap: 10px; }
  .hero-actions a { width: 100%; }
  .section { padding: 72px 22px; }
  .signature-itineraries { gap: 40px; }
  .signature-itinerary-copy { padding: 32px 22px 36px; }
  .day-list li { grid-template-columns: 62px 1fr; gap: 12px; }
  .card-copy { padding: 42px 26px; }
  .standard-grid, .services-grid, .visual-grid, .journal-grid { grid-template-columns: 1fr; }
  .visual-card:last-child, .journal-card:last-child { grid-column: auto; max-width: none; }
  .journal-grid > .journal-card:last-child { grid-column: auto; }
  .journal-card:last-child { justify-self: stretch; width: auto; }
  .visual-card .image-wrap, .journal-card > img { height: 280px; }
  .journey-row { grid-template-columns: 1fr; gap: 9px; }
  .journey-row .text-link { justify-self: start; }
  .contact-form { grid-template-columns: 1fr; }
  .field.full, .form-note { grid-column: auto; }
  .site-footer { grid-template-columns: 1fr; }
  .version-note { text-align: left; }
}

/* v11.5 header lockup hardening */
.site-header > .brand{display:grid;grid-template-columns:31px minmax(158px,auto);align-items:center;column-gap:14px;min-width:218px;max-width:245px;overflow:visible;position:relative;z-index:2}
.site-header > .brand .brand-mark{width:31px;height:38px;min-width:31px;max-width:31px;object-fit:contain;position:static;transform:none}
.site-header > .brand .brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0;position:static;transform:none}
.site-header > .brand .brand-main{font:400 16px/1 Georgia,"Times New Roman",serif;letter-spacing:.17em;white-space:nowrap}
.site-header > .brand .brand-sub{font:500 6px/1.2 "Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;letter-spacing:.16em;white-space:nowrap}
@media (max-width:680px){.site-header > .brand{grid-template-columns:27px minmax(132px,auto);column-gap:10px;min-width:169px}.site-header > .brand .brand-mark{width:27px;height:33px;min-width:27px;max-width:27px}.site-header > .brand .brand-main{font-size:13px;letter-spacing:.14em}.site-header > .brand .brand-sub{font-size:5.4px;letter-spacing:.13em}}

/* v11.5.2 service films: click-to-play, no autoplay */
.service-film {
  position: relative;
  overflow: hidden;
  background: #0b1b19;
}
.service-film video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-film-trigger {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  background: linear-gradient(180deg, rgba(8,24,23,.04), rgba(8,24,23,.34));
  color: #fffdf8;
  cursor: pointer;
}
.service-film-trigger::before {
  content: "";
  width: 64px;
  height: 64px;
  border: 1px solid rgba(255,253,248,.82);
  border-radius: 50%;
  background: rgba(8,24,23,.44);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
  backdrop-filter: blur(7px);
}
.service-film-trigger::after {
  content: "";
  position: absolute;
  left: calc(50% + 3px);
  top: 50%;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #fffdf8;
  transform: translate(-50%,-50%);
}
.service-film.is-playing .service-film-trigger { display: none; }
.connectivity-film { min-height: 720px; }
.connectivity-film video { object-position: center; }
.executive-film-section { background: #f4f0e7; }
.executive-film-layout {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(280px,380px);
  gap: clamp(52px,8vw,110px);
  align-items: center;
}
.executive-film-copy { max-width: 620px; }
.executive-film-copy h2 { margin-bottom: 24px; }
.executive-film-copy p:not(.eyebrow) { color: #536362; line-height: 1.8; }
.executive-film { aspect-ratio: 9 / 16; border-radius: 2px; box-shadow: 0 28px 70px rgba(15,43,42,.14); }
.business-film-section { background: #f4f0e7; }
.business-film-layout { max-width: 1220px; margin: 0 auto; display: grid; gap: clamp(42px,6vw,82px); }
.business-film-copy { max-width: 760px; display: grid; gap: 18px; }
.business-film-copy h2, .business-film-copy p { margin: 0; }
.business-film-copy > p:not(.eyebrow) { color: #536362; line-height: 1.8; }
.business-film-copy .business-film-note { font-size: 13px; color: #6d7775; }
.business-film { aspect-ratio: 16 / 9; border-radius: 2px; box-shadow: 0 28px 70px rgba(15,43,42,.14); }
.business-film video { object-fit: contain; background: #10151f; }
.esim-hero { background: #173d40; }
.esim-hero .hero-bg { inset: 0 0 0 auto; width: 58%; object-position: center 38%; filter: none; }
.esim-hero::before { background: linear-gradient(90deg,#173d40 0%,#173d40 41%,rgba(23,61,64,.92) 45%,rgba(23,61,64,0) 49%); }
.esim-film-layout {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,520px);
  gap: clamp(52px,8vw,110px);
  align-items: center;
}
.esim-film { aspect-ratio: 16 / 10; border-radius: 2px; box-shadow: 0 28px 70px rgba(15,43,42,.14); }
.esim-film video { object-fit: cover; }
.esim-checks { grid-template-columns: repeat(4,minmax(0,1fr)); }
.centered-action { margin: 46px auto 0; max-width: 620px; text-align: center; }
.centered-action .form-note { margin: 18px auto 0; color: #6d7775; font-size: 12px; line-height: 1.7; }
.inline-link { display: inline; min-height: 0; font-size: inherit; letter-spacing: normal; text-transform: none; }
.footer-links { margin-top: 12px; font-size: 12px; }
.footer-links a { border-bottom: 1px solid rgba(23,61,64,.35); }
.social-presence { margin-top: 38px; padding-top: 24px; border-top: 1px solid rgba(23,61,64,.18); }
.social-presence-section { padding: 28px 7vw; background: #f4f0e7; border-top: 1px solid rgba(23,61,64,.12); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.social-presence-section .eyebrow { margin: 0; color: #6e7e7c; }
.social-presence .eyebrow { margin-bottom: 14px; color: #6e7e7c; }
.social-presence-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.social-presence-links a { color: #173d40; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid rgba(23,61,64,.35); padding-bottom: 3px; }
.social-presence-links a:hover, .social-presence-links a:focus-visible { border-bottom-color: #173d40; }
@media (max-width:900px) {
  .connectivity-film { min-height: 560px; }
  .executive-film-layout { grid-template-columns: 1fr; }
  .executive-film { width: min(100%,380px); margin: 0 auto; }
  .business-film-layout { gap: 36px; }
  .esim-film-layout { grid-template-columns: 1fr; }
  .esim-film { width: 100%; margin: 0 auto; }
  .esim-checks { grid-template-columns: 1fr 1fr; }
  .esim-hero .hero-bg { width: 66%; }
}
@media (max-width:560px) {
  .connectivity-film { min-height: 430px; }
  .service-film-trigger::before { width: 58px; height: 58px; }
  .social-presence-section { align-items: flex-start; flex-direction: column; }
  .esim-checks { grid-template-columns: 1fr; }
  .esim-hero .hero-bg { inset: 0; width: 100%; object-position: center 35%; }
  .esim-hero::before { background: linear-gradient(180deg,rgba(23,61,64,.34),rgba(23,61,64,.88) 72%,#173d40 100%); }
}

/* v11.6.5 — eSIM page refinement */
.esim-page .esim-hero{min-height:max(70vh,640px);}
.esim-page .site-header>.brand{flex-shrink:0;}
.esim-page .site-header>.brand .brand-copy{position:relative;z-index:2;}
.esim-page .esim-hero .hero-content{max-width:760px;}
.esim-install{background:#fffdf8;}
.esim-install-intro{max-width:760px;}
.esim-install-grid{max-width:1180px;margin:46px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.esim-install-step{min-width:0;border-top:1px solid #a88954;padding:24px 18px 8px 0;}
.esim-install-step .number{display:block;margin-bottom:18px;color:#8a6a39;font-size:11px;letter-spacing:.16em;}
.esim-install-step h3{margin:0 0 12px;font:600 28px/1.05 var(--serif);color:#173d40;}
.esim-install-step p{margin:0;color:#536362;font-size:13px;line-height:1.7;}
.esim-install-note{max-width:1180px;margin:34px auto 0;padding-top:22px;border-top:1px solid rgba(23,61,64,.12);color:#6d7775;font-size:12px;line-height:1.7;}
@media(max-width:1380px){.esim-page .site-header{grid-template-columns:minmax(218px,245px) 1fr auto;}.esim-page .mobile-menu{justify-self:end;}}
@media(max-width:900px){.esim-install-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.esim-page .site-header{grid-template-columns:minmax(169px,1fr) auto;}.esim-page .site-header>.brand{max-width:205px;}.esim-page .esim-hero{min-height:680px;}.esim-page .esim-hero .hero-content{padding-top:108px;}.esim-install-grid{grid-template-columns:1fr;gap:12px;}}

/* v11.6.5 — eSIM full-width hero aligned with Destinations hero */
.esim-page .esim-hero {
  background: var(--ink);
  min-height: clamp(520px, 70vh, 700px);
}
.esim-page .esim-hero .hero-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-position: center 38%;
  filter: saturate(.98) contrast(1);
}
.esim-page .esim-hero::before {
  background: linear-gradient(90deg, rgba(12,42,43,.82) 0%, rgba(25,64,62,.48) 42%, rgba(45,83,76,.18) 78%);
}
.esim-page .esim-hero .hero-content {
  max-width: 760px;
  padding-bottom: 6vh;
}
@media (max-width:900px) {
  .esim-page .esim-hero .hero-bg { inset:0; width:100%; }
}
@media (max-width:560px) {
  .esim-page .esim-hero .hero-bg { inset:0; width:100%; object-position:58% 35%; }
  .esim-page .esim-hero::before { background:linear-gradient(180deg,rgba(12,42,43,.28) 0%,rgba(12,42,43,.52) 48%,rgba(12,42,43,.88) 100%); }
}


/* v11.6.5 verified eSIM hero — same full-image treatment as Destinations */
.esim-page .esim-hero {
  min-height: clamp(520px, 60vh, 620px);
  background: var(--ink);
}
.esim-page .esim-hero .hero-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  filter:saturate(.82) contrast(.98);
}
.esim-page .esim-hero::before {
  background:linear-gradient(90deg,rgba(12,42,43,.82) 0%,rgba(25,64,62,.48) 42%,rgba(45,83,76,.18) 78%);
}
.esim-page .esim-hero.soft-green::after {
  background:rgba(87,128,113,.16);
  mix-blend-mode:color;
}
.esim-page .esim-hero .hero-content {
  max-width:820px;
  padding:0 5vw 6vh;
}
@media(max-width:560px){
 .esim-page .esim-hero{min-height:680px;}
 .esim-page .esim-hero .hero-bg{inset:0;width:100%;object-position:58% 35%;}
 .esim-page .esim-hero::before{background:linear-gradient(180deg,rgba(12,42,43,.28) 0%,rgba(12,42,43,.52) 48%,rgba(12,42,43,.88) 100%);}
}


/* FINAL verified hero correction: full photograph, restrained readability shading only */
.esim-page .esim-hero {
  min-height: clamp(520px, 60vh, 620px) !important;
  background:#173d40 !important;
}
.esim-page .esim-hero .hero-bg {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 38% !important;
  filter:none !important;
  opacity:1 !important;
}
.esim-page .esim-hero::before {
  background:linear-gradient(90deg,rgba(12,42,43,.58) 0%,rgba(12,42,43,.38) 34%,rgba(12,42,43,.16) 60%,rgba(12,42,43,.04) 100%) !important;
}
.esim-page .esim-hero::after { display:none !important; }
.esim-page .esim-hero .hero-content {
  max-width:820px !important;
  padding:0 5vw 6vh !important;
  text-shadow:0 1px 12px rgba(8,25,26,.22);
}
@media(max-width:560px){
 .esim-page .esim-hero{min-height:680px !important;}
 .esim-page .esim-hero .hero-bg{object-position:58% 35% !important;}
 .esim-page .esim-hero::before{background:linear-gradient(180deg,rgba(12,42,43,.12) 0%,rgba(12,42,43,.28) 48%,rgba(12,42,43,.72) 100%) !important;}
}

/* v11.8.0 provider-neutral eSIM catalogue */
.esim-catalogue-control{max-width:720px;margin:38px auto 0;padding:28px;background:#f4f0e7}
.esim-catalogue-control label{display:block;margin-bottom:9px;color:#173d40;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.esim-catalogue-control select{width:100%;min-height:54px;border:1px solid rgba(23,61,64,.22);background:#fff;padding:0 16px;color:#173d40;font:inherit}
.esim-catalogue-control p{margin:13px 0 0;color:#617777;font-size:.78rem}
.esim-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.esim-plan{display:flex;min-height:300px;flex-direction:column;padding:34px;border:1px solid rgba(23,61,64,.14);background:#fff}
.esim-plan h3{margin:6px 0 14px;font-size:2.5rem}
.esim-plan>p:not(.eyebrow){color:#617777}
.esim-plan>strong{display:block;margin:24px 0;color:#173d40;font:500 1.8rem "Cormorant Garamond",Georgia,serif}
.esim-plan .text-link{margin-top:auto}
@media(max-width:900px){.esim-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.esim-plan-grid{grid-template-columns:1fr}.esim-plan{min-height:260px}}

/* v11.6.5 eSIM hero final — full natural photo with neutral readability gradient */
.esim-page .esim-hero {
  min-height: clamp(620px, 78vh, 780px) !important;
  background:#111 !important;
}
.esim-page .esim-hero .hero-bg {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:54% 40% !important;
  filter:none !important;
  opacity:1 !important;
}
.esim-page .esim-hero::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg,rgba(7,13,14,.82) 0%,rgba(7,13,14,.68) 24%,rgba(7,13,14,.38) 42%,rgba(7,13,14,.12) 57%,rgba(7,13,14,0) 72%) !important;
}
.esim-page .esim-hero::after { display:none !important; }
.esim-page .esim-hero .hero-content {
  max-width:760px !important;
  padding:0 4.2vw 7vh !important;
  text-shadow:0 2px 12px rgba(0,0,0,.28) !important;
}
@media(max-width:900px){
 .esim-page .esim-hero .hero-bg{object-position:58% 40% !important;}
}
@media(max-width:560px){
 .esim-page .esim-hero{min-height:680px !important;}
 .esim-page .esim-hero .hero-bg{object-position:62% 40% !important;}
 .esim-page .esim-hero::before{background:linear-gradient(180deg,rgba(7,13,14,.18) 0%,rgba(7,13,14,.22) 42%,rgba(7,13,14,.76) 100%) !important;}
}

/* v11.8.5 — natural hero photography: no colour wash, saturation, contrast or fade overlays. */
.hero .hero-bg,
.page-hero .hero-bg { filter:none !important; }
.hero::before,
.page-hero::before,
.hero.soft-green::after,
.page-hero.soft-green::after { display:none !important; }
.hero-content { text-shadow:0 2px 18px rgba(0,0,0,.32); }


/* v11.8.6 — natural photographic headers, including Contact. No fade, tint, colour or contrast processing. */
.contact-hero::before,.contact-hero::after,.contact-hero.soft-green::after{display:none!important;background:none!important;}
.contact-hero .hero-bg{filter:none!important;opacity:1!important;}
