:root{--green:#0F3D2E;--green-dark:#0A2D22;--ink:#222522;--ink-2:#31463B;--muted:#69736B;--line:#D8DED4;--paper:#FFFFFF;--wash:#EEF1EC;--cream:#F7F3EA;--night:#0F3D2E;--gold:#C6A15B;--sage:#A8B8A7;--ivory:#F7F3EA;--radius:26px;--shadow:0 22px 55px rgba(34,37,34,.10);--max:1420px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ivory);line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:10px 14px;border-radius:12px;z-index:1000}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:200;background:rgba(247,243,234,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,61,46,.10)}.nav-shell{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:28px;padding:14px 24px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand-mark{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:19px;box-shadow:0 8px 22px rgba(15,61,46,.18)}.brand-copy{display:flex;align-items:baseline;gap:6px}.brand-copy strong{font-size:22px;letter-spacing:-.04em}.brand-copy small{font-size:13px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.main-nav>a,.nav-dropdown>a{padding:10px 12px;border-radius:12px;font-size:14px;font-weight:650;color:#3F4B43}.main-nav a:hover,.main-nav a.is-active{background:var(--wash);color:var(--ink)}.nav-dropdown{position:relative}.dropdown-panel{position:absolute;left:-150px;top:48px;width:430px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:none}.dropdown-panel a{padding:10px;border-radius:10px;font-size:13px}.dropdown-panel a:hover{background:var(--wash)}.currency-form select{appearance:none;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23222522' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 10px center;padding:9px 30px 9px 11px;border-radius:12px;font-weight:700;color:var(--ink)}.nav-toggle{display:none;border:0;background:transparent;font-size:24px}.hero{min-height:650px;background:linear-gradient(110deg,rgba(15,61,46,.98) 0%,rgba(15,61,46,.88) 42%,rgba(15,61,46,.34) 76%),linear-gradient(150deg,#0F3D2E,#55715F 56%,#A8B8A7);position:relative;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 78% 32%,rgba(255,255,255,.18) 0 2px,transparent 3px),radial-gradient(circle at 84% 55%,rgba(255,255,255,.11) 0 1px,transparent 2px);background-size:55px 55px,34px 34px;opacity:.55}.hero-art{position:absolute;right:-80px;bottom:-140px;width:min(68vw,980px);height:min(68vw,980px);border-radius:50%;border:1px solid rgba(255,255,255,.25);background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.25),transparent 24%),conic-gradient(from 40deg,rgba(198,161,91,.72),rgba(255,255,255,.12),rgba(168,184,167,.50),rgba(255,255,255,.1),rgba(198,161,91,.72));box-shadow:inset 0 0 120px rgba(255,255,255,.08)}.hero-art:before,.hero-art:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.46);border-radius:50%;inset:14%}.hero-art:after{inset:30% 8%;transform:rotate(48deg);border-style:dashed}.hero-plane{position:absolute;right:18%;top:28%;font-size:56px;transform:rotate(-18deg);filter:drop-shadow(0 10px 14px rgba(0,0,0,.2));z-index:2}.hero-inner{max-width:var(--max);margin:auto;padding:92px 24px 150px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--green)}.hero .eyebrow{color:#E8D7B2}.hero h1{font-size:clamp(48px,6vw,86px);line-height:.98;letter-spacing:-.06em;max-width:850px;margin:20px 0 20px}.hero h1 em{font-family:Georgia,serif;font-weight:400}.hero p{max-width:650px;font-size:19px;color:rgba(255,255,255,.82);margin:0}.geo-pill{margin-top:26px;display:inline-flex;gap:10px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:10px 14px;border-radius:999px;font-size:13px}.search-float{max-width:var(--max);margin:-78px auto 0;padding:0 24px;position:relative;z-index:3}.widget-shell{background:#fff;border:1px solid rgba(15,55,72,.12);border-radius:30px;padding:18px;box-shadow:var(--shadow);min-height:126px}.widget-shell>script{display:block}.section{max-width:var(--max);margin:auto;padding:96px 24px}.section-sm{padding-top:58px;padding-bottom:58px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head h2,.page-hero h1{font-size:clamp(36px,4.8vw,64px);line-height:1.02;letter-spacing:-.055em;margin:10px 0 0}.section-head p{max-width:590px;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:14px;border:1px solid var(--line);font-weight:750;background:#fff;color:var(--ink);cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:0 8px 25px rgba(13,48,58,.1)}.button-primary{background:var(--green);border-color:var(--green);color:#fff}.button-dark{background:var(--night);border-color:var(--night);color:#fff}.button-ghost{background:transparent}.map-shell{border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(24,66,74,.08);background:var(--wash)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.destination-card{min-width:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(14,55,66,.07)}.destination-card .widget-lazy{min-height:420px}.feature-band{background:var(--night);color:#fff}.feature-band .section-head p{color:#b7c5cb}.calendar-shell{background:#fff;border-radius:28px;padding:8px;overflow:hidden}.route-cta{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;background:linear-gradient(140deg,#F7F3EA,#EEF1EC);border:1px solid #D8DED4;border-radius:34px;padding:44px}.route-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:#fff;padding:10px;border-radius:20px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(14,55,66,.07)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink)}.route-form .field input{border:0;padding:13px 10px}.route-form .button{align-self:stretch}.alert-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;background:var(--cream);border-radius:34px;padding:44px;border:1px solid #E5DDCD}.alert-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-form .full{grid-column:1/-1}.notice{padding:13px 15px;border-radius:14px;background:#EEF1EC;color:#0F3D2E;font-size:14px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-card{border:1px solid var(--line);border-radius:22px;padding:24px;min-height:190px;display:flex;flex-direction:column;background:#fff}.resource-card .icon{font-size:26px;margin-bottom:auto}.resource-card h3{margin:22px 0 6px;font-size:19px}.resource-card p{margin:0;color:var(--muted);font-size:14px}.page-hero{background:linear-gradient(135deg,#F7F3EA,#FFFFFF 68%);border-bottom:1px solid var(--line)}.page-hero .section{padding-top:74px;padding-bottom:70px}.page-hero p{font-size:18px;color:var(--muted);max-width:720px}.route-picker{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr auto;gap:12px}.route-results-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.segmented{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:14px;background:#F2F0E8}.segmented a{padding:10px 14px;border-radius:10px;font-weight:750;font-size:14px}.segmented a.is-active{background:var(--night);color:#fff}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-box{border:1px solid var(--line);border-radius:26px;padding:30px}.service-box.issuer{background:#FBF6EB;border-color:#E5D1A8}.service-box.site-help{background:#EEF1EC;border-color:#D2DBD0}.service-box h2{font-size:30px;letter-spacing:-.04em;margin:0 0 12px}.checklist{list-style:none;padding:0;margin:18px 0 0}.checklist li{padding:8px 0 8px 28px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.issuer .checklist li:before{content:"→";color:#9A742C}.support-banner{background:var(--night);color:#fff;border-radius:28px;padding:30px;margin-top:26px}.popular-top{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:20px;margin-bottom:30px}.popular-top .destination-card:first-child{grid-row:span 2}.popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.popular-grid .destination-card .widget-lazy{min-height:390px}.lazy-placeholder{display:grid;place-items:center;min-height:360px;background:linear-gradient(120deg,#F0EEE7,#FFFFFF,#F0EEE7);background-size:220% 100%;animation:shimmer 2s linear infinite;color:#69736B;font-weight:700}@keyframes shimmer{to{background-position:-220% 0}}.site-footer{background:#071b25;color:#d5dfe3;margin-top:70px}.footer-top{max-width:var(--max);margin:auto;padding:60px 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.brand-footer{color:#fff}.footer-top p{max-width:480px;color:#a9bbc2}.footer-top h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#7f969f}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.footer-top a:hover{color:#fff}.footer-bottom{max-width:var(--max);margin:auto;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#879ca5}.legal-copy{max-width:850px}.legal-copy h2{margin-top:34px}.legal-copy p,.legal-copy li{color:#4f646d}.status-box{padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--wash)}
@media(max-width:1100px){.main-nav{position:fixed;left:18px;right:18px;top:74px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav>a,.nav-dropdown>a{display:block}.nav-toggle{display:block;margin-left:auto}.currency-form{order:3}.dropdown-panel{position:static;width:auto;box-shadow:none;border:0;padding:6px 10px;grid-template-columns:1fr;opacity:1;visibility:visible;transform:none;display:none}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{display:grid}.hero{min-height:610px}.destination-grid,.resource-grid,.popular-grid{grid-template-columns:repeat(2,1fr)}.route-cta,.alert-panel{grid-template-columns:1fr}.footer-top{grid-template-columns:2fr 1fr 1fr}.footer-top>div:last-child{grid-column:2/-1}.popular-top{grid-template-columns:1fr 1fr}.popular-top .destination-card:first-child{grid-column:1/-1;grid-row:auto}}
@media(max-width:720px){.nav-shell{padding:11px 14px;gap:10px}.brand-copy strong{font-size:19px}.brand-copy small{display:none}.brand-mark{width:31px;height:31px}.currency-form select{padding:8px 27px 8px 9px}.hero{min-height:570px}.hero-inner{padding:70px 18px 135px}.hero h1{font-size:49px;max-width:90%}.hero p{font-size:17px}.hero-art{width:580px;height:580px;right:-310px;bottom:-140px}.hero-plane{right:5%;top:34%;font-size:40px}.search-float{padding:0 12px;margin-top:-92px}.widget-shell{padding:8px;border-radius:24px}.section{padding:70px 18px}.section-sm{padding-top:42px;padding-bottom:42px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:24px}.destination-grid,.resource-grid,.popular-grid,.popular-top{grid-template-columns:1fr}.route-cta,.alert-panel{padding:25px 18px;border-radius:24px}.route-form,.route-picker{grid-template-columns:1fr}.alert-form{grid-template-columns:1fr}.alert-form .full{grid-column:auto}.service-grid{grid-template-columns:1fr}.route-results-head{align-items:flex-start;flex-direction:column}.segmented{width:100%}.segmented a{flex:1;text-align:center}.footer-top{grid-template-columns:1fr 1fr;padding:46px 18px}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{padding:18px;flex-direction:column}.page-hero .section{padding-top:56px;padding-bottom:50px}.map-shell{border-radius:20px}.destination-card .widget-lazy{min-height:410px}}

/* v0.2 refinements */
.widget-bare{background:transparent;border:0;padding:0;box-shadow:none;min-width:0;line-height:0}.widget-bare iframe{display:block;max-width:100%}.map-bare{border-radius:28px;overflow:hidden;line-height:0;background:transparent}.map-bare iframe{display:block;width:100%!important;max-width:100%;margin:0!important}.airport-picker{position:relative;min-width:0}.airport-picker>[data-airport-picker]{padding-right:42px}.airport-suggestions{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 8px);max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(14,42,53,.16);padding:6px}.airport-suggestions[hidden]{display:none}.airport-option{width:100%;border:0;background:#fff;color:var(--ink);padding:10px 11px;border-radius:11px;cursor:pointer;text-align:left;display:block}.airport-option:hover,.airport-option:focus{background:var(--wash);outline:0}.airport-option-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.airport-option-main strong{font-size:14px;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-option-main b{font-size:12px;letter-spacing:.06em;background:#e7f8ef;color:#087848;border-radius:8px;padding:4px 7px;flex:0 0 auto}.airport-option-meta{display:block;color:var(--muted);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-empty{padding:12px;color:var(--muted);font-size:13px}.dropdown-panel a{white-space:nowrap}.resource-card h3{white-space:nowrap}.search-float .widget-bare{min-height:126px}
@media(max-width:720px){.map-bare{border-radius:20px}.resource-card h3{white-space:normal}.search-float .widget-bare{min-height:0}}


/* v0.3 luxury editorial + modern travel tech palette */
body{background:var(--ivory);color:var(--charcoal,var(--ink))}
.site-header{background:rgba(247,243,234,.96);border-bottom:1px solid rgba(15,61,46,.10)}
.brand{line-height:0}
.brand-wordmark{display:block;height:37px;width:auto;max-width:245px;object-fit:contain}
.brand-mark,.brand-copy{display:none!important}
.main-nav a:hover,.main-nav a.is-active{background:rgba(168,184,167,.20);color:var(--green);box-shadow:inset 0 -2px 0 var(--gold)}
.dropdown-panel{background:var(--paper);border-color:var(--line)}
.dropdown-panel a:hover{background:rgba(168,184,167,.18);box-shadow:none}
.currency-form select{background-color:var(--paper);border-color:rgba(15,61,46,.18);color:var(--green)}
.hero{background:linear-gradient(110deg,rgba(15,61,46,.98) 0%,rgba(15,61,46,.90) 43%,rgba(15,61,46,.38) 76%),linear-gradient(150deg,#0F3D2E,#526E5D 56%,#A8B8A7)}
.hero .eyebrow{color:#E7D4AB}
.hero-art{border-color:rgba(247,243,234,.25);background:radial-gradient(circle at 40% 35%,rgba(247,243,234,.24),transparent 24%),conic-gradient(from 40deg,rgba(198,161,91,.68),rgba(247,243,234,.12),rgba(168,184,167,.50),rgba(247,243,234,.10),rgba(198,161,91,.68))}
.hero-art:before,.hero-art:after{border-color:rgba(247,243,234,.42)}
.geo-pill{border-color:rgba(198,161,91,.36);background:rgba(247,243,234,.10)}
.eyebrow{color:var(--gold)}
.section-head h2,.page-hero h1{color:var(--charcoal,var(--ink))}
.button-primary{background:var(--green);border-color:var(--green);color:#fff}
.button-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}
.button-dark{background:var(--green);border-color:var(--green);color:#fff}
.button-ghost:hover,.button:not(.button-primary):not(.button-dark):hover{border-color:var(--gold)}
.map-shell,.map-bare{background:var(--paper)}
.destination-card,.resource-card,.route-form,.route-picker,.calendar-shell,.field input,.field select,.field textarea{background:var(--paper)}
.feature-band,.support-banner{background:var(--green);color:#fff}
.feature-band .section-head p{color:rgba(255,255,255,.72)}
.route-cta{background:linear-gradient(140deg,var(--ivory),rgba(168,184,167,.20));border-color:rgba(168,184,167,.55)}
.alert-panel{background:var(--ivory);border-color:#E5DDCD}
.page-hero{background:linear-gradient(135deg,var(--ivory),#fff 68%)}
.segmented{background:#F2F0E8}.segmented a.is-active{background:var(--green);color:#fff}
.checklist li:before{color:var(--green)}
.airport-option-main b{background:rgba(168,184,167,.20);color:var(--green)}
.airport-option:hover,.airport-option:focus{background:rgba(168,184,167,.18)}
/* Logo is intentionally used only on bright surfaces. */
.site-footer{background:var(--ivory);color:var(--charcoal,var(--ink));border-top:1px solid rgba(198,161,91,.42)}
.brand-footer{color:var(--green)}
.brand-wordmark-footer{height:42px;max-width:280px}
.footer-top p{color:var(--muted)}
.footer-top h3{color:var(--green)}
.footer-top a{color:var(--charcoal,var(--ink))}
.footer-top a:hover{color:var(--green)}
.footer-bottom{border-top:1px solid rgba(15,61,46,.12);color:var(--muted)}
@media(max-width:720px){.brand-wordmark{height:31px;max-width:205px}.brand-wordmark-footer{height:36px;max-width:235px}}


/* v0.4 visual refinements */
/* Keep the fare-map widget on its own bright Travelpayouts green while origin/currency remain dynamic. */
.map-bare{background:transparent}

/* Fix contrast inside the dark annual-fare section. */
.feature-band .section-head h2{color:#fff}
.feature-band .eyebrow{color:var(--gold)}
.feature-band .section-head p{color:rgba(255,255,255,.80)}

/* Make custom route/alert fields unmistakably interactive instead of blending into their white holder. */
.route-form,.route-picker{gap:12px}
.route-form .field,.route-picker .field,.alert-form .field{background:var(--ivory);border:1px solid rgba(15,61,46,.18);border-radius:16px;padding:10px 12px;transition:border-color .16s,background .16s,box-shadow .16s}
.route-form .field:focus-within,.route-picker .field:focus-within,.alert-form .field:focus-within{background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(15,61,46,.09)}
.route-form .field input,.route-picker .field input,.alert-form .field input,.alert-form .field select,.alert-form .field textarea{border:0!important;background:transparent!important;border-radius:0;padding:5px 0 2px;outline:0;box-shadow:none}
.route-form .field label,.route-picker .field label,.alert-form .field label{color:#59665D}
.route-form .field input::placeholder,.route-picker .field input::placeholder,.alert-form .field input::placeholder{color:#7C827D;opacity:1}

/* Give the top three destinations a true editorial spotlight instead of an odd-size card arrangement. */
.featured-destinations-band{background:var(--green);color:#fff;border-top:1px solid rgba(198,161,91,.28);border-bottom:1px solid rgba(198,161,91,.28)}
.featured-destinations-band .section{padding-top:72px;padding-bottom:78px}
.featured-destinations-head{max-width:820px;margin-bottom:30px}
.featured-destinations-head .eyebrow{color:var(--gold)}
.featured-destinations-head h2{font-size:clamp(34px,4.2vw,58px);line-height:1.03;letter-spacing:-.05em;margin:10px 0 0;color:#fff}
.popular-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:0}
.popular-top .destination-card:first-child{grid-row:auto;grid-column:auto}
.featured-destination-card{position:relative;border-color:rgba(247,243,234,.32);box-shadow:0 22px 48px rgba(0,0,0,.18)}
.featured-rank{position:absolute;z-index:6;top:12px;left:12px;display:inline-grid;place-items:center;min-width:36px;height:30px;padding:0 9px;border-radius:999px;background:rgba(15,61,46,.92);border:1px solid rgba(198,161,91,.60);color:#F7F3EA;font-size:11px;font-weight:850;letter-spacing:.08em;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.destinations-rest{padding-top:78px}

@media(max-width:1100px){.popular-top{grid-template-columns:repeat(3,minmax(0,1fr))}.popular-top .destination-card:first-child{grid-column:auto}}
@media(max-width:820px){.popular-top{grid-template-columns:1fr}.featured-destinations-band .section{padding-top:56px;padding-bottom:60px}}


/* v0.5 cinematic homepage hero */
/* The MP4 is the actual hero surface. A light 10% brand tint stays over the whole video,
   while the text side receives an additional scrim so roughly one quarter of the footage
   remains visible behind copy. The globe flare itself stays intentionally very transparent. */
.hero-video-banner{background:linear-gradient(150deg,#0F3D2E,#526E5D 56%,#A8B8A7)}
.hero-video-banner .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:0;display:block;pointer-events:none;filter:saturate(1.06) contrast(1.02)}
.hero-video-banner:after{content:"";position:absolute;inset:0;z-index:1;background:rgba(15,61,46,.10);opacity:1;pointer-events:none}
.hero-video-banner:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,61,46,.76) 0%,rgba(15,61,46,.73) 34%,rgba(15,61,46,.58) 47%,rgba(15,61,46,.22) 60%,rgba(15,61,46,0) 73%);pointer-events:none}
.hero-video-banner .hero-art{z-index:1;background:rgba(247,243,234,.05);border-color:rgba(247,243,234,.20);box-shadow:inset 0 0 110px rgba(247,243,234,.04),0 0 90px rgba(198,161,91,.03)}
.hero-video-banner .hero-art:before,.hero-video-banner .hero-art:after{border-color:rgba(247,243,234,.18)}
.hero-video-banner .hero-plane,.hero-video-banner .hero-inner{z-index:2}
.hero-video-banner .geo-pill{background:rgba(15,61,46,.38);border-color:rgba(247,243,234,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@media(max-width:1100px){.hero-video-banner:before{background:linear-gradient(90deg,rgba(15,61,46,.77) 0%,rgba(15,61,46,.70) 50%,rgba(15,61,46,.34) 72%,rgba(15,61,46,.08) 100%)}.hero-video-banner .hero-video{object-position:56% center}}
@media(max-width:720px){.hero-video-banner:before{background:linear-gradient(90deg,rgba(15,61,46,.76) 0%,rgba(15,61,46,.71) 68%,rgba(15,61,46,.34) 100%)}.hero-video-banner .hero-video{object-position:58% center}.hero-video-banner .hero-art{background:rgba(247,243,234,.04);border-color:rgba(247,243,234,.16)}}
@media(prefers-reduced-motion:reduce){.hero-video-banner .hero-video{display:none}}

/* v0.6 interaction and Explore refinements */
/* The header currency list is intentionally limited to the currencies supported by this experience. */
.currency-form select{min-width:198px;max-width:225px;font-weight:720;color:var(--green);background-color:#fff;border-color:rgba(15,61,46,.18)}

/* Centre the flight-search widget exactly on the lower edge of the hero. JS compensates its dynamic height. */
.search-float{margin-top:0;transform:translateY(-50%);margin-bottom:-63px}

/* A clear origin control above the fare map. White panel on ivory page, sage form on white panel, white field inside it. */
.map-origin-panel{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(520px,1.28fr);align-items:center;gap:24px;background:#fff;border:1px solid rgba(15,61,46,.14);border-radius:24px;padding:14px 14px 14px 22px;margin-bottom:18px;box-shadow:0 14px 34px rgba(34,37,34,.07)}
.map-origin-current{display:flex;flex-direction:column;min-width:0}
.map-origin-current span{font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.map-origin-current strong{font-size:22px;line-height:1.2;letter-spacing:-.025em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.map-origin-current small{font-size:12px;color:var(--muted);margin-top:3px}
.map-origin-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch;background:rgba(168,184,167,.18);border:1px solid rgba(15,61,46,.10);border-radius:18px;padding:8px}
.map-origin-form .field{background:#fff;border:1px solid rgba(15,61,46,.18);border-radius:13px;padding:7px 11px;gap:2px}
.map-origin-form .field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,61,46,.08)}
.map-origin-form .field label{font-size:10px;color:#59665D}
.map-origin-form .field input{border:0!important;background:transparent!important;border-radius:0;padding:3px 0 1px;outline:0;box-shadow:none}
.map-origin-form .button{min-width:168px}
.explore-after-map{margin-top:22px;display:flex;justify-content:flex-end}

/* Forms must always show a surface change between the holder and the actual field. */
.alert-form{background:#fff;border:1px solid rgba(15,61,46,.14);border-radius:22px;padding:12px;box-shadow:0 12px 30px rgba(34,37,34,.06)}
.alert-form .field{background:#F2F0E8}
.route-form .field,.route-picker .field{background:#F2F0E8}

/* Never put a green CTA on a green section. */
.button-on-dark{background:#fff;border-color:#fff;color:var(--green)}
.button-on-dark:hover{background:var(--ivory);border-color:var(--gold);color:var(--green)}

@media(max-width:1100px){
  .currency-form select{min-width:178px;max-width:190px}
  .map-origin-panel{grid-template-columns:1fr;gap:12px;padding:18px}
  .map-origin-current strong{white-space:normal}
}
@media(max-width:720px){
  .currency-form select{min-width:148px;max-width:158px;font-size:11px;padding-left:8px}
  .map-origin-form{grid-template-columns:1fr}
  .map-origin-form .button{min-width:0;width:100%}
  .map-origin-panel{border-radius:20px;padding:14px;margin-bottom:14px}
  .map-origin-current strong{font-size:19px}
  .explore-after-map{justify-content:stretch}.explore-after-map .button{width:100%}
}
@media(max-width:430px){
  .currency-form select{min-width:112px;max-width:118px;font-size:10px}
}

/* v0.7 Price Drop Watch + functional Price Alerts */
.price-drop-band{background:var(--green-dark);color:#fff;margin:48px 0 70px;border-top:1px solid rgba(198,161,91,.28);border-bottom:1px solid rgba(198,161,91,.28)}
.price-drop-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:58px;align-items:center;padding-top:58px;padding-bottom:58px}
.price-drop-copy .eyebrow{color:var(--gold)}
.price-drop-copy h2{color:#fff;font-size:clamp(36px,4vw,58px);letter-spacing:-.055em;line-height:1.02;margin:8px 0 18px;max-width:760px}
.price-drop-copy p{color:rgba(255,255,255,.78);max-width:720px;font-size:17px}
.price-drop-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.price-drop-points span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:8px 11px;border-radius:999px;font-size:12px;color:#fff}
.price-drop-quick{background:#fff;border-radius:22px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.price-drop-quick .field{background:#F2F0E8;border:1px solid rgba(15,61,46,.16);border-radius:15px;padding:9px 11px}
.price-drop-quick .field:focus-within{background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(15,61,46,.08)}
.price-drop-quick .field label{color:#59665D}
.price-drop-quick .field input{border:0!important;background:transparent!important;padding:4px 0 1px;outline:0}
.price-drop-quick .button{grid-column:1/-1;width:100%;background:var(--green);border-color:var(--green);color:#fff}
.price-drop-quick .button:hover{background:var(--green-dark);border-color:var(--gold)}
.price-drop-quick small{grid-column:1/-1;color:var(--muted);font-size:11px;text-align:center}

.alert-panel-v07{background:#fff!important;border:1px solid rgba(15,61,46,.12)!important;box-shadow:var(--shadow);align-items:start}
.alert-intro h2{font-size:clamp(38px,4vw,56px);line-height:1.03;letter-spacing:-.05em;margin:8px 0 18px}
.alert-intro>p{color:var(--muted);font-size:16px;max-width:650px}
.alert-steps{display:grid;gap:9px;margin:24px 0}
.alert-steps span{display:flex;align-items:center;gap:10px;font-size:14px}
.alert-steps b{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:rgba(168,184,167,.24);color:var(--green);font-size:12px}
.alert-form-v07{background:rgba(168,184,167,.16);border:1px solid rgba(15,61,46,.10);padding:14px;border-radius:22px}
.alert-form-v07 .field{background:#fff!important}
.alert-form-v07 .check-field,.alert-form-v07 .consent-field{display:flex;align-items:center;justify-content:flex-start}
.alert-form-v07 .check-field label,.alert-form-v07 .consent-field label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.4;color:var(--ink)}
.alert-form-v07 input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);margin-top:1px}
.field-optional{font-size:10px;font-weight:600;color:var(--muted)}
.form-footnote{font-size:11px;color:var(--muted);margin:0 3px 2px}
.alert-result{margin-bottom:20px;border-radius:18px;padding:18px 20px;border:1px solid var(--line);background:#fff}
.alert-result strong{display:block;color:var(--green);font-size:18px}
.alert-result p{margin:6px 0 0;color:var(--muted)}
.alert-result.is-success{border-color:rgba(15,61,46,.24);background:#F6F8F3}
.alert-result.is-error{border-color:#D8B2A9;background:#FFF8F5}
.observed-price{margin-top:12px;display:inline-flex;padding:8px 11px;border-radius:12px;background:var(--ivory);color:var(--ink)}
.manage-card{max-width:900px;background:#fff;border:1px solid rgba(15,61,46,.12);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.manage-card h2{font-size:34px;letter-spacing:-.04em;margin:0 0 6px}
.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}
.manage-grid>div{background:var(--ivory);border:1px solid rgba(15,61,46,.10);border-radius:16px;padding:14px}
.manage-grid span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.manage-grid strong{display:block;margin-top:4px}
.manage-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.manage-actions form{margin:0}
.fare-carryover{background:#fff;border:1px solid rgba(15,61,46,.12);border-radius:18px;padding:14px 18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.fare-carryover strong{color:var(--green)}
.fare-carryover span{font-weight:700}
.fare-carryover small{color:var(--muted);flex-basis:100%}
.section-tight{padding-top:22px!important;padding-bottom:0!important}

/* Admin stays on bright surfaces because the hosted wordmark is designed for them. */
.admin-body,.admin-login-body{background:var(--ivory);color:var(--ink);min-height:100vh}
.admin-logo{display:block;height:38px;width:auto;max-width:260px;object-fit:contain}
.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.admin-login-card{width:min(460px,100%);background:#fff;border:1px solid rgba(15,61,46,.12);border-radius:26px;padding:30px;box-shadow:var(--shadow)}
.admin-login-card .admin-logo{margin-bottom:28px}
.admin-login-card h1{font-size:42px;letter-spacing:-.05em;margin:4px 0 22px}
.admin-login-form{display:grid;gap:12px}
.admin-login-form .field{background:#F2F0E8;border:1px solid rgba(15,61,46,.16);border-radius:15px;padding:10px 12px}
.admin-login-form .field input{border:0;background:transparent;outline:0;padding:4px 0;width:100%}
.admin-error{background:#FFF8F5;border-color:#D8B2A9;margin-bottom:16px}
.admin-header{position:sticky;top:0;z-index:50;background:rgba(247,243,234,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,61,46,.10);display:flex;justify-content:space-between;align-items:center;padding:10px max(22px,calc((100vw - 1420px)/2))}
.admin-header>div{display:flex;align-items:center;gap:18px}.admin-header>div>span{font-size:13px;color:var(--muted)}
.admin-header nav{display:flex;gap:8px}.admin-header nav a{padding:8px 10px;border-radius:10px;font-size:13px}.admin-header nav a:hover{background:#fff}
.admin-main{max-width:1420px;margin:auto;padding:38px 24px 70px}
.admin-title{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px}
.admin-title h1{font-size:52px;letter-spacing:-.055em;margin:5px 0 8px}.admin-title p{margin:0;color:var(--muted)}
.admin-api-pill{min-width:240px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px 15px;display:grid;gap:2px}.admin-api-pill>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.admin-api-pill strong{font-size:14px}.admin-api-pill small{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.admin-api-pill.is-good{border-color:rgba(15,61,46,.24)}.admin-api-pill.is-bad{border-color:#D8B2A9}
.admin-notice{background:#F6F8F3;border:1px solid rgba(15,61,46,.18);border-radius:15px;padding:13px 15px;margin-bottom:18px}.admin-notice.is-error{background:#FFF8F5;border-color:#D8B2A9}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-stats>div{background:#fff;border:1px solid rgba(15,61,46,.10);border-radius:18px;padding:18px}.admin-stats span{display:block;font-size:12px;color:var(--muted)}.admin-stats strong{display:block;font-size:32px;letter-spacing:-.04em;margin-top:4px;color:var(--green)}
.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.admin-card{background:#fff;border:1px solid rgba(15,61,46,.10);border-radius:22px;padding:22px}.admin-card h2{font-size:23px;letter-spacing:-.035em;margin:0 0 8px}.admin-card>p{color:var(--muted);margin-top:0}
.admin-settings-form,.admin-test-form{display:grid;gap:10px;margin-top:18px}.admin-settings-form .field,.admin-test-form .field{background:#F2F0E8;border:1px solid rgba(15,61,46,.14);border-radius:14px;padding:9px 11px}.admin-settings-form input,.admin-test-form input,.admin-test-form select{width:100%;border:0;background:transparent;outline:0;padding:4px 0}.admin-settings-form small{display:block;color:var(--muted);font-size:11px}.admin-switch{display:flex;align-items:center;gap:8px;font-weight:700}.admin-switch input{width:auto;accent-color:var(--green)}.admin-inline-form{margin-top:10px}.admin-test-form{grid-template-columns:1fr 1fr 1fr}.admin-test-form .button{grid-column:1/-1}.admin-meta{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-size:12px}.admin-meta span{color:var(--muted)}
.admin-card-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.admin-card-head p{margin:4px 0 0;color:var(--muted)}.admin-filter{display:flex;gap:7px}.admin-filter input,.admin-filter select{background:var(--ivory);border:1px solid rgba(15,61,46,.14);border-radius:11px;padding:8px 10px;min-width:160px}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.admin-table{width:100%;border-collapse:collapse;min-width:1050px}.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13px}.admin-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#F9F7F1}.admin-table tr:last-child td{border-bottom:0}.admin-table td strong{display:block}.admin-table td small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}.admin-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--ivory)}.status-active{background:#EAF3EC;color:#1E663C}.status-pending{background:#FFF3D8;color:#7B5A17}.status-paused{background:#EEF1EC;color:#59665D}.status-unsubscribed{background:#F2E9E6;color:#8A4E40}.admin-row-action{display:flex;gap:5px}.admin-row-action select,.admin-row-action button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 7px;font-size:11px}.admin-row-action button{background:var(--green);color:#fff;border-color:var(--green);cursor:pointer}

@media(max-width:980px){.price-drop-inner{grid-template-columns:1fr;gap:30px}.admin-stats{grid-template-columns:1fr 1fr}.admin-grid-2{grid-template-columns:1fr}.admin-title{align-items:flex-start;flex-direction:column}.admin-api-pill{width:100%}}
@media(max-width:720px){.price-drop-band{margin:36px 0 52px}.price-drop-inner{padding-top:40px;padding-bottom:40px}.price-drop-quick{grid-template-columns:1fr}.price-drop-quick .button,.price-drop-quick small{grid-column:auto}.alert-form-v07{padding:10px}.manage-grid{grid-template-columns:1fr}.admin-header{padding:9px 14px}.admin-header>div>span{display:none}.admin-logo{height:31px}.admin-main{padding:26px 14px 50px}.admin-title h1{font-size:40px}.admin-stats{grid-template-columns:1fr 1fr}.admin-card-head{align-items:stretch;flex-direction:column}.admin-filter{flex-wrap:wrap}.admin-filter input,.admin-filter select{flex:1;min-width:130px}.admin-test-form{grid-template-columns:1fr}.admin-login-card{padding:24px}}
.admin-resend{margin-top:6px}.admin-resend button{background:#fff;color:var(--green);border-color:rgba(15,61,46,.22)}

/* v0.8 Admin OTP + master login */
.admin-login-card-v08{width:min(520px,100%)}
.admin-login-intro{margin:-10px 0 24px;color:var(--muted);font-size:14px;line-height:1.55}
.admin-auth-block{border:1px solid rgba(15,61,46,.13);border-radius:20px;padding:18px;background:#fff}
.admin-auth-otp{background:#F7F3EA}
.admin-auth-heading{margin-bottom:14px}.admin-auth-heading h2{margin:2px 0 4px;font-size:20px;color:var(--green)}.admin-auth-heading p{margin:0;color:var(--muted);font-size:13px}
.admin-auth-kicker{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff;color:var(--green);border:1px solid rgba(15,61,46,.13);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.admin-auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.admin-auth-divider:before,.admin-auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.admin-login-form .field select{width:100%;border:0;background:transparent;outline:0;padding:4px 0;color:var(--ink);font:inherit}
.admin-otp-email{display:block;color:var(--green);padding:4px 0;font-size:14px}
.admin-login-secondary{margin-top:9px}.admin-login-secondary .button{width:100%}
.admin-master-button{background:#fff;color:var(--green);border:1px solid rgba(15,61,46,.28)}.admin-master-button:hover{background:#F7F3EA}
.admin-success{border-color:rgba(15,61,46,.16);background:#EDF5EF;color:#245A3A}
@media(max-width:720px){.admin-login-card-v08{padding:20px}.admin-auth-block{padding:15px}}

/* v0.8.1 Admin database setup */
.admin-setup-main{max-width:900px}
.admin-setup-card{padding:28px}
.admin-setup-card code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--ivory);padding:2px 5px;border-radius:6px}
.admin-db-setup-form{max-width:720px}
.admin-setup-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px}
@media(max-width:720px){.admin-setup-grid{grid-template-columns:1fr}.admin-setup-card{padding:20px}}

/* v0.9 usability, footer, currency and admin refinements */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.button-light{background:#fff;border-color:#fff;color:var(--green-dark)}
.button-light:hover{background:var(--ivory);border-color:var(--ivory);color:var(--green-dark)}

/* Strong clipping for third-party fare maps, including bottom corners. */
.map-bare{border-radius:28px!important;overflow:hidden!important;clip-path:inset(0 round 28px);-webkit-mask-image:-webkit-radial-gradient(white,black);-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-image:linear-gradient(#fff,#fff);transform:translateZ(0);isolation:isolate;contain:paint;background:transparent!important}
.map-bare>div,.map-bare iframe{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;border:0!important}

/* Currency picker: compact code + flat flag while closed, full name in menu. */
.currency-picker{position:relative;flex:0 0 auto}
.currency-picker summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid rgba(15,61,46,.18);border-radius:12px;background:#fff;color:var(--green);cursor:pointer;font-size:13px}
.currency-picker summary::-webkit-details-marker{display:none}
.currency-picker summary strong{font-size:13px;letter-spacing:.03em}
.currency-flag{width:20px!important;height:14px!important;border-radius:2px;box-shadow:0 0 0 1px rgba(34,37,34,.08);background-size:cover!important}
.currency-chevron{font-size:15px;line-height:1;color:var(--muted);margin-left:1px}
.currency-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:250;width:270px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.currency-option{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:12px}
.currency-option:hover,.currency-option.is-current{background:var(--wash)}
.currency-option-copy{display:flex;flex-direction:column;line-height:1.2}.currency-option-copy strong{font-size:13px;color:var(--ink)}.currency-option-copy small{font-size:12px;color:var(--muted);margin-top:3px}.currency-check{color:var(--green);font-weight:900}

/* Airport clear affordance. */
.airport-picker{position:relative}
.airport-picker>[data-airport-picker]{padding-right:48px!important}
.airport-clear{position:absolute;right:9px;bottom:8px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--wash);color:var(--green);display:grid;place-items:center;cursor:pointer;font-size:24px;line-height:1;z-index:3}
.airport-clear:hover,.airport-clear:focus{background:#E2E8E0;outline:2px solid rgba(15,61,46,.12);outline-offset:1px}
.airport-clear[hidden]{display:none!important}
.map-origin-form .airport-clear{bottom:6px}

/* Direct flight switch and optional marketing opt-in. */
.toggle-field{justify-content:center!important;min-height:94px}
.toggle-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.switch-control{display:flex!important;align-items:center!important;gap:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;cursor:pointer}
.switch-control>input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}
.switch-track{width:54px;height:30px;border-radius:999px;background:#D8DED4;border:1px solid rgba(15,61,46,.15);padding:3px;flex:0 0 auto;transition:.18s}
.switch-track>span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(34,37,34,.18);transition:.18s}
.switch-control input:checked+.switch-track{background:var(--green);border-color:var(--green)}
.switch-control input:checked+.switch-track>span{transform:translateX(24px)}
.switch-control input:focus-visible+.switch-track{outline:3px solid rgba(15,61,46,.16);outline-offset:2px}
.switch-copy{display:flex;flex-direction:column;gap:2px}.switch-copy strong{font-size:14px}.switch-copy small{font-size:11px;color:var(--muted);font-weight:500}
.marketing-field{background:#F8F7F2!important}
.marketing-optin{display:flex!important;align-items:flex-start!important;gap:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}
.marketing-optin input{width:20px!important;height:20px!important;flex:0 0 auto;margin-top:2px;accent-color:var(--green)}
.marketing-optin>span{display:flex;flex-direction:column;gap:4px}.marketing-optin strong{font-size:14px}.marketing-optin small{font-size:12px;line-height:1.45;color:var(--muted);font-weight:500}
.alert-panel-v09{background:#ECEFE8}

/* Website support form. */
.support-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start;margin-top:28px;padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 36px rgba(34,37,34,.06)}
.support-form-copy h2{font-size:38px;letter-spacing:-.045em;margin:8px 0 10px}.support-form-copy p{color:var(--muted);margin:0}
.support-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.support-form .full{grid-column:1/-1}.support-form .field{background:var(--ivory);border:1px solid rgba(15,61,46,.16);border-radius:16px;padding:10px 12px}.support-form .field:focus-within{background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(15,61,46,.08)}.support-form .field input,.support-form .field select,.support-form .field textarea{border:0;background:transparent;border-radius:0;padding:5px 0;outline:0}.support-form-notice{grid-column:1/-1;padding:12px 14px;border-radius:13px;background:#EDF5EF;color:#245A3A}.support-form-notice.is-error{background:#FFF8F5;color:#8A4E40}.hp-field{position:absolute!important;left:-9999px!important}.booking-note{margin-top:24px;padding:24px 28px;border:1px solid #E5D1A8;border-radius:24px;background:#FBF6EB}.booking-note h2{margin:0 0 6px}.booking-note p{margin:0;color:var(--muted)}

/* Global Price Drop CTA and a larger light footer with a distinct surface. */
.fare-watch-strip{background:var(--green-dark);color:#fff;border-top:1px solid rgba(198,161,91,.22);border-bottom:1px solid rgba(198,161,91,.22)}
.fare-watch-strip-inner{max-width:var(--max);margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.fare-watch-strip-inner>div{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.fare-watch-kicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.fare-watch-strip strong{font-size:22px;letter-spacing:-.025em}.fare-watch-strip .button{min-width:185px}
.site-footer-expanded{background:#ECE8DE!important;border-top:0!important;margin-top:0!important;color:var(--ink)}
.footer-hero{max-width:var(--max);margin:auto;padding:64px 24px 42px;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;border-bottom:1px solid rgba(15,61,46,.13)}
.footer-brand-block h2{font-size:clamp(38px,4.2vw,58px);line-height:1;letter-spacing:-.055em;margin:24px 0 18px;max-width:650px}.footer-brand-block>p{font-size:16px;line-height:1.65;color:#556159;max-width:680px;margin:0 0 22px}.persisca-solution-link{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:800;border-bottom:1px solid rgba(198,161,91,.7);padding-bottom:3px}.brand-wordmark-footer{height:46px;max-width:300px}
.footer-trust-grid{display:grid;gap:10px}.footer-trust-card{background:#F8F6F0;border:1px solid rgba(15,61,46,.11);border-radius:18px;padding:18px}.footer-trust-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--green);font-weight:850}.footer-trust-card p{margin:7px 0 0;color:#5D685F;font-size:13px;line-height:1.55}
.footer-links-grid{max-width:var(--max);margin:auto;padding:42px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.footer-links-grid>div{display:flex;flex-direction:column;gap:10px}.footer-links-grid h3{margin:0 0 5px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}.footer-links-grid a{font-size:14px;color:var(--ink)}.footer-links-grid a:hover{color:var(--green)}
.footer-disclaimer{max-width:var(--max);margin:auto;padding:0 24px 24px}.footer-disclaimer p{margin:0;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.46);color:#667067;font-size:12px;line-height:1.6}.footer-bottom{max-width:var(--max);margin:auto;padding:20px 24px!important;border-top:1px solid rgba(15,61,46,.12)!important;display:flex;justify-content:space-between;gap:18px;color:var(--muted)!important;font-size:12px}

/* Proper Admin application shell with permanent navigation. */
.admin-app{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr);background:#F4F1E9}
.admin-sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid rgba(15,61,46,.12);padding:22px 16px;z-index:60}
.admin-sidebar-brand{display:block;padding:4px 8px 22px}.admin-sidebar-label{padding:0 10px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:850}.admin-sidebar-nav{display:flex;flex-direction:column;gap:4px}.admin-sidebar-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;color:#4A554E;font-size:14px;font-weight:700}.admin-sidebar-nav a>span{width:22px;text-align:center;color:var(--green)}.admin-sidebar-nav a:hover{background:var(--wash)}.admin-sidebar-nav a.is-active{background:var(--green);color:#fff}.admin-sidebar-nav a.is-active>span{color:#fff}.admin-sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:14px 8px 2px;display:flex;flex-direction:column;gap:8px}.admin-sidebar-bottom a{font-size:12px;color:var(--muted)}
.admin-workspace{min-width:0}.admin-topbar{height:64px;position:sticky;top:0;z-index:40;background:rgba(244,241,233,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,61,46,.10);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.admin-topbar>div:first-child{display:flex;align-items:baseline;gap:10px}.admin-topbar strong{font-size:14px}.admin-topbar small{font-size:12px;color:var(--muted)}.admin-topbar-actions{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.admin-api-dot{width:9px;height:9px;border-radius:50%;background:#B46C5C}.admin-api-dot.is-good{background:#2D8B57}
.admin-main{max-width:none!important;margin:0!important;padding:34px 30px 70px!important}.admin-title-actions{display:flex;gap:9px;flex-wrap:wrap}.admin-stats-5{grid-template-columns:repeat(5,1fr)!important}.admin-card-head>a:not(.button){color:var(--green);font-size:13px;font-weight:750}.admin-ranking{display:grid;gap:0}.admin-ranking>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.admin-ranking>div:last-child{border-bottom:0}.admin-ranking span{font-size:13px}.admin-ranking strong{font-size:12px;color:var(--green)}.admin-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:18px}.admin-export-card{display:flex;flex-direction:column;align-items:flex-start}.admin-export-card p{flex:1}.admin-export-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--ivory);color:var(--green);font-size:20px;margin-bottom:16px}.admin-export-marketing{background:#F5F7F0}.admin-policy-note{display:flex;flex-direction:column;gap:4px;padding:13px 14px;border-radius:14px;background:#F5F7F0;border:1px solid rgba(15,61,46,.12)}.admin-policy-note strong{font-size:13px;color:var(--green)}.admin-policy-note span{font-size:12px;color:var(--muted);line-height:1.5}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px;font-size:12px}.admin-pagination a{color:var(--green);font-weight:750}.admin-pagination span{color:var(--muted)}.admin-people-table{min-width:980px}.admin-row-action input[type=hidden]{display:none}.admin-audience-builder{margin-top:18px}.admin-builder-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) minmax(180px,.8fr) auto;gap:10px;align-items:end;margin-top:16px}.admin-builder-form .field{min-width:0}.admin-builder-form .field input,.admin-builder-form .field select{background:var(--ivory)}.admin-builder-form .button{min-height:48px;white-space:nowrap}

@media(max-width:1100px){.footer-hero{grid-template-columns:1fr}.footer-links-grid{grid-template-columns:repeat(2,1fr)}.admin-stats-5{grid-template-columns:repeat(3,1fr)!important}.admin-export-grid{grid-template-columns:1fr}.admin-insight-grid{grid-template-columns:1fr 1fr}.admin-builder-form{grid-template-columns:1fr 1fr}.admin-builder-form .button{width:100%}}
@media(max-width:900px){.admin-builder-form{grid-template-columns:1fr}.admin-app{grid-template-columns:1fr}.admin-sidebar{height:auto;position:sticky;top:0;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar-brand,.admin-sidebar-label{display:none}.admin-sidebar-nav{flex-direction:row;overflow:auto}.admin-sidebar-nav a{white-space:nowrap}.admin-sidebar-bottom{display:none}.admin-topbar{top:54px}.admin-main{padding:26px 16px 50px!important}.admin-stats-5{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:720px){
  input,select,textarea{font-size:16px!important}
  .field input,.field select,.field textarea,.route-form .field input,.route-picker .field input,.alert-form .field input,.alert-form .field select,.map-origin-form .field input,.support-form .field input,.support-form .field select,.support-form .field textarea{font-size:16px!important}
  .map-bare{border-radius:20px!important;clip-path:inset(0 round 20px);-webkit-mask-image:-webkit-radial-gradient(white,black)}
  .currency-picker summary{padding:8px 9px}.currency-menu{position:fixed;right:12px;top:66px;width:min(280px,calc(100vw - 24px))}
  .airport-clear{width:36px;height:36px;bottom:7px}
  .support-form-wrap{grid-template-columns:1fr;padding:22px 16px}.support-form{grid-template-columns:1fr}.support-form .full{grid-column:auto}.support-form-copy h2{font-size:32px}
  .fare-watch-strip-inner{padding:20px 18px;align-items:flex-start;flex-direction:column}.fare-watch-strip-inner>div{display:block}.fare-watch-strip strong{display:block;margin-top:5px;font-size:20px}.fare-watch-strip .button{width:100%}
  .footer-hero{padding:48px 18px 34px}.footer-brand-block h2{font-size:40px}.footer-links-grid{grid-template-columns:1fr 1fr;padding:34px 18px}.footer-disclaimer{padding:0 18px 20px}.footer-bottom{padding:18px!important;flex-direction:column}
  .admin-insight-grid{grid-template-columns:1fr}.admin-stats-5{grid-template-columns:1fr 1fr!important}.admin-topbar{padding:0 14px}.admin-topbar small{display:none}.admin-title-actions{width:100%}.admin-title-actions .button{flex:1}
}
@media(max-width:480px){.footer-links-grid{grid-template-columns:1fr}.admin-stats-5{grid-template-columns:1fr!important}}

/* v1.0 refinements: map clipping, city pages, publishing and SEO admin */
.map-bare{
  border-radius:28px!important;overflow:hidden!important;isolation:isolate;line-height:0;font-size:0;
  clip-path:inset(0 round 28px);-webkit-clip-path:inset(0 round 28px);
  -webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0);background:#fff
}
.map-bare>div,.map-bare iframe,.map-bare>iframe{display:block!important;border-radius:28px!important;overflow:hidden!important;clip-path:inset(0 round 28px);-webkit-clip-path:inset(0 round 28px);border:0!important;vertical-align:top!important}
.map-origin-form .airport-picker{position:relative}
.map-origin-form .field input{padding-right:48px!important}
.map-origin-form .airport-clear{width:30px;height:30px;right:10px;bottom:9px;font-size:18px;line-height:1;border-radius:999px;background:#EEF1EC;color:var(--green)}
.map-origin-form .airport-clear:hover{background:#E0E7DE}

.site-footer-expanded{background:#EFE8DA!important;border-top-color:rgba(15,61,46,.12)!important}
.site-footer-expanded .footer-trust-card{background:rgba(255,255,255,.5)}

.location-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:54px;align-items:center;padding-top:72px;padding-bottom:72px}
.location-hero-copy h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.06em;margin:12px 0 20px}
.location-hero-copy p{font-size:19px;color:var(--muted);max-width:680px}.location-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.location-hero-image{margin:0}.location-hero-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.location-hero-image figcaption{font-size:11px;color:var(--muted);margin-top:8px;text-align:right}.location-hero-image figcaption a{text-decoration:underline;text-underline-offset:3px}
.location-tools{border-top:1px solid var(--line)}.location-search-widget{position:relative}.location-search-widget>script{display:block}.location-map-section{padding-top:70px}.location-map{min-height:460px}
.location-calendar-band{background:#EDF1EA;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.location-route-alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-tool-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px}.location-tool-card h2{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin:12px 0}.location-tool-card p{color:var(--muted)}.location-alert-card{background:#F2E9D7;border-color:#E2D1AD}.location-route-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:22px}.location-editorial{max-width:980px;margin:0 auto;padding:68px 24px 100px}.location-copy-main h2{font-size:clamp(28px,3vw,42px);line-height:1.08;letter-spacing:-.04em;margin:54px 0 14px}.location-copy-main h2:first-of-type{margin-top:12px}.location-copy-main p{font-size:17px;line-height:1.82;color:#3F4B43}.location-checklist{display:grid;gap:10px;padding:0;list-style:none}.location-checklist li{position:relative;padding:15px 18px 15px 48px;background:#fff;border:1px solid var(--line);border-radius:16px}.location-checklist li:before{content:'✓';position:absolute;left:18px;color:var(--green);font-weight:900}.location-faq{display:grid;gap:10px}.location-faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}.location-faq summary{font-weight:800;cursor:pointer}.location-faq p{font-size:15px;margin-bottom:0}.location-related{border-top:1px solid var(--line)}
.city-index-section{padding-top:70px}.city-index-group{margin-bottom:70px}.city-index-heading h2{font-size:42px;letter-spacing:-.05em;margin:8px 0 24px}.city-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.city-index-card{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:10px;transition:.16s ease}.city-index-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.city-index-card img{width:120px;aspect-ratio:4/3;object-fit:cover;border-radius:15px}.city-index-card span{display:flex;flex-direction:column;gap:4px}.city-index-card strong{font-size:20px}.city-index-card small{color:var(--muted)}

.article-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.article-card-image{display:block;aspect-ratio:4/3;overflow:hidden}.article-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}.article-card:hover .article-card-image img{transform:scale(1.025)}.article-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.article-category{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--gold)}.article-card h3{font-size:24px;line-height:1.12;letter-spacing:-.035em;margin:10px 0}.article-card p{color:var(--muted);font-size:14px}.article-card-meta{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.article-card-meta a{font-weight:800;color:var(--green)}.resource-empty{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px}.journal-hero{display:grid;grid-template-columns:1fr minmax(360px,.8fr);gap:50px;align-items:center}.journal-hero h1{font-size:clamp(48px,6vw,80px);line-height:.98;letter-spacing:-.06em;margin:12px 0 20px}.journal-hero p{font-size:19px;color:var(--muted)}.journal-featured{margin:0}.journal-featured img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.journal-body{max-width:900px;font-size:18px;line-height:1.85}.journal-body h2{font-size:38px;line-height:1.08;letter-spacing:-.04em;margin-top:50px}.journal-body h3{font-size:28px;margin-top:38px}.journal-body img{max-width:100%;height:auto;border-radius:20px}.journal-body figure{margin:36px 0}.journal-body figcaption{font-size:12px;color:var(--muted);margin-top:8px}.journal-body blockquote{border-left:3px solid var(--gold);padding-left:22px;margin:34px 0;font-family:Georgia,serif;font-size:24px}.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}.article-tags span{padding:7px 10px;border-radius:999px;background:var(--wash);font-size:12px;font-weight:700}

.admin-editor-shell{margin-bottom:22px}.admin-blog-editor{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.admin-editor-main{display:grid;gap:18px}.admin-editor-side{position:sticky;top:84px}.admin-editor-card h2,.admin-seo-box h2{margin-top:0}.admin-editor-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-featured-grid{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:start}.admin-image-preview{min-height:180px;border:1px dashed var(--line);border-radius:18px;background:var(--wash);display:grid;place-items:center;overflow:hidden;color:var(--muted)}.admin-image-preview.is-wide{margin:15px 0;max-width:560px;aspect-ratio:4/3}.admin-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.rich-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;background:var(--wash)}.rich-toolbar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer;font:inherit;font-size:12px}.rich-toolbar>span{width:1px;height:22px;background:var(--line);margin:0 2px}.rich-editor,.rich-source{width:100%;min-height:560px;border:1px solid var(--line);border-radius:0 0 16px 16px;background:#fff;padding:24px;font:16px/1.75 Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink);outline:none}.rich-source{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.rich-editor:focus,.rich-source:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,61,46,.08)}.rich-editor img{max-width:100%;height:auto}.admin-field-help{font-size:12px;color:var(--muted)}.admin-seo-score{display:inline-flex;align-items:baseline;gap:4px;padding:10px 12px;background:#EDF1EA;border-radius:14px;color:var(--green);margin-bottom:16px}.admin-seo-score strong{font-size:26px}.admin-seo-score span{font-size:11px;font-weight:800}.admin-advanced{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.admin-advanced summary{font-weight:800;cursor:pointer;margin-bottom:14px}.admin-save-wide{width:100%;margin-top:10px}.admin-delete-form{margin-top:10px}.admin-blog-list{margin-top:18px}
.admin-seo-global-grid{margin-bottom:18px}.admin-seo-workbench{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.admin-seo-pages{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto}.admin-seo-page-list{display:grid;gap:5px}.admin-seo-page-list a{display:flex;flex-direction:column;gap:2px;border-radius:12px;padding:9px 10px}.admin-seo-page-list a:hover,.admin-seo-page-list a.is-active{background:var(--wash);color:var(--green)}.admin-seo-page-list small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.admin-seo-editor{display:grid;gap:12px}.admin-seo-editor .admin-card-head h2{margin:3px 0}.admin-seo-editor .admin-card-head p{margin:0;color:var(--muted);font-size:12px}

@media(max-width:1100px){.location-hero{grid-template-columns:1fr;gap:30px}.location-hero-image{max-width:720px}.city-index-grid{grid-template-columns:1fr 1fr}.admin-blog-editor{grid-template-columns:1fr}.admin-editor-side{position:static}.admin-seo-workbench{grid-template-columns:1fr}.admin-seo-pages{position:static;max-height:none}.admin-seo-page-list{grid-template-columns:1fr 1fr}.journal-hero{grid-template-columns:1fr}.article-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
 .map-bare{border-radius:20px!important;clip-path:inset(0 round 20px);-webkit-clip-path:inset(0 round 20px)}.map-bare>div,.map-bare iframe,.map-bare>iframe{border-radius:20px!important;clip-path:inset(0 round 20px);-webkit-clip-path:inset(0 round 20px)}
 .map-origin-form .airport-clear{width:30px;height:30px;right:9px;bottom:9px;font-size:18px}.map-origin-form .field input{padding-right:46px!important}
 .location-hero{padding-top:48px;padding-bottom:48px}.location-hero-copy h1{font-size:52px}.location-route-alert-grid{grid-template-columns:1fr}.location-route-form{grid-template-columns:1fr}.location-editorial{padding-top:48px}.location-copy-main p{font-size:16px}.city-index-grid,.article-card-grid{grid-template-columns:1fr}.city-index-card{grid-template-columns:100px 1fr}.city-index-card img{width:100px}.journal-hero h1{font-size:48px}.journal-body{font-size:16px}.journal-body h2{font-size:30px}.admin-editor-meta-grid,.admin-featured-grid,.admin-seo-page-list{grid-template-columns:1fr}.admin-image-preview{min-height:220px}.rich-editor,.rich-source{min-height:420px;padding:16px}.site-footer-expanded{background:#EFE8DA!important}
}
.admin-serp-preview{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;margin:4px 0 10px}.admin-serp-preview>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:850;margin-bottom:8px}.admin-serp-preview strong{display:block;color:#1a0dab;font-size:18px;font-weight:500;line-height:1.2}.admin-serp-preview small{display:block;color:#18794e;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-serp-preview p{font-size:12px;color:#4d5156;margin:6px 0 0;line-height:1.5}
textarea{font:inherit}


/* v1.0.1 — global mobile widget focus + shell cleanup.
   Travelpayouts widgets may render after our page and may live in cross-origin iframes.
   Native fields get a 16px floor on touch devices. The page viewport lock in header.php
   prevents iOS focus zoom when the focused control belongs to a third-party iframe. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Remove our extra visual shell around the annual fare calendar. The widget keeps its
   own card while the Persisca wrapper becomes only a clipping/positioning layer. */
.calendar-shell{
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:hidden!important;
  line-height:0!important;
  font-size:0!important;
  isolation:isolate;
  border-radius:28px!important;
  -webkit-mask-image:-webkit-radial-gradient(white,black);
}
.calendar-shell>div{
  margin:0!important;
  padding:0!important;
  border:0!important;
  line-height:0!important;
}
.calendar-shell iframe{
  display:block!important;
  border:0!important;
  outline:0!important;
  vertical-align:top!important;
  max-width:none!important;
  /* Clip the widget's outermost 1px frame without touching its internal controls. */
  width:calc(100% + 2px)!important;
  margin:-1px!important;
}

/* Any TPWGTS iframe anywhere on the public site should sit flush with its holder. */
.widget-bare,.location-search-widget,.widget-lazy{line-height:0;font-size:0}
.widget-bare iframe,.location-search-widget iframe,.widget-lazy iframe,.map-bare iframe{
  display:block!important;
  border:0!important;
  outline:0!important;
  vertical-align:top!important;
}

/* iPhone/iPad and other coarse-pointer devices: never let our own form fields fall
   below the iOS auto-zoom threshold, even in landscape where width can exceed 720px. */
@media (hover:none) and (pointer:coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  [contenteditable="true"]{
    font-size:16px!important;
    line-height:1.35!important;
  }
  .field input,.field select,.field textarea,
  .route-form .field input,.route-picker .field input,
  .alert-form .field input,.alert-form .field select,
  .map-origin-form .field input,
  .support-form .field input,.support-form .field select,.support-form .field textarea{
    font-size:16px!important;
  }
}

@media(max-width:720px){
  .calendar-shell{border-radius:20px!important}
}


/* v1.1 publishing: homepage journal, scheduled imports and source references */
.home-journal-band{background:#EEF1EC;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-journal-band .section{padding-top:72px;padding-bottom:72px}
.home-article-grid .article-card{box-shadow:0 14px 34px rgba(34,37,34,.05)}
.article-sources{margin-top:54px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#F7F3EA}
.article-sources h2{font-size:28px!important;margin:8px 0 16px!important}
.article-sources ul{margin:0;padding-left:20px}.article-sources li{margin:7px 0}.article-sources a{color:var(--green);font-weight:750}
.resource-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:34px}.resource-pagination span{font-size:13px;color:var(--muted);font-weight:750}
.admin-blog-import{margin-bottom:18px}.admin-import-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-import-form input[type=file]{flex:1;min-width:260px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
@media(max-width:720px){.home-journal-band .section{padding-top:52px;padding-bottom:52px}.resource-pagination{flex-wrap:wrap}.admin-import-form{align-items:stretch}.admin-import-form input[type=file],.admin-import-form .button{width:100%;min-width:0}}
