/* ==========================================================================
   Happistart Premium 8.0 · Experience layer
   Apple-style scroll storytelling, clear navigation and wayfinding.
   Brand: Emerald #00695C · Dark Emerald #003F37 · Yellow #FFC857 · Ivory #F8F5EE
   ========================================================================== */
:root{
  --hx-emerald:#00695C;--hx-deep:#003F37;--hx-ink:#14201D;--hx-yellow:#FFC857;--hx-ivory:#F8F5EE;
  --hx-white:#fff;--hx-muted:#5B6B66;--hx-line:#DCE5E2;--hx-soft:#EEF4F2;--hx-ok:#0E7A5F;
  --hx-font:"League Spartan",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --hx-radius:22px;--hx-ease:cubic-bezier(.2,.7,.2,1);
  --hx-util:34px;--hx-bar:64px;--hx-head:calc(var(--hx-util) + var(--hx-bar));
  --hx-gutter:clamp(18px,5vw,72px);--hx-max:1240px;
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--hx-ease)}
.hxHeader{view-transition-name:hx-header}
.hxTabBar{view-transition-name:hx-tabbar}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hx-head) + 16px)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:is(.hxHeader,.hxHome,.hxPage,.hxHelpPanel,.hxFind,.hxTabBar,.hxNext,.hxFooterQuick,.hxJump,.hxHelpFab) :is(a,button,input,span,strong,small,p,h1,h2,h3,summary,label,b,em),.hxHelpFab{text-transform:none!important;letter-spacing:normal}
:is(.hxHeader,.hxHome,.hxPage,.hxHelpPanel,.hxFind) input::placeholder{text-transform:none!important}
.hxEyebrow,.hxBadge,.hxMegaFeature span,.hxVisaCards small,.hxStepsText span{text-transform:uppercase!important;letter-spacing:.14em!important}
.hxBadge{letter-spacing:.04em!important}
.hxIcon{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hxEyebrow{margin:0 0 10px;font:800 11px/1.2 var(--hx-font);letter-spacing:.16em;text-transform:uppercase;color:var(--hx-emerald)}
.hxEyebrow.light{color:var(--hx-yellow)}
.hxMuted{color:var(--hx-muted)}
.hxCenter{text-align:center}

/* ---------- Buttons ---------- */
.hxPill,.hxPill.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:1px solid var(--hx-emerald);border-radius:999px;background:var(--hx-emerald);color:#fff!important;font:700 15px/1 var(--hx-font);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer;transition:transform .25s var(--hx-ease),background .25s,box-shadow .25s;white-space:nowrap}
.hxPill:hover{transform:translateY(-1px);background:var(--hx-deep);box-shadow:0 10px 28px rgba(0,63,55,.22)}
.hxPill.ghost{background:transparent;color:var(--hx-emerald)!important}
.hxPill.ghost:hover{background:var(--hx-soft)}
.hxPill.yellow{background:var(--hx-yellow);border-color:var(--hx-yellow);color:var(--hx-deep)!important}
.hxPill.yellow:hover{background:#ffd47a}
.hxPill.glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);color:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hxPill.glass:hover{background:rgba(255,255,255,.26)}
.hxTextLink{display:inline-flex;align-items:center;gap:6px;color:var(--hx-emerald);font:700 15px/1.2 var(--hx-font);text-decoration:none}
.hxTextLink:hover{text-decoration:underline;text-underline-offset:4px}
.hxLinkBtn{display:flex;align-items:center;gap:8px;margin:18px auto 0;border:0;background:none;color:var(--hx-emerald);font:700 14px var(--hx-font);cursor:pointer}

/* ---------- Header ---------- */
.hxHeader{position:fixed;inset:0 0 auto 0;z-index:1200;font-family:var(--hx-font);color:var(--hx-ink)}
.hxUtility{display:flex;justify-content:space-between;align-items:center;height:var(--hx-util);padding:0 var(--hx-gutter);background:var(--hx-deep);color:rgba(255,255,255,.86);font-size:12.5px;font-weight:600;transition:margin .35s var(--hx-ease)}
.hxUtility a,.hxUtility span{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.hxUtility a:hover{color:var(--hx-yellow)}
.hxUtilityLeft,.hxUtilityRight{display:flex;gap:22px;align-items:center}
.hxHeader.isScrolled .hxUtility{margin-top:calc(var(--hx-util) * -1)}
.hxBar{display:flex;align-items:center;gap:22px;height:var(--hx-bar);padding:0 var(--hx-gutter);background:rgba(251,250,247,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,63,55,.08)}
.hxBrand{display:flex;align-items:center;flex:none}
.hxBrand img{display:block;width:auto;height:40px}
.hxNav{display:flex;align-items:center;gap:2px;margin:0 auto}
.hxNav>a,.hxNav>button{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 13px;border:0;border-radius:999px;background:none;color:var(--hx-ink);font:600 15px/1 var(--hx-font);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.hxNav>a:hover,.hxNav>button:hover,.hxNav>button.isOpen{background:rgba(0,105,92,.08);color:var(--hx-emerald)}
.hxNav>.isActive{color:var(--hx-emerald);box-shadow:inset 0 -2px 0 var(--hx-yellow);border-radius:0}
.hxNav>button .hxIcon{width:14px;height:14px;transition:transform .25s}
.hxNav>button.isOpen .hxIcon{transform:rotate(180deg)}
.hxTools{display:flex;align-items:center;gap:8px;flex:none}
.hxSearchBtn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 14px;border:1px solid var(--hx-line);border-radius:999px;background:#fff;color:var(--hx-muted);font:600 14px var(--hx-font);cursor:pointer}
.hxSearchBtn:hover{border-color:var(--hx-emerald);color:var(--hx-emerald)}
.hxSearchBtn kbd{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--hx-line);border-radius:6px;font:600 12px var(--hx-font);color:var(--hx-muted)}
.hxIconBtn,.hxMenuBtn{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:none;color:var(--hx-ink);cursor:pointer}
.hxIconBtn:hover,.hxMenuBtn:hover{background:rgba(0,105,92,.08)}
.hxIconBtn .hxIcon,.hxMenuBtn .hxIcon{width:22px;height:22px}
.hxIconBtn b{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--hx-yellow);color:var(--hx-deep);font:800 10px/17px var(--hx-font)}
.hxPlan{height:42px;padding:0 20px;border:0;border-radius:999px;background:var(--hx-emerald);color:#fff;font:700 14.5px var(--hx-font);cursor:pointer;transition:background .2s}
.hxPlan:hover{background:var(--hx-deep)}
.hxMenuBtn{display:none}
.hxMega{position:absolute;left:0;right:0;top:100%;background:#FBFAF7!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--hx-line);box-shadow:0 30px 60px rgba(0,40,34,.12);animation:hxDrop .28s var(--hx-ease)}
@keyframes hxDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.hxMegaInner{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;max-width:var(--hx-max);margin:0 auto;padding:30px var(--hx-gutter) 36px}
.hxMegaLinks{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;align-content:start}
.hxMegaLinks .hxEyebrow{grid-column:1/-1}
.hxMegaLinks a{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:14px;color:var(--hx-ink);text-decoration:none;transition:background .2s}
.hxMegaLinks a:hover{background:#fff;box-shadow:0 6px 20px rgba(0,63,55,.08)}
.hxMegaLinks a>.hxIcon{width:22px;height:22px;margin-top:2px;color:var(--hx-emerald)}
.hxMegaLinks strong{display:block;font:700 17px/1.2 var(--hx-font)}
.hxMegaLinks small{display:block;margin-top:4px;color:var(--hx-muted);font:500 13.5px/1.35 var(--hx-font)}
.hxMegaFeature{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:22px;overflow:hidden;border-radius:18px;color:#fff;text-decoration:none}
.hxMegaFeature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--hx-ease)}
.hxMegaFeature:hover img{transform:scale(1.05)}
.hxMegaFeature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,40,34,.86))}
.hxMegaFeature>*:not(img){position:relative;z-index:1}
.hxMegaFeature span{font:800 11px var(--hx-font);letter-spacing:.14em;text-transform:uppercase;color:var(--hx-yellow)}
.hxMegaFeature strong{margin:6px 0 4px;font:700 22px/1.1 var(--hx-font)}
.hxMegaFeature small{font:500 14px var(--hx-font);opacity:.9}
.hxMegaHelp{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:24px;border-radius:18px;background:var(--hx-soft)}
.hxMegaHelp strong{font:700 22px/1.15 var(--hx-font);color:var(--hx-deep)}
.hxMegaHelp small{color:var(--hx-muted);font:500 13px var(--hx-font)}

/* Mobile sheet */
.hxSheet{position:fixed;inset:var(--hx-bar) 0 0 0;z-index:1199;overflow-y:auto;padding:16px 20px 120px;background:var(--hx-ivory);animation:hxDrop .25s var(--hx-ease)}
.hxSheetSearch{display:flex;align-items:center;gap:10px;width:100%;height:52px;padding:0 18px;border:1px solid var(--hx-line);border-radius:14px;background:#fff;color:var(--hx-muted);font:600 16px var(--hx-font);cursor:pointer}
.hxSheet section{margin-top:22px}
.hxSheet section a{display:block;padding:13px 2px;border-bottom:1px solid var(--hx-line);color:var(--hx-ink);text-decoration:none}
.hxSheet section a strong{display:block;font:700 19px/1.2 var(--hx-font)}
.hxSheet section a small{display:block;margin-top:3px;color:var(--hx-muted);font:500 14px var(--hx-font)}
.hxSheet section a.isActive strong{color:var(--hx-emerald)}
.hxSheetContact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}
.hxSheetContact .hxPill{padding:0 10px}
.hxSheetHours{margin:12px 0 0;text-align:center;color:var(--hx-muted);font:500 13px var(--hx-font)}
html.hxMenuOpen,html.hxMenuOpen body{overflow:hidden}

/* Page offset: content clears the fixed header */
.hxPageWrap>main{min-height:60vh}
.hxPage{padding-top:var(--hx-head)}
/* Old header leftovers */
.siteHeader,.utilityFlyout,.welcomeSplash,.welcomeGate,.happiEHAnnouncement{display:none!important}
.backTop{bottom:96px!important;right:22px!important}

/* ---------- Mobile tab bar ---------- */
.hxTabBar{display:none}
@media (max-width:1080px){
  :root{--hx-util:0px;--hx-bar:62px}
  .hxUtility,.hxNav,.hxSearchBtn span,.hxSearchBtn kbd{display:none}
  .hxSearchBtn{width:42px;padding:0;justify-content:center;border:0;background:none;color:var(--hx-ink)}
  .hxSearchBtn .hxIcon{width:22px;height:22px}
  .hxMenuBtn{display:inline-grid}
  .hxBar{gap:8px}
  .hxBrand{margin-right:auto}
  .hxBrand img{height:36px}
  .hxPlan{height:38px;padding:0 14px;font-size:13.5px}
  .hxMega{display:none}
}
@media (max-width:900px){
  .hxTabBar{position:fixed;inset:auto 0 0 0;z-index:1150;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:rgba(251,250,247,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,63,55,.1)}
  .hxTabBar a,.hxTabBar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border:0;border-radius:12px;background:none;color:var(--hx-muted);font:600 11px var(--hx-font);text-decoration:none;cursor:pointer}
  .hxTabBar .hxIcon{width:23px;height:23px}
  .hxTabBar .isActive{color:var(--hx-emerald)}
  .hxTabBar .isActive .hxIcon{stroke-width:2.3}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .hxHelpFab{display:none!important}
  .backTop{display:none!important}
  .hxPlan{display:none}
}

/* ---------- Help ---------- */
.hxHelpFab{position:fixed;right:22px;bottom:24px;z-index:1100;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--hx-yellow);color:var(--hx-deep);font:800 15px var(--hx-font);box-shadow:0 14px 40px rgba(0,40,34,.25);cursor:pointer;transition:transform .25s var(--hx-ease)}
.hxHelpFab:hover{transform:translateY(-2px)}
.hxHelpFab .hxIcon{width:22px;height:22px}
.hxOverlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;justify-content:flex-end;padding:20px;background:rgba(0,30,26,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:hxFade .2s}
@keyframes hxFade{from{opacity:0}to{opacity:1}}
.hxHelpPanel{position:relative;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px 26px 22px;border-radius:26px;background:var(--hx-ivory);font-family:var(--hx-font);box-shadow:0 40px 100px rgba(0,30,26,.35);animation:hxRise .35s var(--hx-ease)}
@keyframes hxRise{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.hxHelpPanel h2{margin:0 0 6px;font:700 32px/1.05 var(--hx-font);letter-spacing:-.02em;color:var(--hx-deep)}
.hxHelpPanel>.hxMuted{margin:0 0 18px;font-size:15px;line-height:1.45}
.hxHelpRows{display:grid;gap:8px}
.hxHelpRows a{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:#fff;color:var(--hx-ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.hxHelpRows a:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,63,55,.1)}
.hxHelpRows a>.hxIcon:first-child{width:24px;height:24px;color:var(--hx-emerald)}
.hxHelpRows a>.hxIcon:last-child{margin-left:auto;color:var(--hx-muted)}
.hxHelpRows strong{display:block;font:700 16px/1.2 var(--hx-font)}
.hxHelpRows small{display:block;margin-top:2px;color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxHelpRows a:first-child{background:var(--hx-emerald);color:#fff}
.hxHelpRows a:first-child small,.hxHelpRows a:first-child .hxIcon{color:rgba(255,255,255,.85)!important}
.hxClose{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--hx-ink);cursor:pointer}
@media (max-width:900px){.hxOverlay{padding:0;align-items:flex-end}.hxHelpPanel{width:100%;border-radius:26px 26px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* ---------- Quick Find ---------- */
.hxFindOverlay{align-items:flex-start;justify-content:center;padding:min(12vh,110px) 16px 16px}
.hxFind{width:min(720px,100%);max-height:calc(100dvh - 140px);display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--hx-ivory);font-family:var(--hx-font);box-shadow:0 40px 120px rgba(0,30,26,.4);animation:hxRise .3s var(--hx-ease)}
.hxFindField{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--hx-line);background:#fff}
.hxFindField .hxIcon{width:24px;height:24px;color:var(--hx-emerald)}
.hxFindField input{flex:1;min-width:0;height:66px;border:0!important;outline:0;background:none!important;box-shadow:none!important;color:var(--hx-ink);font:500 20px var(--hx-font)!important}
.hxFindField button{padding:6px 10px;border:1px solid var(--hx-line);border-radius:8px;background:#fff;color:var(--hx-muted);font:600 12px var(--hx-font);cursor:pointer}
.hxChips{display:flex;flex-wrap:wrap;gap:8px}
.hxFind>.hxChips{padding:16px 18px 0}
.hxChips button{height:38px;padding:0 16px;border:1px solid var(--hx-line);border-radius:999px;background:#fff;color:var(--hx-ink);font:600 14px var(--hx-font);cursor:pointer;transition:all .2s}
.hxChips button:hover{border-color:var(--hx-emerald);color:var(--hx-emerald)}
.hxChips button.isActive{background:var(--hx-emerald);border-color:var(--hx-emerald);color:#fff}
.hxFindResults{overflow-y:auto;padding:6px 10px 18px}
.hxFindResults section{padding:12px 8px 0}
.hxResult{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:14px;color:var(--hx-ink);text-decoration:none}
a.hxResult:hover{background:#fff}
.hxResult img{width:56px;height:44px;flex:none;border-radius:10px;object-fit:cover}
.hxResult strong{display:block;font:700 16px/1.2 var(--hx-font)}
.hxResult small{display:block;margin-top:3px;color:var(--hx-muted);font:500 13.5px/1.3 var(--hx-font)}
.hxResult>.hxIcon{margin-left:auto;color:var(--hx-muted)}
.hxResult>.hxBadge:last-child{margin-left:auto}
.hxFaqHit{display:block;background:#fff;margin-top:6px}
.hxFaqHit summary{font:700 15.5px/1.3 var(--hx-font);cursor:pointer}
.hxFaqHit p{margin:8px 0 0;color:var(--hx-muted);font:500 14.5px/1.5 var(--hx-font)}
.hxFindEmpty{display:grid;justify-items:center;gap:6px;padding:34px 16px;text-align:center}
.hxFindEmpty strong{font:700 18px var(--hx-font)}
.hxFindEmpty p{margin:0 0 8px;color:var(--hx-muted)}
.hxBadge{display:inline-flex;align-items:center;flex:none;height:24px;padding:0 10px;border-radius:999px;background:#EDEFEE;color:#5d6563;font:800 11px var(--hx-font);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.hxBadge.ok{background:#DDF3EA;color:var(--hx-ok)}

/* ---------- Scroll reveal ---------- */
.hxReveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--hx-ease),transform .9s var(--hx-ease)}
.hxReveal.hxShow{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.hxReveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- Shared page scaffolding ---------- */
.hxPage,.hxHome{background:var(--hx-ivory);color:var(--hx-ink);font-family:var(--hx-font)}
.hxPage>section,.hxHome>section{padding-left:var(--hx-gutter);padding-right:var(--hx-gutter)}
.hxIntro{max-width:980px;margin:0 auto;padding-top:clamp(56px,9vw,120px);padding-bottom:clamp(28px,4vw,48px);text-align:center}
.hxIntro h1{margin:0;font:700 clamp(46px,8.4vw,104px)/.95 var(--hx-font);letter-spacing:-.045em;color:var(--hx-deep)}
.hxIntro h1 em,.hxSectionHead h2 em,.hxStatementCopy h2 em,.hxVisaCopy h2 em,.hxContactBand h2 em,.hxHeroCopy h1 em{font-style:normal;color:var(--hx-emerald)}
.hxLead{max-width:680px;margin:22px auto 0;color:var(--hx-muted);font:500 clamp(18px,2vw,22px)/1.45 var(--hx-font)}
.hxIntroActions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.hxSectionHead{max-width:var(--hx-max);margin:0 auto 34px}
.hxSectionHead h2{margin:0;font:700 clamp(36px,5.6vw,68px)/1 var(--hx-font);letter-spacing:-.04em;color:var(--hx-deep)}
.hxSectionHead.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.hxEmpty{display:grid;justify-items:center;gap:14px;padding:60px 0;text-align:center}
.hxEmpty h3{margin:0;font:700 24px var(--hx-font)}
.hxFinePrint{max-width:760px;margin:30px auto 0;padding:0 var(--hx-gutter) 40px;color:var(--hx-muted);font:500 14px/1.5 var(--hx-font);text-align:center}
.hxInput{display:flex;align-items:center;gap:10px;height:50px;padding:0 18px;border:1px solid var(--hx-line);border-radius:999px;background:#fff;color:var(--hx-muted)}
.hxInput input{flex:1;min-width:0;border:0!important;outline:0;background:none!important;box-shadow:none!important;font:500 16px var(--hx-font)!important;color:var(--hx-ink)}
.hxInput.big{max-width:620px;height:62px;margin:34px auto 0}
.hxInput.big input{font-size:19px!important}

/* ---------- Homepage ---------- */
.hxHome{overflow-x:clip}
.hxHero{position:relative;height:150vh;padding:0!important;background:var(--hx-deep)}
.hxHeroSticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hxHeroImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.12 - var(--hxtop,0) * .12));transition:transform .1s linear;will-change:transform}
.hxHeroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,30,26,.5) 0%,rgba(0,30,26,.18) 38%,rgba(0,30,26,.72) 100%);opacity:calc(.85 + var(--hxtop,0) * .15)}
.hxHeroCopy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--hx-head) var(--hx-gutter) 40px;text-align:center;color:#fff;opacity:calc(1 - var(--hxtop,0) * 1.15);transform:translateY(calc(var(--hxtop,0) * -60px))}
.hxHeroCopy h1{margin:0;font:700 clamp(52px,10vw,132px)/.92 var(--hx-font);letter-spacing:-.05em;text-shadow:0 6px 40px rgba(0,0,0,.25)}
.hxHeroCopy h1 em{color:var(--hx-yellow)!important}
.hxHeroCopy>p:not(.hxEyebrow){max-width:620px;margin:22px 0 0;font:500 clamp(17px,1.8vw,21px)/1.45 var(--hx-font);opacity:.94}
.hxHeroSearch{display:flex;align-items:center;gap:12px;width:min(560px,100%);height:62px;margin-top:30px;padding:0 8px 0 22px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(255,255,255,.94);color:var(--hx-muted);font:500 17px var(--hx-font);cursor:pointer;box-shadow:0 20px 60px rgba(0,0,0,.25);transition:transform .25s var(--hx-ease)}
.hxHeroSearch:hover{transform:scale(1.015)}
.hxHeroSearch .hxIcon{width:22px;height:22px;color:var(--hx-emerald)}
.hxHeroSearch span{flex:1;text-align:left}
.hxHeroSearch b{display:inline-grid;place-items:center;height:46px;padding:0 22px;border-radius:999px;background:var(--hx-emerald);color:#fff;font:700 15px var(--hx-font)}
.hxHeroActions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.hxQuick{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;max-width:var(--hx-max);margin:-90px auto 0;padding-bottom:20px}
.hxQuick a{display:flex;flex-direction:column;gap:6px;min-height:148px;padding:20px 18px;border-radius:var(--hx-radius);background:#fff;color:var(--hx-ink);text-decoration:none;box-shadow:0 18px 50px rgba(0,40,34,.12);transition:transform .3s var(--hx-ease),box-shadow .3s}
.hxQuick a:hover{transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,40,34,.18)}
.hxQuick .hxIcon{width:28px;height:28px;margin-bottom:auto;color:var(--hx-emerald)}
.hxQuick strong{font:700 17px/1.15 var(--hx-font)}
.hxQuick small{color:var(--hx-muted);font:500 13.5px/1.3 var(--hx-font)}
.hxQuick a:last-child{background:var(--hx-emerald);color:#fff}
.hxQuick a:last-child .hxIcon{color:var(--hx-yellow)}
.hxQuick a:last-child small{color:rgba(255,255,255,.8)}

.hxRailSection{padding-top:clamp(70px,9vw,130px)}
.hxRailControls{display:flex;align-items:center;gap:8px}
.hxRailControls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--hx-line);border-radius:50%;background:#fff;color:var(--hx-ink);font:500 24px/1 var(--hx-font);cursor:pointer}
.hxRailControls button:hover{border-color:var(--hx-emerald);color:var(--hx-emerald)}
.hxRailControls .hxTextLink{margin-right:10px}
.hxRail{display:grid;grid-auto-flow:column;grid-auto-columns:min(360px,82vw);gap:18px;max-width:var(--hx-max);margin:0 auto;padding:4px 2px 24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hxRail::-webkit-scrollbar{display:none}
.hxRail>*{scroll-snap-align:start}
.hxTripCard{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--hx-radius);background:#fff;box-shadow:0 10px 34px rgba(0,40,34,.08);transition:transform .35s var(--hx-ease),box-shadow .35s}
.hxTripCard:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,40,34,.14)}
.hxTripImg{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.hxTripImg img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--hx-ease)}
.hxTripCard:hover .hxTripImg img{transform:scale(1.05)}
.hxTripImg .hxBadge{position:absolute;top:14px;left:14px}
.hxTripBody{display:flex;flex-direction:column;flex:1;gap:6px;padding:18px 20px 20px}
.hxTripDate{margin:0;color:var(--hx-emerald);font:700 13.5px var(--hx-font)}
.hxTripBody h3{margin:0;font:700 21px/1.15 var(--hx-font);letter-spacing:-.01em}
.hxTripBody h3 a{color:var(--hx-ink);text-decoration:none}
.hxTripBody .hxMuted{margin:0;font:500 14px var(--hx-font)}
.hxTripPrice{margin-top:auto;padding-top:12px}
.hxTripPrice strong{display:block;font:700 20px var(--hx-font);color:var(--hx-deep)}
.hxTripPrice small{display:block;margin-top:2px;color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxTripActions{display:flex;gap:8px;margin-top:14px}
.hxTripActions>*{flex:1}
.hxTripActions .hxPill{min-height:42px;padding:0 14px;font-size:14px}

.hxStatement{position:relative;padding-top:clamp(80px,12vw,160px)!important;padding-bottom:clamp(80px,12vw,160px)!important;text-align:center}
.hxStatementMedia{max-width:var(--hx-max);margin:0 auto;overflow:hidden;border-radius:calc(var(--hx-radius) + 10px);clip-path:inset(calc((1 - min(1, var(--hxp,.6) * 1.8)) * 12%) calc((1 - min(1, var(--hxp,.6) * 1.8)) * 14%) round 32px)}
.hxStatementMedia img{display:block;width:100%;height:min(72vh,720px);object-fit:cover;transform:scale(calc(1.2 - var(--hxp,.6) * .2))}
.hxStatementCopy{max-width:860px;margin:54px auto 0}
.hxStatementCopy h2{margin:0;font:700 clamp(40px,6.4vw,84px)/.98 var(--hx-font);letter-spacing:-.045em;color:var(--hx-deep)}
.hxStatementCopy p{max-width:640px;margin:22px auto 0;color:var(--hx-muted);font:500 clamp(18px,2vw,22px)/1.45 var(--hx-font)}

/* Sticky steps */
.hxSteps{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(40px,6vw,90px)}
.hxStepsGrid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);max-width:var(--hx-max);margin:0 auto}
.hxStepsMedia{position:sticky;top:calc(var(--hx-head) + 24px);height:calc(100vh - var(--hx-head) - 60px);max-height:720px;overflow:hidden;border-radius:calc(var(--hx-radius) + 8px);background:var(--hx-deep)}
.hxStepsMedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s var(--hx-ease),transform 1.4s var(--hx-ease)}
.hxStepsMedia img.isActive{opacity:1;transform:none}
.hxStepsDots{position:absolute;left:22px;bottom:22px;display:flex;gap:6px}
.hxStepsDots i{width:8px;height:8px;border-radius:9px;background:rgba(255,255,255,.5);transition:all .4s var(--hx-ease)}
.hxStepsDots i.isActive{width:28px;background:var(--hx-yellow)}
.hxStepsText article{display:flex;flex-direction:column;justify-content:center;min-height:78vh;opacity:.28;transition:opacity .5s var(--hx-ease)}
.hxStepsText article.isActive{opacity:1}
.hxStepsText span{font:800 14px var(--hx-font);letter-spacing:.14em;color:var(--hx-emerald)}
.hxStepsText h3{margin:10px 0 14px;font:700 clamp(38px,4.6vw,62px)/1 var(--hx-font);letter-spacing:-.04em;color:var(--hx-deep)}
.hxStepsText p{max-width:500px;margin:0 0 20px;color:var(--hx-muted);font:500 clamp(18px,1.7vw,21px)/1.5 var(--hx-font)}
.hxStepsText a{display:inline-flex;align-items:center;gap:6px;color:var(--hx-emerald);font:700 16px var(--hx-font);text-decoration:none}
.hxStepsInlineImg{display:none}

/* Visa band */
.hxVisaBand{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:center;max-width:calc(var(--hx-max) + 2 * var(--hx-gutter));margin:clamp(40px,6vw,90px) auto 0;padding-top:clamp(56px,7vw,96px)!important;padding-bottom:clamp(56px,7vw,96px)!important;border-radius:calc(var(--hx-radius) + 14px);background:radial-gradient(120% 140% at 0% 0%,#0B7C6C 0%,var(--hx-deep) 60%);color:#fff}
.hxVisaCopy h2{margin:0;font:700 clamp(44px,6.4vw,86px)/.95 var(--hx-font);letter-spacing:-.045em}
.hxVisaCopy h2 em{color:var(--hx-yellow)!important}
.hxVisaCopy>p:not(.hxEyebrow){max-width:480px;margin:20px 0 0;color:rgba(255,255,255,.82);font:500 19px/1.5 var(--hx-font)}
.hxVisaCopy .hxHeroActions{justify-content:flex-start;margin-top:26px}
.hxVisaCards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hxVisaCards a{display:flex;flex-direction:column;gap:4px;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;transition:background .25s,transform .25s var(--hx-ease)}
.hxVisaCards a:hover{background:rgba(255,255,255,.13);transform:translateY(-3px)}
.hxVisaCards small{color:var(--hx-yellow);font:800 11px var(--hx-font);letter-spacing:.12em;text-transform:uppercase}
.hxVisaCards strong{font:700 24px/1.1 var(--hx-font)}
.hxVisaCards span{font:600 15px var(--hx-font)}
.hxVisaCards em{font:500 13px var(--hx-font);font-style:normal;color:rgba(255,255,255,.7)}

/* Updates */
.hxUpdatesStrip{padding-top:clamp(70px,9vw,130px)}
.hxUpdatesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--hx-max);margin:0 auto;padding-bottom:30px}
.hxUpdate{display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:0 0 22px;border-radius:var(--hx-radius);background:#fff;color:var(--hx-ink);text-decoration:none;box-shadow:0 10px 34px rgba(0,40,34,.07);transition:transform .35s var(--hx-ease),box-shadow .35s}
.hxUpdate:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,40,34,.13)}
.hxUpdate img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:8px}
.hxUpdate>*:not(img){padding:0 22px}
.hxUpdateMeta{color:var(--hx-muted);font:600 13px var(--hx-font)}
.hxUpdateMeta b{color:var(--hx-emerald);font-weight:800}
.hxUpdate strong{font:700 22px/1.15 var(--hx-font);letter-spacing:-.01em}
.hxUpdate small{color:var(--hx-muted);font:500 15px/1.45 var(--hx-font)}
.hxUpdate.isBig{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto 1fr;column-gap:0;padding:0}
.hxUpdate.isBig img{grid-row:1/4;height:100%;min-height:360px;aspect-ratio:auto;margin:0}
.hxUpdate.isBig .hxUpdateMeta{align-self:end;padding-top:36px;padding-left:36px}
.hxUpdate.isBig strong{padding-left:36px;font-size:clamp(28px,3vw,40px);line-height:1.05}
.hxUpdate.isBig small{padding-left:36px;padding-bottom:36px;font-size:17px}
.hxSkeleton{min-height:320px;background:linear-gradient(90deg,#fff 0%,#f1f4f3 50%,#fff 100%);background-size:200% 100%;animation:hxShimmer 1.2s infinite}
@keyframes hxShimmer{to{background-position:-200% 0}}
.hxUpdatesPage .hxUpdatesGrid{padding-top:10px;padding-bottom:70px}
.hxArticle article{max-width:760px;margin:0 auto;padding:clamp(40px,7vw,90px) 0 60px}
.hxBack{display:inline-block;margin-bottom:28px;color:var(--hx-emerald);font:700 15px var(--hx-font);text-decoration:none}
.hxArticle h1{margin:0;font:700 clamp(38px,5.6vw,64px)/1 var(--hx-font);letter-spacing:-.04em;color:var(--hx-deep)}
.hxArticle .hxLead{margin-left:0}
.hxArticleImg{display:block;width:100%;max-height:480px;object-fit:cover;margin:34px 0;border-radius:var(--hx-radius)}
.hxProse{font:500 18.5px/1.7 var(--hx-font);color:#26312e}
.hxProse a{color:var(--hx-emerald);font-weight:700}
.hxProse ul{padding-left:1.2em}
.hxProse li{margin:6px 0}
.hxProse img{max-width:100%;height:auto;border-radius:14px}
.hxArticleShare{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:28px;border-top:1px solid var(--hx-line)}

/* Founder, gallery */
.hxFounder{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding-top:clamp(70px,9vw,130px)!important}
.hxFounder img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--hx-radius) + 8px)}
.hxFounder h2{margin:0 0 18px;font:700 clamp(36px,4.8vw,60px)/1 var(--hx-font);letter-spacing:-.04em;color:var(--hx-deep)}
.hxFounder p:not(.hxEyebrow){margin:0 0 22px;color:var(--hx-muted);font:500 19px/1.55 var(--hx-font)}
.hxFounder strong{display:block;font:700 19px var(--hx-font)}
.hxFounder small{display:block;margin-bottom:20px;color:var(--hx-muted);font:500 14px var(--hx-font)}
.hxGallery{padding-top:clamp(70px,9vw,130px)}
.hxGallery figure{margin:0;overflow:hidden;border-radius:var(--hx-radius)}
.hxGallery img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hxGallery figcaption{padding:10px 4px;color:var(--hx-muted);font:500 14px var(--hx-font)}
.hxHome .reviewCarousel{margin-top:clamp(60px,8vw,110px)}

/* Contact band */
.hxContactBand{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:clamp(60px,8vw,110px) auto clamp(40px,5vw,70px);padding-top:48px!important;padding-bottom:48px!important;border-radius:calc(var(--hx-radius) + 10px);background:var(--hx-deep);color:#fff}
.hxContactBand h2{margin:0;font:700 clamp(32px,4.4vw,54px)/1 var(--hx-font);letter-spacing:-.035em}
.hxContactBand div>p:not(.hxEyebrow){margin:10px 0 0;color:rgba(255,255,255,.72);font:500 15px var(--hx-font)}
.hxContactActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}

/* Keep exploring */
.hxNext{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding:clamp(40px,6vw,70px) var(--hx-gutter);font-family:var(--hx-font)}
.hxNextGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hxNextGrid a{position:relative;display:flex;align-items:flex-end;gap:10px;min-height:190px;padding:18px;overflow:hidden;border-radius:20px;color:#fff;text-decoration:none;isolation:isolate}
.hxNextGrid img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--hx-ease)}
.hxNextGrid a:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,30,26,.05),rgba(0,30,26,.8))}
.hxNextGrid a:hover img{transform:scale(1.06)}
.hxNextGrid strong{display:block;font:700 19px/1.15 var(--hx-font)}
.hxNextGrid small{display:block;margin-top:3px;font:500 13.5px var(--hx-font);opacity:.85}
.hxNextGrid .hxIcon{margin-left:auto;width:22px;height:22px;color:var(--hx-yellow)}

/* Footer quick band */
.hxFooterQuick{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;padding:26px var(--hx-gutter);border-bottom:1px solid rgba(255,255,255,.14)}
.hxFooterQuick a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff!important;font:700 14px var(--hx-font);text-decoration:none!important;transition:background .2s}
.hxFooterQuick a:hover{background:rgba(255,255,255,.12)}

/* ---------- Calendar page ---------- */
.hxFilters{position:sticky;top:calc(var(--hx-head) - 1px);z-index:20;max-width:none;padding-top:14px!important;padding-bottom:14px!important;background:rgba(248,245,238,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--hx-line)}
.hxFilters>.hxChips,.hxFilterRow{max-width:var(--hx-max);margin:0 auto}
.hxFilters>.hxChips{justify-content:center}
.hxFilterRow{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}
.hxFilterRow .hxInput{width:min(380px,100%);height:44px}
.hxToggle{display:inline-flex;align-items:center;gap:8px;color:var(--hx-ink);font:600 14.5px var(--hx-font);cursor:pointer}
.hxToggle input{width:18px;height:18px;accent-color:var(--hx-emerald)}
.hxMonths{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding-top:20px}
.hxMonth{margin-top:34px}
.hxMonth h2{margin:0 0 12px;font:700 clamp(26px,3vw,36px) var(--hx-font);letter-spacing:-.025em;color:var(--hx-deep)}
.hxRow{display:grid;grid-template-columns:92px 96px minmax(0,1fr) 200px 120px 190px;gap:20px;align-items:center;margin-bottom:10px;padding:14px 18px;border-radius:18px;background:#fff;box-shadow:0 4px 18px rgba(0,40,34,.05);transition:box-shadow .25s,transform .25s var(--hx-ease)}
.hxRow:hover{box-shadow:0 14px 34px rgba(0,40,34,.1);transform:translateY(-1px)}
.hxRow.is-soldout{opacity:.72}
.hxRowDate strong{display:block;font:700 34px/1 var(--hx-font);color:var(--hx-emerald)}
.hxRowDate small{display:block;margin-top:4px;color:var(--hx-muted);font:600 12.5px/1.25 var(--hx-font)}
.hxRow>img{width:96px;height:72px;border-radius:12px;object-fit:cover}
.hxRowMain h3{margin:0;font:700 19px/1.2 var(--hx-font)}
.hxRowMain h3 a{color:var(--hx-ink);text-decoration:none}
.hxRowMain h3 a:hover{color:var(--hx-emerald)}
.hxRowMain p{margin:4px 0 0;color:var(--hx-muted);font:500 14px var(--hx-font)}
.hxRowPrice strong{display:block;font:700 18px var(--hx-font);color:var(--hx-deep)}
.hxRowPrice small{display:block;margin-top:3px;color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxRowActions{display:flex;gap:8px;justify-content:flex-end}
.hxRowActions .hxPill{min-height:40px;padding:0 16px;font-size:14px}

/* How it works */
.hxPayments{padding-top:clamp(60px,8vw,110px)}
.hxTriple{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:var(--hx-max);margin:0 auto}
.hxTriple article{padding:30px 26px;border-radius:var(--hx-radius);background:#fff;box-shadow:0 10px 34px rgba(0,40,34,.06)}
.hxTriple .hxIcon{width:32px;height:32px;color:var(--hx-emerald)}
.hxTriple h3{margin:18px 0 10px;font:700 23px/1.15 var(--hx-font);color:var(--hx-deep)}
.hxTriple p{margin:0 0 12px;color:var(--hx-muted);font:500 16px/1.5 var(--hx-font)}
.hxQuestions{padding-top:clamp(60px,8vw,110px)}
.hxQA{display:grid;gap:10px;max-width:880px;margin:0 auto}
.hxQA details{padding:0 24px;border-radius:18px;background:#fff;box-shadow:0 4px 18px rgba(0,40,34,.05)}
.hxQA summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font:700 19px/1.25 var(--hx-font);color:var(--hx-ink);cursor:pointer;list-style:none}
.hxQA summary::-webkit-details-marker{display:none}
.hxQA summary:after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--hx-soft);color:var(--hx-emerald);font:600 20px/1 var(--hx-font);transition:transform .3s var(--hx-ease)}
.hxQA details[open] summary:after{transform:rotate(45deg)}
.hxQA details p{margin:0;padding:0 0 22px;color:var(--hx-muted);font:500 17px/1.6 var(--hx-font)}
.hxQuestions .hxCenter{margin-top:26px}

/* Visa jump bar + group trips additions */
.hxJump{position:sticky;top:calc(var(--hx-head) + 10px);z-index:30;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:max-content;max-width:calc(100% - 32px);margin:18px auto;padding:6px;border:1px solid var(--hx-line);border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(0,40,34,.08);font-family:var(--hx-font)}
.hxJump a{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;color:var(--hx-ink);font:700 14px var(--hx-font);text-decoration:none}
.hxJump a:hover{background:var(--hx-soft);color:var(--hx-emerald)}
.hxJump a.isCta{background:var(--hx-emerald);color:#fff}
.hxAnchor{scroll-margin-top:calc(var(--hx-head) + 70px)}
.hxCardDeposit{margin:6px 0 0!important;color:var(--hx-ok)!important;font:700 13px var(--hx-font)!important}
.resultsCount a{margin-left:4px;color:var(--hx-emerald);font-weight:700}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hxQuick{grid-template-columns:repeat(3,1fr);margin-top:-70px}
  .hxRow{grid-template-columns:90px 1fr 150px auto;grid-template-areas:"date main price actions"}
  .hxRow>img,.hxRow>.hxBadge{display:none}
  .hxNextGrid{grid-template-columns:repeat(2,1fr)}
  .hxMegaInner{grid-template-columns:1fr}
}
@media (max-width:900px){
  .hxHero{height:125vh}
  .hxQuick{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:-60px}
  .hxQuick a{min-height:124px;padding:16px}
  .hxStepsGrid{grid-template-columns:1fr}
  .hxStepsMedia{display:none}
  .hxStepsText article{min-height:auto;margin-bottom:48px;opacity:1}
  .hxStepsInlineImg{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:22px;border-radius:var(--hx-radius)}
  .hxVisaBand,.hxFounder{grid-template-columns:1fr;border-radius:0}
  .hxVisaBand{margin-left:0;margin-right:0}
  .hxUpdatesGrid,.hxUpdatesGrid.three,.hxTriple{grid-template-columns:1fr}
  .hxUpdate.isBig{display:flex;padding:0 0 22px}
  .hxUpdate.isBig img{min-height:0;aspect-ratio:16/10}
  .hxUpdate.isBig>*:not(img){padding-left:22px;padding-right:22px}
  .hxUpdate.isBig .hxUpdateMeta{padding-top:0}
  .hxUpdate.isBig small{padding-bottom:0}
  .hxContactBand{flex-direction:column;align-items:flex-start;margin-left:16px;margin-right:16px}
  .hxContactActions{justify-content:flex-start}
  .hxSectionHead.row{flex-direction:column;align-items:flex-start}
  .hxRailControls button{display:none}
  .hxRow{grid-template-columns:64px 1fr;grid-template-areas:"date main" "date price" "actions actions";gap:6px 14px;padding:16px}
  .hxRowDate{grid-area:date;align-self:start}
  .hxRowMain{grid-area:main}
  .hxRowPrice{grid-area:price}
  .hxRowActions{grid-area:actions;margin-top:8px}
  .hxRowActions>*{flex:1}
  .hxFilterRow{flex-direction:column;align-items:stretch;gap:10px}
  .hxFilterRow .hxInput{width:100%}
  .hxFilters>.hxChips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  .hxFilters>.hxChips button{flex:none}
  .hxJump{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;width:auto;border-radius:16px;scrollbar-width:none}
  .hxJump a{flex:none}
  .hxNextGrid{grid-template-columns:1fr 1fr;gap:10px}
  .hxNextGrid a{min-height:150px;padding:14px}
  .hxNextGrid strong{font-size:16px}
}
@media (max-width:560px){
  .hxHeroSearch{height:56px;font-size:15px}
  .hxHeroSearch b{height:42px;padding:0 16px}
  .hxVisaCards{grid-template-columns:1fr}
  .hxNextGrid small{display:none}
}

.hxCalendarPage .hxIntro,.hxFaqPage .hxIntro,.hxUpdatesPage .hxIntro{padding-top:clamp(40px,6vw,80px)}
.hxCalendarPage .hxIntro h1{font-size:clamp(42px,6.4vw,84px)}
.hxRowPrice strong{font-size:17px;line-height:1.2}
/* Legacy main{overflow:hidden} breaks sticky scroll scenes */
main.hxPage,main.hxHome{overflow:visible!important;overflow-x:clip!important}
.hxStepsMedia{align-self:start}
.hxSheetSearch{letter-spacing:0!important}

/* ==========================================================================
   8.1 "WOW" — glass-flyer design language, bigger type, real photography
   ========================================================================== */
:root{--hx-max:1360px;--hx-glass:rgba(255,255,255,.12);--hx-glass-line:rgba(255,255,255,.26);--hx-night:#062b26;--hx-coral:#FF6B5A;--hx-grad-gold:linear-gradient(135deg,#FFD36E 0%,#FFB347 55%,#FF8A4C 100%)}
html{font-size:17px}
.hxLead{font-size:clamp(19px,2.1vw,24px)}
.hxSectionHead h2{font-size:clamp(42px,6.6vw,92px)}
.hxEyebrow{font-size:12.5px}
.hxPill,.hxPill.button{min-height:52px;padding:0 26px;font-size:16px}
.hxGlassPill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border:1px solid var(--hx-glass-line);border-radius:999px;background:var(--hx-glass);color:#fff;font:800 12px/1 var(--hx-font);letter-spacing:.14em!important;text-transform:uppercase!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hxGlassPill.spark{color:var(--hx-yellow)}
.hxOutline{color:transparent!important;-webkit-text-stroke:2px rgba(255,255,255,.92)}
.hxBigNum{font-size:1.4em;line-height:.9;background:var(--hx-grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.hxWow{background:var(--hx-ivory)}

/* Hero */
.hxHero2{position:relative;min-height:100svh;padding:0!important;overflow:hidden;background:var(--hx-night);color:#fff;isolation:isolate}
.hxHero2Img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.08 + var(--hxp,0) * .12))}
.hxHero2Shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 50% 30%,rgba(0,40,34,.15),rgba(0,30,26,.78)),linear-gradient(180deg,rgba(0,30,26,.55) 0%,rgba(0,30,26,0) 30%,rgba(0,30,26,.88) 100%)}
.hxHero2Inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:78svh;padding:calc(var(--hx-head) + 40px) var(--hx-gutter) 30px;text-align:center}
.hxHero2Inner h1{display:flex;flex-direction:column;margin:0;font:800 clamp(64px,13.5vw,220px)/.84 var(--hx-font);letter-spacing:-.055em;text-transform:uppercase!important;text-shadow:0 14px 60px rgba(0,0,0,.25)}
.hxHero2Sub{max-width:640px;margin:0;font:500 clamp(18px,2vw,23px)/1.45 var(--hx-font);color:rgba(255,255,255,.92)}
.hxRoute{display:flex;align-items:center;gap:12px;font:800 15px var(--hx-font);letter-spacing:.18em}
.hxRoute b{color:#fff}.hxRoute span{color:var(--hx-yellow)}
.hxRoute i{display:block;width:clamp(40px,8vw,110px);border-top:2px dashed rgba(255,255,255,.55)}
.hxHeroSearch.glass{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.hxHeroSearch.glass b{background:var(--hx-yellow);color:var(--hx-deep)}
.hxHero2Bar{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:14px;max-width:var(--hx-max);margin:0 auto;padding:0 var(--hx-gutter) 34px}
.hxGlassTile{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:120px;padding:20px 24px;border:1px solid var(--hx-glass-line);border-radius:22px;background:rgba(0,40,34,.38);color:#fff;text-decoration:none;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 14px 30px rgba(0,48,42,.35)}
.hxGlassTile small{font:800 11.5px var(--hx-font);letter-spacing:.16em;text-transform:uppercase;color:#9fe3d5}
.hxGlassTile strong{font:800 clamp(26px,3vw,40px)/1 var(--hx-font);letter-spacing:-.02em}
.hxGlassTile strong.huge{font-size:clamp(48px,6vw,78px)}
.hxGlassTile em{font:600 14px var(--hx-font);font-style:normal;color:rgba(255,255,255,.8)}
.hxGlassTile.price{background:var(--hx-grad-gold);border-color:transparent;color:var(--hx-deep)}
.hxGlassTile.price small{color:rgba(0,63,55,.75)}.hxGlassTile.price em{color:rgba(0,63,55,.8)}
.hxCountdown{display:flex;gap:16px;margin-top:6px}
.hxCountdown span{display:flex;flex-direction:column;align-items:center;min-width:58px}
.hxCountdown b{font:800 clamp(30px,3.4vw,46px)/1 var(--hx-font);font-variant-numeric:tabular-nums}
.hxCountdown i{font:700 11px var(--hx-font);font-style:normal;letter-spacing:.12em;text-transform:uppercase;opacity:.75}

/* Press marquee */
.hxPress{padding:34px 0!important;overflow:hidden;background:#fff;border-bottom:1px solid var(--hx-line)}
.hxPress .hxEyebrow{text-align:center;margin-bottom:18px}
.hxMarquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hxMarqueeTrack{display:flex;gap:56px;width:max-content;animation:hxMarq 40s linear infinite}
.hxPress:hover .hxMarqueeTrack{animation-play-state:paused}
@keyframes hxMarq{to{transform:translateX(-50%)}}
.hxPressItem{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--hx-deep);text-decoration:none;white-space:nowrap}
.hxPressItem small{font:800 10.5px var(--hx-font);letter-spacing:.16em;text-transform:uppercase;color:var(--hx-muted)}
.hxPressItem strong{font:800 clamp(24px,2.6vw,34px)/1 var(--hx-font);letter-spacing:-.02em}
a.hxPressItem:hover strong{color:var(--hx-emerald)}
.hxPress.isDark{background:var(--hx-night)}.hxPress.isDark .hxPressItem{color:#fff}

/* Stats */
.hxStats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding-top:70px!important;padding-bottom:20px!important}
.hxStats div{display:flex;flex-direction:column;gap:6px;padding:26px 22px;border-radius:24px;background:#fff;box-shadow:0 10px 34px rgba(0,40,34,.06)}
.hxStats strong{font:800 clamp(40px,5vw,72px)/.95 var(--hx-font);letter-spacing:-.04em;color:var(--hx-emerald)}
.hxStats span{font:600 15px var(--hx-font);color:var(--hx-muted)}

/* Deals */
.hxDeals{padding-top:clamp(70px,9vw,130px)}
.hxDealGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;max-width:var(--hx-max);margin:0 auto}
.hxDeal{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:460px;padding:18px;overflow:hidden;border-radius:28px;color:#fff;isolation:isolate}
.hxDeal>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--hx-ease)}
.hxDeal:hover>img{transform:scale(1.05)}
.hxDeal:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,30,26,0) 30%,rgba(0,30,26,.85))}
.hxDealBadge{position:absolute;top:18px;left:18px;padding:8px 14px;border-radius:999px;background:var(--hx-coral);color:#fff;font:800 12px var(--hx-font);letter-spacing:.06em}
.hxDealGlass{padding:16px 18px;border:1px solid var(--hx-glass-line);border-radius:18px;background:rgba(0,40,34,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hxDealGlass h3{margin:0 0 6px;font:800 24px/1.1 var(--hx-font)}
.hxDealGlass p{margin:0;font:700 15px var(--hx-font);color:var(--hx-yellow)}
.hxDealGlass small{display:block;margin-top:4px;font:500 14px/1.4 var(--hx-font);opacity:.85}
.hxDealPrice{display:flex;align-items:baseline;gap:10px;padding:12px 18px;border-radius:16px;background:var(--hx-grad-gold);color:var(--hx-deep)}
.hxDealPrice strong{font:800 26px var(--hx-font)}.hxDealPrice s{opacity:.6;font-weight:700}

/* Trip tiles */
.hxTrips2{padding-top:clamp(70px,9vw,130px)}
.hxRegionChips{max-width:var(--hx-max);margin:0 auto 22px}
.hxTileGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--hx-max);margin:0 auto}
.hxTile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;padding:14px;overflow:hidden;border-radius:30px;color:#fff;isolation:isolate;box-shadow:0 20px 50px rgba(0,40,34,.16)}
.hxTile.isBig{grid-column:span 2;min-height:620px}
.hxTileImg{position:absolute;inset:0;z-index:-2}
.hxTileImg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--hx-ease)}
.hxTile:hover .hxTileImg img{transform:scale(1.06)}
.hxTile:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,30,26,.25) 0%,rgba(0,30,26,0) 35%,rgba(0,30,26,.82) 100%)}
.hxTileTop{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;gap:8px}
.hxTileGlass{display:flex;flex-direction:column;gap:10px;padding:20px 20px 18px;border:1px solid var(--hx-glass-line);border-radius:22px;background:rgba(0,40,34,.38);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.hxTileGlass .hxEyebrow{margin:0;color:#9fe3d5!important}
.hxTileGlass h3{margin:0;font:800 clamp(24px,2.4vw,34px)/1.05 var(--hx-font);letter-spacing:-.02em}
.hxTile.isBig .hxTileGlass h3{font-size:clamp(30px,3.4vw,48px)}
.hxTileGlass h3 a{color:#fff;text-decoration:none}
.hxTileFoot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.hxTilePrice small{display:block;font:800 11px var(--hx-font);letter-spacing:.14em;text-transform:uppercase;color:#9fe3d5}
.hxTilePrice strong{display:block;font:800 30px/1.05 var(--hx-font)}
.hxTilePrice em{display:block;font:600 13px var(--hx-font);font-style:normal;opacity:.85}
.hxTileOthers{margin:0;font:500 13px var(--hx-font);opacity:.8}
.hxSpots{display:flex;flex-direction:column;gap:6px}
.hxSpots span{font:800 12px var(--hx-font);letter-spacing:.1em;text-transform:uppercase;color:var(--hx-yellow)}
.hxSpots i{display:block;height:6px;border-radius:9px;background:rgba(255,255,255,.2);overflow:hidden}
.hxSpots b{display:block;height:100%;border-radius:9px;background:var(--hx-grad-gold)}
.hxSpots.isLow span{color:#ffb4a8}.hxSpots.isLow b{background:var(--hx-coral)}

/* Videos */
.hxVideos{margin-top:clamp(70px,9vw,130px);padding-top:80px!important;padding-bottom:80px!important;background:var(--hx-night);color:#fff}
.hxVideos .hxSectionHead h2{color:#fff}.hxVideos .hxSectionHead h2 em{color:var(--hx-yellow)}
.hxVideoRail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,22vw,300px);gap:16px;max-width:var(--hx-max);margin:0 auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.hxVideoRail::-webkit-scrollbar{display:none}
.hxVideoCard{position:relative;aspect-ratio:9/16;padding:0;overflow:hidden;border:1px solid var(--hx-glass-line);border-radius:24px;background:#000;cursor:pointer;scroll-snap-align:start}
.hxVideoCard video{width:100%;height:100%;object-fit:cover}
.hxVideoCard span{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 14px;border-radius:14px;background:rgba(0,40,34,.45);color:#fff;font:800 15px var(--hx-font);text-align:left;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hxLightbox{align-items:center;justify-content:center;background:rgba(0,20,18,.88)}
.hxLightbox video{max-width:min(460px,92vw);max-height:86vh;border-radius:20px}
.hxLightbox figure{margin:0;max-width:92vw;text-align:center;color:#fff}
.hxLightbox figure img{max-width:92vw;max-height:82vh;border-radius:18px;object-fit:contain}
.hxLightbox figcaption{margin-top:10px;font:700 16px var(--hx-font)}
.hxLightbox .hxClose{position:fixed;top:20px;right:20px}

/* Objections */
.hxObjections{padding-top:clamp(70px,9vw,130px)}
.hxObjGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:var(--hx-max);margin:0 auto}
.hxObjGrid article{position:relative;display:flex;align-items:flex-end;min-height:440px;padding:14px;overflow:hidden;border-radius:28px;isolation:isolate}
.hxObjGrid img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.hxObjGlass{padding:20px;border:1px solid var(--hx-glass-line);border-radius:20px;background:rgba(0,40,34,.5);color:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hxObjGlass h3{margin:0 0 8px;font:800 22px/1.15 var(--hx-font);color:var(--hx-yellow)}
.hxObjGlass p{margin:0;font:500 15.5px/1.5 var(--hx-font)}

/* Reviews */
.hxReviewWall{padding-top:clamp(70px,9vw,130px)}
.hxReviewGrid{columns:3 320px;column-gap:16px;max-width:var(--hx-max);margin:0 auto}
.hxReview{break-inside:avoid;margin:0 0 16px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(0,40,34,.06)}
.hxReview.isFeature{background:var(--hx-deep);color:#fff}
.hxReview blockquote{margin:12px 0 18px;font:600 18px/1.5 var(--hx-font)}
.hxReview.isFeature blockquote{font-size:22px}
.hxReview figcaption strong{display:block;font:800 16px var(--hx-font)}
.hxReview figcaption small{display:block;margin-top:2px;color:var(--hx-muted);font:500 13.5px var(--hx-font)}
.hxReview.isFeature figcaption small{color:rgba(255,255,255,.7)}
.hxStars{color:#00B67A;font-size:18px;letter-spacing:2px}.hxStars i{color:#cfd8d5;font-style:normal}
.hxTpBadge{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:18px;background:#fff;color:var(--hx-ink);text-decoration:none;box-shadow:0 10px 30px rgba(0,40,34,.08)}
.hxTpBadge strong{font:800 34px var(--hx-font)}.hxTpBadge small{font:600 13px var(--hx-font);color:var(--hx-muted)}

/* Visa band tweak */
.hxVisaCopy h2 .hxBigNum{display:inline-block;font-size:clamp(90px,12vw,170px);letter-spacing:-.05em}

/* Social */
.hxSocial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:clamp(70px,9vw,130px) auto 0;padding-top:70px!important;padding-bottom:70px!important;border-radius:36px;background:radial-gradient(120% 120% at 100% 0%,#0B7C6C,var(--hx-night) 70%);color:#fff}
.hxSocialCopy h2{margin:0;font:800 clamp(42px,5.6vw,80px)/.95 var(--hx-font);letter-spacing:-.045em}
.hxSocialCopy h2 em{font-style:normal;color:var(--hx-yellow)}
.hxSocialCopy p:not(.hxEyebrow){margin:18px 0 0;font:500 19px/1.5 var(--hx-font);color:rgba(255,255,255,.82)}
.hxSocialCards{display:grid;gap:10px}
.hxSocialCard{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--hx-glass-line);border-radius:18px;background:var(--hx-glass);color:#fff;text-decoration:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .2s}
.hxSocialCard:hover{background:rgba(255,255,255,.2)}
.hxSocialCard .socialIcon svg{width:26px;height:26px}
.hxSocialCard strong{display:block;font:800 18px var(--hx-font)}.hxSocialCard small{display:block;font:500 13px var(--hx-font);opacity:.8}
.hxSocialCard b{margin-left:auto;padding:8px 14px;border-radius:999px;background:var(--hx-yellow);color:var(--hx-deep);font:800 13px var(--hx-font)}
.hxSocialPics{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.hxSocialPics img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}
.hxPressQuote{margin:0 0 22px;padding:16px 20px;border-left:4px solid var(--hx-yellow);background:#fff;border-radius:0 14px 14px 0;font:700 18px/1.4 var(--hx-font);color:var(--hx-deep)}
.hxPressQuote cite{display:block;margin-top:6px;font:600 13px var(--hx-font);font-style:normal;color:var(--hx-muted)}

/* Final CTA */
.hxFinal{position:relative;display:grid;place-items:center;min-height:86vh;margin-top:clamp(70px,9vw,130px);padding:0!important;overflow:hidden;isolation:isolate}
.hxFinalImg{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.hxFinalGlass{display:flex;flex-direction:column;align-items:center;gap:20px;margin:30px var(--hx-gutter);padding:clamp(30px,5vw,60px);border:1px solid var(--hx-glass-line);border-radius:32px;background:rgba(0,40,34,.42);color:#fff;text-align:center;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.hxFinalGlass h2{margin:0;font:800 clamp(54px,9vw,140px)/.9 var(--hx-font);letter-spacing:-.05em;text-transform:uppercase!important}
.hxFinalGlass h2 em{font-style:normal;color:var(--hx-yellow)}

/* Gallery */
.hxMasonry{columns:4 260px;column-gap:12px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:30px auto 0}
.hxMasonry button{position:relative;display:block;width:100%;margin:0 0 12px;padding:0;overflow:hidden;border:0;border-radius:20px;background:#ddd;cursor:zoom-in;break-inside:avoid}
.hxMasonry img{display:block;width:100%;height:auto;transition:transform .8s var(--hx-ease)}
.hxMasonry button:hover img{transform:scale(1.04)}
.hxMasonry span{position:absolute;left:10px;bottom:10px;padding:6px 12px;border-radius:999px;background:rgba(0,40,34,.55);color:#fff;font:700 13px var(--hx-font);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hxGalleryPage .hxVideos{margin-top:30px}

/* Visas page */
.hxVisasPage,.hxVfPage{padding-top:0!important}
.hxVisaHero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:92svh;padding:0!important;overflow:hidden;color:#fff;isolation:isolate}
.hxVisaHeroImg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hxVisaHeroShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,30,26,.55),rgba(0,30,26,.2) 40%,rgba(0,30,26,.9))}
.hxVisaHeroInner{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:var(--hx-max);width:100%;margin:0 auto;padding:calc(var(--hx-head) + 60px) var(--hx-gutter) 30px}
.hxVisaHeroInner h1{margin:0;font:800 clamp(60px,10vw,160px)/.88 var(--hx-font);letter-spacing:-.05em;text-transform:uppercase!important}
.hxVisaHeroInner h1 em{font-style:normal;color:var(--hx-yellow)}
.hxVisaHeroInner>p{max-width:620px;margin:0;font:500 clamp(18px,2vw,22px)/1.45 var(--hx-font)}
.hxVisaHero .hxHero2Bar{width:100%}
.hxPopularVisas{padding-top:70px}
.hxBigVisaGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:var(--hx-max);margin:0 auto}
.hxBigVisaGrid article{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(0,40,34,.07)}
.hxBigVisaGrid small{font:800 11.5px var(--hx-font);letter-spacing:.14em;text-transform:uppercase;color:var(--hx-emerald)}
.hxBigVisaGrid h3{margin:0;font:800 30px/1 var(--hx-font);color:var(--hx-deep)}
.hxBigVisaGrid strong{font:800 22px var(--hx-font);color:var(--hx-ink)}
.hxBigVisaGrid p{margin:0;font:500 15px/1.45 var(--hx-font)}
.hxBigVisaGrid ul{margin:4px 0 8px;padding-left:18px;color:var(--hx-muted);font:500 14px/1.6 var(--hx-font)}
.hxBigVisaGrid .hxPill{margin-top:auto}
.hxCheckWrap{margin-top:40px}
.hxVisaTable{padding-top:clamp(60px,8vw,110px)}
.hxVisaTable>.hxChips{max-width:var(--hx-max);margin:0 auto 18px}
.hxVisaRows{display:grid;gap:8px;max-width:var(--hx-max);margin:0 auto}
.hxVisaRows article{border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(0,40,34,.05);overflow:hidden}
.hxVisaRows button{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr) minmax(0,1fr) 24px;gap:16px;align-items:center;width:100%;padding:18px 22px;border:0;background:none;color:var(--hx-ink);text-align:left;cursor:pointer;font-family:var(--hx-font)}
.hxVisaRows button strong{display:block;font:800 18px var(--hx-font)}.hxVisaRows button small{display:block;color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxVisaRows button b{font:800 16px var(--hx-font);color:var(--hx-deep)}.hxVisaRows button em{font:500 14px var(--hx-font);font-style:normal;color:var(--hx-muted)}
.hxVisaRows article.isOpen button .hxIcon{transform:rotate(180deg)}
.hxVisaDetail{padding:0 22px 22px;font:500 16px/1.55 var(--hx-font)}
.hxVisaDetail h4{margin:10px 0 6px;font:800 15px var(--hx-font)}
.hxVisaDetail ul{margin:0 0 14px;padding-left:20px;color:#36443f}
.hxVisaDetail .hxHeroActions{justify-content:flex-start}
.hxVfCta{position:relative;display:grid;place-items:center;min-height:70vh;margin-top:clamp(60px,8vw,110px);padding:0!important;overflow:hidden;isolation:isolate}
.hxVfCta>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.hxVfCta h2{margin:0;max-width:760px;font:800 clamp(34px,5vw,64px)/1 var(--hx-font);letter-spacing:-.03em}
.hxVfGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:24px auto 0}
.hxVfGrid article{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(0,40,34,.05)}
.hxVfGrid strong{display:block;font:800 17px var(--hx-font)}.hxVfGrid small{display:block;color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxFlag{font-size:30px;line-height:1}
.hxVfGrid .is-visa-free{border-left:4px solid #00B67A}.hxVfGrid .is-on-arrival{border-left:4px solid var(--hx-yellow)}.hxVfGrid .is-e-visa,.hxVfGrid .is-eta{border-left:4px solid #6fb6ff}

/* Trip page booking */
.hxTripBook{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:60px auto 0;padding:0 var(--hx-gutter);font-family:var(--hx-font)}
.hxTripBookGlass{display:flex;flex-direction:column;gap:14px;padding:32px;border-radius:30px;background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-night) 70%);color:#fff}
.hxTripBookGlass h2{margin:0;font:800 clamp(30px,3.6vw,46px)/1 var(--hx-font);letter-spacing:-.03em}
.hxTripBookGlass p:not(.hxEyebrow){margin:0;font:600 16px var(--hx-font);opacity:.9}
.hxTripBookGlass .hxPill{align-self:flex-start}
.hxPackages{padding:28px;border-radius:30px;background:#fff;box-shadow:0 12px 34px rgba(0,40,34,.07)}
.hxPackages h3{margin:0 0 14px;font:800 22px var(--hx-font);color:var(--hx-deep)}
.hxPackages>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hx-line)}
.hxPackages span{font:600 15.5px var(--hx-font)}.hxPackages strong{font:800 18px var(--hx-font);color:var(--hx-deep)}.hxPackages small{color:var(--hx-muted);font:500 13px var(--hx-font)}
.hxPackages .hxMuted{margin:14px 0 0;font-size:13.5px}

/* Parish pages */
.hxLocalPage .hxTriple{padding-top:30px}
.hxParishLinks{max-width:var(--hx-max);margin:60px auto 0}
.hxParishLinks>div{display:flex;flex-wrap:wrap;gap:8px}
.hxParishLinks a{padding:10px 16px;border:1px solid var(--hx-line);border-radius:999px;background:#fff;color:var(--hx-ink);font:700 14px var(--hx-font);text-decoration:none}
.hxParishLinks a.isActive,.hxParishLinks a:hover{background:var(--hx-emerald);border-color:var(--hx-emerald);color:#fff}

/* Gravity Forms + theme forms: one glass brand style everywhere */
.gform_wrapper,.happistartDynamicForm{font-family:var(--hx-font)!important}
.gform_wrapper .gform_title{font:800 clamp(28px,3vw,40px)/1.05 var(--hx-font)!important;letter-spacing:-.02em;color:var(--hx-deep)}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font:700 15px var(--hx-font)!important;color:var(--hx-ink)!important}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]),.gform_wrapper select,.gform_wrapper textarea{min-height:52px;padding:12px 16px!important;border:1px solid var(--hx-line)!important;border-radius:14px!important;background:#fff!important;font:500 16px var(--hx-font)!important;color:var(--hx-ink)!important;transition:border-color .2s,box-shadow .2s}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline:0!important;border-color:var(--hx-emerald)!important;box-shadow:0 0 0 4px rgba(0,105,92,.14)!important}
.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_page_footer input[type=button],.gform_wrapper .gform_button,.gform_wrapper button[type=submit]{min-height:54px!important;padding:0 30px!important;border:0!important;border-radius:999px!important;background:var(--hx-emerald)!important;color:#fff!important;font:800 16px var(--hx-font)!important;cursor:pointer}
.gform_wrapper .gform_footer input[type=submit]:hover,.gform_wrapper .gform_button:hover{background:var(--hx-deep)!important}
.gform_wrapper .gf_progressbar_percentage{background:var(--hx-grad-gold)!important;color:var(--hx-deep)!important}
.gform_wrapper .gfield_required{color:var(--hx-coral)!important}
.gform_wrapper .validation_message,.gform_wrapper .gform_validation_errors{border-radius:12px!important}

/* Responsive for 8.1 */
@media (max-width:1180px){.hxStats{grid-template-columns:repeat(3,1fr)}.hxObjGrid,.hxBigVisaGrid{grid-template-columns:repeat(2,1fr)}.hxTileGrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  html{font-size:16px}
  .hxHero2Inner{min-height:auto;padding-top:calc(var(--hx-head) + 70px)}
  .hxHero2Inner h1{font-size:clamp(58px,17vw,110px)}
  .hxHero2Bar{grid-template-columns:1fr 1fr;padding-bottom:24px}
  .hxHero2Bar .hxGlassTile.wide{grid-column:1/-1;order:-1}
  .hxGlassTile{min-height:100px;padding:16px 18px}
  .hxCountdown{gap:10px}.hxCountdown span{min-width:44px}
  .hxStats{grid-template-columns:repeat(2,1fr);padding-top:40px!important}
  .hxStats div:last-child{grid-column:1/-1}
  .hxTileGrid{grid-template-columns:1fr}.hxTile,.hxTile.isBig{grid-column:auto;min-height:480px}
  .hxObjGrid{grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}
  .hxObjGrid article{scroll-snap-align:start;min-height:420px}
  .hxSocial,.hxTripBook{grid-template-columns:1fr;border-radius:0;margin-left:0;margin-right:0}
  .hxSocialPics{grid-template-columns:repeat(3,1fr)}
  .hxBigVisaGrid{grid-template-columns:1fr}
  .hxVisaRows button{grid-template-columns:1fr auto;grid-template-areas:"c p" "t time"}
  .hxVisaRows button>span:first-child{grid-area:c}.hxVisaRows button b{grid-area:p}.hxVisaRows button .hxBadge{grid-area:t;justify-self:start}.hxVisaRows button em{grid-area:time;text-align:right}.hxVisaRows button .hxIcon{display:none}
  .hxFinal{min-height:70vh}
  .hxVideoRail{grid-auto-columns:62vw}
  .hxReviewGrid{columns:1}
}
@media (prefers-reduced-motion:reduce){.hxMarqueeTrack{animation:none}}
.hxPrerender{max-width:900px;margin:0 auto;padding:140px 24px 60px;font-family:var(--hx-font);color:var(--hx-ink)}.hxPrerender h1{font-size:44px;line-height:1;color:var(--hx-deep)}.hxPrerender a{color:var(--hx-emerald)}
@media (max-width:900px){.hxMasonry{columns:2;column-gap:8px;padding:0 12px!important}.hxMasonry button{margin-bottom:8px;border-radius:14px}.hxMasonry img{max-height:420px;object-fit:cover}.hxMasonry span{font-size:11px;padding:4px 9px}}
/* Store, static press grid, passport picker, diaspora line */
.hxPressGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 44px;max-width:var(--hx-max);margin:0 auto;padding:0 var(--hx-gutter)}
.hxDiaspora{margin:0;font:600 15px var(--hx-font);color:rgba(255,255,255,.85)}
.hxPassportPick{max-width:var(--hx-max);margin:24px auto 0;font-family:var(--hx-font)}
.hxPassportPick label{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hxPassportPick span{font:800 12px var(--hx-font);letter-spacing:.14em;text-transform:uppercase;color:var(--hx-emerald)}
.hxPassportPick select{min-height:50px;padding:0 18px;border:1px solid var(--hx-line);border-radius:14px;background:#fff;font:700 17px var(--hx-font);color:var(--hx-ink)}
.hxStats{grid-template-columns:repeat(6,1fr)}
@media (max-width:1180px){.hxStats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.hxStats{grid-template-columns:repeat(2,1fr)}.hxStats div:last-child{grid-column:auto}.hxPressGrid{gap:16px 26px}.hxPressItem strong{font-size:20px}}
.hxMerchGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--hx-max);margin:20px auto 0}
.hxMerchGrid article{display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(0,40,34,.07)}
.hxMerchGrid img,.hxMerchTile{width:100%;aspect-ratio:1;object-fit:cover;background:#f2efe8}
.hxMerchTile{display:grid;place-items:center;font-size:84px;background:radial-gradient(120% 120% at 0 0,#0B7C6C,var(--hx-night))}
.hxMerchGrid article>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px}
.hxMerchGrid h3{margin:0;font:800 22px var(--hx-font)}.hxMerchGrid p{margin:0 0 6px;color:var(--hx-muted);font:500 15px var(--hx-font)}
.hxMerchGrid .isSoon{opacity:.7}
.hxShopify{max-width:var(--hx-max);margin:20px auto 0}
@media (max-width:900px){.hxMerchGrid{grid-template-columns:1fr 1fr;gap:10px}.hxMerchGrid h3{font-size:17px}.hxMerchGrid article>div:last-child{padding:14px}.hxMerchGrid .hxPill{min-height:42px;padding:0 14px;font-size:13px}}
.hxHardOnes{padding-top:clamp(60px,8vw,110px)}.hxHardGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:var(--hx-max);margin:0 auto}.hxHardGrid a{display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:20px;background:#fff;color:var(--hx-ink);text-decoration:none;box-shadow:0 6px 22px rgba(0,40,34,.06);transition:transform .25s var(--hx-ease)}.hxHardGrid a:hover{transform:translateY(-3px)}.hxHardGrid strong{font:800 19px var(--hx-font)}.hxHardGrid small{color:var(--hx-emerald);font:800 11px var(--hx-font);letter-spacing:.12em;text-transform:uppercase}.hxHardGrid span{font:700 15px var(--hx-font);color:var(--hx-deep)}@media (max-width:900px){.hxHardGrid{grid-template-columns:1fr 1fr}}
.wetravelPackageHost{position:relative;min-height:520px;border-radius:14px;background:linear-gradient(90deg,#f6f3ec 0%,#ece7dc 50%,#f6f3ec 100%);background-size:200% 100%;animation:hxShimmer 1.2s infinite}.wetravelPackageHost:before{content:"Loading live booking…";position:absolute;top:24px;left:50%;transform:translateX(-50%);font:700 15px var(--hx-font);color:var(--hx-emerald)}.wetravelPackageHost iframe{position:relative;z-index:1;background:transparent}
/* 8.2: monochrome logos, one-line section titles, trip page */
.hxPressGrid{align-items:center;gap:26px 54px}
.hxPressItem{gap:8px}
.hxPressItem img{display:block;height:38px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.72;transition:opacity .2s}
.hxPressItem:hover img{opacity:1}
.hxMark{font:900 30px/1 var(--hx-font)!important;letter-spacing:-.03em;color:#1d2422;opacity:.72}
.hxPress.isDark .hxPressItem img{filter:grayscale(1) brightness(0) invert(1)}
.hxSectionHead h2 br,.hxVisaCopy h2 br,.hxSocialCopy h2 br,.hxStatementCopy h2 br{display:none}
.hxSectionHead h2 em::before,.hxSocialCopy h2 em::before,.hxStatementCopy h2 em::before{content:"\00a0"}
.hxTripPage .hxTripHero{min-height:92svh}
.hxTripHeroInner{align-items:flex-start;text-align:left;max-width:var(--hx-max);margin:0 auto;min-height:62svh;justify-content:flex-end}
.hxTripTitle{display:block!important;font-size:clamp(44px,7.4vw,112px)!important;line-height:.92!important;max-width:1100px}
.hxTripHeroInner .hxRoute{flex-wrap:wrap}
.hxTripBar{grid-template-columns:1fr 1fr 1fr auto;align-items:stretch}
.hxTripBar .hxSpots span{color:var(--hx-yellow)}
.hxTripBook{align-self:center;min-height:64px!important;padding:0 34px!important;font-size:18px!important}
.hxTripNav{top:calc(var(--hx-head) + 8px)}
.hxTripNav .hxJumpBook{min-height:38px!important;padding:0 18px!important;border:0;border-radius:999px;background:var(--hx-emerald);color:#fff;font:700 14px var(--hx-font);cursor:pointer}
.hxTripOverview{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,5vw,70px);max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding-top:60px!important}
.hxTripLead h2{margin:0 0 18px;font:800 clamp(30px,3.6vw,48px)/1.08 var(--hx-font);letter-spacing:-.02em;color:var(--hx-deep)}
.hxAboutCards{display:grid;gap:10px;align-content:start}
.hxAboutCards details{padding:0 22px;border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(0,40,34,.05)}
.hxAboutCards summary{padding:18px 0;font:800 18px var(--hx-font);cursor:pointer;list-style:none}
.hxAboutCards summary::-webkit-details-marker{display:none}
.hxAboutCards summary:after{content:"+";float:right;color:var(--hx-emerald)}
.hxAboutCards details[open] summary:after{content:"−"}
.hxAboutCards .hxProse{padding-bottom:18px;font-size:16px}
.hxClips{margin-top:70px}
.hxItinerary{padding-top:clamp(60px,8vw,110px)}
.hxItinerary ol{max-width:980px;margin:0 auto;padding:0;list-style:none}
.hxItinerary li{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--hx-line)}
.hxItinerary li>span{font:800 34px var(--hx-font);color:var(--hx-emerald)}
.hxItinerary h3{margin:4px 0 10px;font:800 24px var(--hx-font);color:var(--hx-deep)}
.hxItinerary h4{margin:12px 0 6px;font:800 17px var(--hx-font)}
.hxItinPics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.hxItinPics img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.hxIncl{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:clamp(60px,8vw,110px) auto 0}
.hxInclCol{padding:30px;border-radius:28px;background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-night) 70%);color:#fff}
.hxInclCol.no{background:#fff;color:var(--hx-ink);box-shadow:0 10px 30px rgba(0,40,34,.06)}
.hxInclCol h3{margin:0 0 14px;font:800 26px var(--hx-font)}
.hxInclCol .hxProse{color:inherit;font-size:16px}
.hxInclCol .hxProse li{margin:4px 0}
.hxTripPrices{padding-top:clamp(60px,8vw,110px)}
.hxPkGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;max-width:var(--hx-max);margin:0 auto}
.hxPkGrid article{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:22px;background:#fff;box-shadow:0 6px 22px rgba(0,40,34,.06)}
.hxPkGrid small{font:800 11px var(--hx-font);letter-spacing:.14em;text-transform:uppercase;color:var(--hx-emerald)}
.hxPkGrid h3{margin:0;font:800 19px/1.2 var(--hx-font)}
.hxPkGrid strong{font:800 30px var(--hx-font);color:var(--hx-deep)}
.hxPkGrid span{color:var(--hx-muted);font:600 14px var(--hx-font)}
.hxTripVisas{padding-top:clamp(60px,8vw,110px)}
.hxTripPhotos{margin-top:60px!important}
.hxTripPhotos img{display:block;width:100%;margin:0 0 12px;border-radius:18px;break-inside:avoid}
.hxStickyBook{display:none}
/* Restyle legacy visa sections to match */
.hxVisasPage .travelRequirements{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding:clamp(60px,8vw,100px) var(--hx-gutter)!important;background:transparent!important;font-family:var(--hx-font)}
.hxVisasPage .travelRequirements .sectionTitle h2{font:800 clamp(42px,6vw,84px)/1 var(--hx-font)!important;letter-spacing:-.04em;color:var(--hx-deep)!important}
.hxVisasPage .travelRequirementShell{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}
.hxVisasPage .travelRequirementForm,.hxVisasPage .travelRequirementResult{padding:30px!important;border:0!important;border-radius:28px!important;background:#fff!important;box-shadow:0 12px 34px rgba(0,40,34,.07)!important}
.hxVisasPage .travelRequirementResult{background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-night) 70%)!important;color:#fff!important}
.hxVisasPage .travelRequirementResult h3{font:800 32px/1.1 var(--hx-font)!important;color:#fff!important}
.hxVisasPage .travelRequirementResult p{color:rgba(255,255,255,.88)!important;font:500 17px/1.5 var(--hx-font)!important}
.hxVisasPage .travelRequirementResult .eyebrow{color:var(--hx-yellow)!important}
.hxVisasPage .travelRequirementForm select{min-height:54px;border:1px solid var(--hx-line)!important;border-radius:14px!important;font:600 16px var(--hx-font)!important}
.hxVisasPage .travelRequirementForm button[type=submit]{min-height:54px;border-radius:999px!important;background:var(--hx-emerald)!important;font:800 16px var(--hx-font)!important;text-transform:none!important;letter-spacing:0!important}
.hxVisasPage [class*="visaFree"],.hxVisasPage [class*="VisaFree"]{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin-left:auto;margin-right:auto;font-family:var(--hx-font)}
@media (max-width:900px){
  .hxTripBar{grid-template-columns:1fr 1fr}.hxTripBar .hxTripBook{grid-column:1/-1;width:100%}
  .hxTripOverview,.hxIncl{grid-template-columns:1fr}.hxIncl{margin-left:16px;margin-right:16px}
  .hxItinerary li{grid-template-columns:44px 1fr;gap:12px}.hxItinerary li>span{font-size:24px}
  .hxStickyBook{position:fixed;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:1140;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border:1px solid var(--hx-glass-line);border-radius:20px;background:rgba(0,40,34,.82);color:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .hxStickyBook strong{display:block;font:800 20px var(--hx-font)}.hxStickyBook small{display:block;font:600 12px var(--hx-font);opacity:.85}
  .hxStickyBook .hxPill{min-height:46px}
  .hxVisasPage .travelRequirementShell{grid-template-columns:1fr}
  .hxTripNav .hxJumpBook{display:none}
}
.hxTv{padding-top:clamp(70px,9vw,130px)}.hxTvGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:var(--hx-max);margin:0 auto}.hxTvGrid article{position:relative;aspect-ratio:9/12;overflow:hidden;border-radius:22px;background:#000}.hxTvGrid iframe{width:100%;height:100%;border:0}.hxTvGrid button{position:relative;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.hxTvGrid img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .8s var(--hx-ease)}.hxTvGrid button:hover img{transform:scale(1.05)}.hxTvGrid i{position:absolute;top:40%;left:50%;display:grid;place-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--hx-yellow);color:var(--hx-deep);font-style:normal;font-size:20px}.hxTvGrid span{position:absolute;left:10px;right:10px;bottom:10px;padding:12px 14px;border-radius:14px;background:rgba(0,40,34,.55);color:#fff;text-align:left;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hxTvGrid small{display:block;color:var(--hx-yellow);font:800 11px var(--hx-font);letter-spacing:.12em;text-transform:uppercase}.hxTvGrid strong{display:block;margin-top:3px;font:700 15px/1.25 var(--hx-font)}@media (max-width:900px){.hxTvGrid{grid-auto-flow:column;grid-auto-columns:70vw;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.hxTvGrid article{scroll-snap-align:start}}

/* ==========================================================================
   8.3 · ONE STYLE EVERYWHERE — harmonises every legacy page with the new
   glass-flyer design (heroes, headings, buttons, cards, forms, bands, legal).
   ========================================================================== */
.hxPageWrap>main:not(.hxPage):not(.hxHome){background:var(--hx-ivory);color:var(--hx-ink);font-family:var(--hx-font);overflow:visible!important;overflow-x:clip!important}
.hxPageWrap>main:not(.hxPage):not(.hxHome) *{letter-spacing:normal}
/* Heroes */
.hxPageWrap .pageHero,.hxPageWrap .packageHero,.hxPageWrap .consultHero,.hxPageWrap .videoHero,.hxPageWrap .shortHero,.hxPageWrap .plainHero,.hxPageWrap .termsHero,.hxPageWrap .tourDetailHero{position:relative;min-height:82svh!important;display:flex!important;align-items:flex-end!important;overflow:hidden;isolation:isolate;background:var(--hx-night)!important}
.hxPageWrap .shortHero,.hxPageWrap .plainHero,.hxPageWrap .termsHero{min-height:58svh!important}
.hxPageWrap .pageHero>img,.hxPageWrap .packageHero>img,.hxPageWrap .consultHero>img,.hxPageWrap .videoHero>video,.hxPageWrap .videoHero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hxPageWrap .heroShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,30,26,.55),rgba(0,30,26,.18) 40%,rgba(0,30,26,.9))!important}
.hxPageWrap .pageHeroContent,.hxPageWrap .packageHero>div:not(.heroShade),.hxPageWrap .consultHero>div:not(.heroShade){position:relative;max-width:var(--hx-max)!important;width:100%;margin:0 auto!important;padding:calc(var(--hx-head) + 60px) var(--hx-gutter) 64px!important;color:#fff}
.hxPageWrap .pageHero h1,.hxPageWrap .packageHero h1,.hxPageWrap .consultHero h1,.hxPageWrap .videoHero h1,.hxPageWrap .shortHero h1,.hxPageWrap .plainHero h1,.hxPageWrap .termsHero h1,.hxPageWrap .simpleHero h1,.hxPageWrap main:not(.hxPage):not(.hxHome)>section:first-child h1{margin:16px 0 18px!important;font:800 clamp(52px,9vw,140px)/.9 var(--hx-font)!important;letter-spacing:-.05em!important;text-transform:uppercase!important;color:#fff;max-width:1150px}
.hxPageWrap main:not(.hxPage):not(.hxHome) h1 em{font-style:normal!important;color:var(--hx-yellow)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) h1 br{display:none}
.hxPageWrap main:not(.hxPage):not(.hxHome) h1 em::before{content:"\00a0"}
.hxPageWrap .pageHero p:not(.eyebrow),.hxPageWrap .packageHero p:not(.eyebrow),.hxPageWrap .consultHero p:not(.eyebrow){max-width:640px;font:500 clamp(18px,2vw,22px)/1.45 var(--hx-font)!important;color:rgba(255,255,255,.92)!important}
.hxPageWrap .scrollCue{display:none!important}
.hxPageWrap .simpleHero{min-height:60svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--hx-head) + 40px) var(--hx-gutter) 40px!important;background:radial-gradient(120% 120% at 50% 0%,#0B7C6C,var(--hx-night) 70%)!important;color:#fff}
.hxPageWrap .simpleHero h1{color:#fff!important}
/* Eyebrows become glass pills in heroes, emerald caps elsewhere */
.hxPageWrap main:not(.hxPage):not(.hxHome) .eyebrow{font:800 12.5px/1.2 var(--hx-font)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--hx-emerald)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) .eyebrow.light,.hxPageWrap .pageHero .eyebrow,.hxPageWrap .packageHero .eyebrow,.hxPageWrap .consultHero .eyebrow,.hxPageWrap .darkSection .eyebrow,.hxPageWrap .finalCta .eyebrow,.hxPageWrap .helpStrip .eyebrow{color:var(--hx-yellow)!important}
.hxPageWrap .pageHero .eyebrow,.hxPageWrap .packageHero .eyebrow,.hxPageWrap .consultHero .eyebrow{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid var(--hx-glass-line);border-radius:999px;background:var(--hx-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
/* Section headings: big, one line */
.hxPageWrap main:not(.hxPage):not(.hxHome) .sectionTitle,.hxPageWrap main:not(.hxPage):not(.hxHome) .sectionHead{max-width:var(--hx-max);margin-left:auto;margin-right:auto}
.hxPageWrap main:not(.hxPage):not(.hxHome) h2{font:800 clamp(38px,5.6vw,80px)/1 var(--hx-font)!important;letter-spacing:-.04em!important;color:var(--hx-deep)}
.hxPageWrap main:not(.hxPage):not(.hxHome) h2 em{font-style:normal!important;color:var(--hx-emerald)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) h2 br{display:none}
.hxPageWrap main:not(.hxPage):not(.hxHome) h2 em::before{content:"\00a0"}
.hxPageWrap main:not(.hxPage):not(.hxHome) h3{font-family:var(--hx-font)!important;font-weight:800!important;letter-spacing:-.01em}
.hxPageWrap main:not(.hxPage):not(.hxHome) .lead,.hxPageWrap main:not(.hxPage):not(.hxHome) section>p{font:500 clamp(17px,1.8vw,20px)/1.55 var(--hx-font)}
.hxPageWrap main:not(.hxPage):not(.hxHome) .section{padding-top:clamp(60px,8vw,110px)!important;padding-bottom:clamp(30px,5vw,60px)!important}
/* Buttons → pills */
.hxPageWrap main:not(.hxPage):not(.hxHome) .button,.hxPageWrap main:not(.hxPage):not(.hxHome) button.button,.hxPageWrap .tourPrimaryButton,.hxPageWrap .tourSecondaryButton,.hxPageWrap .refYellowButton{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:52px!important;padding:0 26px!important;border:1px solid var(--hx-emerald)!important;border-radius:999px!important;background:var(--hx-emerald)!important;color:#fff!important;font:700 16px/1 var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;box-shadow:none!important;transition:transform .25s var(--hx-ease),background .25s!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) .button:hover{transform:translateY(-1px);background:var(--hx-deep)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) .button.ivory,.hxPageWrap main:not(.hxPage):not(.hxHome) .button.glassLight,.hxPageWrap main:not(.hxPage):not(.hxHome) .button.light{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.5)!important;color:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hxPageWrap .pageHero .button.ivory,.hxPageWrap .pageHero .button:first-of-type{background:var(--hx-yellow)!important;border-color:var(--hx-yellow)!important;color:var(--hx-deep)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) section:not(.pageHero):not(.finalCta):not(.helpStrip):not(.darkSection):not(.pastLinkBand) .button.ivory,.hxPageWrap main:not(.hxPage):not(.hxHome) section:not(.pageHero):not(.finalCta):not(.helpStrip):not(.darkSection):not(.pastLinkBand) .button.glassLight,.hxPageWrap main:not(.hxPage):not(.hxHome) .button.quiet,.hxPageWrap main:not(.hxPage):not(.hxHome) .button.soft{background:transparent!important;border-color:var(--hx-emerald)!important;color:var(--hx-emerald)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) .miniLink{font:700 15px var(--hx-font)!important;color:var(--hx-emerald)!important;text-transform:none!important;letter-spacing:0!important}
/* Cards */
.hxPageWrap :is(.simpleFeatureGrid,.presetGrid,.privatePlanGrid,.processGrid,.aboutServiceGrid,.credentialGrid,.consultCards,.teamPhotoGrid,.cruisePartnerGrid,.mediaStoryGrid,.tripBlockGrid,.pathways)>*{border:0!important;border-radius:24px!important;background:#fff!important;box-shadow:0 10px 34px rgba(0,40,34,.07)!important;overflow:hidden}
.hxPageWrap :is(.simpleFeatureGrid,.processGrid,.aboutServiceGrid,.credentialGrid,.consultCards,.pathways)>*{padding:26px!important}
.hxPageWrap :is(.presetGrid,.tripBlockGrid,.teamPhotoGrid,.mediaStoryGrid) img{border-radius:0;transition:transform .9s var(--hx-ease)}
.hxPageWrap :is(.presetGrid,.tripBlockGrid,.mediaStoryGrid)>*:hover img{transform:scale(1.04)}
.hxPageWrap .tripBlock{display:flex!important;flex-direction:column}
.hxPageWrap .tripBlockImage span{border-radius:999px!important;background:rgba(0,40,34,.55)!important;backdrop-filter:blur(10px);font:800 11px var(--hx-font)!important;letter-spacing:.06em!important}
.hxPageWrap .tripFocalPrice,.hxPageWrap .presetPrice,.hxPageWrap .consultPrice{font:800 22px var(--hx-font)!important;color:var(--hx-deep)!important}
/* Dark bands → glass flyer bands */
.hxPageWrap .finalCta,.hxPageWrap .helpStrip,.hxPageWrap .darkSection,.hxPageWrap .pastLinkBand,.hxPageWrap .cruiseSupportBand,.hxPageWrap .socialRibbon{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:clamp(50px,7vw,100px) auto!important;padding:clamp(40px,6vw,80px) var(--hx-gutter)!important;border-radius:36px!important;background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-night) 70%)!important;color:#fff!important}
.hxPageWrap :is(.finalCta,.helpStrip,.darkSection,.pastLinkBand,.cruiseSupportBand,.socialRibbon) h2{color:#fff!important}
.hxPageWrap :is(.finalCta,.helpStrip,.darkSection,.pastLinkBand,.cruiseSupportBand,.socialRibbon) h2 em{color:var(--hx-yellow)!important}
.hxPageWrap .finalCta>div{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
@media (max-width:900px){.hxPageWrap :is(.finalCta,.helpStrip,.darkSection,.pastLinkBand,.cruiseSupportBand,.socialRibbon){border-radius:0!important;margin-left:0!important;margin-right:0!important}}
/* Forms everywhere */
.hxPageWrap main:not(.hxPage):not(.hxHome) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),select,textarea),.hxPageWrap .modalPanel :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){min-height:52px;padding:12px 16px!important;border:1px solid var(--hx-line)!important;border-radius:14px!important;background:#fff!important;font:500 16px var(--hx-font)!important;color:var(--hx-ink)!important;box-shadow:none!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) textarea{min-height:130px}
.hxPageWrap main:not(.hxPage):not(.hxHome) :is(input,select,textarea):focus{outline:0!important;border-color:var(--hx-emerald)!important;box-shadow:0 0 0 4px rgba(0,105,92,.14)!important}
.hxPageWrap main:not(.hxPage):not(.hxHome) label>span,.hxPageWrap .modalPanel label>span{font:700 14px var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--hx-ink)!important}
.hxPageWrap :is(.contactForm,.inlineForm,.collabForm,.supplierForm,.agentFormStage,.wizard,.checkoutFields,.checkoutSummary,.cartPage .cartList,.contactInfo){border:0!important;border-radius:28px!important;background:#fff!important;box-shadow:0 12px 34px rgba(0,40,34,.07)!important;padding:clamp(22px,3vw,36px)!important}
.hxPageWrap .modalPanel{border-radius:28px!important;font-family:var(--hx-font)}
.hxPageWrap .modalPanel h2{font:800 clamp(30px,3.6vw,46px)/1.05 var(--hx-font)!important;letter-spacing:-.03em!important;color:var(--hx-deep)!important}
.hxPageWrap .modalPanel .eyebrow{font:800 12px var(--hx-font)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--hx-emerald)!important}
.hxPageWrap .modalPanel .button{border-radius:999px!important;text-transform:none!important;letter-spacing:0!important;font:700 16px var(--hx-font)!important;min-height:50px}
/* Legal pages / WordPress content */
.hxPageWrap :is(.termsBody,.cmsWordpressBody article,.wetravelRichCopy){max-width:860px;margin:0 auto;padding:40px var(--hx-gutter) 80px;font:500 18px/1.75 var(--hx-font);color:#26312e}
.hxPageWrap :is(.termsBody,.cmsWordpressBody article) :is(h2,h3){margin:1.6em 0 .5em!important;font:800 clamp(24px,2.6vw,32px)/1.15 var(--hx-font)!important;letter-spacing:-.02em!important;color:var(--hx-deep)!important}
.hxPageWrap :is(.termsBody,.cmsWordpressBody article) a{color:var(--hx-emerald);font-weight:700}
.hxPageWrap .cmsWordpressBody{padding-top:calc(var(--hx-head) + 30px)!important}
.hxPageWrap .cmsWordpressBody article>h1:first-child,.hxPageWrap .cmsWordpressBody article h1{font:800 clamp(42px,6vw,84px)/.95 var(--hx-font)!important;letter-spacing:-.045em!important;color:var(--hx-deep)!important;text-transform:none!important}
/* Group Trips legacy page extras */
.hxPageWrap .journeyPromise{max-width:var(--hx-max);margin:-70px auto 0!important;position:relative;z-index:2;gap:12px!important;display:grid!important;grid-template-columns:repeat(3,1fr);padding:0 var(--hx-gutter)!important;border:0!important}
.hxPageWrap .journeyPromise>div{padding:28px!important;border:0!important;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 50px rgba(0,40,34,.12)!important}
.hxPageWrap .journeyPromise span{font:800 14px var(--hx-font)!important;color:var(--hx-emerald)!important;font-style:normal!important}
.hxPageWrap .journeyPromise h3{font-size:24px!important;color:var(--hx-deep)!important}
@media (max-width:900px){.hxPageWrap .journeyPromise{grid-template-columns:1fr;margin-top:-40px!important}}
.hxPageWrap .tripSearch{gap:12px!important}
.hxPageWrap .tripSearch label>span{font:800 11px var(--hx-font)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--hx-emerald)!important}
/* Reviews carousel used on some pages */
.hxPageWrap .reviewCarousel{max-width:var(--hx-max);margin:60px auto!important;padding:50px var(--hx-gutter)!important;border-radius:32px;background:#fff;box-shadow:0 12px 34px rgba(0,40,34,.07);font-family:var(--hx-font)}
.hxPageWrap .reviewCarousel blockquote{font:700 clamp(22px,2.6vw,32px)/1.3 var(--hx-font)!important;color:var(--hx-deep)!important}
/* Not-found page */
.hxNotFound .hxIntro h1 em{color:var(--hx-emerald)}
/* Account portal header + cards */
body.happistart-premium-app .hsAccountHeader,body .hsAccountTop{background:rgba(251,250,247,.86)!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}
/* My Happistart portal in the same design */
body.happistart-account-mode{background:var(--hx-ivory)!important;font-family:var(--hx-font)!important;color:var(--hx-ink)!important}
body.happistart-account-mode .accountSiteHeader{position:sticky;top:0;z-index:50;display:flex!important;align-items:center;justify-content:space-between;height:64px;padding:0 var(--hx-gutter)!important;background:rgba(251,250,247,.86)!important;border-bottom:1px solid rgba(0,63,55,.08)!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}
body.happistart-account-mode .accountBrand img{height:40px!important;width:auto!important;filter:none!important}
body.happistart-account-mode .accountBack{min-height:42px;padding:0 20px!important;border:1px solid var(--hx-emerald)!important;border-radius:999px!important;background:transparent!important;color:var(--hx-emerald)!important;font:700 14px var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important;display:inline-flex;align-items:center}
body.happistart-account-mode .eyebrow{font:800 12px var(--hx-font)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--hx-emerald)!important}
body.happistart-account-mode h1,body.happistart-account-mode h2{font-family:var(--hx-font)!important;font-weight:800!important;letter-spacing:-.04em!important;color:var(--hx-deep)}
body.happistart-account-mode h1{font-size:clamp(44px,7vw,96px)!important;line-height:.95!important}
body.happistart-account-mode h1 em,body.happistart-account-mode h2 em{font-style:normal;color:var(--hx-emerald)}
body.happistart-account-mode :is(.accountAuthCard,.accountPanel,.accountProfileCard,.accountVipCard,.accountQuickGrid>*,.accountJourneyGrid>*){border:0!important;border-radius:28px!important;box-shadow:0 12px 34px rgba(0,40,34,.07)!important}
body.happistart-account-mode .accountAuthPromise,body.happistart-account-mode .accountVipCard{background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-night) 70%)!important;color:#fff!important}
body.happistart-account-mode .accountAuthPromise h2,body.happistart-account-mode .accountVipCard h2{color:#fff!important}
body.happistart-account-mode .accountAuthFeatures>*{border:1px solid var(--hx-glass-line)!important;border-radius:16px!important;background:var(--hx-glass)!important;backdrop-filter:blur(14px)}
body.happistart-account-mode :is(.accountPrimary,.accountSecondary,.accountPanelAction,.accountSignOut,.accountAuthForm button){min-height:52px;border-radius:999px!important;font:700 16px var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important}
body.happistart-account-mode .accountPrimary,body.happistart-account-mode .accountAuthForm button[type=submit]{background:var(--hx-emerald)!important;border-color:var(--hx-emerald)!important;color:#fff!important}
body.happistart-account-mode .accountSecondary,body.happistart-account-mode .outline{background:transparent!important;border:1px solid var(--hx-emerald)!important;color:var(--hx-emerald)!important}
body.happistart-account-mode .accountAuthForm input{min-height:52px;border:1px solid var(--hx-line)!important;border-radius:14px!important;font:500 16px var(--hx-font)!important}
body.happistart-account-mode .accountAppNav a,body.happistart-account-mode .accountAppNav button{font-family:var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important}
body.happistart-account-mode .accountFooter{background:var(--hx-deep)!important;color:#fff!important}
/* WooCommerce pages: same header, buttons and type */
body.happistart-store{background:var(--hx-ivory)!important;font-family:var(--hx-font)!important}
.hsStoreHeader{position:sticky;top:0;z-index:100;display:flex!important;align-items:center;gap:22px;height:64px;padding:0 var(--hx-gutter)!important;background:rgba(251,250,247,.86)!important;border-bottom:1px solid rgba(0,63,55,.08)!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}
.hsStoreBrand img{height:40px!important;width:auto!important}
.hsStoreNav{margin:0 auto;display:flex;gap:4px}
.hsStoreNav>a,.hsStoreDropdown>button{height:40px;padding:0 13px;border:0;border-radius:999px;background:none;color:var(--hx-ink)!important;font:600 15px var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important;display:inline-flex;align-items:center}
.hsStoreNav>a:hover,.hsStoreNav>a.is-current{color:var(--hx-emerald)!important;background:rgba(0,105,92,.08)}
.hsStoreConsult,.hsStoreCart{min-height:42px;padding:0 18px;border-radius:999px!important;font:700 14px var(--hx-font)!important;letter-spacing:0!important;text-transform:none!important;display:inline-flex;align-items:center;gap:6px}
.hsStoreConsult{background:var(--hx-emerald)!important;color:#fff!important}
.hsStoreCart{border:1px solid var(--hx-emerald);color:var(--hx-emerald)!important}
body.happistart-store h1,body.happistart-store h2{font-family:var(--hx-font)!important;font-weight:800!important;letter-spacing:-.04em!important;color:var(--hx-deep)!important}
body.happistart-store .button,body.happistart-store button.button,body.happistart-store .wc-block-components-button{border-radius:999px!important;background:var(--hx-emerald)!important;color:#fff!important;font:700 16px var(--hx-font)!important;text-transform:none!important;letter-spacing:0!important;min-height:50px}
.hsStoreFooter{background:var(--hx-deep)!important;color:#fff!important;font-family:var(--hx-font)}
@media (max-width:900px){.hsStoreNav{display:none}}
.hxPageWrap main:not(.hxPage):not(.hxHome) :is(.pageHero,.packageHero,.consultHero) .button:first-of-type{background:var(--hx-yellow)!important;border-color:var(--hx-yellow)!important;color:var(--hx-deep)!important;backdrop-filter:none}

/* 8.3 · long uppercase words never clip on phones */
@media (max-width:640px){
 html body .hxPageWrap main:not(.hxPage):not(.hxHome) h1,html body .hxPageWrap main:not(.hxPage):not(.hxHome)>section:first-child h1{font-size:clamp(26px,8.1vw,52px)!important;overflow-wrap:normal;word-break:normal;hyphens:manual;max-width:100%}
 .hxPageWrap .termsHero,.hxPageWrap .plainHero,.hxPageWrap .simpleHero,.hxPageWrap .shortHero{flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
 .hxPageWrap .termsHero>*{max-width:100%!important;width:auto!important}
 .hxPageWrap main:not(.hxPage):not(.hxHome) h1 em::before{content:" "}
}

/* =========================================================================
   8.4.3 · CALMER HEADINGS, FIXES & NEW SECTIONS
   Style rules: moderate heading sizes, normal case, every text readable,
   nothing wider than the screen.
   ========================================================================= */
/* Loading: hide the search-engine copy and show a calm branded screen until the app is ready */
.hxPrerender{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
#happistart-root:has(>.hxPrerender){min-height:100vh;background:var(--hx-ivory) url(images/logo.png) center 46%/96px auto no-repeat}
#happistart-root:has(>.hxPrerender)::after{content:"";position:fixed;left:50%;top:calc(46% + 70px);width:120px;height:3px;margin-left:-60px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--hx-emerald),transparent);background-size:200% 100%;animation:hxLoad 1.1s linear infinite}
@keyframes hxLoad{from{background-position:200% 0}to{background-position:-200% 0}}

/* Headings: one calm scale everywhere */
html body .hxIntro h1,html body .hxPageWrap main:not(.hxPage):not(.hxHome) h1,html body .hxPageWrap main:not(.hxPage):not(.hxHome)>section:first-child h1{font-size:clamp(36px,5.2vw,68px)!important;line-height:1!important;letter-spacing:-.035em!important;text-transform:none!important}
html body .hxSectionHead h2,html body .hxPageWrap main:not(.hxPage):not(.hxHome) h2,.hxContactBand h2,.hxFinalGlass h2{font-size:clamp(28px,3.6vw,48px)!important;line-height:1.05!important;letter-spacing:-.03em!important;text-transform:none!important}
html body .hxHero2Inner h1{font-size:clamp(46px,8vw,112px)!important;line-height:.92!important}
html body .hxTripTitle{font-size:clamp(36px,5.4vw,72px)!important;line-height:1!important;text-transform:none!important;letter-spacing:-.035em!important}
@media (max-width:640px){html body .hxHero2Inner h1{font-size:clamp(40px,12vw,64px)!important}html body .hxTripTitle{font-size:clamp(32px,9vw,44px)!important}}
body.happistart-account-mode .accountIntro h1{font-size:clamp(34px,4.6vw,56px)!important;line-height:1.02!important;letter-spacing:-.035em!important}
body.happistart-account-mode .accountIntro{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
body.happistart-account-mode .accountIntro>p:not(.eyebrow){max-width:620px}
body.happistart-account-mode .accountAuthPromise .eyebrow{color:var(--hx-yellow)!important;opacity:1!important}
body.happistart-account-mode .accountAuthPromise h2,body.happistart-account-mode .accountAuthInner h2{font-size:clamp(30px,3.4vw,44px)!important;line-height:1.05!important}

/* Trip page: nothing wider than the screen, long text folds away */
.hxTripOverview>*{min-width:0}
.hxTripPage .hxProse{overflow-wrap:anywhere}
@media (max-width:900px){.hxTripOverview{grid-template-columns:minmax(0,1fr)!important}}
.hxClamp.isClamped .hxProse{max-height:520px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.hxClampBtn{margin-top:14px;padding:12px 20px;border:1.5px solid var(--hx-emerald);border-radius:999px;background:#fff;color:var(--hx-emerald);font:700 15px/1 var(--hx-font);cursor:pointer}
.hxClampBtn:hover{background:var(--hx-emerald);color:#fff}
a.hxGlassTile{text-decoration:none;color:inherit}
.hxTripNav{scrollbar-width:none}.hxTripNav::-webkit-scrollbar{display:none}

/* The Happi Welcome */
.hxWelcome{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding:clamp(60px,8vw,110px) var(--hx-gutter) 0}
.hxWelcomeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}
.hxWelcomeGrid article{padding:26px 24px;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(0,40,34,.06)}
.hxWelcomeGrid span{display:inline-block;margin-bottom:14px;color:var(--hx-emerald);font:800 14px/1 var(--hx-font);letter-spacing:.08em}
.hxWelcomeGrid h3{margin:0 0 8px;font:800 20px/1.15 var(--hx-font);color:var(--hx-deep)}
.hxWelcomeGrid p{margin:0;font:500 15.5px/1.55 var(--hx-font);color:#3b4a46}
@media (max-width:900px){.hxWelcomeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hxWelcomeGrid{grid-template-columns:minmax(0,1fr)}}

/* Proof band (replaces the old Trustpilot strip) */
.hxProofBand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:var(--hx-max);margin:clamp(50px,7vw,90px) auto 0;border-radius:28px;overflow:hidden;background:rgba(255,255,255,.14)}
.hxProofBand div{display:flex;flex-direction:column;gap:6px;padding:28px 26px;background:var(--hx-emerald);color:#fff}
.hxProofBand strong{font:800 clamp(30px,3.4vw,44px)/1 var(--hx-font);letter-spacing:-.03em}
.hxProofBand span{font:600 14px/1.35 var(--hx-font);color:rgba(255,255,255,.86)}
@media (max-width:800px){.hxProofBand{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:var(--hx-gutter);margin-right:var(--hx-gutter)}}

/* About page */
.hxAboutPage>section{padding-left:var(--hx-gutter);padding-right:var(--hx-gutter)}
.hxAboutStory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,70px);align-items:center;max-width:var(--hx-max);margin:clamp(40px,6vw,80px) auto 0}
.hxAboutStory img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}
.hxAboutStory h2{margin:6px 0 16px;font:800 clamp(28px,3.6vw,46px)/1.05 var(--hx-font);letter-spacing:-.03em;color:var(--hx-deep)}
.hxAboutStory p:not(.hxEyebrow){font:500 18px/1.65 var(--hx-font);color:#26312e}
.hxAboutServices,.hxAboutCreds,.hxAboutPress,.hxAboutTeam{max-width:calc(var(--hx-max) + 2*var(--hx-gutter));margin:0 auto;padding-top:clamp(60px,8vw,110px)}
.hxAboutServices .hxHardGrid,.hxAboutPress .hxHardGrid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}
.hxCredGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.hxCredGrid div{padding:24px;border-radius:22px;background:#fff;box-shadow:0 6px 22px rgba(0,40,34,.06)}
.hxCredGrid strong{display:block;font:800 30px/1 var(--hx-font);color:var(--hx-emerald)}
.hxCredGrid span{display:block;margin-top:8px;font:600 15px/1.4 var(--hx-font);color:#3b4a46}
.hxTeamGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:28px}
.hxTeamGrid article{padding:14px 14px 20px;border-radius:24px;background:#fff;box-shadow:0 6px 22px rgba(0,40,34,.06)}
.hxTeamGrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}
.hxTeamGrid small{display:block;margin-top:12px;color:var(--hx-emerald);font:800 12px/1 var(--hx-font);letter-spacing:.08em;text-transform:uppercase}
.hxTeamGrid h3{margin:6px 0;font:800 20px/1.1 var(--hx-font);color:var(--hx-deep)}
.hxTeamGrid p{margin:0;font:500 14.5px/1.5 var(--hx-font);color:#3b4a46}
@media (max-width:1000px){.hxTeamGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.hxCredGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hxAboutServices .hxHardGrid,.hxAboutPress .hxHardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hxAboutStory{grid-template-columns:minmax(0,1fr)}.hxTeamGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hxAboutServices .hxHardGrid,.hxAboutPress .hxHardGrid{grid-template-columns:minmax(0,1fr)}}

/* Packages page */
.hxPkHero{position:relative;display:flex;align-items:flex-end;min-height:min(78vh,720px);margin:0;padding:0 var(--hx-gutter) clamp(36px,6vw,70px);overflow:hidden;color:#fff}
.hxPkHero picture,.hxPkHero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hxPkHeroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,17,.15) 30%,rgba(0,30,26,.78))}
.hxPkHeroInner{position:relative;max-width:var(--hx-max);width:100%;margin:0 auto}
.hxPkHeroInner h1{margin:8px 0 14px;font:800 clamp(38px,5.6vw,72px)/1 var(--hx-font)!important;letter-spacing:-.035em;color:#fff!important;text-transform:none!important}
.hxPkHeroInner h1 em{font-style:normal;color:var(--hx-yellow)}
.hxPkHeroInner p:not(.hxEyebrow){max-width:560px;margin:0;font:500 19px/1.5 var(--hx-font);color:rgba(255,255,255,.92)}
.hxEyebrow.light{color:var(--hx-yellow)!important}
.hxPkBar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;max-width:var(--hx-max);margin:0 auto;padding:30px var(--hx-gutter) 0}
.hxPkBar .hxInput{min-width:min(100%,320px)}
.hxPkCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:var(--hx-max);margin:0 auto;padding:26px var(--hx-gutter) 0}
.hxPkCards article{display:flex;flex-direction:column;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 10px 30px rgba(0,40,34,.07)}
.hxPkImg{position:relative;aspect-ratio:16/10;overflow:hidden}
.hxPkImg img{width:100%;height:100%;object-fit:cover}
.hxPkImg span{position:absolute;left:14px;top:14px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--hx-deep);font:800 12px/1 var(--hx-font);letter-spacing:.06em;text-transform:uppercase}
.hxPkBody{display:flex;flex:1;flex-direction:column;gap:8px;padding:20px 22px 22px}
.hxPkBody small{color:var(--hx-emerald);font:800 13px/1.2 var(--hx-font)}
.hxPkBody h3{margin:0;font:800 22px/1.15 var(--hx-font);color:var(--hx-deep)}
.hxPkBody p{margin:0;font:500 15.5px/1.5 var(--hx-font);color:#3b4a46}
.hxPkBody ul{margin:4px 0 6px;padding-left:1.1em;font:500 15px/1.5 var(--hx-font);color:#3b4a46}
.hxPkActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.hxPkActions .hxPill{padding:12px 18px;font-size:15px}
.hxTextLink{align-self:flex-start;padding:4px 0;border:0;background:none;color:var(--hx-emerald);font:700 14px/1.3 var(--hx-font);text-decoration:underline;cursor:pointer}
.hxPkCustom{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;max-width:var(--hx-max);margin:clamp(50px,7vw,90px) auto 0;padding:clamp(30px,5vw,56px);border-radius:32px;background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-deep));color:#fff}
.hxPkCustom h2{margin:6px 0 8px;font:800 clamp(28px,3.4vw,44px)/1.05 var(--hx-font)!important;color:#fff!important}
.hxPkCustom p:not(.hxEyebrow){margin:0;max-width:560px;color:rgba(255,255,255,.88);font:500 17px/1.5 var(--hx-font)}
@media (max-width:1000px){.hxPkCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hxPkCards{grid-template-columns:minmax(0,1fr)}.hxPkCustom{margin-left:var(--hx-gutter);margin-right:var(--hx-gutter)}}

/* Private travel: plan cards were white text on white */
.hxPageWrap section.privatePlans{background:transparent!important;color:var(--hx-ink)!important}
.hxPageWrap section.privatePlans h2{color:var(--hx-deep)!important}
.hxPageWrap .privatePlans article{background:#fff!important;color:var(--hx-ink)!important;border:1px solid rgba(0,63,55,.08)!important}
.hxPageWrap .privatePlans article>span{color:var(--hx-emerald)!important;font-weight:800!important;opacity:1!important}
.hxPageWrap .privatePlans article h3{color:var(--hx-deep)!important}
.hxPageWrap .privatePlans article p,.hxPageWrap .privatePlans article li{color:#3b4a46!important;opacity:1!important}
.hxPageWrap .privatePlans article h4{color:var(--hx-emerald)!important}
.hxPageWrap .privatePlans article button{background:var(--hx-emerald)!important;color:#fff!important;border-color:var(--hx-emerald)!important}
.hxPageWrap .privatePlans>p,.hxPageWrap .privatePlans .planNote{color:#3b4a46!important}

/* Back to top */
.hxToTop{position:fixed;right:18px;bottom:96px;z-index:60;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--hx-emerald);color:#fff;box-shadow:0 10px 26px rgba(0,40,34,.25);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.hxToTop.isOn{opacity:1;transform:none;pointer-events:auto}
.hxToTop:hover{background:var(--hx-deep)}
.hxToTop svg{width:20px;height:20px}
@media (min-width:901px){.hxToTop{bottom:28px}}
/* Cards inside dark bands were turned white while their text stayed white: make them glass */
html body .hxPageWrap :is(.darkSection,.finalCta,.helpStrip,.pastLinkBand,.cruiseSupportBand) article{background:rgba(255,255,255,.08)!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
html body .hxPageWrap :is(.darkSection,.finalCta,.helpStrip) article :is(h3,h4,strong){color:#fff!important}
html body .hxPageWrap :is(.darkSection,.finalCta,.helpStrip) article :is(p,li,small,span){color:rgba(255,255,255,.86)!important}
/* Two-line legacy headings: keep a space where the line break was hidden */
html body .hxPageWrap main:not(.hxPage):not(.hxHome) h1 br{display:none}
html body .hxPageWrap main:not(.hxPage):not(.hxHome) h1 em::before{content:"\00a0"}
/* Dark page heroes: eyebrow in yellow so it can be read */
html body .hxPageWrap :is(.termsHero,.shortHero,.plainHero,.simpleHero,.tourDetailHero,.videoHero) .eyebrow{color:var(--hx-yellow)!important;opacity:1!important}
/* "Featured" cards in white grids keep their white text, so give them the brand green */
html body .hxPageWrap main:not(.hxPage):not(.hxHome) article.featured{background:radial-gradient(120% 140% at 0% 0%,#0B7C6C,var(--hx-deep))!important;color:#fff!important}
html body .hxPageWrap main:not(.hxPage):not(.hxHome) article.featured :is(h3,h4,strong,p,li,span,small){color:#fff!important}
html body .hxPageWrap main:not(.hxPage):not(.hxHome) :is(.termsHero,.shortHero,.plainHero,.simpleHero,.tourDetailHero,.videoHero) .eyebrow{color:var(--hx-yellow)!important;opacity:1!important}
.hxProofBand{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}
/* Light "glass" buttons on dark heroes: white text so they can be read */
html body .hxPageWrap main:not(.hxPage):not(.hxHome) :is(.videoHero,.pageHero,.termsHero,.shortHero,.plainHero,.packageHero,.consultHero,.tourDetailHero) :is(.button.glassLight,.button.ivory){background:rgba(255,255,255,.14)!important;border:1.5px solid rgba(255,255,255,.55)!important;color:#fff!important;backdrop-filter:blur(8px)}
html body .hxPageWrap main:not(.hxPage):not(.hxHome) :is(.videoHero,.pageHero,.termsHero,.shortHero,.plainHero,.packageHero,.consultHero,.tourDetailHero) :is(.button.glassLight,.button.ivory):hover{background:#fff!important;color:var(--hx-deep)!important}
/* 8.5.3 · sign-in always visible */
.hxAccountBtn{display:grid;place-items:center;text-decoration:none;color:inherit}
.hxSheetLogin{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:16px 18px;border-radius:18px;background:var(--hx-emerald);color:#fff!important;text-decoration:none}
.hxSheetLogin svg{width:26px;height:26px;flex:none}
.hxSheetLogin span{display:flex;flex-direction:column;gap:2px}
.hxSheetLogin strong{font:800 17px/1.2 var(--hx-font);color:#fff}
.hxSheetLogin small{font:600 13px/1.3 var(--hx-font);color:rgba(255,255,255,.85)}

/* =========================================================================
   8.6.0 · EVERY DEVICE
   ========================================================================= */
/* Desktop menu: bolder, darker, current page highlighted */
html body .hxNav>a,html body .hxNav>button{color:var(--hx-deep);font-weight:700;font-size:15.5px}
html body .hxNav>.isActive{background:rgba(0,105,92,.1)!important;color:var(--hx-emerald)!important;box-shadow:none!important;border-radius:999px!important}
html body .hxNav>a:hover,html body .hxNav>button:hover,html body .hxNav>button.isOpen{background:rgba(0,105,92,.1);color:var(--hx-emerald)}
.hxHeader .hxBar{box-shadow:0 1px 0 rgba(0,63,55,.08)}

/* iPad landscape & small laptops (960–1080px): keep the menu links visible */
@media (min-width:960px) and (max-width:1080px){
  html body .hxNav{display:flex!important;gap:0;margin:0 auto 0 14px}
  html body .hxNav>a,html body .hxNav>button{height:38px;padding:0 9px;font-size:14px}
  html body .hxMega{display:block!important}
  html body .hxMenuBtn{display:none!important}
  html body .hxBrand{margin-right:0}
  html body .hxBrand img{height:34px}
  html body .hxPlan{display:inline-flex!important;align-items:center;height:38px;padding:0 14px;font-size:13.5px}
}
/* Phones, iPad portrait and anything narrower than 960px get the bottom menu */
@media (min-width:901px) and (max-width:959px){
  html body .hxTabBar{position:fixed;inset:auto 0 0 0;z-index:1150;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  html body .hxTabBar a,html body .hxTabBar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;border:0;background:none;font:700 11.5px var(--hx-font);text-decoration:none;cursor:pointer}
  html body .hxTabBar .hxIcon{width:23px;height:23px}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}

/* Bottom menu: brand green, current page in yellow, can't be missed */
@media (max-width:959px){
  html body .hxTabBar{background:var(--hx-deep)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-top:0!important;box-shadow:0 -6px 24px rgba(0,30,26,.22)!important;gap:4px}
  html body .hxTabBar a,html body .hxTabBar button{color:rgba(255,255,255,.8)!important;border-radius:14px!important;font-weight:700!important;font-size:11.5px!important;transition:background .2s,color .2s}
  html body .hxTabBar .hxIcon{stroke:currentColor}
  html body .hxTabBar .isActive{background:var(--hx-yellow)!important;color:var(--hx-deep)!important}
  html body .hxTabBar .isActive .hxIcon{stroke-width:2.4}
  html body .hxTabBar a:not(.isActive):active,html body .hxTabBar button:active{background:rgba(255,255,255,.12)!important}
  html body .hxToTop{bottom:calc(86px + env(safe-area-inset-bottom))}
  html body .hxStickyBook{bottom:calc(74px + env(safe-area-inset-bottom))!important}
}

/* Phones: long homepage sections become swipeable rows instead of tall stacks */
@media (max-width:700px){
  html body .hxHome :is(.hxDealGrid,.hxTileGrid,.hxReviewGrid,.hxUpdatesGrid,.hxStepsGrid),html body :is(.hxWelcomeGrid){display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:10px!important;grid-template-columns:none!important;columns:auto!important}
  html body .hxHome :is(.hxDealGrid,.hxTileGrid,.hxReviewGrid,.hxUpdatesGrid,.hxStepsGrid)::-webkit-scrollbar,html body .hxWelcomeGrid::-webkit-scrollbar{display:none}
  html body .hxHome :is(.hxDealGrid,.hxTileGrid,.hxReviewGrid,.hxUpdatesGrid,.hxStepsGrid)>*,html body .hxWelcomeGrid>*{flex:0 0 84%!important;width:84%!important;max-width:none!important;scroll-snap-align:start;margin:0!important;break-inside:auto}
  html body .hxHome .hxTileGrid>*{min-height:0}
  html body .hxHome :is(.hxDeals,.hxTrips2,.hxReviewWall,.hxUpdatesStrip,.hxSteps) .hxSectionHead::after,html body .hxWelcome .hxSectionHead::after{content:"Swipe for more →";display:block;margin-top:10px;color:var(--hx-emerald);font:700 13px/1 var(--hx-font)}
}

/* Tap targets and readable text on touch screens */
@media (pointer:coarse){
  .hxChips button,.hxPill,.hxClampBtn,.hxTextLink{min-height:44px}
  .hxFinePrint,small{font-size:max(13px,1em)}
}
/* Very wide screens: keep line lengths comfortable */
@media (min-width:1800px){
  :root{--hx-max:1400px}
}
@media (min-width:901px) and (max-width:959px){html body .hxHelpFab{display:none!important}}
/* Small labels never below 12px */
html body :is(.hxPressItem,.hxTilePrice,.hxTv,.hxTvGrid,.hxVisaCards,.hxDeal,.hxUpdate,.hxGlassTile) small{font-size:12px!important}
/* iPad portrait (701–900px): the same swipe rows, two cards in view */
@media (min-width:701px) and (max-width:900px){
  html body .hxHome :is(.hxDealGrid,.hxTileGrid,.hxReviewGrid,.hxUpdatesGrid,.hxStepsGrid),html body .hxWelcomeGrid{display:flex!important;flex-wrap:nowrap!important;gap:16px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px!important;grid-template-columns:none!important;columns:auto!important}
  html body .hxHome :is(.hxDealGrid,.hxTileGrid,.hxReviewGrid,.hxUpdatesGrid,.hxStepsGrid)>*,html body .hxWelcomeGrid>*{flex:0 0 46%!important;width:46%!important;max-width:none!important;scroll-snap-align:start;margin:0!important}
  html body .hxHome :is(.hxDeals,.hxTrips2,.hxReviewWall,.hxUpdatesStrip,.hxSteps) .hxSectionHead::after,html body .hxWelcome .hxSectionHead::after{content:"Swipe for more →";display:block;margin-top:10px;color:var(--hx-emerald);font:700 13px/1 var(--hx-font)}
}
/* Readable minimums on older page parts */
html body main :is(.hxBadge,.hxHardGrid small,.hxVisaRows small,.hxTripPage small,.heldVisaChoices label,.visaFreeToggle span,fieldset small,.privateQuick a,.partnerDisclosure,.connectivityBadge,.viatorSearchHeading span,.viatorActivitiesIntro small){font-size:12px!important}
html body main .eyebrow{font-size:max(12px,.75rem)!important}
html body .hxPageWrap .privatePlans article :is(li,p){font-size:15px!important;line-height:1.45!important}
html body .hxPageWrap .privatePlans article>span,html body .hxPageWrap main label span{font-size:12px!important}
html body .hxHero2Inner h1{text-transform:none!important;letter-spacing:-.04em!important}
/* Pop-ups always above the bottom menu, back-to-top and sticky booking bar */
html body :is(.modalBackdrop,.hxOverlay){z-index:2100!important}
html body:has(.modalBackdrop,.hxOverlay,.hxSheet) :is(.hxTabBar,.hxToTop,.hxStickyBook,.hxHelpFab){visibility:hidden!important}
/* 8.9.0: headings now carry a real space where the line break is hidden, so drop the old spacer */
html body .hxPageWrap main:not(.hxPage):not(.hxHome) :is(h1,h2) em::before,html body .hxPageWrap main:not(.hxPage):not(.hxHome) h1 em::before{content:none!important}
/* 8.10.0: photo in the "Talk to a real person" band */
.hxContactBand.hasPhoto{display:grid!important;grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3vw,40px)}
.hxContactPhoto{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
@media (max-width:1000px){.hxContactBand.hasPhoto{grid-template-columns:minmax(0,220px) minmax(0,1fr)}.hxContactBand.hasPhoto .hxContactActions{grid-column:1/-1}}
@media (max-width:640px){.hxContactBand.hasPhoto{grid-template-columns:minmax(0,1fr)}.hxContactPhoto{aspect-ratio:16/9}}
html body .hxContactBand.hasPhoto{grid-template-columns:minmax(0,320px) minmax(0,1fr)!important;align-items:center;row-gap:18px}
html body .hxContactBand.hasPhoto .hxContactPhoto{grid-row:1 / span 2}
html body .hxContactBand.hasPhoto .hxContactActions{grid-column:2;justify-content:flex-start}
@media (max-width:640px){html body .hxContactBand.hasPhoto{grid-template-columns:minmax(0,1fr)!important}html body .hxContactBand.hasPhoto .hxContactPhoto{grid-row:auto}html body .hxContactBand.hasPhoto .hxContactActions{grid-column:1}}
