.heroGrid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;padding:54px 0 72px;align-items:center}
.hero h1{font-size:clamp(64px,7vw,96px);margin:20px 0}.hero .lede{max-width:610px;font-size:17px;margin:0}
.heroPlanner{grid-template-columns:1fr;gap:9px;padding:18px 20px;margin:25px 0 0;border-radius:20px;max-width:610px;background:rgba(7,20,37,.86);backdrop-filter:blur(12px);scroll-margin-top:110px}
.heroPlanner label{font-size:14px}.heroPlanner input{min-height:50px}.heroPlanner span{grid-column:1;font-size:12px;min-height:18px}.hero .heroCtas{margin-top:20px}
.plannerSelection{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(20,36,58,.65)}
.plannerSelection p{margin:0;line-height:1.55;font-weight:650}.plannerSelection a{flex-shrink:0;color:var(--gold2);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.tripSection .affiliateNote{margin:14px 0 22px}.plannerNote{color:var(--muted);font-size:12px;line-height:1.6;max-width:780px;margin:16px 0 0}
.serviceActionShort{display:none}
.hero{overflow:visible}.destinationInputWrap{position:relative;min-width:0}.destinationSuggestions,.destinationRecovery{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;padding:6px;background:#0b1d33;border:1px solid rgba(215,165,74,.45);border-radius:14px;box-shadow:0 16px 35px rgba(0,0,0,.4);max-height:min(340px,42vh);overflow-y:auto;overscroll-behavior:contain}
.destinationSuggestions[hidden],.destinationRecovery[hidden],.destinationRetry[hidden]{display:none}.destinationOption{width:100%;display:grid;gap:3px;min-height:51px;text-align:left;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer;font:inherit}.destinationOption strong{font-size:14px;font-weight:650}.destinationOption small{color:#aebfd0;font-size:11px;line-height:1.45}.destinationOption:hover,.destinationOption[aria-selected="true"]{background:rgba(215,165,74,.13);color:var(--gold2)}.destinationOption:focus-visible{outline:2px solid var(--gold2);outline-offset:-2px}
.destinationRecovery{padding:15px}.destinationRecovery p{font-size:13px;line-height:1.65;margin:0 0 12px;color:#c5d1df}.destinationRecovery button,.destinationRecovery a,.destinationRetry{display:inline-flex;align-items:center;min-height:44px;background:transparent;color:var(--gold2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:0 8px 5px 0;font:inherit;font-size:12px;cursor:pointer}.destinationRetry{justify-self:start;font-size:12px;margin:0}
.serviceHint{display:block;color:#d4c7a6;font-size:11px;line-height:1.5;margin-top:12px}.tripAlternative a[aria-disabled="true"]{opacity:.5}.tripCard a[aria-disabled="true"]{pointer-events:auto;cursor:pointer}
.destinationOption strong,.serviceHint,.plannerSelection p,.heroPlanner>span{overflow-wrap:anywhere}
@media(max-width:1000px){.heroGrid{gap:30px}.heroCard{padding:22px}.miniStats{gap:6px}.miniStats div{padding:10px}}
@media(max-width:900px){.heroGrid{grid-template-columns:1fr}.heroCard{display:none}.hero h1{max-width:700px}.hero .lede,.heroPlanner{max-width:650px}}
@media(max-width:620px){
 .heroGrid{padding:28px 0 34px;gap:0}.hero h1{font-size:clamp(44px,12.5vw,58px);line-height:.97;margin:18px 0}.hero .lede{font-size:15px;line-height:1.6}.eyebrow{font-size:9px;letter-spacing:.12em;padding:8px 10px}
 .heroPlanner{margin-top:20px;padding:15px;border-radius:17px;scroll-margin-top:104px}.heroPlanner input{font-size:16px;min-height:48px}.heroPlanner span{font-size:12px}
 .hero .heroCtas{display:flex;gap:10px;margin-top:16px}.hero .heroCtas .btn{font-size:14px;min-height:46px;padding:12px 14px}.hero .heroCtas .btn.ghost{min-height:44px;background:rgba(7,20,37,.35)}
 .tripSection{padding:36px 0}.tripSection .sectionIntro{margin-bottom:18px}.tripSection h2{font-size:clamp(35px,10vw,45px)}.tripSection .sectionIntro p{font-size:14px;margin-bottom:0}
 .plannerSelection{display:block;padding:14px 15px}.plannerSelection p{font-size:14px}.plannerSelection a{display:inline-block;min-height:35px;line-height:1.5;padding-top:9px}.tripSection .affiliateNote{font-size:11px;margin:12px 0 18px;line-height:1.6}
 .tripGrid{gap:9px}.tripCard,.tripCard:nth-child(n+4),.tripCard:last-child{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:4px 10px;grid-column:auto;padding:15px 14px;border-radius:17px;align-items:center}
 .tripCardTop{display:contents}.tripCard .icon{grid-column:1;grid-row:1/3;width:36px;height:36px;border-radius:11px;font-size:22px}.tripCard .icon svg{width:22px;height:22px}
 .tripCard h3{grid-column:2;grid-row:1;font-family:inherit;font-size:17px;line-height:1.25;margin:0;min-width:0}.tripCard .tripPartner{grid-column:2;grid-row:2;font-size:10px;line-height:1.4;letter-spacing:0}
 .tripCard p{display:none}.tripCard .btn{grid-column:3;grid-row:1/3;width:auto;min-height:44px;padding:10px 12px;border-radius:12px;font-size:12px;align-self:center;max-width:94px}
 .tripCard .serviceHint{grid-column:2/4;grid-row:3;margin:3px 0 0;font-size:10px;line-height:1.5}.tripCard .btn{gap:5px;padding-inline:10px}
 .serviceActionFull{display:none}.serviceActionShort{display:inline}.tripAlternative{margin-top:17px;padding-top:15px;font-size:12px;gap:4px}.plannerNote{font-size:11px}
 .tripCard:hover{transform:none}
}

/* Keep the eSIM navigation target clear of the sticky header. */
#travel-esim{scroll-margin-top:110px}
