/* Keep the enquiry panel outside the site's top-level route section rules. */
.cruise-planning-panel,
.cruise-planning-validation,
.cruise-planning-status { scroll-margin-top:120px; }
.cruise-planning-panel :is(input, select, textarea),
.cruise-planning-summary dd,
.cruise-planning-status strong { min-width:0; overflow-wrap:anywhere; }

@media (max-width:900px) {
  #cruises :is(.cruise-hero-copy, .cruise-planning-panel, .cruise-planning-summary, .cruise-newsletter form) { min-width:0; }
  #cruises .cruise-modal { width:100%; max-height:94dvh; padding:24px 18px 0; grid-template-columns:minmax(0,1fr); }
  #cruises .cruise-modal h2 { max-width:100%; padding-right:44px; font-size:32px; line-height:1.12; }
  #cruises .cruise-modal > .eyebrow { padding-right:44px; letter-spacing:0; }
  #cruises .cruise-modal > .eyebrow::after,
  #cruises .cruise-modal::before,
  #cruises .selector-header-art { display:none; }
  #cruises .cruise-modal-close { top:16px; right:12px; }
  #cruises .cruise-modal-actions,
  #cruises .selector-selected { margin-inline:-18px; padding:14px 18px; }
  #cruises .cruise-modal-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
  #cruises .cruise-modal-actions button { min-width:0; flex:1; }
  #cruises .selector-featured,
  #cruises .selector-port-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #cruises .selector-featured button { min-width:0; padding:12px; border-radius:8px; }
  #cruises .selector-featured button span { padding:6px; white-space:normal; overflow:visible; }
  #cruises .date-modal > .eyebrow,
  #cruises .date-modal > h2 { grid-column:1; }
  #cruises .date-selector-shell { grid-template-columns:minmax(0,1fr); }
  #cruises .selector-trip-context { display:none; }
  #cruises .date-month-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #cruises .date-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
  #cruises .date-grid button { min-width:0; min-height:44px; padding:6px 2px; }
  #cruises .date-grid button span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  #cruises .calendar-head h3 { font-size:24px; }
  #cruises .guest-selector section { padding:14px; min-width:0; }
  #cruises .guest-selector .guest-counter { grid-template-columns:minmax(0,1fr) 44px 40px 44px; gap:6px; }
  #cruises .guest-counter button { padding:0; }
  #cruises .guest-counter > div { display:block; }
  #cruises .guest-selector .room-head { display:flex; }
  #cruises .room-head h3 { font-size:24px; }
  #cruises .child-age-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-cruise-card-one="true"] body .cruise-card-one-search .cruise-cta { display:flex; justify-content:center; align-items:center; gap:12px; padding:14px; border:0; }
  html[data-cruise-card-one="true"] body .cruise-card-one-search .cruise-cta span { white-space:normal; overflow:visible; }
  .cruise-onboard-feature { grid-template-columns:minmax(0,1fr); }
  .cruise-onboard { padding:0 18px 34px; }
  .cruise-onboard-hero { margin-inline:-18px; }
  .cruise-onboard-proof { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cruise-lead-hero,
  .cruise-more-links > div:first-child,
  .cruise-newsletter { grid-template-columns:minmax(0,1fr); gap:24px; }
  .cruise-more-links > div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cruise-lead-footer { padding:0; }
  .cruise-newsletter form { grid-template-columns:minmax(0,1fr); }
  .cruise-newsletter input[type="email"] { min-width:0; width:100%; font-size:16px; }
  .cruise-newsletter .check { align-items:flex-start; }
  .cruise-newsletter .check input { flex:0 0 auto; }
  .cruise-planning .cruise-next { position:static; width:100%; padding:14px 18px; min-height:52px; white-space:normal; }
  .cruise-planning-submit-row button { padding:14px 18px; }
  .cruise-planning-panel,
  .cruise-planning-validation,
  .cruise-planning-status { scroll-margin-top:24px; }
  html[data-cruise-public-route="true"] .whatsapp-float { position:static; width:max-content; max-width:calc(100% - 36px); margin:0 18px 24px auto; }
  #cruises :is(.cruise-package-itinerary, .cruise-approved-footer-links button) { min-height:44px; }
  #cruises :is(.cruise-planning-review, .cruise-planning-status, .cruise-planning-summary) { overflow-wrap:anywhere; }
}

@media (max-width:760px) {
  html:has(#cruises.active-public-section) body .topbar,
  html[data-cruise-public-route="true"] body .topbar { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:12px 18px; }
  html:has(#cruises.active-public-section) body .topbar nav,
  html[data-cruise-public-route="true"] body .topbar nav { min-width:0; max-width:100%; flex-wrap:wrap; justify-content:flex-start; gap:0 14px; overflow:visible; }
  html:has(#cruises.active-public-section) body .topbar nav > a,
  html[data-cruise-public-route="true"] body .topbar nav > a,
  html:has(#cruises.active-public-section) .more-menu summary,
  html[data-cruise-public-route="true"] .more-menu summary { min-height:44px; display:inline-flex; align-items:center; }
  html:has(#cruises.active-public-section) body .more-menu[open],
  html[data-cruise-public-route="true"] body .more-menu[open] { display:block !important; flex-basis:100%; }
  html:has(#cruises.active-public-section) .more-menu-panel,
  html[data-cruise-public-route="true"] .more-menu-panel { width:100%; min-width:0; box-sizing:border-box; }
  html:has(#cruises.active-public-section) .more-menu-panel a,
  html[data-cruise-public-route="true"] .more-menu-panel a { min-height:44px; }
  .cruise-onboard-hero { grid-template-columns:minmax(0,1fr); gap:18px; }
  .cruise-onboard-feature > article { padding:28px 22px; }
  .cruise-onboard-feature > article button { width:auto; max-width:100%; white-space:normal; }
  .cruise-onboard-feature aside { padding:24px 20px; }
  .cruise-onboard-detail-row { grid-template-columns:minmax(0,1fr); }
  .cruise-onboard .cruise-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cruise-onboard .cruise-tabs button { min-width:0; padding:12px 8px; overflow-wrap:anywhere; }
  .cruise-more-links,
  .cruise-newsletter { padding:36px 18px; }
  .cruise-newsletter-script { position:static; justify-self:end; transform:none; }
  .cruise-planning-panel { padding:22px 18px; }
  .cruise-planning-steps { gap:8px; padding:10px; }
  .cruise-planning-steps button { padding:10px 6px; overflow-wrap:anywhere; }
}

@media (max-width:520px) {
  #cruises .selector-port-groups { grid-template-columns:minmax(0,1fr); }
  .cruise-hero-copy h1 { font-size:38px; line-height:1.08; }
  .cruise-onboard-hero h2 { font-size:42px; line-height:1.08; }
  .cruise-onboard-feature > article h3 { font-size:34px; line-height:1.1; }
  .cruise-onboard-proof,
  .cruise-more-links > div:last-child { grid-template-columns:minmax(0,1fr); }
  .cruise-lead-hero { padding:40px 18px 96px; }
  .cruise-lead-hero h2 { font-size:40px; line-height:1.08; }
  .cruise-lead-actions button { width:100%; padding:14px; }
  .cruise-package-detail-copy h1 { font-size:36px; line-height:1.08; }
  .cruise-package-detail-summary { padding:22px 18px; }
  .cruise-package-detail-summary h2,
  .cruise-package-detail-itinerary h2 { font-size:32px; line-height:1.1; }
  .cruise-planning-panel h2 { font-size:30px; line-height:1.12; }
  .cruise-planning-hero h1 { font-size:36px; line-height:1.08; }
  .cruise-planning-review article { padding:16px; }
}
/* Reviewer approval locks must not look like enabled actions. */
#rateHawkReviewerForm button:disabled {
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(1);
}

/* Approved homepage hero */
html[data-public-review="true"].home-view body > .topbar { display:none; }
html[data-public-review="true"].home-view #home .whatsapp-float { display:none; }
.hero#home { min-height:0; padding:0; overflow:hidden; color:#fff; background:#071722; font-family:var(--font-brand); }
.hero#home::before { content:none; }
.home-hero-stage { position:relative; min-height:clamp(650px,82vh,855px); display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#163644 url("./assets/home/hero/halong-bay-hero-poster.jpg") center/cover no-repeat; }
.home-hero-video { position:absolute; inset:0; z-index:-3; width:100%; height:100%; display:block; object-fit:cover; object-position:center center; opacity:0; transition:opacity .55s ease; }
.home-hero-stage.video-ready .home-hero-video { opacity:1; }
.home-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(4,22,35,.66) 0%,rgba(4,22,35,.34) 38%,rgba(4,22,35,.08) 70%,rgba(4,22,35,.2) 100%),linear-gradient(180deg,rgba(4,18,30,.34) 0%,transparent 30%,transparent 64%,rgba(2,14,24,.4) 100%); pointer-events:none; }
.home-hero-header { position:absolute; z-index:4; top:0; left:0; right:0; min-height:118px; display:grid; grid-template-columns:210px minmax(0,1fr); align-items:center; gap:44px; padding:25px 3.8vw 20px; }
.home-hero-logo { width:166px; display:block; }
.home-hero-logo img { width:100%; height:auto; display:block; }
.home-hero-header,.hero#home .hero-content,.home-hero-location { text-shadow:0 2px 18px rgba(0,0,0,.48); }
.home-hero-navigation { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:38px; }
.home-hero-primary-nav,.home-hero-actions-nav { display:flex; align-items:center; flex-wrap:nowrap; }
.home-hero-primary-nav { gap:54px; }
.home-hero-actions-nav { justify-content:flex-end; gap:24px; }
.home-hero-primary-nav a,.home-hero-actions-nav a { color:#fff; text-decoration:none; }
.home-hero-primary-nav a { padding:8px 0; font-size:12px; font-weight:650; letter-spacing:.22em; text-transform:uppercase; }
.home-hero-primary-nav a::after,.home-hero-actions-nav a::after { display:none; }
.home-hero-primary-nav a:hover,.home-hero-primary-nav a:focus-visible,.home-hero-actions-nav a:hover,.home-hero-actions-nav a:focus-visible { color:#fff; opacity:.82; }
.home-hero-icon-link { width:38px; height:38px; display:grid; place-items:center; padding:0; }
.home-hero-icon-link svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-hero-divider { width:1px; height:28px; background:rgba(255,255,255,.6); }
.home-hero-phone { white-space:nowrap; font-size:13px; font-weight:500; letter-spacing:.13em; }
.home-hero-plan-link { min-height:48px; min-width:158px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.82); border-radius:4px; padding:0 22px !important; font-size:12px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.home-hero-menu-button { display:none; }
.hero#home .hero-content { position:relative; z-index:2; width:min(590px,43vw); max-width:none; padding:86px 0 30px 3.8vw; }
.home-hero-eyebrow { display:flex; align-items:center; gap:20px; margin:0 0 24px; color:#fff; font-size:12px; font-weight:750; letter-spacing:.28em; line-height:1.2; text-transform:uppercase; }
.home-hero-eyebrow::after { content:""; width:52px; height:1px; background:rgba(255,255,255,.88); }
.hero#home .hero-content h1 { margin:0; color:#fff; font-size:76px; font-weight:300; line-height:.98; letter-spacing:0; text-wrap:balance; }
.hero#home #homeHeroCopy { margin:28px 0 0; color:rgba(255,255,255,.94); font-size:17px; font-weight:400; line-height:1.58; letter-spacing:0; }
.hero#home .hero-actions { display:flex; flex-wrap:wrap; gap:18px; margin-top:32px; }
.home-hero-primary-cta,.home-hero-secondary-cta { min-height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:4px; padding:0 28px; font-size:12px; font-weight:800; letter-spacing:.15em; line-height:1; text-decoration:none; text-transform:uppercase; }
.home-hero-primary-cta { gap:24px; color:#071722; background:#fff; }
.home-hero-secondary-cta { min-width:180px; border:1px solid rgba(255,255,255,.84); color:#fff; background:rgba(5,24,38,.12); }
.home-hero-primary-cta::after,.home-hero-secondary-cta::after { display:none; }
.home-hero-primary-cta:hover,.home-hero-primary-cta:focus-visible { color:#071722; background:#f4f7f8; }
.home-hero-secondary-cta:hover,.home-hero-secondary-cta:focus-visible { color:#fff; background:rgba(255,255,255,.12); }
.home-hero-location { position:absolute; z-index:2; left:3.8vw; bottom:40px; display:grid; gap:7px; border-left:1px solid rgba(255,255,255,.75); margin:0; padding:7px 0 7px 24px; color:#fff; text-transform:uppercase; }
.home-hero-location span,.home-hero-location strong { font-size:11px; font-weight:650; line-height:1; letter-spacing:.25em; }
.home-hero-video-status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.home-service-strip { width:100%; min-height:136px; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); align-items:stretch; gap:0; overflow-x:auto; scrollbar-width:none; border-top:1px solid rgba(255,255,255,.08); padding:26px 3.2vw 25px; color:#fff; background:linear-gradient(100deg,#07151f 0%,#0a1c27 48%,#081721 100%); }
.home-service-strip::-webkit-scrollbar { display:none; }
.home-service-strip > a { min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr); align-content:center; align-items:start; gap:10px; border-right:1px solid rgba(255,255,255,.22); padding:8px 14px; color:#fff; text-decoration:none; }
.home-service-strip > a:last-child { border-right:0; }
.home-service-strip > a::after { display:none; }
.home-service-strip > a:hover,.home-service-strip > a:focus-visible { color:#fff; background:rgba(255,255,255,.045); }
.home-service-strip svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.home-service-strip span { min-width:0; display:grid; gap:8px; }
.home-service-strip strong { overflow-wrap:anywhere; font-size:11px; font-weight:700; letter-spacing:.13em; line-height:1.32; text-transform:uppercase; }
.home-service-strip small { color:rgba(255,255,255,.65); font-size:11px; font-weight:400; letter-spacing:0; line-height:1.35; }

@media (max-width:1180px) {
  .home-hero-header { grid-template-columns:180px minmax(0,1fr); gap:24px; padding-inline:3vw; }
  .home-hero-logo { width:150px; }
  .home-hero-navigation { gap:20px; }
  .home-hero-primary-nav { gap:28px; }
  .home-hero-actions-nav { gap:14px; }
  .home-hero-phone { display:none; }
  .home-hero-divider { display:none; }
  .hero#home .hero-content { width:min(550px,52vw); padding-left:4vw; }
  .hero#home .hero-content h1 { font-size:66px; }
  .home-service-strip { grid-auto-flow:column; grid-auto-columns:210px; grid-template-columns:none; padding-inline:22px; }
}

@media (max-width:760px) {
  .home-hero-stage { min-height:680px; align-items:flex-end; background-position:58% center; }
  .home-hero-video { object-position:58% center; }
  .home-hero-header { min-height:88px; grid-template-columns:1fr auto; align-items:center; padding:18px 20px; }
  .home-hero-logo { width:142px; }
  .home-hero-menu-button { width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.58); border-radius:4px; padding:0; color:#fff; background:rgba(4,22,35,.18); }
  .home-hero-menu-button svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
  .home-hero-navigation { position:absolute; top:76px; left:20px; right:20px; display:none; align-items:stretch; gap:16px; border:1px solid rgba(255,255,255,.26); border-radius:6px; padding:18px; background:rgba(5,23,35,.94); box-shadow:0 20px 50px rgba(0,0,0,.28); backdrop-filter:blur(16px); }
  .home-hero-header.menu-open .home-hero-navigation { display:grid; }
  .home-hero-primary-nav,.home-hero-actions-nav { align-items:stretch; }
  .home-hero-primary-nav { display:grid; gap:4px; }
  .home-hero-primary-nav a { min-height:42px; display:flex; align-items:center; font-size:12px; }
  .home-hero-actions-nav { display:grid; grid-template-columns:44px 44px minmax(0,1fr); gap:10px; }
  .home-hero-phone,.home-hero-divider { display:none; }
  .home-hero-plan-link { min-width:0; min-height:44px; padding-inline:12px !important; }
  .hero#home .hero-content { width:100%; max-width:560px; padding:0 20px 126px; }
  .home-hero-eyebrow { margin-bottom:20px; font-size:11px; letter-spacing:.22em; }
  .hero#home .hero-content h1 { font-size:54px; line-height:.98; }
  .hero#home #homeHeroCopy { margin-top:22px; font-size:16px; line-height:1.5; }
  .hero#home #homeHeroCopy br { display:none; }
  .hero#home .hero-actions { gap:12px; margin-top:26px; }
  .home-hero-primary-cta,.home-hero-secondary-cta { min-height:46px; padding-inline:18px; font-size:11px; }
  .home-hero-primary-cta { gap:14px; }
  .home-hero-secondary-cta { min-width:150px; }
  .home-hero-location { left:20px; bottom:30px; padding-left:16px; }
  .home-service-strip { min-height:116px; grid-auto-columns:195px; padding:18px 10px 17px; scroll-snap-type:x proximity; }
  .home-service-strip > a { grid-template-columns:30px minmax(0,1fr); padding:7px 18px; scroll-snap-align:start; }
  .home-service-strip svg { width:25px; height:25px; }
}

@media (max-width:430px) {
  .home-hero-stage { min-height:650px; }
  .hero#home .hero-content { padding-bottom:120px; }
  .hero#home .hero-content h1 { font-size:48px; }
  .hero#home .hero-actions { display:grid; grid-template-columns:1fr; width:min(290px,100%); }
  .home-hero-primary-cta,.home-hero-secondary-cta { width:100%; }
  .home-hero-location { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .home-hero-video { display:none; }
}

/* Homepage card layout 2: traveller package discovery */
.home-journey { overflow:hidden; padding:72px 36px 58px; color:#111827; background:#fff; font-family:var(--font-brand); }
.home-journey-inner { width:min(1360px,100%); margin:0 auto; }
.home-journey-heading { max-width:760px; margin:0 auto 34px; text-align:center; }
.home-journey-heading h2 { margin:0; color:#070b12; font-family:var(--font-brand); font-size:48px; font-weight:750; line-height:1.05; letter-spacing:0; text-transform:uppercase; }
.home-journey-heading p { margin:16px 0 0; color:#596273; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:0; }
.home-journey-cards { width:100%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; gap:12px; overflow:visible; font-family:var(--font-brand); }
.home-journey-card { min-width:0; display:block; overflow:hidden; border:1px solid rgba(7,26,56,.1); border-radius:6px; background:#eef3f5; box-shadow:0 8px 24px rgba(7,26,56,.07); outline-offset:4px; }
.home-journey-card::after { display:none; }
.home-journey-card img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; filter:saturate(1.04) contrast(1.02); }
.home-journey-card:hover { border-color:rgba(7,95,228,.42); box-shadow:0 12px 30px rgba(7,26,56,.12); }
.home-journey-card:focus-visible { outline:3px solid var(--blue); }
.home-journey-more { width:max-content; min-width:206px; min-height:48px; display:flex; align-items:center; justify-content:center; gap:22px; margin:28px auto 0; border:1px solid #09295d; border-radius:4px; padding:0 24px; color:#fff; background:#09295d; font-family:var(--font-brand); font-size:12px; font-weight:800; line-height:1; letter-spacing:.14em; text-transform:uppercase; }
.home-journey-more::after { display:none; }
.home-journey-more:hover,.home-journey-more:focus-visible { color:#fff; background:#061e47; }
.home-journey-more:focus-visible { outline:3px solid rgba(7,95,228,.42); outline-offset:3px; }

@media (max-width:1100px) {
  .home-journey { padding:64px 28px 54px; }
  .home-journey-heading h2 { font-size:42px; }
  .home-journey-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
}

@media (max-width:760px) {
  .home-journey { padding:52px 20px 48px; }
  .home-journey-heading { margin-bottom:28px; text-align:left; }
  .home-journey-heading h2 { font-size:36px; }
  .home-journey-heading p { font-size:15px; }
  .home-journey-heading br { display:none; }
  .home-journey-cards { width:calc(100% + 20px); grid-auto-flow:column; grid-auto-columns:272px; grid-template-columns:none; gap:12px; overflow-x:auto; overscroll-behavior-inline:contain; padding:0 20px 12px 0; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .home-journey-cards::-webkit-scrollbar { display:none; }
  .home-journey-card { scroll-snap-align:start; }
  .home-journey-more { margin-top:20px; }
}

@media (max-width:430px) {
  .home-journey { padding-inline:18px; }
  .home-journey-heading h2 { font-size:32px; }
  .home-journey-cards { width:calc(100% + 18px); grid-auto-columns:258px; padding-right:18px; }
}

/* Homepage card layout 3: curated destination carousel */
.home-trips { position:relative; overflow:hidden; min-height:780px; padding:70px 0 42px; color:#fff; background:#07131d; font-family:var(--font-brand); }
.home-trips-inner { position:relative; z-index:1; width:min(1440px,100%); display:grid; grid-template-columns:260px minmax(0,1fr); gap:34px; margin:0 auto; padding:0 36px; }
.home-trips-intro { align-self:center; padding-bottom:66px; }
.home-trips-eyebrow { display:flex; align-items:center; gap:14px; margin:0 0 24px; color:#76bce8; font-size:11px; font-weight:700; line-height:1; letter-spacing:.28em; text-transform:uppercase; }
.home-trips-eyebrow span { width:44px; height:1px; background:#76bce8; }
.home-trips-intro h2 { margin:0; color:#fff; font-family:var(--font-brand); font-size:48px; font-weight:450; line-height:1.08; letter-spacing:0; text-transform:uppercase; }
.home-trips-copy { max-width:235px; margin:20px 0 0; color:rgba(255,255,255,.82); font-size:15px; line-height:1.55; letter-spacing:0; }
.home-trips-arrows { display:flex; gap:24px; margin-top:28px; }
.home-trips-arrows button { width:56px; min-width:56px; height:56px; min-height:56px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; padding:0; color:#fff; background:transparent; }
.home-trips-arrows button:hover,.home-trips-arrows button:focus-visible { background:rgba(255,255,255,.1); }
.home-trips-arrows button:focus-visible { outline:3px solid #76bce8; outline-offset:3px; }
.home-trips-arrows button:disabled { opacity:.34; cursor:not-allowed; }
.home-trips-arrows svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.home-trips-carousel { min-width:0; }
.home-trips-viewport { width:calc(100% + 36px); overflow-x:auto; overscroll-behavior-inline:contain; padding-right:36px; scroll-snap-type:x mandatory; scrollbar-width:none; outline:none; }
.home-trips-viewport::-webkit-scrollbar { display:none; }
.home-trips-viewport:focus-visible { outline:2px solid #76bce8; outline-offset:6px; }
.home-trips-track { width:max-content; display:flex; gap:16px; }
.home-trips-track::after { content:""; flex:0 0 var(--trips-end-space, 0); }
.home-trip-card { position:relative; width:252px; flex:0 0 252px; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:6px; background:#0b1c28; scroll-snap-align:start; }
.home-trip-card img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }
.home-trip-card > div { position:absolute; inset:auto 0 0; display:grid; justify-items:start; min-height:236px; align-content:end; padding:62px 20px 20px; background:linear-gradient(180deg,transparent 0%,rgba(3,12,19,.76) 32%,rgba(3,12,19,.96) 100%); }
.home-trip-card h3 { margin:0 0 12px; color:#fff; font-size:17px; font-weight:800; line-height:1.15; letter-spacing:.12em; text-transform:uppercase; }
.home-trip-card h3::after { content:""; width:34px; height:1px; display:block; margin-top:11px; background:#76bce8; }
.home-trip-card p { min-height:42px; margin:0 0 15px; color:#fff; font-size:12px; font-weight:700; line-height:1.42; letter-spacing:.1em; text-transform:uppercase; }
.home-trip-card a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.82); border-radius:3px; padding:0 18px; color:#fff; font-size:11px; font-weight:800; line-height:1; letter-spacing:.11em; text-transform:uppercase; }
.home-trip-card a::after { display:none; }
.home-trip-card a:hover,.home-trip-card a:focus-visible { color:#07131d; background:#fff; }
.home-trip-card a:focus-visible { outline:3px solid #76bce8; outline-offset:2px; }
.home-trips-status { min-height:56px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(260px,1fr); align-items:center; gap:22px; padding:18px 10px 0; }
.home-trips-dots { display:grid; grid-template-columns:repeat(8,minmax(18px,1fr)); gap:7px; }
.home-trips-dots button { width:100%; min-width:18px; min-height:24px; position:relative; border:0; border-radius:0; padding:0; background:transparent; }
.home-trips-dots button::before { content:""; position:absolute; inset:11px 0 auto; height:3px; border-radius:3px; background:rgba(255,255,255,.3); }
.home-trips-dots button.active::before { background:#fff; }
.home-trips-dots button:focus-visible { outline:2px solid #76bce8; outline-offset:1px; }
.home-trips-status output { color:#a9c9df; font-size:11px; font-weight:600; letter-spacing:.08em; }
.home-trips-status p { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:0; color:rgba(255,255,255,.66); font-size:9px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.home-trips-status p span { width:42px; height:1px; background:#76bce8; }
.home-trips-signoff { grid-column:1 / -1; justify-self:end; margin:4px 0 0; color:#76bce8; font-size:9px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.home-trips-signoff span { margin:0 10px; }
.home-trips-contours { position:absolute; left:-110px; bottom:-150px; width:420px; height:330px; pointer-events:none; opacity:.34; }
.home-trips-contours span { position:absolute; inset:0; border:1px solid #12476d; border-radius:44% 56% 48% 52%; transform:rotate(13deg); }
.home-trips-contours span:nth-child(2) { inset:22px; }
.home-trips-contours span:nth-child(3) { inset:44px; }

@media (max-width:1100px) {
  .home-trips { min-height:0; padding-top:58px; }
  .home-trips-inner { grid-template-columns:220px minmax(0,1fr); gap:26px; padding-inline:28px; }
  .home-trips-intro h2 { font-size:42px; }
  .home-trip-card { width:240px; flex-basis:240px; }
  .home-trips-status { grid-template-columns:minmax(0,1fr) auto; }
  .home-trips-status p { display:none; }
}

@media (max-width:760px) {
  .home-trips { padding:50px 0 34px; }
  .home-trips-inner { display:block; padding:0 20px; }
  .home-trips-intro { padding:0 0 30px; }
  .home-trips-eyebrow { margin-bottom:18px; }
  .home-trips-intro h2 { font-size:36px; }
  .home-trips-copy { max-width:520px; margin-top:16px; font-size:14px; }
  .home-trips-arrows { margin-top:22px; }
  .home-trips-arrows button { width:48px; min-width:48px; height:48px; min-height:48px; }
  .home-trips-viewport { width:calc(100% + 20px); padding-right:20px; }
  .home-trip-card { width:min(360px,calc(100vw - 72px)); flex-basis:min(360px,calc(100vw - 72px)); }
  .home-trips-status { padding-inline:0; }
  .home-trips-signoff { margin-top:14px; font-size:8px; }
}

@media (max-width:430px) {
  .home-trips-inner { padding-inline:18px; }
  .home-trips-intro h2 { font-size:32px; }
  .home-trips-viewport { width:calc(100% + 18px); padding-right:18px; }
  .home-trips-status { gap:14px; }
}

@media (prefers-reduced-motion:reduce) {
  .home-trips-viewport { scroll-behavior:auto; }
}

/* Homepage card layout 4: About Lery Hago */
.home-about { width:100%; overflow:hidden; background:#f8f9fb; color:#071f48; font-family:var(--font-brand); }
.home-about-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
.home-about-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:62px 72px 46px; background:#f8f9fb; }
.home-about-eyebrow { display:flex; align-items:center; gap:20px; margin:0 0 28px; color:#0a2a5e; font-size:11px; font-weight:700; line-height:1; letter-spacing:.28em; text-transform:uppercase; }
.home-about-eyebrow span { width:58px; height:1px; background:#0a2a5e; }
.home-about-copy h2 { margin:0; color:#071f48; font-family:var(--font-brand); font-size:46px; font-weight:400; line-height:1.12; letter-spacing:0; }
.home-about-story { max-width:540px; margin-top:26px; }
.home-about-story p { margin:0; color:#30415e; font-size:15px; font-weight:400; line-height:1.58; letter-spacing:0; }
.home-about-story p + p { margin-top:22px; }
.home-about-cta { width:200px; min-height:52px; margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #07346d; border-radius:3px; padding:0 23px; color:#fff; background:#07346d; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-about-cta::after { display:none; }
.home-about-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-about-cta:hover { color:#fff; background:#0b477f; }
.home-about-cta:focus-visible { outline:3px solid #66aee0; outline-offset:3px; }
.home-about-signature { min-height:55px; display:flex; align-items:center; gap:30px; margin-top:28px; color:#c8d7e8; }
.home-about-signature > span { width:48px; height:1px; background:#c89b39; }
.home-about-signature em { font-family:var(--font-brand); font-size:25px; font-weight:300; line-height:1.1; letter-spacing:0; }
.home-about-visual { min-width:0; margin:0; align-self:center; background:#d9c9af; }
.home-about-visual img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }

@media (max-width:1100px) {
  .home-about-copy { padding:48px 46px 38px; }
  .home-about-copy h2 { font-size:38px; }
  .home-about-story { margin-top:22px; }
  .home-about-story p { font-size:14px; line-height:1.52; }
  .home-about-story p + p { margin-top:17px; }
  .home-about-cta { margin-top:21px; }
  .home-about-signature { min-height:42px; margin-top:20px; }
  .home-about-signature em { font-size:21px; }
}

@media (max-width:820px) {
  .home-about-inner { display:block; }
  .home-about-copy { padding:54px 44px 38px; }
  .home-about-story { max-width:620px; }
  .home-about-visual { width:100%; }
}

@media (max-width:520px) {
  .home-about-copy { padding:44px 20px 32px; }
  .home-about-eyebrow { gap:14px; margin-bottom:22px; font-size:10px; }
  .home-about-eyebrow span { width:42px; }
  .home-about-copy h2 { font-size:32px; line-height:1.16; }
  .home-about-story { margin-top:22px; }
  .home-about-story p { font-size:14px; line-height:1.55; }
  .home-about-story p + p { margin-top:18px; }
  .home-about-cta { width:184px; min-height:50px; margin-top:24px; padding-inline:20px; }
  .home-about-signature { gap:20px; margin-top:24px; }
  .home-about-signature > span { width:38px; }
  .home-about-signature em { font-size:19px; }
}

/* Homepage card layout 5: Flights */
.home-flight-feature { width:100%; overflow:hidden; color:#071f48; background:#f9f7f2; font-family:var(--font-brand); }
.home-flight-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); align-items:stretch; }
.home-flight-feature-visual { min-width:0; margin:0; align-self:center; background:#d5d9dd; }
.home-flight-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }
.home-flight-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 70px; background:#f9f7f2; }
.home-flight-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-flight-feature-rule { width:48px; height:2px; display:block; margin-top:20px; background:#c99448; }
.home-flight-feature-copy h2 { margin:40px 0 0; color:#071f48; font-family:var(--font-brand); font-size:48px; font-weight:500; line-height:1.16; letter-spacing:.06em; text-transform:uppercase; }
.home-flight-feature-description { max-width:490px; margin:30px 0 0; color:#5b6a84; font-size:17px; font-weight:400; line-height:1.6; letter-spacing:0; }
.home-flight-feature-cta { width:220px; min-height:54px; margin-top:30px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #092b62; border-radius:3px; padding:0 24px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-flight-feature-cta::after { display:none; }
.home-flight-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-flight-feature-cta:hover { color:#fff; background:#0d437e; }
.home-flight-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }

@media (max-width:1100px) {
  .home-flight-feature-copy { padding:48px 44px; }
  .home-flight-feature-copy h2 { margin-top:32px; font-size:39px; }
  .home-flight-feature-description { margin-top:24px; font-size:15px; line-height:1.55; }
  .home-flight-feature-cta { margin-top:25px; }
}

@media (max-width:820px) {
  .home-flight-feature-inner { display:flex; flex-direction:column; }
  .home-flight-feature-visual { width:100%; }
  .home-flight-feature-copy { padding:52px 44px 58px; }
  .home-flight-feature-description { max-width:620px; }
}

@media (max-width:520px) {
  .home-flight-feature-copy { padding:42px 20px 48px; }
  .home-flight-feature-eyebrow { font-size:10px; }
  .home-flight-feature-rule { width:42px; margin-top:16px; }
  .home-flight-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; letter-spacing:.04em; }
  .home-flight-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-flight-feature-cta { width:196px; min-height:50px; margin-top:24px; padding-inline:20px; }
}

/* Homepage card layout 6: Stays */
.home-stays-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-stays-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:stretch; }
.home-stays-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:54px 62px; background:#faf8f3; }
.home-stays-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-stays-feature-rule { width:48px; height:2px; display:block; margin-top:18px; background:#c99448; }
.home-stays-feature-copy h2 { margin:32px 0 0; color:#071f48; font-family:var(--font-brand); font-size:45px; font-weight:500; line-height:1.16; letter-spacing:.04em; text-transform:uppercase; }
.home-stays-feature-description { max-width:500px; margin:24px 0 0; color:#5b6a84; font-size:16px; font-weight:400; line-height:1.56; letter-spacing:0; }
.home-stays-feature-cta { width:212px; min-height:52px; margin-top:25px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #092b62; border-radius:3px; padding:0 22px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-stays-feature-cta::after { display:none; }
.home-stays-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-stays-feature-cta:hover { color:#fff; background:#0d437e; }
.home-stays-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
.home-stays-feature-grid { width:100%; max-width:520px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:30px 0 0; padding:0; border-top:1px solid #d9dde3; border-bottom:1px solid #d9dde3; list-style:none; }
.home-stays-feature-grid li { min-width:0; min-height:72px; display:flex; align-items:center; gap:13px; padding:14px 14px 14px 4px; color:#142d59; font-size:13px; font-weight:600; line-height:1.25; letter-spacing:0; }
.home-stays-feature-grid li:nth-child(even) { border-left:1px solid #d9dde3; padding-left:22px; }
.home-stays-feature-grid li:nth-child(n+3) { border-top:1px solid #d9dde3; }
.home-stays-feature-grid svg { width:27px; height:27px; flex:0 0 27px; fill:none; stroke:#d68a38; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.home-stays-feature-visual { min-width:0; margin:0; align-self:center; background:#b9e5e5; }
.home-stays-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }

@media (max-width:1100px) {
  .home-stays-feature-copy { padding:40px 38px; }
  .home-stays-feature-copy h2 { margin-top:27px; font-size:37px; }
  .home-stays-feature-description { margin-top:20px; font-size:14px; line-height:1.5; }
  .home-stays-feature-cta { margin-top:21px; }
  .home-stays-feature-grid { margin-top:24px; }
  .home-stays-feature-grid li { min-height:64px; padding-block:11px; }
}

@media (max-width:820px) {
  .home-stays-feature-inner { display:flex; flex-direction:column; }
  .home-stays-feature-copy { padding:52px 44px 56px; }
  .home-stays-feature-description,.home-stays-feature-grid { max-width:620px; }
  .home-stays-feature-visual { width:100%; }
}

@media (max-width:520px) {
  .home-stays-feature-copy { padding:42px 20px 46px; }
  .home-stays-feature-eyebrow { font-size:10px; }
  .home-stays-feature-rule { width:42px; margin-top:16px; }
  .home-stays-feature-copy h2 { margin-top:27px; font-size:32px; line-height:1.18; letter-spacing:.03em; }
  .home-stays-feature-description { margin-top:21px; font-size:14px; line-height:1.58; }
  .home-stays-feature-cta { width:196px; min-height:50px; margin-top:24px; padding-inline:20px; }
  .home-stays-feature-grid { margin-top:26px; }
  .home-stays-feature-grid li { font-size:12px; }
}

@media (max-width:420px) {
  .home-stays-feature-grid { grid-template-columns:1fr; }
  .home-stays-feature-grid li { min-height:58px; padding:11px 4px; border-left:0; }
  .home-stays-feature-grid li:nth-child(even) { border-left:0; padding-left:4px; }
  .home-stays-feature-grid li:nth-child(n+2) { border-top:1px solid #d9dde3; }
}

/* Homepage card layout 7: eSIM */
.home-esim-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-esim-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); align-items:stretch; }
.home-esim-feature-visual { position:relative; min-width:0; margin:0; align-self:center; overflow:hidden; background:#eef6fc; }
.home-esim-feature-scene { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }
.home-esim-feature-phone-screen { position:absolute; z-index:1; top:18.4%; left:43.1%; width:36.6%; height:65.2%; overflow:hidden; border-radius:11% / 6%; pointer-events:none; }
.home-esim-feature-screen-brand { position:absolute; z-index:3; top:12%; left:15%; width:70%; display:grid; justify-items:center; gap:10px; }
.home-esim-feature-screen-brand img { width:100%; height:auto; display:block; object-fit:contain; }
.home-esim-feature-screen-brand span { min-width:76px; min-height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; padding:0 15px; color:#fff; background:#3978cf; font-family:var(--font-brand); font-size:17px; font-weight:750; line-height:1; letter-spacing:0; }
.home-esim-feature-route { position:absolute; z-index:1; top:34%; left:7%; width:86%; height:28%; overflow:visible; fill:none; stroke:#6ba7db; stroke-width:1.2; stroke-linecap:round; stroke-dasharray:3 4; opacity:.62; }
.home-esim-feature-route-plane { fill:#4f8ed1; stroke:none; stroke-dasharray:none; }
.home-esim-feature-cloud { position:absolute; z-index:2; width:18%; height:3.7%; border-radius:999px; background:rgba(255,255,255,.88); box-shadow:0 2px 7px rgba(75,126,166,.1); }
.home-esim-feature-cloud::before,.home-esim-feature-cloud::after { content:""; position:absolute; bottom:0; border-radius:50%; background:inherit; }
.home-esim-feature-cloud::before { left:16%; width:42%; aspect-ratio:1; }
.home-esim-feature-cloud::after { right:14%; width:55%; aspect-ratio:1; }
.home-esim-feature-cloud-one { top:44%; left:7%; }
.home-esim-feature-cloud-two { top:37%; right:7%; transform:scale(.78); }
.home-esim-feature-cloud-three { top:55%; right:23%; transform:scale(.58); opacity:.72; }
.home-esim-feature-birds { position:absolute; z-index:2; top:53%; left:42%; color:#4d91cf; font-size:16px; font-weight:700; line-height:1; letter-spacing:5px; transform:rotate(8deg); opacity:.72; }
.home-esim-feature-landmarks { position:absolute; z-index:2; right:4%; bottom:1%; width:92%; height:39%; }
.home-esim-feature-landmark-fill { fill:#7db3d9; opacity:.72; }
.home-esim-feature-landmark-line { fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; opacity:.76; }
.home-esim-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 68px; background:#faf8f3; }
.home-esim-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-esim-feature-rule { width:48px; height:2px; display:block; margin-top:19px; background:#c99448; }
.home-esim-feature-copy h2 { margin:38px 0 0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-esim-feature-description { max-width:500px; margin:28px 0 0; color:#5b6a84; font-size:16px; font-weight:400; line-height:1.62; letter-spacing:0; }
.home-esim-feature-cta { width:218px; min-height:54px; margin-top:29px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #092b62; border-radius:3px; padding:0 23px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-esim-feature-cta::after { display:none; }
.home-esim-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-esim-feature-cta:hover { color:#fff; background:#0d437e; }
.home-esim-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }

@media (max-width:1100px) {
  .home-esim-feature-copy { padding:48px 42px; }
  .home-esim-feature-copy h2 { margin-top:31px; font-size:37px; }
  .home-esim-feature-description { margin-top:23px; font-size:14px; line-height:1.56; }
  .home-esim-feature-cta { margin-top:24px; }
  .home-esim-feature-screen-brand { gap:7px; }
  .home-esim-feature-screen-brand span { min-width:62px; min-height:30px; padding-inline:12px; font-size:14px; }
  .home-esim-feature-birds { font-size:13px; }
}

@media (max-width:820px) {
  .home-esim-feature-inner { display:flex; flex-direction:column; }
  .home-esim-feature-visual { width:100%; }
  .home-esim-feature-copy { padding:52px 44px 58px; }
  .home-esim-feature-description { max-width:620px; }
}

@media (max-width:520px) {
  .home-esim-feature-screen-brand { gap:5px; }
  .home-esim-feature-screen-brand span { min-width:52px; min-height:25px; padding-inline:10px; border-radius:4px; font-size:12px; }
  .home-esim-feature-birds { display:none; }
  .home-esim-feature-copy { padding:42px 20px 48px; }
  .home-esim-feature-eyebrow { font-size:10px; }
  .home-esim-feature-rule { width:42px; margin-top:16px; }
  .home-esim-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; }
  .home-esim-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-esim-feature-cta { width:200px; min-height:50px; margin-top:24px; padding-inline:20px; }
}

/* Homepage card layout 11: private charter */
.home-benefits-feature { width:100%; background:#faf8f3; color:#071f48; font-family:var(--font-brand); letter-spacing:0; }
.home-benefits-inner { width:min(100%,1440px); margin:0 auto; }
.home-benefits-heading { padding:52px 24px 0; text-align:center; }
.home-benefits-heading h2 { margin:0; font-family:var(--font-brand); color:#071f48; font-size:32px; font-weight:500; line-height:1.18; letter-spacing:0; }
.home-benefits-heading span { display:block; width:48px; height:2px; margin:22px auto 0; background:#c99448; }
.home-benefits-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:42px 24px 48px; }
.home-benefits-grid article { min-width:0; padding:0 28px; text-align:center; }
.home-benefits-grid article + article { border-left:1px solid #e0ddd5; }
.home-benefits-grid svg { width:36px; height:36px; margin-bottom:18px; stroke:#a36a24; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.home-benefits-grid h3 { margin:0 auto 16px; min-height:52px; max-width:240px; color:#071f48; font-family:var(--font-brand); font-size:20px; font-weight:600; line-height:1.3; letter-spacing:0; }
.home-benefits-grid p { margin:0; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-benefits-contact { position:relative; text-align:center; }
.home-benefits-contact > img { display:block; width:100%; height:auto; object-fit:contain; }
.home-benefits-contact-copy { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px 24px; isolation:isolate; }
.home-benefits-contact-copy::before { content:''; position:absolute; z-index:-1; inset:15% 20%; background:linear-gradient(90deg,transparent,rgba(7,31,72,.48) 18%,rgba(7,31,72,.48) 82%,transparent); }
.home-benefits-contact-copy h2 { margin:0; color:#fff; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; text-shadow:0 1px 6px #071f48; }
.home-benefits-contact-copy p { margin:16px 0 22px; color:#fff; font-size:16px; line-height:1.62; letter-spacing:0; text-shadow:0 1px 4px #071f48; }
.home-benefits-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; width:220px; max-width:100%; min-height:54px; padding:12px 22px; border:1px solid #092b62; border-radius:3px; color:#fff; background:#092b62; font-family:var(--font-brand); font-size:12px; font-weight:750; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.home-benefits-cta::after { display:none; }
.home-benefits-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-benefits-cta:hover { background:#0d437e; color:#fff; }
.home-benefits-newsletter { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); align-items:center; gap:36px; padding:32px 48px; background:#071f48; color:#fff; }
.home-benefits-newsletter h2 { margin:0 0 10px; color:#fff; font-family:var(--font-brand); font-size:18px; font-weight:600; line-height:1.35; letter-spacing:0; }
.home-benefits-newsletter p { margin:0; color:#d5deeb; font-size:14px; line-height:1.6; letter-spacing:0; }
.home-benefits-newsletter form { min-width:0; }
.home-benefits-newsletter fieldset { min-width:0; margin:0; padding:0; border:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 135px; gap:12px; align-items:end; }
.home-benefits-newsletter label { display:grid; gap:8px; min-width:0; color:#fff; font-size:12px; line-height:1.4; }
.home-benefits-newsletter input { box-sizing:border-box; min-width:0; width:100%; height:48px; border:1px solid #c5ceda; border-radius:3px; padding:0 12px; font-family:var(--font-brand); font-size:14px; color:#071f48; background:#f2f4f7; opacity:1; }
.home-benefits-newsletter input::placeholder { color:#5b6a84; }
.home-benefits-newsletter button { height:48px; border:1px solid #c99448; border-radius:3px; padding:0 16px; color:#fff; background:#092b62; font-family:var(--font-brand); font-size:12px; font-weight:750; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.home-benefits-newsletter button:disabled { opacity:.65; cursor:not-allowed; }
.home-benefits-newsletter #homeBenefitsNewsletterStatus { margin-top:12px; color:#d5deeb; font-size:12px; }
.home-newsletter-antibot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.home-benefits-feature :is(a,button,input):focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
html.home-view .site-footer > .footer-newsletter { display:none; }
@media (max-width:1100px) {
  .home-benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 0; }
  .home-benefits-grid article:nth-child(3) { border-left:0; }
  .home-benefits-grid article:nth-child(n+3) { padding-top:28px; border-top:1px solid #e0ddd5; }
  .home-benefits-grid h3 { min-height:0; }
  .home-benefits-contact-copy { position:static; padding:36px 24px; background:#faf8f3; }
  .home-benefits-contact-copy::before { display:none; }
  .home-benefits-contact-copy h2 { color:#071f48; font-size:37px; text-shadow:none; }
  .home-benefits-contact-copy p { color:#5b6a84; text-shadow:none; }
  .home-benefits-newsletter { grid-template-columns:1fr; gap:24px; padding:32px; }
}
@media (max-width:600px) {
  .home-benefits-heading { padding-top:42px; }
  .home-benefits-heading h2 { font-size:28px; }
  .home-benefits-grid { grid-template-columns:1fr; padding:32px 20px; gap:28px; }
  .home-benefits-grid article { padding:0; }
  .home-benefits-grid article + article { border-left:0; border-top:1px solid #e0ddd5; padding-top:28px; }
  .home-benefits-grid h3 { max-width:none; }
  .home-benefits-grid p { max-width:420px; margin:auto; }
  .home-benefits-contact-copy { padding:32px 20px; }
  .home-benefits-contact-copy h2 { font-size:32px; }
  .home-benefits-contact-copy p { font-size:14px; }
  .home-benefits-newsletter { padding:32px 20px; }
  .home-benefits-newsletter fieldset { grid-template-columns:1fr; gap:16px; }
  .home-benefits-newsletter button { width:160px; max-width:100%; }
}
#site-footer.site-footer { display:block; padding:0; background:#071f48; color:#c5d1e3; font-family:var(--font-brand); letter-spacing:0; }
html[data-public-review="true"].home-view main:has(> #home-benefits-feature) { padding-bottom:32px; background-color:#faf8f3; }
@media(max-width:600px) {
  html[data-public-review="true"].home-view main:has(> #home-benefits-feature) { padding-bottom:24px; }
}
html[data-public-review="true"].home-view #site-footer.site-footer { display:block; }
#site-footer .home-footer-inner { width:min(100%,1440px); margin:0 auto; padding:52px 32px 28px; display:grid; grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr)); gap:36px; }
#site-footer nav { display:block; min-width:0; padding:0; overflow:visible; }
#site-footer h3 { margin:0 0 16px; color:#fff; font-family:var(--font-brand); font-size:15px; font-weight:600; line-height:1.4; letter-spacing:0; }
#site-footer a { margin:0; padding:7px 0; min-height:34px; color:#c5d1e3; font-family:var(--font-brand); font-size:13px; font-weight:400; line-height:1.6; letter-spacing:0; overflow-wrap:anywhere; }
#site-footer a::after { display:none; }
#site-footer a:hover { color:#fff; transform:none; text-decoration:underline; }
#site-footer a:focus-visible { outline:2px solid #d89a48; outline-offset:3px; box-shadow:none; }
#site-footer .footer-brand img { display:block; width:190px; max-width:100%; height:auto; object-fit:contain; border-radius:0; margin:0 0 16px; }
#site-footer .footer-brand p { margin:0 0 14px; color:#fff; font-size:14px; font-weight:600; line-height:1.5; }
#site-footer .footer-brand span { display:block; max-width:290px; font-size:13px; color:#c5d1e3; line-height:1.7; }
#site-footer .footer-bottom { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr); align-items:center; gap:28px; margin:0; padding-top:24px; border-top:1px solid #344866; color:#c5d1e3; font-size:12px; line-height:1.7; }
#site-footer .footer-socials { display:flex; flex-wrap:wrap; gap:8px; }
#site-footer .footer-socials a { display:grid; place-items:center; width:40px; height:40px; min-height:40px; padding:9px; border:1px solid #536581; border-radius:50%; background:transparent; transition:background-color .15s ease; }
#site-footer .footer-socials a:hover { background:#19385d; border-color:#d89a48; transform:none; }
#site-footer .footer-socials svg { display:block; width:20px; height:20px; fill:currentColor; }
@media(max-width:1100px) {
  #site-footer .home-footer-inner { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
  #site-footer .footer-brand { grid-column:1 / -1; }
  #site-footer .footer-brand span { max-width:500px; }
  #site-footer .footer-bottom { grid-template-columns:1fr auto; }
  #site-footer .footer-bottom > span { grid-column:1 / -1; }
}
@media(max-width:600px) {
  #site-footer .home-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); padding:36px 20px 28px; gap:28px 20px; }
  #site-footer .footer-bottom { grid-template-columns:1fr; gap:18px; }
  #site-footer a { min-height:40px; padding-block:9px; }
}
@media(max-width:360px) {
  #site-footer .home-footer-inner { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { #site-footer .footer-socials a { transition:none; } }
.home-client-reviews { width:100%; background:#faf8f3; color:#071f48; font-family:var(--font-brand); letter-spacing:0; }
.home-client-reviews-inner { width:min(100%,1440px); margin:0 auto; padding:64px 0; }
.home-client-reviews-heading { padding:0 24px; text-align:center; }
.home-client-reviews-eyebrow { display:flex; justify-content:center; align-items:center; gap:20px; margin:0; color:#a36a24; font-size:12px; font-weight:750; line-height:1.5; letter-spacing:.2em; text-transform:uppercase; }
.home-client-reviews-eyebrow::before,.home-client-reviews-eyebrow::after { content:''; width:48px; height:1px; background:#c99448; flex-shrink:0; }
.home-client-reviews-heading h2 { margin:28px 0 20px; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-client-reviews-subtitle { margin:0; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-client-reviews-carousel { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; margin-top:40px; }
.home-client-reviews-viewport { --reviews-per-page:4; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:8px; }
.home-client-reviews-viewport::-webkit-scrollbar { display:none; }
.home-client-reviews-track { display:flex; align-items:stretch; gap:18px; width:100%; box-sizing:content-box; }
.home-client-reviews-track.has-tail::after { content:''; flex:0 0 var(--review-tail); }
.home-client-review-card { box-sizing:border-box; flex:0 0 calc((100% - 54px)/4); min-width:0; margin:0; padding:26px 24px; display:flex; flex-direction:column; border:1px solid #e5e0d7; border-radius:8px; background:#fff; }
.home-client-review-card blockquote { margin:0 0 30px; white-space:pre-line; overflow-wrap:break-word; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-client-review-card figcaption { margin-top:auto; }
.home-client-review-rating { display:flex; gap:3px; color:#b48732; }
.home-client-review-rating svg { width:17px; height:17px; fill:currentColor; }
.home-client-review-card cite { display:block; color:#071f48; font-size:16px; font-style:normal; font-weight:600; line-height:1.5; letter-spacing:0; }
.home-client-review-card cite::before { content:''; display:block; width:32px; height:1px; margin:18px 0; background:#c99448; }
.home-client-reviews-arrow { width:44px; height:44px; min-height:44px; padding:10px; border:1px solid #ddcaa7; border-radius:50%; background:#fff; color:#a36a24; box-shadow:none; }
.home-client-reviews-arrow svg { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.home-client-reviews-arrow:hover:not(:disabled) { background:#f3eee4; transform:none; }
.home-client-reviews-arrow:disabled { opacity:.35; cursor:default; }
.home-client-reviews-status { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:24px; color:#5b6a84; font-size:12px; line-height:1.5; }
.home-client-reviews-status p { margin:0; }
.home-client-reviews-pagination { display:flex; justify-content:center; flex-wrap:wrap; }
.home-client-reviews-pagination button { display:grid; place-items:center; width:36px; height:36px; min-height:36px; padding:0; background:transparent; border:0; box-shadow:none; border-radius:3px; }
.home-client-reviews-pagination button::before { content:''; width:9px; height:9px; border-radius:50%; background:#d7d6d2; }
.home-client-reviews-pagination button[aria-current="true"]::before { background:#a98230; }
.home-client-reviews-pagination button:hover { transform:none; background:#f0ebe2; }
.home-client-reviews-footer { position:relative; display:flex; justify-content:center; align-items:center; gap:24px; margin:28px 24px 0; }
.home-client-reviews-cta { display:flex; justify-content:space-between; align-items:center; gap:20px; width:350px; max-width:100%; min-height:54px; padding:12px 20px; border:1px solid #092b62; border-radius:3px; background:#092b62; color:#fff; font-family:var(--font-brand); font-size:12px; font-weight:750; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.home-client-reviews-cta::after { display:none; }
.home-client-reviews-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-client-reviews-cta:hover { background:#0d437e; color:#fff; }
.home-client-reviews-signoff { position:absolute; right:0; margin:0; padding-left:44px; color:#5b6a84; font-size:10px; line-height:2; letter-spacing:.16em; text-transform:uppercase; }
.home-client-reviews-signoff::before { content:''; position:absolute; left:0; top:10px; width:28px; height:1px; background:#c99448; }
.home-client-reviews :is(button,a,.home-client-reviews-viewport):focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
@media (max-width:1199px) {
  .home-client-reviews-viewport { --reviews-per-page:2; }
  .home-client-review-card { flex-basis:calc((100% - 18px)/2); }
  .home-client-reviews-heading h2 { font-size:37px; }
  .home-client-reviews-signoff { position:relative; }
  .home-client-reviews-footer { flex-wrap:wrap; }
}
@media (max-width:600px) {
  .home-client-reviews-inner { padding:42px 0 48px; }
  .home-client-reviews-heading { padding:0 20px; }
  .home-client-reviews-heading h2 { font-size:32px; line-height:1.18; }
  .home-client-reviews-eyebrow { font-size:10px; gap:12px; }
  .home-client-reviews-eyebrow::before,.home-client-reviews-eyebrow::after { width:20px; }
  .home-client-reviews-subtitle { font-size:14px; }
  .home-client-reviews-carousel { grid-template-columns:44px 44px; gap:12px; justify-content:center; margin-top:28px; }
  .home-client-reviews-viewport { --reviews-per-page:1; grid-row:1; grid-column:1 / -1; width:calc(100vw - 40px); max-width:calc(100vw - 40px); justify-self:center; }
  .home-client-review-card { flex-basis:88%; padding:24px 20px; }
  .home-client-reviews-arrow { grid-row:2; }
  .home-client-reviews-status { margin-top:12px; }
  .home-client-reviews-footer { flex-direction:column; margin-inline:20px; }
  .home-client-reviews-cta { min-height:50px; gap:12px; padding-inline:16px; }
  .home-client-reviews-signoff { align-self:flex-end; }
}
@media (prefers-reduced-motion:reduce) {
  .home-client-reviews * { scroll-behavior:auto; transition:none; animation:none; }
}
.home-reading-feature { width:100%; color:#071f48; background:#faf8f3; font-family:var(--font-brand); letter-spacing:0; }
.home-reading-feature-inner { width:min(100%,1440px); margin:0 auto; padding:64px 0; }
.home-reading-feature-copy { padding:0 24px; margin:0 auto 36px; text-align:center; }
.home-reading-feature-copy h2 { margin:0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-reading-feature-copy p { max-width:760px; margin:24px auto 0; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-reading-feature-visual { position:relative; width:min(100%,1342px); margin:0 auto; }
.home-reading-feature-visual img { display:block; width:100%; height:auto; object-fit:contain; border-radius:8px; }
.home-reading-feature-cta { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:20px; width:300px; max-width:calc(100% - 40px); min-height:54px; padding:12px 22px; border:1px solid #092b62; border-radius:3px; background:#092b62; color:#fff; font-family:var(--font-brand); font-size:12px; font-weight:750; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.home-reading-feature-cta::after { display:none; }
.home-reading-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-reading-feature-cta:hover { background:#0d437e; color:#fff; }
.home-reading-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
@media (max-width:1100px) {
  .home-reading-feature-copy h2 { font-size:37px; }
  .home-reading-feature-copy p { font-size:14px; line-height:1.56; }
}
@media (max-width:820px) {
  .home-reading-feature-inner { padding:52px 0; }
  .home-reading-feature-cta { position:static; transform:none; margin:24px auto 0; }
}
@media (max-width:520px) {
  .home-reading-feature-inner { padding:42px 0 48px; }
  .home-reading-feature-copy { padding:0 20px; margin-bottom:28px; }
  .home-reading-feature-copy h2 { font-size:32px; line-height:1.18; }
  .home-reading-feature-copy p { margin-top:22px; line-height:1.58; }
  .home-reading-feature-cta { min-height:50px; gap:12px; padding-inline:16px; }
}
.home-charter-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-charter-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); align-items:stretch; }
.home-charter-feature-visual { min-width:0; margin:0; align-self:center; background:#e7dfd4; }
.home-charter-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; }
.home-charter-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 68px; }
.home-charter-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-charter-feature-rule { width:48px; height:2px; display:block; margin-top:20px; background:#c99448; }
.home-charter-feature-copy h2 { margin:39px 0 0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-charter-feature-description { max-width:490px; margin:29px 0 0; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-charter-feature-cta { width:350px; max-width:100%; min-height:54px; margin-top:29px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #092b62; border-radius:3px; padding:12px 20px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.home-charter-feature-cta span { min-width:0; }
.home-charter-feature-cta::after { display:none; }
.home-charter-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-charter-feature-cta:hover { color:#fff; background:#0d437e; }
.home-charter-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
@media (max-width:1100px) {
  .home-charter-feature-copy { padding:48px 42px; }
  .home-charter-feature-copy h2 { margin-top:31px; font-size:37px; }
  .home-charter-feature-description { margin-top:23px; font-size:14px; line-height:1.56; }
  .home-charter-feature-cta { margin-top:24px; }
}
@media (max-width:820px) {
  .home-charter-feature-inner { display:flex; flex-direction:column; }
  .home-charter-feature-visual { width:100%; }
  .home-charter-feature-copy { padding:52px 44px 58px; }
  .home-charter-feature-description { max-width:620px; }
}
@media (max-width:520px) {
  .home-charter-feature-copy { padding:42px 20px 48px; }
  .home-charter-feature-eyebrow { font-size:10px; }
  .home-charter-feature-rule { width:42px; margin-top:16px; }
  .home-charter-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; }
  .home-charter-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-charter-feature-cta { min-height:50px; margin-top:24px; padding-inline:16px; gap:8px; }
}

/* Homepage card layout 10: events */
.home-events-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-events-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:stretch; }
.home-events-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 68px; }
.home-events-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-events-feature-rule { width:48px; height:2px; display:block; margin-top:20px; background:#c99448; }
.home-events-feature-copy h2 { margin:39px 0 0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-events-feature-description { max-width:490px; margin:29px 0 0; color:#5b6a84; font-size:16px; line-height:1.62; letter-spacing:0; }
.home-events-feature-labels { display:flex; align-items:center; list-style:none; padding:0; margin:28px 0 0; font-size:10px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.home-events-feature-labels li { padding:0 13px; white-space:nowrap; }
.home-events-feature-labels li:first-child { padding-left:0; }
.home-events-feature-labels li + li { border-left:1px solid #c99448; }
.home-events-feature-cta { width:218px; min-height:54px; margin-top:29px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #092b62; border-radius:3px; padding:0 20px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-events-feature-cta::after { display:none; }
.home-events-feature-cta span { white-space:nowrap; }
.home-events-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-events-feature-cta:hover { color:#fff; background:#0d437e; }
.home-events-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
.home-events-feature-visual { min-width:0; margin:0; align-self:center; background:#e7dfd4; }
.home-events-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; }
@media (max-width:1100px) {
  .home-events-feature-copy { padding:48px 42px; }
  .home-events-feature-copy h2 { margin-top:31px; font-size:37px; }
  .home-events-feature-description { margin-top:23px; font-size:14px; line-height:1.56; }
  .home-events-feature-labels { align-items:flex-start; flex-direction:column; gap:9px; }
  .home-events-feature-labels li, .home-events-feature-labels li:first-child { padding:0 0 0 12px; border-left:1px solid #c99448; }
  .home-events-feature-cta { margin-top:24px; }
}
@media (max-width:820px) {
  .home-events-feature-inner { display:flex; flex-direction:column; }
  .home-events-feature-copy { padding:52px 44px 58px; }
  .home-events-feature-description { max-width:620px; }
  .home-events-feature-visual { width:100%; }
}
@media (max-width:520px) {
  .home-events-feature-copy { padding:42px 20px 48px; }
  .home-events-feature-eyebrow { font-size:10px; }
  .home-events-feature-rule { width:42px; margin-top:16px; }
  .home-events-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; }
  .home-events-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-events-feature-cta { width:200px; min-height:50px; margin-top:24px; padding-inline:16px; gap:8px; }
}

/* Homepage card layout 9: cruises */
.home-cruises-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-cruises-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); align-items:stretch; }
.home-cruises-feature-visual { min-width:0; margin:0; align-self:center; background:#e7dfd4; }
.home-cruises-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; }
.home-cruises-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 68px; }
.home-cruises-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-cruises-feature-rule { width:48px; height:2px; display:block; margin-top:20px; background:#c99448; }
.home-cruises-feature-copy h2 { margin:39px 0 0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-cruises-feature-description { max-width:490px; margin:29px 0 0; color:#5b6a84; font-size:16px; font-weight:400; line-height:1.62; letter-spacing:0; }
.home-cruises-feature-cta { width:218px; min-height:54px; margin-top:29px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #092b62; border-radius:3px; padding:0 23px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-cruises-feature-cta::after { display:none; }
.home-cruises-feature-cta span { white-space:nowrap; }
.home-cruises-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-cruises-feature-cta:hover { color:#fff; background:#0d437e; }
.home-cruises-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
@media (max-width:1100px) {
  .home-cruises-feature-copy { padding:48px 42px; }
  .home-cruises-feature-copy h2 { margin-top:31px; font-size:37px; }
  .home-cruises-feature-description { margin-top:23px; font-size:14px; line-height:1.56; }
  .home-cruises-feature-cta { margin-top:24px; }
}
@media (max-width:820px) {
  .home-cruises-feature-inner { display:flex; flex-direction:column; }
  .home-cruises-feature-visual { width:100%; }
  .home-cruises-feature-copy { padding:52px 44px 58px; }
  .home-cruises-feature-description { max-width:620px; }
}
@media (max-width:520px) {
  .home-cruises-feature-copy { padding:42px 20px 48px; }
  .home-cruises-feature-eyebrow { font-size:10px; }
  .home-cruises-feature-rule { width:42px; margin-top:16px; }
  .home-cruises-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; }
  .home-cruises-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-cruises-feature-cta { width:200px; min-height:50px; margin-top:24px; padding-inline:16px; gap:8px; }
}

/* Homepage card layout 8: tours and experiences */
.home-tours-feature { width:100%; overflow:hidden; color:#071f48; background:#faf8f3; font-family:var(--font-brand); }
.home-tours-feature-inner { width:min(100%,1440px); margin:0 auto; display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:stretch; }
.home-tours-feature-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 68px; background:#faf8f3; }
.home-tours-feature-eyebrow { margin:0; color:#c47b2b; font-size:12px; font-weight:750; line-height:1; letter-spacing:.2em; text-transform:uppercase; }
.home-tours-feature-rule { width:48px; height:2px; display:block; margin-top:20px; background:#c99448; }
.home-tours-feature-copy h2 { margin:39px 0 0; color:#071f48; font-family:var(--font-brand); font-size:44px; font-weight:500; line-height:1.16; letter-spacing:0; }
.home-tours-feature-description { max-width:490px; margin:29px 0 0; color:#5b6a84; font-size:16px; font-weight:400; line-height:1.62; letter-spacing:0; }
.home-tours-feature-cta { width:218px; min-height:54px; margin-top:29px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #092b62; border-radius:3px; padding:0 23px; color:#fff; background:#092b62; font-size:12px; font-weight:750; line-height:1; letter-spacing:.12em; text-transform:uppercase; }
.home-tours-feature-cta::after { display:none; }
.home-tours-feature-cta svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home-tours-feature-cta:hover { color:#fff; background:#0d437e; }
.home-tours-feature-cta:focus-visible { outline:3px solid #d89a48; outline-offset:3px; }
.home-tours-feature-visual { min-width:0; margin:0; align-self:center; background:#dce7d5; }
.home-tours-feature-visual img { width:100%; height:auto; display:block; object-fit:contain; object-position:center; }

@media (max-width:1100px) {
  .home-tours-feature-copy { padding:48px 42px; }
  .home-tours-feature-copy h2 { margin-top:31px; font-size:37px; }
  .home-tours-feature-description { margin-top:23px; font-size:14px; line-height:1.56; }
  .home-tours-feature-cta { margin-top:24px; }
}

@media (max-width:820px) {
  .home-tours-feature-inner { display:flex; flex-direction:column; }
  .home-tours-feature-copy { padding:52px 44px 58px; }
  .home-tours-feature-description { max-width:620px; }
  .home-tours-feature-visual { width:100%; }
}

@media (max-width:520px) {
  .home-tours-feature-copy { padding:42px 20px 48px; }
  .home-tours-feature-eyebrow { font-size:10px; }
  .home-tours-feature-rule { width:42px; margin-top:16px; }
  .home-tours-feature-copy h2 { margin-top:28px; font-size:32px; line-height:1.18; }
  .home-tours-feature-description { margin-top:22px; font-size:14px; line-height:1.58; }
  .home-tours-feature-cta { width:200px; min-height:50px; margin-top:24px; padding-inline:20px; }
}
