
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#183044;background:#f8faf9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6bcbb6;outline-offset:2px}button{transition:background .15s,transform .15s}button:hover{transform:translateY(-1px)}.shell{max-width:1180px;margin:auto;padding:0 24px}.top{background:#fff;border-bottom:1px solid #e8eeeb;position:sticky;top:0;z-index:10}.topin{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}.logo{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:850;letter-spacing:-1.2px}.mark{width:38px;height:38px;border-radius:12px;background:#0d8878;color:white;display:grid;place-items:center;font-size:21px}.nav{display:flex;gap:5px}.nav button{border:0;background:transparent;border-radius:10px;padding:12px 15px;color:#647781;font-weight:700}.nav button.active{color:#086e61;background:#e7f5f0}.beta{background:#edf6f3;color:#167d6c;border-radius:20px;font-size:11px;padding:6px 10px;font-weight:800}.hero{padding:58px 0 32px;display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:#0a8d7b}.hero h1{font-size:clamp(37px,4.8vw,62px);letter-spacing:-2.8px;line-height:1.08;margin:13px 0 17px;max-width:650px}.hero h1 span{color:#078b78}.hero p{color:#667985;font-size:17px;line-height:1.7;max-width:540px}.heroart{min-height:290px;border-radius:28px;background:linear-gradient(140deg,#0a675e,#15a58d 55%,#b3e9d4);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:end;padding:28px;color:white}.heroart:before{content:'✈';position:absolute;right:28px;top:0px;font-size:190px;transform:rotate(-20deg);opacity:.18}.heroart strong{font-size:27px;letter-spacing:-1px;max-width:240px;line-height:1.15}.heroart small{margin-top:12px;opacity:.85}.card{background:white;border:1px solid #e5ece9;border-radius:20px;box-shadow:0 9px 32px #123f3410;padding:26px}.main{padding-bottom:80px}.section{display:none}.section.active{display:block}.sectiontitle{font-size:29px;letter-spacing:-1px;margin:8px 0}.subtitle{color:#72818a;margin:0 0 24px;line-height:1.55}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.field label{display:block;font-size:12px;font-weight:800;color:#5d7079;margin:0 0 7px}.field input,.field select,.field textarea{width:100%;border:1px solid #d9e5e0;background:#fbfdfc;border-radius:11px;padding:13px;color:#1d3948}.field textarea{resize:vertical}.btn{border:0;border-radius:11px;background:#0b8877;color:white;font-weight:800;padding:13px 20px}.btn.secondary{background:#e8f4ef;color:#086e61}.btn.ghost{background:#fff;color:#315e5a;border:1px solid #d5e6df}.btn.small{padding:9px 13px;font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{border:1px solid #cfe4db;background:#f3faf6;color:#237366;padding:8px 12px;border-radius:30px;font-size:12px;font-weight:800}.chip.selected{background:#0b8877;color:white}.note{font-size:12px;color:#71838b;line-height:1.55}.notice{padding:13px 16px;background:#eef8f3;border-radius:12px;font-size:13px;color:#30695c;line-height:1.6;margin-top:17px}.muted{color:#74838b}.metric{font-size:36px;font-weight:850;letter-spacing:-1.5px}.kicker{font-size:12px;color:#73868b;font-weight:800;text-transform:uppercase;letter-spacing:1px}.result{margin-top:22px}.line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf1ef;font-size:14px}.line:last-child{border:0}.divider{height:1px;background:#e8efec;margin:20px 0}.status{display:inline-block;padding:7px 10px;border-radius:30px;font-size:12px;font-weight:800;background:#e8f7f0;color:#0b8069}.status.warn{background:#fff1e5;color:#a56228}.boxheader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.boxheader h3{margin:0;font-size:18px;letter-spacing:-.5px}.tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.tabs button{border:1px solid #d8e6df;background:white;padding:11px 17px;border-radius:11px;font-weight:750;color:#55716b}.tabs button.active{background:#0b8877;color:white}.minicard{border:1px solid #e4eeea;padding:18px;border-radius:15px;background:#fcfefd}.minicard h3{margin:0 0 5px}.minicard p{margin:0;color:#75868b;font-size:13px}.empty{padding:35px 22px;border:1px dashed #c9dbd3;border-radius:15px;text-align:center;color:#72868a}.empty strong{display:block;color:#294b4c;margin-bottom:8px}.accordion{margin-top:16px;border-top:1px solid #e9f0ed;padding-top:16px}.accordion summary{cursor:pointer;font-weight:800;color:#2a6259}.accordion[open] summary{margin-bottom:17px}.pill{font-size:11px;background:#e7f4ef;border-radius:30px;padding:6px 9px;color:#147968;font-weight:800}.footer{border-top:1px solid #e5ece8;padding:26px 0 35px;font-size:12px;color:#80908d}.budgetbar{height:10px;border-radius:10px;background:#e8f0ec;overflow:hidden;margin:12px 0}.budgetbar>div{height:100%;background:#0d927c;transition:width .2s}.budgetbar.over>div{background:#d88750}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hide{display:none!important}@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:38px}.heroart{min-height:180px}.nav{overflow-x:auto;width:100%;order:3}.topin{flex-wrap:wrap;padding:13px 0}.nav button{white-space:nowrap;font-size:13px;padding:10px}.grid3{grid-template-columns:1fr 1fr}}@media(max-width:600px){.shell{padding:0 16px}.hero h1{font-size:40px}.heroart{display:none}.grid,.grid3,.two{grid-template-columns:1fr}.card{padding:19px}.metric{font-size:30px}.beta{display:none}.sectiontitle{font-size:26px}}

/* V5 brand system and information architecture */
:root{--ink:#142d39;--teal:#0c8476;--line:#e1eae7;--muted:#647982}body{background:#f7faf9;color:var(--ink)}.top{box-shadow:0 2px 22px #103e3710}.topin{min-height:84px}.logo{font-size:25px;white-space:nowrap}.logo sup{font-size:10px;vertical-align:super;letter-spacing:0;margin-left:2px;color:#718d88}.brand-accent{color:#0c8476}.mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(140deg,#08685e,#16a38b);box-shadow:0 7px 16px #0a8c7830}.nav{gap:3px;align-items:center}.nav button{padding:11px 12px;font-size:13px}.hero{padding-top:68px}.hero h1{font-size:clamp(38px,5.3vw,66px)}.heroart{background:linear-gradient(135deg,#073d46,#0d8578 65%,#8cdbb9);box-shadow:0 24px 42px #145b501e}.heroart:before{content:'✧';font-size:240px;opacity:.12;transform:none;top:-50px}.card{box-shadow:0 10px 30px #143b3210}.info-page{padding:50px 0 65px;max-width:1050px;margin:auto}.info-page .sectiontitle{font-size:clamp(30px,4vw,44px);letter-spacing:-1.8px;margin:12px 0}.info-page .subtitle{max-width:760px;font-size:16px;line-height:1.75;margin-bottom:28px}.feature-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:19px;line-height:1.7;box-shadow:0 8px 24px #143b3208}.feature-card h3{margin:10px 0;font-size:19px}.feature-card p,.legal-card p,.info-cta p{color:#627782;line-height:1.75}.feature-icon{display:inline-flex;align-items:center;justify-content:center;background:#e8f6f1;color:#087967;font-weight:850;border-radius:12px;width:46px;height:46px}.feature-wide{display:flex;gap:22px;margin-top:16px;align-items:center}.feature-wide h3{margin:0}.info-cta{margin:22px 0;background:linear-gradient(135deg,#eaf7f2,#fff)}.legal-card{background:white;border:1px solid var(--line);border-radius:20px;padding:28px 34px}.legal-card h3{margin:24px 0 5px}.legal-card h3:first-child{margin-top:0}.footer{background:#0b2832;color:#d6e7e5;border:0;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:2.1fr repeat(3,1fr);gap:36px}.footer-brand{font-size:25px;font-weight:850;letter-spacing:-1px;color:white}.footer-grid strong{display:block;color:white;font-size:13px;margin-bottom:14px}.footer-grid button{display:block;border:0;background:none;color:#c4d6d6;text-align:left;padding:6px 0;font-size:13px}.footer-grid button:hover{color:white;text-decoration:underline}.footer-grid p{margin:10px 0}.footer-fine{font-size:11px;line-height:1.7;color:#9fb9ba;display:block;max-width:320px}.footer-bottom{border-top:1px solid #31505a;margin-top:36px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;color:#a4bfc0;font-size:11px}@media(max-width:1000px){.topin{flex-wrap:wrap;padding:12px 0}.nav{order:3;width:100%;overflow-x:auto}.nav button{white-space:nowrap}}@media(max-width:650px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.feature-wide{align-items:flex-start}.info-page{padding:30px 0}.legal-card{padding:20px}.hero{padding-top:35px}}
/* V5.1 navy aviation branding: one consistent airplane mark */
.top{background:#102C46;border-bottom:1px solid #25445C;box-shadow:0 5px 22px #0b243a24}
.logo{color:#FFFFFF}.brand-accent{color:#83E4D3}.logo sup{color:#B9D7E4}
.mark{background:linear-gradient(135deg,#168D9A,#0FBC9D);box-shadow:0 5px 16px #071E3160}
.nav button{color:#D5E4EE}.nav button:hover{background:#23465F;color:#FFFFFF}.nav button.active{background:#1E5268;color:#FFFFFF;box-shadow:inset 0 -2px 0 #70E0C9}
.beta{background:#24475C;color:#D3F8EF;border:1px solid #3B6875}
@media(max-width:1000px){.nav{scrollbar-color:#5C8297 transparent}}

/* Mobile navigation: explicit accessible menu instead of horizontal scrolling */
.mobile-menu-toggle{display:none;border:1px solid #4a6880;background:#1b415d;color:#fff;border-radius:10px;padding:11px 14px;font-size:16px;font-weight:700;min-height:44px}.nav button{min-height:44px;touch-action:manipulation}.nav button:focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid #80e4d3;outline-offset:2px}@media(max-width:1000px){.topin{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding-top:12px;padding-bottom:12px}.mobile-menu-toggle{display:flex;gap:9px;align-items:center;justify-content:center;grid-column:2;grid-row:1}.nav{display:none!important;grid-column:1/-1;grid-row:2;order:unset;width:100%;overflow:visible!important;flex-direction:column;align-items:stretch;gap:4px;padding:10px 0 3px}.nav.mobile-open{display:flex!important}.nav button{text-align:left;width:100%;padding:13px 16px;white-space:normal}.beta{display:none}.logo{grid-column:1;grid-row:1;font-size:22px}.mark{width:40px;height:40px}}@media(max-width:390px){.logo{font-size:19px}.mobile-menu-toggle{padding:10px}.mobile-menu-toggle span{display:none}}
/* Robust navigation: native anchors and details work even when app JS is blocked. */
.nav a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;padding:11px 12px;border-radius:9px;min-height:44px;font-size:13px;font-weight:700}.nav a:hover,.nav a:focus-visible{background:#24475c;color:#fff}.footer a,.footer-grid a{display:block;color:#c4d6d6;text-decoration:none;font-size:13px;padding:6px 0}.footer a:hover{color:white;text-decoration:underline}.section:target{display:block!important;scroll-margin-top:120px}.mobile-native-menu{display:none;position:relative}.mobile-native-menu summary{cursor:pointer;list-style:none;border:1px solid #4a6880;background:#1b415d;color:white;border-radius:10px;padding:12px 15px;min-height:44px;font-weight:700}.mobile-native-menu summary::-webkit-details-marker{display:none}.mobile-native-links{position:absolute;right:0;top:calc(100% + 8px);z-index:999;background:#102c46;border:1px solid #47677b;border-radius:12px;box-shadow:0 14px 28px #001d2d55;min-width:220px;max-height:75vh;overflow-y:auto;padding:8px}.mobile-native-links a{display:block;color:white;text-decoration:none;padding:13px 16px;border-radius:7px;min-height:44px}.mobile-native-links a:hover,.mobile-native-links a:focus-visible{background:#24516b}.footer-grid button{display:none}@media(max-width:1000px){.mobile-native-menu{display:block;grid-column:2;grid-row:1}.mobile-menu-toggle{display:none!important}.nav{display:none!important}.nav.mobile-open{display:none!important}}@supports selector(body:has(.section:target)){body:has(.section:target) .section.active:not(:target){display:none!important}} /* Visibility fix: navigation labels must remain readable without hover. */
.top .nav a,.top .nav a:link,.top .nav a:visited{color:#F1F7FC!important;opacity:1!important;visibility:visible!important;text-shadow:none!important;background:transparent!important}
.top .nav a:hover,.top .nav a:focus-visible{color:#FFFFFF!important;background:#28536D!important}
.top .nav a.active{color:#FFFFFF!important;background:#23617B!important;box-shadow:inset 0 -3px 0 #73E2CF}
.mobile-native-links a,.mobile-native-links a:link,.mobile-native-links a:visited{color:#FFFFFF!important;opacity:1!important;visibility:visible!important}
@media(min-width:1001px){.top .nav{display:flex!important;visibility:visible!important;opacity:1!important}}

/* V6 brand refinement and accessibility */
:root{--focus:#71e1d2}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased}.skip-link{position:absolute;top:-100px;left:12px;z-index:10000;background:#fff;color:#102c46;padding:12px 16px;border-radius:8px}.skip-link:focus{top:12px}.top{position:sticky;top:0;z-index:100;background:#102c46}.topin{gap:14px}.logo{letter-spacing:-.7px}.nav a{color:#fff!important;opacity:1!important;visibility:visible!important}.nav a.active{background:#137f79!important;color:#fff!important}.nav a:hover{background:#2c5873!important;color:#fff!important}.mobile-native-links a{color:#fff!important;opacity:1!important}.mobile-native-links a:focus-visible,.nav a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.btn{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.sectiontitle{line-height:1.13}.card,.feature-card{border-color:#e1eae7}.note,.notice{line-height:1.6}.field label{line-height:1.4}.footer-grid a{display:block;text-decoration:none;color:#d3e4e3;padding:6px 0}.footer-grid a:hover{text-decoration:underline;color:#fff}.section:target{scroll-margin-top:110px}@media(max-width:1000px){.topin{grid-template-columns:minmax(0,1fr) auto}.logo{min-width:0}.mobile-native-menu{z-index:200}.mobile-native-links{min-width:min(280px,calc(100vw - 28px));max-height:70vh}.hero{padding-top:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}

/* V7: visual travel experience */
.travel-hero{margin:26px 0 0;min-height:365px;border-radius:26px;overflow:hidden;background:linear-gradient(95deg,rgba(6,38,66,.87),rgba(6,38,66,.38) 60%,rgba(6,38,66,.08)),url(/assets/photo-1533105079780-92b9be482077.webp) center 48%/cover no-repeat;display:flex;align-items:center;color:#fff;box-shadow:0 20px 46px #0d40582a}.travel-hero-content{padding:50px clamp(25px,5vw,68px);max-width:790px}.travel-hero .eyebrow{color:#9de9df}.travel-hero h1{font-size:clamp(38px,5.2vw,65px);letter-spacing:-2.3px;line-height:1.06;margin:16px 0}.travel-hero h1 span{color:#8bf1df}.travel-hero p{font-size:17px;line-height:1.6;max-width:570px;color:#fff}.hero-trust{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;font-weight:700;margin-top:22px;color:#d7f5f1}.explore-form{margin:-34px 25px 30px;position:relative;z-index:1}.explore-form>.card{box-shadow:0 17px 45px #173e4a24;border-radius:22px}.explore-form .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.explore-form .field:first-child{grid-column:span 2}.explore-form .field label{font-size:12px}.explore-form .actions{justify-content:flex-end}.explore-form #start{min-width:180px}.visual-section-head{display:flex;align-items:end;justify-content:space-between;margin:38px 0 19px}.visual-section-head h2{font-size:clamp(24px,3vw,34px);margin:8px 0;letter-spacing:-1px}.visual-section-head p{color:#607782}.feature-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-tile{display:block;background:#fff;border:1px solid #e1eae7;border-radius:18px;overflow:hidden;text-decoration:none;color:#163445;box-shadow:0 10px 26px #173e4a12;transition:transform .2s}.feature-tile:hover{transform:translateY(-3px)}.feature-photo{height:155px;background-color:#c9e6e7;background-size:cover;background-position:center}.feature-tile-body{padding:22px;position:relative}.feature-tile-body h3{font-size:20px;margin:8px 0}.feature-tile-body p{font-size:14px;line-height:1.6;color:#607782;min-height:44px}.feature-glyph{display:grid;place-items:center;position:absolute;top:-23px;left:20px;background:white;color:#078a81;border-radius:50%;width:44px;height:44px;box-shadow:0 4px 12px #0002;font-size:22px}.feature-arrow{color:#087c72;font-size:13px;font-weight:800}.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.destination{min-height:200px;display:flex;align-items:flex-end;border-radius:17px;overflow:hidden;background-color:#2a8390;background-size:cover;background-position:center;position:relative}.destination:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(0,25,44,.82))}.destination>div{position:relative;z-index:1;padding:19px;color:white}.destination h3{margin:5px 0 0;font-size:19px}.destination small{font-size:11px;letter-spacing:.6px;color:#d9f5ef}.photo-disclaimer{font-size:12px;color:#637782;margin:16px 0 30px}.inner-page-hero{margin:27px 0 25px;min-height:215px;background-color:#163e58;background-size:cover;background-position:center;border-radius:23px;color:white;display:flex;align-items:center;padding:32px 39px}.inner-page-hero .eyebrow{color:#8df0dd}.inner-page-hero .sectiontitle{color:#fff;font-size:clamp(30px,4vw,43px)}.inner-page-hero .subtitle{color:#e3f0f0;max-width:640px;margin-bottom:0}.section .inner-page-hero + .tabs{margin-top:8px}@media(max-width:950px){.explore-form .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-form .field:first-child{grid-column:span 2}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.travel-hero{min-height:330px;margin-top:14px;border-radius:17px}.travel-hero-content{padding:30px 22px 58px}.travel-hero h1{font-size:37px}.travel-hero p{font-size:14px}.hero-trust{font-size:11px}.explore-form{margin:-25px 10px 22px}.explore-form .card{padding:18px}.explore-form .grid{grid-template-columns:1fr}.explore-form .field:first-child{grid-column:auto}.explore-form .actions{display:flex;flex-direction:column}.explore-form .actions .btn{width:100%}.feature-tiles{grid-template-columns:1fr}.feature-photo{height:150px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destination{min-height:150px}.destination h3{font-size:15px}.destination>div{padding:13px}.inner-page-hero{padding:25px 20px;min-height:200px}}



/* TripCeiling V8.2: branded logo panel, responsive to existing navigation */
.top .topin{gap:12px}
.top .logo{display:flex;align-items:center;flex:0 0 auto;background:#fff;border-radius:12px;padding:5px 9px;box-shadow:0 2px 12px #00172b30;line-height:1;max-width:245px}
.top .brand-logo-img{display:block;width:218px;height:auto;max-height:68px;object-fit:contain}
@media(max-width:1100px){.top .logo{max-width:205px}.top .brand-logo-img{width:180px}}
@media(max-width:680px){.top .logo{max-width:172px;padding:4px 6px;border-radius:9px}.top .brand-logo-img{width:158px;max-height:50px}}


/* Logo file is deployed beside index.html, including on Cloudflare Workers. */
.top .logo{background:#fff;flex-shrink:0;max-width:none;padding:5px 10px;border-radius:12px}
.top .brand-logo-img{display:block;width:clamp(185px,19vw,285px);height:auto;max-height:100px;object-fit:contain}
@media(max-width:1100px){.top .brand-logo-img{width:215px;max-height:75px}}
@media(max-width:680px){.top .logo{padding:4px 6px;max-width:none}.top .brand-logo-img{width:min(48vw,205px);max-height:70px}}
@media(max-width:390px){.top .brand-logo-img{width:160px}}


/* Compact transparent navigation logo: no white card and no raster image dependency. */
.top .logo{display:flex!important;align-items:center;gap:5px;min-width:0;flex:0 0 auto;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;text-decoration:none!important;box-shadow:none!important}
.top .tc-brand-mark{display:block;width:72px;height:61px;flex-shrink:0}
.top .tc-brand-word{font-size:clamp(21px,2vw,31px);letter-spacing:-1.4px;white-space:nowrap;font-weight:850;line-height:1.1;font-style:italic;border-bottom:3px solid #ff942e;padding-bottom:3px}
.top .tc-trip{color:#fff}.top .tc-ceiling{color:#51e3d3}.top .tc-brand-word sup{color:#fff;font-size:9px;font-weight:500;position:relative;top:-.8em;letter-spacing:0;margin-left:1px}
@media(max-width:1160px){.top .tc-brand-mark{width:59px;height:51px}.top .tc-brand-word{font-size:24px}}
@media(max-width:760px){.top .tc-brand-mark{width:55px;height:47px}.top .tc-brand-word{font-size:24px}}
@media(max-width:390px){.top .tc-brand-mark{width:46px;height:41px}.top .tc-brand-word{font-size:20px}}
.top .logo:focus-visible{outline:2px solid #72e5d6;outline-offset:5px}


/* V8.5: compact Explore layout and refined brand mark */
.explore-form .card>.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px}
.explore-form .tc-airport-field{grid-column:1/-1;max-width:none}
.explore-form .tc-airport-field>select{max-width:650px}
.explore-form .tc-airport-field .note{max-width:750px}
.explore-form .tc-airport-field .chips{margin:10px 0}
.explore-form .actions{margin-top:18px;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.explore-form .notice{margin-top:16px}
@media(max-width:900px){.explore-form .card>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.explore-form .card>.grid{grid-template-columns:1fr;gap:14px}.explore-form .tc-airport-field{grid-column:auto}.explore-form .actions .btn{width:100%}}


/* V8.6: original airplane-in-circle artwork, separate accessible wordmark */
.top .logo .tc-brand-emblem{display:block!important;object-fit:contain!important;width:58px!important;height:58px!important;flex:0 0 58px!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important}
.top .logo .tc-brand-mark{display:none!important}
.top .logo{gap:8px!important}
.top .tc-brand-word{font-size:clamp(20px,2vw,29px)!important}
@media(max-width:760px){.top .logo .tc-brand-emblem{width:45px!important;height:45px!important;flex-basis:45px!important}.top .tc-brand-word{font-size:23px!important}}
@media(max-width:390px){.top .logo .tc-brand-emblem{width:40px!important;height:40px!important;flex-basis:40px!important}.top .tc-brand-word{font-size:20px!important}}


/* V8.7: embedded logo ensures image works in single-file previews and Cloudflare. */
.top .tc-brand-emblem{width:58px!important;height:58px!important;object-fit:contain;display:block;flex-shrink:0}
.top .logo{gap:9px!important}
.top .beta{background:#ff921e!important;color:#09243c!important;border:1px solid #ffb45b!important;font-weight:850!important;letter-spacing:.015em!important;box-shadow:0 2px 0 rgba(0,0,0,.08)}
@media(max-width:800px){.top .tc-brand-emblem{width:45px!important;height:45px!important}.top .beta{font-size:10px!important;padding:7px 9px!important}}



/* TripCeiling V9: balanced planning experience, no external JS dependencies. */
:root{--tc-navy:#102c46;--tc-orange:#ff921e;--tc-teal:#078c7c;--tc-ring:#34ceb8}
.travel-hero{min-height:285px;display:flex;align-items:center}
.explore-form{margin-top:-24px;position:relative;z-index:2}
.explore-form .card{padding:25px 30px 27px;border-radius:20px;box-shadow:0 20px 48px rgba(12,43,61,.1)}
.explore-form .boxheader{align-items:center;gap:12px;margin-bottom:4px}
.tc-form-intro{font-size:14px;line-height:1.6;color:#607985;margin:7px 0 17px}
.explore-form .card>.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 18px;align-items:start}
.explore-form .card>.grid>.field{grid-column:auto;min-width:0}
.explore-form .card>.grid>.tc-airport-field{grid-column:span 2;max-width:none}
.explore-form .card>.grid>.tc-destination-field{grid-column:span 2}
@media(min-width:881px){.explore-form .card>.grid>.tc-airport-field{grid-row:span 3}}
.explore-form .tc-airport-field>select{max-width:none;width:100%}
.explore-form input,.explore-form select{min-width:0;width:100%}
.explore-form .tc-airport-field .note{max-width:none}
.tc-airport-search{position:relative;margin:7px 0 9px}
.tc-mini-label{display:block;font-size:12px!important;font-weight:600;color:#5f7781;margin-bottom:5px}
.tc-airport-search input{height:43px;padding-right:35px!important;background:#fff!important;border:1px solid #cfdedb!important}
.tc-search-icon{position:absolute;right:14px;bottom:10px;color:#38636a;font-size:20px;pointer-events:none}
.tc-airport-count{font-size:12px;margin:7px 0 8px;color:#5f7880}
.tc-fieldhint{display:block;margin-top:8px;color:#6a7f88;font-size:12px;line-height:1.4}
.explore-form .tc-airport-field .chips{margin:8px 0;gap:6px}
.explore-form .tc-airport-field .chips .chip{padding:8px 13px;min-height:38px}
.explore-form #locate{min-height:38px;padding:7px 12px;font-size:13px}
.explore-form .actions{margin-top:16px;gap:12px}
.explore-form #start{background:#078d7d;color:white}
.explore-form .notice{margin-top:14px}
.tc-form-error{color:#ad3434;font-weight:650;font-size:14px;margin:13px 0 0}
.tc-step-note{display:flex;flex-wrap:wrap;gap:7px 15px;align-items:center;margin:16px 0 19px;padding:14px 18px;background:#ebf7f3;border:1px solid #cce6e0;border-radius:13px;color:#244f52;font-size:13px}
.tc-step-note strong{color:#007968;letter-spacing:.06em;font-size:11px}
.tc-step-note small{font-size:12px;color:#567579;flex-basis:100%;line-height:1.5}
.tc-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 9px}
.tc-metric-grid>div{background:#f0f7f5;border:1px solid #dbeae6;border-radius:12px;padding:14px 10px;display:flex;flex-direction:column;gap:6px;min-width:0}
.tc-metric-grid span{font-size:11px;color:#61787f;line-height:1.35}
.tc-metric-grid strong{font-size:clamp(16px,1.65vw,21px);color:#123f4a;overflow-wrap:anywhere}
.tc-budget-advice{padding:12px 14px;background:#edf9f5;color:#226558;border-radius:10px;font-size:13px;line-height:1.55;font-weight:650}
.tc-form-warning{background:#fff5e7;border:1px solid #f6d9aa;color:#75430f;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.55}
.tc-form-warning[hidden]{display:none!important}
.tc-total-line{border-top:2px solid #c8e4dd;margin-top:8px;padding-top:12px;font-size:15px}
.tc-scenario-panel{margin:16px 0 20px}
.tc-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tc-scenario-btn{padding:14px 13px;border-radius:12px;text-align:left;display:flex;flex-direction:column;gap:5px;border:1px solid #ccdfd9;background:#f5faf8;color:#183c43;min-height:92px;transition:background .15s,box-shadow .15s}
.tc-scenario-btn strong{font-size:14px;line-height:1.3}
.tc-scenario-btn span{font-size:12px;color:#5e757d;line-height:1.35}
.tc-scenario-btn:hover,.tc-scenario-btn:focus-visible{background:#e5f6f0;box-shadow:0 0 0 2px #9bd7c9}
.tc-scenario-feature{grid-column:span 4;background:#edf4fb;border-color:#b7d0dd;min-height:62px;flex-direction:row;align-items:center;justify-content:space-between;gap:15px}
.tc-rescue-warning{font-size:12px;color:#5e6973;line-height:1.55;margin-top:13px}
.tc-saved-item{border-bottom:1px solid #e3eeea;padding:9px 0}
.tc-saved-main{display:flex;align-items:center;gap:12px;min-width:0}
.tc-saved-main input{width:18px;height:18px;flex:none;accent-color:#088c79}
.tc-saved-details{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.tc-saved-details strong{font-size:14px;overflow-wrap:anywhere}
.tc-saved-details span{font-size:12px;color:#677d85;overflow-wrap:anywhere}
.tc-saved-comparison{margin-top:17px;overflow-x:auto}
.tc-compare-table{width:100%;min-width:420px;border-collapse:collapse;text-align:left;font-size:13px}
.tc-compare-table th,.tc-compare-table td{padding:10px 11px;border-bottom:1px solid #dfe9e5;vertical-align:top}
.tc-compare-table th{color:#315863;width:30%;font-weight:700}
.tc-compare-table tr:first-child{background:#f2f8f5;font-weight:700}
.tc-compare-table td{overflow-wrap:anywhere}
#feedbackStatus{font-weight:650}
@media(max-width:1150px){.tc-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-scenario-feature{grid-column:span 2}}
@media(max-width:880px){.explore-form .card>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.explore-form .card>.grid>.tc-airport-field,.explore-form .card>.grid>.tc-destination-field{grid-column:span 2;grid-row:auto}
@media(min-width:881px){.explore-form .card>.grid>.tc-airport-field{grid-row:span 3}}.explore-form .card{padding:23px}.travel-hero{min-height:290px}}
@media(max-width:560px){.explore-form .card>.grid{grid-template-columns:1fr}.explore-form .card>.grid>.tc-airport-field,.explore-form .card>.grid>.tc-destination-field{grid-column:span 1}.explore-form .card{padding:18px 15px 20px}.explore-form .boxheader{align-items:flex-start;flex-wrap:wrap}.explore-form .actions .btn{width:100%;white-space:normal;min-height:48px}.travel-hero{min-height:240px;margin-top:10px}.explore-form{margin-top:-12px}.tc-metric-grid{grid-template-columns:1fr 1fr}.tc-metric-grid>div:last-child{grid-column:span 2}.tc-scenario-grid{grid-template-columns:1fr}.tc-scenario-feature{grid-column:span 1;flex-direction:column;align-items:flex-start}.tc-saved-main{flex-wrap:wrap}.tc-saved-main .btn{margin-left:30px}.tc-step-note{padding:12px}}
@media print{.top,.footer,.actions,.travel-hero,.tc-scenario-panel,.skip-link,.mobile-native-menu,.notice{display:none!important}.section{display:none!important}.section#truecost{display:block!important}.shell,.main{max-width:none!important;margin:0!important;padding:0!important}.card{box-shadow:none!important;break-inside:avoid}.inner-page-hero{background:none!important;color:#102c46!important;padding:10px!important}.inner-page-hero *{color:#102c46!important}.tc-step-note{display:none!important}body{background:white!important}}


/* TripCeiling V10 — country-aware live airport search */
.tc-airport-search{z-index:8;margin-bottom:10px}
.tc-airport-search input{height:49px!important;padding-right:52px!important}
.tc-airport-search input:focus{outline:3px solid rgba(13,143,125,.15);border-color:#119e8a!important}
.tc-airport-search .tc-search-icon{position:absolute;right:6px;bottom:5px;display:flex;align-items:center;justify-content:center;min-width:40px;height:39px;border:0;border-radius:10px;background:#e3f4f0;color:#086f66;cursor:pointer;pointer-events:auto;transition:background .15s,transform .15s}
.tc-airport-search .tc-search-icon:hover,.tc-airport-search .tc-search-icon:focus-visible{background:#bce9df;outline:2px solid #078d7d;outline-offset:1px}
.tc-airport-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;border:1px solid #b6d7d1;background:#fff;box-shadow:0 14px 35px rgba(14,39,54,.18);border-radius:13px;max-height:310px;overflow-y:auto;padding:8px;z-index:40}
.tc-airport-suggestions[hidden],.tc-country-preview[hidden]{display:none!important}
.tc-suggest-country{display:flex;align-items:center;gap:7px;padding:8px 9px 4px;color:#136e64;font-weight:800;font-size:12px;letter-spacing:.015em;background:#eef9f5;border-radius:7px;margin:5px 0 3px}
.tc-suggest-row{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;gap:10px;padding:11px 12px;border:0;background:#fff;color:#173a4b;border-radius:9px;cursor:pointer;font-size:14px;line-height:1.4}
.tc-suggest-row:hover,.tc-suggest-row.is-active,.tc-suggest-row:focus-visible{background:#e5f6f2;outline:2px solid #b2e1d7;outline-offset:-2px}
.tc-suggest-row .tc-suggest-code{font-weight:800;color:#087c70;background:#dff3ed;border-radius:6px;padding:3px 7px;flex-shrink:0}
.tc-suggest-row .tc-suggest-city{min-width:0;flex:1}
.tc-suggest-empty{padding:13px;color:#56717a;font-size:13px}
.tc-country-preview{margin:0 0 10px;padding:10px 12px;border:1px solid #c6e9df;background:#eff9f6;color:#275d57;border-radius:10px;font-size:13px;line-height:1.5}
.tc-country-preview strong{color:#007a6b}
.tc-airport-field .tc-select-label{margin-top:8px;margin-bottom:6px}
.tc-selected-airport{background:#f0f7f5;border:1px solid #d3e9e3;color:#20594f;padding:10px 12px;border-radius:9px;font-size:13px;font-weight:650;line-height:1.45;margin:8px 0}
@media(max-width:560px){.tc-airport-suggestions{max-height:270px}.tc-suggest-row{min-height:45px}.tc-airport-search .tc-search-icon{min-width:44px}}



/* TripCeiling V10 consolidation: search shortcuts, offer selection and readiness */
.tc-provider-search{margin:0 0 22px;padding:clamp(18px,3vw,28px);border:1px solid #b9ded6;background:linear-gradient(110deg,#f4fffb,#ffffff 55%,#f3f8ff)}
.tc-provider-search .boxheader{margin-bottom:10px}.tc-provider-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start;margin:16px 0 0}
.tc-destination-search,.tc-itinerary-fields{min-width:0}.tc-destination-search select{margin:8px 0}.tc-destination-search .tc-mini-label{display:block;margin:10px 0 3px}
.tc-hotel-location{margin-top:13px}.tc-hotel-location input{margin-top:4px}.tc-itinerary-meta{background:#e6f4f1;border-radius:10px;padding:12px 13px;color:#115d54;font-weight:700;font-size:14px;margin-top:12px}
.tc-provider-fallback{display:inline-block;margin-top:9px;color:#086f6a;font-weight:750;font-size:14px}.tc-provider-fallback[hidden]{display:none}.tc-provider-actions{margin-top:18px;flex-wrap:wrap}.tc-provider-status{font-size:13px;line-height:1.55;color:#536e79;margin:11px 0 0}
.tc-comparison-wrap{margin-top:14px}.tc-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tc-offer-choice{border:1px solid #d3e3df;border-radius:18px;background:#ffffff;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 7px 18px rgba(14,56,70,.045);min-width:0}
.tc-offer-choice.tc-lowest{border-color:#19a38b;background:linear-gradient(160deg,#eafff5,#fff 75%)}.tc-offer-choice.tc-selected{outline:2px solid #087f72;outline-offset:0}
.tc-choice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tc-offer-title{font-weight:850;color:#102d43;font-size:17px}.tc-offer-sub{font-size:13px;color:#547380;line-height:1.4;word-break:break-word}
.tc-offer-cost{font-size:30px;letter-spacing:-.035em;color:#0d293e;font-weight:900;line-height:1.05}
.tc-offer-cost.is-incomplete{font-size:21px;color:#647780}
.tc-compare-badge{background:#e5f4ed;color:#066c5f;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:850;white-space:nowrap}
.tc-compare-badge.muted{background:#edf1f4;color:#536977}
.tc-cost-breakdown{display:grid;grid-template-columns:1fr;gap:5px;font-size:13px;border-top:1px solid #e0eae7;padding-top:10px;color:#456470}
.tc-cost-breakdown>div{display:flex;justify-content:space-between;gap:14px}.tc-cost-breakdown strong{color:#163b4d}
.tc-offer-choice .btn{margin-top:auto;width:100%;text-align:center;justify-content:center}
.tc-compare-summary{margin-top:15px;border-radius:12px;padding:13px 14px;background:#e9f6f3;color:#126e5f;font-size:14px;line-height:1.5;font-weight:650}
.tc-compare-summary.warn{background:#fff5e6;color:#885617}
.tc-readiness{border-radius:12px;background:#fff4df;border:1px solid #f4d7a1;color:#80551e;font-weight:750;padding:11px 13px;font-size:13px;margin:13px 0}
.tc-readiness.complete{background:#e6f7ee;border-color:#badfd1;color:#106149}
.tc-backup-area{background:#f4f8fa;border:1px solid #dce7ed;border-radius:14px;padding:15px;margin:14px 0}
.tc-backup-area .actions{margin:10px 0;gap:9px}.tc-import-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.tc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.tc-import-label:focus-within{outline:3px solid #23b69f;outline-offset:3px}
.tc-provider-search input[readonly]{background:#eef4f4;color:#274957}
@media(max-width:760px){.tc-provider-grid,.tc-comparison-grid{grid-template-columns:1fr}.tc-provider-actions .btn{width:100%}.tc-provider-search{margin-bottom:15px}.tc-offer-choice{padding:15px}.tc-offer-cost{font-size:27px}}
@media(prefers-reduced-motion:reduce){.tc-offer-choice,.tc-compare-badge{transition:none!important}}


/* TripCeiling V10.1 — dual-date Explore itinerary. Desktop: dates side-by-side. */
.explore-form .card>.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 20px;align-items:start}
.explore-form .card>.grid>.field{min-width:0}
.explore-form .card>.grid>.tc-return-field input,.explore-form .card>.grid>.tc-date-field input{width:100%;min-width:0}
.explore-form .tc-inline-helper{font-weight:500;color:#5f7781;font-size:11px;white-space:normal}
.explore-form .tc-fieldhint{display:block;margin-top:7px;font-size:12px;line-height:1.4;color:#67828a}
.explore-form #tripDurationHint.tc-date-alert{color:#a1531e;font-weight:700}
.explore-form #returnDate[aria-invalid="true"]{border-color:#d79059;box-shadow:0 0 0 2px rgba(208,127,60,.12)}
@media(min-width:881px){
 .explore-form .card>.grid>.tc-airport-field{grid-column:1/span 2;grid-row:1/span 3}
 .explore-form .card>.grid>.tc-budget-field{grid-column:3;grid-row:1}
 .explore-form .card>.grid>.tc-people-field{grid-column:4;grid-row:1}
 .explore-form .card>.grid>.tc-date-field{grid-column:3;grid-row:2}
 .explore-form .card>.grid>.tc-return-field{grid-column:4;grid-row:2}
 .explore-form .card>.grid>.tc-nights-field{grid-column:3;grid-row:3}
 .explore-form .card>.grid>.tc-destination-field{grid-column:4;grid-row:3}
}
@media(max-width:880px){
 .explore-form .card>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .explore-form .card>.grid>.tc-airport-field{grid-column:1/-1;grid-row:auto}
 .explore-form .card>.grid>.tc-destination-field{grid-column:auto;grid-row:auto}
}
@media(max-width:560px){
 .explore-form .card>.grid{grid-template-columns:1fr;gap:15px}
 .explore-form .card>.grid>.tc-airport-field,.explore-form .card>.grid>.tc-destination-field{grid-column:1;grid-row:auto}
 .explore-form .card>.grid input[type="date"]{min-height:49px}
}


/* V10.2 — user-tested benchmark-informed clarity, preserving V10.1 components */
:root{--tc102-navy:#102c46;--tc102-teal:#0b8b7d;--tc102-muted:#637c88;--tc102-border:#dbe8e4}
.tc102-journey{max-width:1190px;margin:17px auto 0;padding:0 24px;position:relative;z-index:3}
.tc102-steps{display:flex;gap:7px;align-items:center;padding:6px;background:#fff;border:1px solid var(--tc102-border);border-radius:16px;box-shadow:0 4px 22px #0b3a5010;max-width:650px}
.tc102-steps a{text-decoration:none;display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 12px;border-radius:11px;color:#335362;font-size:13px;font-weight:750;flex:1;white-space:nowrap}
.tc102-steps a:hover{background:#f1faf7}
.tc102-steps a.tc102-current{background:#e4f5f0;color:#087b6b}
.tc102-step-num{width:24px;height:24px;display:inline-grid;place-items:center;background:#edf3f2;border:1px solid #dce9e5;color:#315d60;border-radius:50%;font-size:12px}
.tc102-current .tc102-step-num{background:#087c70;border-color:#087c70;color:white}
.tc102-pocket{display:none;align-items:center;gap:26px;background:#fff;border:1px solid #d5e9e4;border-radius:16px;padding:14px 17px;margin-top:12px;box-shadow:0 8px 30px #0b3a5010}
.tc102-pocket.tc102-show{display:flex}
.tc102-route-block{flex:1;min-width:165px;display:flex;flex-direction:column;gap:4px}
.tc102-kicker{font-size:10px;letter-spacing:1.15px;font-weight:850;color:#178d80}
.tc102-route-block strong{font-size:16px;color:#142e42}
.tc102-route-block>span:last-child{font-size:12px;color:#607987}
.tc102-pocket-metrics{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:16px;flex:1.1}
.tc102-pocket-metrics>div{display:flex;flex-direction:column;gap:5px}
.tc102-pocket-metrics span{font-size:11px;color:#6a7f86;font-weight:650}
.tc102-pocket-metrics strong{font-size:16px;color:#142e42}
#tc102-status{color:#ad660b}
#tc102-status.tc102-good{color:#0b8477}
#tc102-status.tc102-over{color:#ad4d27}
.tc102-pocket-cta{white-space:nowrap;text-decoration:none;color:#fff;background:#078c7d;font-size:13px;font-weight:800;border-radius:10px;padding:12px 13px}
/* Reduce hero dominance to prioritize the user task, as major booking forms do. */
#explore .travel-hero{min-height:0;padding:0;background-image:radial-gradient(circle at 85% 30%,rgba(83,205,188,.12),transparent 35%),linear-gradient(106deg,#12334d,#31546b 70%,#8296a3)!important}
#explore .travel-hero-content{padding:32px 50px 47px}
#explore .travel-hero h1{max-width:760px;font-size:clamp(32px,4vw,50px);line-height:1.07;letter-spacing:-1.8px;margin:11px 0}
#explore .travel-hero p{max-width:620px}
.explore-form .card{border:1px solid #dce9e6;box-shadow:0 17px 42px #143a4814}
.explore-form .card>.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px 18px!important;align-items:start}
.explore-form .tc-airport-field{grid-column:span 2!important;grid-row:1!important;max-width:none!important}
.explore-form .tc102-destination{grid-column:span 2!important;grid-row:1!important}
.explore-form .tc-date-field{grid-column:1!important;grid-row:2!important}
.explore-form .tc-return-field{grid-column:2!important;grid-row:2!important}
.explore-form .tc-people-field{grid-column:3!important;grid-row:2!important}
.explore-form .tc-budget-field{grid-column:4!important;grid-row:2!important}
.explore-form .tc-nights-field{grid-column:1!important;grid-row:3!important}
.explore-form .tc-destination-field{grid-column:2/5!important;grid-row:3!important}
.explore-form .tc102-destination input,.explore-form .tc102-destination select{width:100%;max-width:none!important}
.explore-form .tc102-destination label{display:block}
.explore-form .tc102-destination #destinationSearch{height:49px;margin-top:6px;margin-bottom:11px;border-radius:12px}
.explore-form .tc102-destination #destinationAirport{height:50px;border-radius:12px}
.explore-form .tc102-destination #destinationHint{font-size:12px;min-height:20px;margin-top:9px}
.explore-form .tc-airport-search input,.explore-form .tc-airport-field select{max-width:none!important}
.explore-form .tc-airport-search{z-index:7}
.explore-form .tc-airport-field .tc-selected-airport{padding:9px 11px;font-size:12px;margin:9px 0}
.explore-form .tc-airport-field .tc-airport-count{margin:6px 0;font-size:12px}
.tc102-airport-extras{border:1px dashed #c8ddd6;background:#f8fcfa;border-radius:12px;margin-top:9px;padding:10px 12px}
.tc102-airport-extras summary{font-size:12px;color:#167d72;cursor:pointer;font-weight:750}
.tc102-airport-extras .chips{margin:12px 0!important}
.tc102-airport-extras #locate{margin:8px 0 5px}
.explore-form .tc-budget-field label{color:#0b867a}
.explore-form .tc-budget-field input{border-color:#87c7ba;box-shadow:inset 0 0 0 1px #b9e0d6}
.tc102-plan-note{display:flex;gap:10px;align-items:start;border-radius:12px;padding:11px 13px;margin-top:16px;background:#edf9f5;color:#225b56}
.tc102-plan-note>div{display:flex;flex-direction:column;gap:4px}
.tc102-plan-note strong{font-size:13px}.tc102-plan-note span{font-size:12px;line-height:1.5}
.tc102-plan-note-icon{background:#087c70;color:#fff;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:0 0 20px;font-size:12px}
.explore-form .actions{margin-top:17px!important}
.tc102-provider .tc-provider-grid{grid-template-columns:1fr!important;max-width:850px}
.tc102-provider .tc-itinerary-fields{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;align-items:start}
.tc102-provider .tc-itinerary-meta{grid-column:1/-1}
.tc102-provider .boxheader{flex-wrap:wrap;gap:8px}
.tc102-edit-trip{font-size:13px;font-weight:750;color:#087b70;text-decoration:none;margin-left:auto}
.tc102-comparison-explainer{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:11px 15px;background:#edf8f5;border:1px solid #d0ebe3;border-radius:13px;margin-bottom:12px;color:#215b56}
.tc102-comparison-explainer strong{font-size:14px}
.tc102-comparison-explainer span{font-size:12px}
.inner-page-hero{min-height:156px;margin:18px 0 18px;padding:24px 36px}
#travel .tc-offer-choice{box-shadow:0 7px 20px #12394b0e;transition:box-shadow .15s,border-color .15s}
#travel .tc-offer-choice.tc-lowest{background:#f1fbf6;border-color:#48baa4}
#travel .tc-offer-cost{font-size:clamp(27px,3vw,36px);letter-spacing:-.8px}
#travel .tc-offer-choice button{width:100%}
#travel .tc-cost-breakdown{background:#f6faf9;border-radius:11px;padding:10px 13px}
#truecost #grand{letter-spacing:-1.5px}
@media(max-width:980px){.tc102-pocket{flex-wrap:wrap;gap:14px}.tc102-pocket-metrics{flex-basis:65%}.tc102-journey{padding:0 17px}}
@media(max-width:760px){
 .explore-form .card>.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
 .explore-form .tc-airport-field,.explore-form .tc102-destination{grid-column:1/-1!important;grid-row:auto!important}
 .explore-form .tc-date-field,.explore-form .tc-return-field,.explore-form .tc-people-field,.explore-form .tc-budget-field,.explore-form .tc-nights-field{grid-row:auto!important;grid-column:auto!important}
 .explore-form .tc-destination-field{grid-row:auto!important;grid-column:1/-1!important}
 .tc102-steps a{padding:9px 6px;font-size:12px;gap:5px}
 .tc102-step-num{width:21px;height:21px;font-size:11px}
 .tc102-pocket-metrics{flex:1 1 100%}
 .tc102-pocket-cta{margin-left:auto}
}
@media(max-width:520px){
 .tc102-journey{margin:9px auto 0;padding:0 12px}
 .tc102-steps{gap:2px;padding:4px;border-radius:11px}
 .tc102-steps a{flex-direction:column;gap:4px;font-size:10px;white-space:normal;text-align:center;min-height:51px;padding:5px 3px}
 .explore-form .card>.grid{grid-template-columns:minmax(0,1fr)!important}
 .explore-form .tc-date-field,.explore-form .tc-return-field,.explore-form .tc-people-field,.explore-form .tc-budget-field,.explore-form .tc-nights-field,.explore-form .tc-destination-field{grid-column:1!important}
 .tc102-pocket{padding:12px;gap:13px}.tc102-pocket-metrics{gap:7px;grid-template-columns:repeat(3,1fr)}
 .tc102-pocket-metrics strong{font-size:14px}
 .tc102-provider .tc-itinerary-fields{grid-template-columns:1fr}.inner-page-hero{min-height:135px;padding:20px 23px}
 .tc102-pocket-cta{width:100%;text-align:center}
 #explore .travel-hero{min-height:0}#explore .travel-hero-content{padding:23px 22px 42px}#explore .travel-hero h1{font-size:32px;letter-spacing:-1.25px}
}
@media(prefers-reduced-motion:reduce){#travel .tc-offer-choice{transition:none}}


.tc-support-address{font-size:clamp(1.08rem,2vw,1.55rem);font-weight:800;overflow-wrap:anywhere;margin:14px 0 22px}.tc-support-address a{color:#098a78;text-decoration:underline;text-underline-offset:4px}.tc-support-address a:hover{color:#075d52}.footer-grid a[href^="mailto:"]{overflow-wrap:anywhere}.info-page .legal-card a[href^="mailto:"]{overflow-wrap:anywhere}


/* V10.3 — compact connected trip planning and clear status language */
#explore .travel-hero{min-height:0!important;max-height:325px!important;padding-top:12px!important;padding-bottom:25px!important}
#explore .travel-hero-content h1{font-size:clamp(31px,3.6vw,49px)!important;line-height:1.10}
#explore .explore-form{margin-top:-34px!important;position:relative;z-index:2}
#explore .explore-form .card{padding:26px 28px!important}
#airport,#destinationAirport,.tc-select-label,label[for="destinationAirport"]{display:none!important}
#explore .tc-airport-search{position:relative}
#explore .tc-destination-search{position:relative}
#destinationSearch{height:60px}
.tc103-destination-list{position:absolute;left:0;right:0;top:102px;z-index:100;background:#fff;border:1px solid #beded7;border-radius:15px;box-shadow:0 16px 40px rgba(13,50,61,.16);max-height:325px;overflow:auto;padding:6px}
.tc103-destination-list[hidden]{display:none}
.tc103-dest-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer;color:#183849;border-radius:9px}
.tc103-dest-row b{font-size:13px;border-radius:7px;background:#edf7f4;padding:5px 8px;color:#007e70}
.tc103-dest-row:hover,.tc103-dest-row.tc103-active,.tc103-dest-row:focus-visible{background:#def4ed;outline:2px solid #69d8bf;outline-offset:-2px}
.tc103-dest-empty{padding:15px;color:#607783}
.tc103-explore-preview{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin:17px 0 8px;border-radius:13px;padding:13px 17px;background:#e6f6f0;color:#12584e;border:1px solid #cbebe1}
.tc103-explore-preview strong{font-weight:850}.tc103-explore-preview span{font-weight:700}.tc103-explore-preview small{width:100%;opacity:.83}
.tc103-nights-field{max-width:380px}
.destination{appearance:none;-webkit-appearance:none;border:0;display:block;text-align:left;cursor:pointer;color:white;position:relative;overflow:hidden}
.destination:focus-visible{outline:4px solid #03a78e;outline-offset:3px}.destination:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(7,45,52,.2)}
.tc103-pick-destination{position:absolute;right:12px;top:12px;font-size:12px;background:rgba(4,38,55,.75);color:#fff;padding:7px 10px;border-radius:999px;font-weight:800;z-index:2}
#travel .inner-page-hero,#truecost .inner-page-hero,#rescue .inner-page-hero{min-height:150px!important;padding-top:25px!important;padding-bottom:25px!important}
.tc103-handoff{margin-top:13px;background:#eaf5f1;border-radius:12px;padding:13px 15px;color:#18514d;font-size:14px;line-height:1.5}
.tc103-handoff a{color:#006f61;font-weight:800}
.tc103-offer-extra{margin-top:15px;border-top:1px solid #e5efed;padding-top:12px}
.tc103-offer-extra summary{cursor:pointer;font-weight:800;color:#007e73;padding:8px 0;list-style:auto}
.tc103-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.tc103-extra-wide{grid-column:1/-1}
.tc103-extra-grid input,.tc103-extra-grid select{min-width:0}
.tc103-cross-stay{margin:18px 0 12px}
.tc103-cross-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tc103-stay-tile{padding:19px;border:1px solid #d3e5e1;border-radius:16px;display:flex;flex-direction:column;align-items:stretch;gap:9px;background:#fff}
.tc103-stay-tile.is-active{border:2px solid #0a9480;background:#f4fcf8}
.tc103-stay-tile .tc103-stay-kind{font-weight:850;font-size:17px;display:flex;justify-content:space-between;gap:8px}
.tc103-stay-tile .tc103-stay-kind span{font-size:11px;background:#dcefe8;border-radius:18px;padding:4px 9px;color:#087467}
.tc103-stay-price{font-size:32px;color:#102c3d;line-height:1.1}
.tc103-stay-tile small{color:#587583;line-height:1.4;min-height:36px}
.tc103-stay-tile button{margin-top:auto}
.tc103-essential-choice{margin-bottom:14px}
.tc103-ground-adjust{margin-top:14px}
.tc103-budget-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;color:#13675c;margin:8px 0}
.tc103-budget-meta span:first-child{background:#e6f5ed;border-radius:999px;padding:6px 10px}
.tc103-primary-alert{padding:14px 16px!important;border-radius:13px!important;background:#fff3df!important;border:1px solid #f4cf91!important;color:#734e14!important;line-height:1.45!important;margin:12px 0!important}
.tc103-primary-alert.complete{background:#e6f5ef!important;color:#0f715c!important;border-color:#b9e8d7!important}
.tc103-needed-actions{display:flex;flex-wrap:wrap;gap:15px;margin:8px 0 14px;font-size:13px;font-weight:800}
.tc103-needed-actions[hidden]{display:none}
.tc103-needed-actions a{color:#07816e}
.tc103-warning-secondary[hidden]{display:none!important}
.tc103-line-status{font-weight:700;color:#9b612d;font-size:13px}
.tc103-save-title{margin:20px 0 8px;font-size:18px}
.tc103-save-actions{gap:9px!important;flex-wrap:wrap!important}
#truecost .two>.card:last-child{border:1px solid #b7dcd2;box-shadow:0 13px 33px rgba(13,68,68,.10)}
#truecost #grand{font-size:clamp(41px,4vw,64px);line-height:1.1}
#rescue .tc-scenario-btn{min-height:142px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px}
#rescue .tc-scenario-btn:disabled{opacity:.6;cursor:not-allowed;background:#f3f5f5}
#rescue .tc103-scenario-hint{font-style:normal;display:block;color:#067e70;margin-top:auto;font-weight:850;font-size:13px}
.tc103-compare-visual{border:1px solid #dbe7e4;border-radius:14px;padding:14px 16px;margin:14px 0 15px;background:#f7faf9}
.tc103-rescue-title{font-size:14px;font-weight:850;color:#1a4b4d;margin-bottom:12px}
.tc103-compare-line,.tc103-compare-savings{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;margin:7px 0}
.tc103-compare-savings{font-weight:850;margin:13px 0 5px;font-size:16px}
.tc103-visual-track{height:12px;border-radius:999px;background:#e1e9e7;overflow:hidden}
.tc103-original-bar{height:100%;background:#d9964a;border-radius:999px}
.tc103-revised-bar{height:100%;background:#078e7c;border-radius:999px}
.tc103-compare-visual small{color:#59747a}
.tc103-feedback-prompt{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.tc103-feedback-prompt p{margin:4px 0;color:#637f89}
.tc103-feedback-card{margin-top:22px}
.tc103-how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}
.tc103-how-grid .feature-card{height:100%}
.tc103-example{margin:18px 0}
.tc103-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.tc103-example-grid>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e2eeeb}
.tc103-example-total{font-weight:850;color:#0c786a}
.tc103-privacy-summary{background:#e8f6f0;border-radius:13px;padding:16px 19px;margin-bottom:25px;color:#205c50}
.tc103-privacy-summary p{margin:6px 0 0}
@media (max-width:780px){#explore .travel-hero{min-height:195px!important}#explore .explore-form .card{padding:20px 18px!important}.tc103-how-grid,.tc103-cross-grid{grid-template-columns:1fr}.tc103-feedback-prompt{display:block}.tc103-feedback-prompt a{margin-top:10px}.tc103-destination-list{top:96px}}
@media (max-width:500px){#explore .travel-hero h1{font-size:32px!important}.tc103-extra-grid,.tc103-example-grid{grid-template-columns:1fr}.tc103-extra-wide{grid-column:auto}.tc103-destination-list{top:96px}.tc103-pick-destination{top:8px;right:8px}.tc103-stay-price{font-size:28px}.tc103-save-actions .btn{width:100%}}



.tc-drive-affiliate-note{max-width:100%;box-sizing:border-box;font-size:13px;line-height:1.5;color:#305a64;padding:9px 14px;margin:12px 0 14px;background:#edf6f2;border:1px solid #d5ebe4;border-radius:12px}
.tc-drive-affiliate-note a{color:#066f66;text-decoration:underline;font-weight:700}


/* V10.4: accessible colors and a shorter mobile planning form. */
body .btn, body .tabs button.active, body .chip.selected {
  background:#08776b; color:#fff;
}
body .btn.secondary {background:#e8f4ef;color:#08685e}
body .btn.ghost {background:#fff;color:#315e5a}
body .note, body .tc-fieldhint, body .tc-mini-label,
body .subtitle, body .muted, body .kicker,
body .tc-offer-sub, body .photo-disclaimer {
  color:#526873;
}
body .eyebrow {color:#08786a}
body label[for="budget"] {color:#087568}
body .visual-section-head p {color:#526873}
body .footer-bottom > .note {color:#b8cecd}
body .inner-page-hero .eyebrow {color:#8df0dd}
body .inner-page-hero .subtitle {color:#e3f0f0}
#explore label[for="budget"] {color:#087568}
#tripDurationHint {color:#526873}
.explore-form #start {background:#08776b;color:#fff}
#tc102-pocket .tc102-kicker {color:#087568}
#tc102-pocket .tc102-pocket-metrics > div > span {color:#526873}
#tc102-pocket .tc102-pocket-cta {background:#08776b;color:#fff}
body .status.warn {color:#8b4b16}
#truecost .tc-metric-grid > div > span {color:#526873}
#rescue .tc-scenario-feature > span {color:#526873}
#rescue .tc-scenario-feature > em {color:#08685e}
#rescue .tc103-feedback-prompt > div > p {color:#526873}
.tc104-optional {grid-column:1/-1;border-top:1px solid #e1ebe6;padding-top:12px}
.tc104-optional > summary {cursor:pointer;color:#315e5a;font-weight:700;font-size:14px}
.tc104-optional > .grid {margin-top:14px}
.tc104-optional .tc-nights-field,
.tc104-optional .tc-destination-field {grid-column:auto!important}
body .tc104-optional[open] > summary {margin-bottom:12px}
.tc104-optional input {min-height:46px}
.explore-form .actions {scroll-margin-top:110px}
@media(max-width:650px){
  body .travel-hero {min-height:0;margin-top:12px}
  body .travel-hero-content {padding:22px 20px 42px}
  body .travel-hero h1 {font-size:32px;line-height:1.12;margin:10px 0}
  body .travel-hero p {font-size:14px;margin:10px 0;line-height:1.5}
  body .hero-trust {gap:7px 14px;margin-top:12px;font-size:11px}
  body .explore-form {margin-top:-22px}
  body .explore-form .card {padding:18px}
  body .explore-form .card > .grid {gap:14px}
  body .explore-form .card > .subtitle {margin-bottom:16px}
  body .tc-airport-field > .note {margin:6px 0}
  body .tc103-explore-preview {margin-top:14px;padding:12px}
  body .explore-form .actions {gap:8px;margin-top:14px}
  body .explore-form .actions .btn {min-height:48px}
  body .explore-form .notice {font-size:12px;padding:10px 12px}
  .tc104-optional > .grid {grid-template-columns:1fr}
}

/* Travelpayouts form is loaded on demand to keep trip setup fast. */
.tc105-live-widget{margin:20px 0 24px;padding:18px;border:1px solid #d8e6e0;border-radius:15px;background:#f7fbf9}
.tc105-live-widget summary{font-weight:750;color:#08685e;cursor:pointer}
.tc105-live-widget[open] summary{margin-bottom:12px}
.tc105-live-widget iframe{display:block;width:100%;min-width:0;height:620px;margin:16px 0;border:0;border-radius:12px;background:#fff}
.tc105-live-widget iframe.tc105-results{height:1200px}
#travelpayoutsWidgetStatus{font-size:14px;color:#526873}
#travelpayoutsDirectLink{color:#08685e;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.tc105-live-widget{padding:14px}.tc105-live-widget summary{font-size:14px}.tc105-live-widget iframe{height:780px}.tc105-live-widget iframe.tc105-results{height:1200px}}
