/* Shared Fly to the Cup theme. */
:root{--paper:#fff;--cream:#fff;--creamd:#f3f5f8;--bg:#fff;--panel2:#f3f5f8;--inkd:#101f3c;--cink:#101f3c;--cmut:#51617e;--mutd:#51617e;--lined:#dce2ea;--cline:#dce2ea;--serif:var(--disp)}
body,.sitepanel{background:#fff;color:var(--ink)}
#siteNav{background:#fff;border-bottom:1px solid var(--lined);box-shadow:none}
#siteNav .ntab{color:var(--mut);letter-spacing:.03em}#siteNav .ntab:hover,#siteNav .ntab.on{color:var(--ink)}
#siteNav .ntab.on::after{background:var(--gold)}#siteNav .slogo,#navLogo,#navLogo b,#navLogo span{color:var(--ink)}
.hero,.pagehead,.band.navyband,.band.cream,#siteFoot{background:#fff;color:var(--ink)}
.hero::before,.hero::after,.pagehead::after,.band.navyband::after,#siteFoot::after,.lit::after{display:none}
.hero p,.hero .eyebrow,.hero .bcap,.hg-cap,.pagehead p,.sechead.light .sub2,#siteFoot p,#siteFoot h4{color:var(--mut)}
.hero h1 em{background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.hero{padding-top:54px;padding-bottom:44px}.band{border-bottom:1px solid #edf0f4}
#earthWrap{background:#101f3c;border-radius:50%;overflow:hidden}
.btn.gold{background:var(--ink);color:#fff;border:1px solid var(--ink);box-shadow:none}
.btn.line,.hero .btn.line{background:#fff;color:var(--ink);border:1px solid #b8c5d5}
.sechead h2{border-left:0;padding-left:0;letter-spacing:0;text-transform:none}
.sechead .lnk,.sechead.light .lnk,.lnk2,.escard .go button,.band.navyband .escard .go button{color:#175a83}
.pagehead{border-bottom:1px solid var(--lined);padding:40px 0 28px}
.pagehead h1,.cdisp{font:700 clamp(40px,5vw,60px)/1.1 var(--disp);text-transform:none;letter-spacing:0}
.srchband,.cpanel,.demobar,.wgtband,.xsell{background:#f3f5f8;color:var(--ink)}
.scard,.vencard,.prop,.crcard,.actcard,.escard,.band.navyband .escard{box-shadow:none;border:1px solid var(--lined);background:#fff;color:var(--ink);border-radius:8px}
.band.navyband .escard b{color:var(--ink)}.band.navyband .escard p{color:var(--mut)}
.chiprow button{background:#fff;color:var(--ink);border:1px solid var(--lined)}
.cintro{text-align:left;padding:40px 0 28px;border-bottom:1px solid var(--lined)}
.clede{font:14px/1.6 -apple-system,'Segoe UI',sans-serif;color:var(--mut);max-width:68ch;margin:12px 0 0}
.cbody{display:none}.cfilt{border-bottom:1px solid var(--lined)}
.cgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ccard{padding:0 0 22px;border-bottom:1px solid var(--lined)}
.ccard .cnm{font:700 25px/1.2 var(--disp);min-height:0;order:1;margin:14px 0 6px}
.ccard canvas{aspect-ratio:16/9;object-fit:cover;border-radius:8px;order:0}
.ccard .cloc{order:2;min-height:0;margin:0 0 8px;letter-spacing:0;text-transform:none;font-size:13px}
.ccard .cdesc{order:3}.ccard .cmeta{order:4;text-transform:none;letter-spacing:0;font-size:13px}
.csub{font:700 28px/1.2 var(--disp)}#sfNear .nr b{font-family:inherit;font-weight:600}
.opill,.cfrow .pill,.cfg-sel select,.cfoot .btn.gold{border-radius:6px;min-height:40px;text-transform:none;letter-spacing:0;font-size:13px}
.cflab,.crumb>span{text-transform:none;letter-spacing:0;font-size:13px}
.cpanel{border-radius:8px}#siteFoot{border-top:1px solid var(--lined)}
.ftc-footlinks button{color:var(--ink);border-color:var(--lined)}
.hero-copy>*,.hero-globe,.rv,.ww{opacity:1;transform:none;animation:none;transition:none}
@media(max-width:900px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cgrid{grid-template-columns:1fr}.sechead{flex-wrap:wrap}.sechead .lnk{margin-left:0}.hero{padding:30px 20px}.hg-cap{letter-spacing:0}}
#siteNav .slogo b{color:var(--ink)}#siteNav .slogo span{color:var(--mut)}
#siteFoot .flogo{color:var(--ink)}
#sfNear .nr span{text-transform:none;letter-spacing:0;font-size:12px}
.srchband{box-shadow:none;border-bottom:1px solid var(--lined)}
.sf span,.sf>span{color:var(--mut)}.sf select,.sf input{background:#fff;color:var(--ink);border-color:#b8c5d5}
.sf input[type=date]::-webkit-calendar-picker-indicator{filter:none}
.demobar{border-color:var(--lined)}
/* Keep the original dark navigation above the white page sections. */
#siteNav{background:linear-gradient(180deg,#0A1D42,#071633);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 18px rgba(0,0,0,.15)}
#siteNav .ntab{color:#aebbd0}#siteNav .ntab:hover{color:#fff}#siteNav .ntab.on{color:var(--goldT)}
#siteNav .ntab.on::after{background:linear-gradient(90deg,var(--goldT),#E2572B)}
#siteNav .slogo,#siteNav #navLogo,#siteNav .slogo b,#siteNav #navLogo b{color:#fff}
#siteNav .slogo span,#siteNav #navLogo span{color:#9fb0cc}
#siteNav .slogo em{color:var(--goldT)}
/* Extend the globe's navy background across the homepage hero. */
#tabHome .hero{background:#101f3c;color:#fff}
#tabHome .hero h1,#tabHome .hero h1 em{color:#fff;-webkit-text-fill-color:#fff}
#tabHome .hero p{color:#b9c6db}
#tabHome .hero .eyebrow,#tabHome .hero .bcap,#tabHome .hg-cap{color:#9fb0cc}
#tabHome .hero .btn.gold{background:linear-gradient(90deg,var(--goldT),#E2572B);color:#221200;border-color:transparent}
#tabHome .hero .btn.line{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.35)}
#tabHome #earthWrap{background:transparent}
/* Consistent navy title bands directly beneath the navigation. */
.sitepanel .pagehead,#tabSafari .cintro{background:#101f3c;color:#fff;border-bottom-color:rgba(255,255,255,.08)}
.sitepanel .pagehead h1,#tabSafari .cintro .cdisp{color:#fff}
.sitepanel .pagehead p,#tabSafari .cintro .clede{color:#b9c6db}

#tripTitle{display:none;background:#101f3c;color:#fff;border-bottom-color:rgba(255,255,255,.08)}
body.explore-active #tripTitle{display:block}
#tripTitle h1{color:#fff}#tripTitle p{color:#b9c6db}
.stay-map-section{margin:0 0 28px}.stay-map-section h2{font:700 30px var(--disp);margin-bottom:8px}#stayMapStatus{color:var(--mut);margin-bottom:12px}#stayHotelMap{height:460px;border:1px solid var(--lined);border-radius:8px}#stayHotelMap .maplibregl-ctrl-attrib a[href="https://openfreemap.org"],#stayHotelMap .maplibregl-ctrl-attrib a[href="https://openfreemap.org/"]{display:none}
@media(max-width:560px){#stayHotelMap{height:360px}}

.stay-hotel-select{max-width:100%;width:360px;padding:11px;border:1px solid #b8c5d5;border-radius:6px;background:white;color:#101f3c;margin:0 0 12px;font:inherit}

.stay-map-filters{display:flex;gap:12px;flex-wrap:wrap}.stay-map-filters select{width:auto;min-width:200px}.stay-map-legend{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 14px;color:#36465d;font-size:13px}.stay-map-legend span{display:inline-flex;align-items:center;gap:6px}.stay-map-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}

body.planning-active #tripTitle{display:block}body.planning-active #tabStay>.pagehead,body.planning-active #tabCars>.pagehead{display:none}
.trip-tabs{display:flex;gap:24px;margin-top:20px;flex-wrap:wrap}.trip-tabs button{font:600 15px var(--body, sans-serif);background:none;color:#b9c6db;border:0;border-bottom:3px solid transparent;padding:10px 0;cursor:pointer}.trip-tabs button.on{color:white;border-bottom-color:#e6ac46}.trip-tabs button:focus-visible{outline:2px solid white;outline-offset:4px}

#tripTitle{padding-top:12px;padding-bottom:12px}#tripTitle .trip-tabs{margin-top:0}

/* Venue profiles use the existing navy, white and gold travel palette. */
#venGrid.ftc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
#venGrid .ftc-venue{background:white;box-shadow:none;border:1px solid #dce2e9;padding-bottom:22px}
#venGrid .ftc-venue figure img{height:190px;object-fit:cover;width:100%}
#venGrid .ftc-venue h2{font-size:30px;line-height:1.1;margin-bottom:14px}
#venGrid .venue-hook{font-weight:700;font-size:17px;color:#101f3c;margin:0 0 8px}
#venGrid .venue-intro,#venGrid .venue-story p{font-size:15px;line-height:1.65;color:#40506a;max-width:65ch}
#venGrid .venue-story{margin:18px 0;border-top:1px solid #dce2e9;border-bottom:1px solid #dce2e9;padding:13px 0}
#venGrid .venue-story summary{cursor:pointer;color:#101f3c;font-weight:600;font-size:14px}
#venGrid .venue-story h3{font-size:16px;margin:18px 0 6px;color:#101f3c}
#venGrid .venue-source{font-size:12px;display:inline-block;margin:12px 0;color:#40506a;text-decoration:underline}
#venGrid .ftc-actions{margin-top:18px}#venGrid summary:focus-visible{outline:2px solid #b78317;outline-offset:4px}
@media(max-width:720px){#venGrid.ftc-gallery{grid-template-columns:1fr}}

#venGrid .ftc-venue{padding:20px}#venGrid .ftc-venue figure{margin:0 0 18px}#venGrid .ftc-venue h2{font-family:var(--disp)}

@media(max-width:720px){
.maplibregl-ctrl-group button{width:44px;height:44px}
input,select,textarea{font-size:16px!important}
.stay-map-filters select{width:100%;min-width:0}
#siteNav .ntabs{scrollbar-width:none}#siteNav .ntabs::-webkit-scrollbar{display:none}
#stayHotelMap{height: min(460px,65svh);min-height:300px}
}

/* Mobile layout: allow content grids and native date controls to shrink. */
.ftc-columns{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.ftc-columns>*{min-width:0;overflow-wrap:anywhere}
.ftc-video{width:100%;min-width:0}
.ftc-video>*{max-width:100%}
.sf select,.sf input{box-sizing:border-box;max-width:100%;height:44px}
.sf input[type=date]{appearance:none;-webkit-appearance:none;display:block;min-width:0;padding:10px 8px}
.sf input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.sf input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:1050px){
  .srchbar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ftc-columns{grid-template-columns:minmax(0,1fr)}
  .carbar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .srchbar{gap:14px 10px}
  .srchbar .sf-dest,.carbar .sf:has(#crFrom),.carbar .sf:has(#crTo){grid-column:1 / -1}
  .srchbar .btn{height:44px}
}
@media(max-width:359px){
  #tabStay .srchbar,#tabCars .srchbar{grid-template-columns:minmax(0,1fr)}
}

/* Grouped hotel stars retain the map colour key and an explicit data source. */
.stay-map-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.stay-map-legend button{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 12px;background:#fff;border:1px solid #d3dce5;border-radius:6px;color:#36465d;font:600 12px/1.3 system-ui;cursor:pointer}
.stay-map-legend button>span:last-child:not(.stay-star-group){margin-left:auto;white-space:nowrap}
.stay-map-legend button[aria-pressed=true]{border-color:#175a83;background:#edf5fa;box-shadow:inset 0 0 0 1px #175a83}
.stay-map-legend button:focus-visible{outline:3px solid #175a83;outline-offset:2px}
.stay-map-legend i{flex-shrink:0}
.stay-map-legend .stay-star-group,.stay-star-group{display:inline-flex;align-items:center;gap:1px;flex-wrap:nowrap}
.stay-star-group img{display:block;width:20px;height:20px;max-width:none}
.stay-hotel-rating{margin:10px 0}.stay-hotel-rating small{display:block;margin-top:7px;font-size:11px;line-height:1.5;color:#536074}
.stay-rating-note{line-height:1.6;margin:12px 0}
@media(max-width:700px){.stay-map-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-map-legend button{gap:5px;padding:9px 7px}.stay-map-legend .stay-star-group img{width:17px;height:17px}.stay-map-legend button>span:last-child:not(.stay-star-group){font-size:10px}}
@media(min-width:701px) and (max-width:1100px){.stay-map-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep both vector identities clear, with navigation below on smaller screens. */
#siteNav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;height:auto;min-height:64px}
#siteNav .slogo{min-width:0;margin:0}#siteNav .slogo svg{width:36px;height:36px;flex-shrink:0}
#siteNav .ntabs{min-width:0;max-width:100%;margin-left:auto}
#siteNav .sat-header-logo{display:flex;align-items:center;justify-content:center;min-height:44px;padding:5px 0 5px 18px;border-left:0}
#siteNav .sat-header-logo img{display:block;width:118px;height:auto}
#siteNav .sat-header-logo:focus-visible{outline:2px solid #f2b441;outline-offset:3px}
@media(max-width:1200px){#siteNav{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:8px 16px 0}#siteNav .slogo{grid-column:1;grid-row:1}#siteNav .sat-header-logo{grid-column:2;grid-row:1}#siteNav .ntabs{grid-column:1/-1;grid-row:2;width:100%;margin:0}#siteNav .slogo span{display:none}#siteNav .sat-header-logo img{width:105px}}
@media(max-width:400px){#siteNav{padding:6px 12px 0;column-gap:8px}#siteNav .slogo{gap:7px}#siteNav .slogo svg{width:30px;height:30px}#siteNav .slogo b{font-size:18px;letter-spacing:.035em}#siteNav .sat-header-logo{padding-left:10px}#siteNav .sat-header-logo img{width:86px}}
/* A low-contrast moving grid sits behind the globe, outside the text column. */
#tabHome .hero-globe{isolation:isolate}
#tabHome .globe-wave-grid{position:absolute;inset:-12% -18%;width:136%;height:124%;z-index:-1;pointer-events:none;fill:none;stroke:#91b7d8;stroke-width:.65;opacity:.19}
#tabHome .globe-wave-grid path{vector-effect:non-scaling-stroke}
@media(max-width:700px){#tabHome .globe-wave-grid{opacity:.15}}

#tabHome .hero{overflow:hidden}
#tabHome .cricket-arcs{position:absolute;inset:-5% -10% auto;width:120%;height:80%;z-index:-1;pointer-events:none;overflow:visible}
.cricket-arcs>path{fill:none;stroke:#95b2cb;stroke-width:1;stroke-dasharray:3 8;opacity:.16}.cricket-arcs>g{opacity:.45}
#tabHome .cta-row .btn{border-radius:999px;min-height:48px;padding:13px 26px;line-height:1.4;box-shadow:none;transform:none;letter-spacing:0}
#tabHome .cta-row .btn.line{border:1px solid #a7b8ce66;background:#ffffff05;color:#eaf0f7}
#tabHome .cta-row .btn:hover{filter:brightness(1.08);transform:none}
.cricket-stop{width:min(100%,480px);border-top:1px solid #ffffff22;padding:18px 0 0;text-align:left;color:white}.cricket-stop label{display:block;font-size:13px;color:#b7c8da;margin-bottom:9px}.cricket-stop select{width:100%;min-height:44px;background:#152a46;color:white;border:1px solid #71849b;border-radius:8px;padding:10px;font:inherit;font-size:13px}.cricket-stop-copy{margin:16px 0}.cricket-stop-copy strong{font:700 25px var(--disp)}.cricket-stop-copy p{font-size:12px;color:#b7c8da;margin:6px 0}.cricket-stop-actions{display:flex;flex-wrap:wrap;gap:8px}.cricket-stop-actions button{min-height:42px;padding:10px 14px;border:1px solid #8b9cb355;border-radius:999px;background:transparent;color:white;font:600 12px system-ui;cursor:pointer}.cricket-stop-actions button:first-child{background:#f2b441;color:#101f3c;border-color:#f2b441}.cricket-stop :focus-visible{outline:2px solid #f2b441;outline-offset:3px}

/* Quiet tonal depth across the full hero; aircraft remain the only moving routes. */
#tabHome .hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 14% 15%,#20334e 0,transparent 52%),linear-gradient(125deg,#111f36 8%,#1a2d47 55%,#101d32 100%)}
#tabHome .hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("hero-texture.svg") center/cover no-repeat}
