/* Cleaned sitewide stylesheet for Louvani Jets */

:root{
  --bg:#070707;--panel:rgba(13,13,14,.86);--text:#fff;--muted:rgba(255,255,255,.72);
  --soft:rgba(255,255,255,.48);--line:rgba(255,255,255,.14);--line-2:rgba(255,255,255,.22);
  --radius:28px;--pill:999px;--container:1720px;--shadow:0 30px 80px rgba(0,0,0,.28)
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,select,textarea{font:inherit} button{cursor:pointer}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}
body, .hero-copy, .card p, .page-card p, .benefit, .legal-block, .field input, .field select, .field textarea, .contact-note, .contact-copy, .content-hero p{font-size:12.5px;line-height:1.72}
.btn,.menu-trigger,.drawer-nav a,.section-eyebrow,.card-kicker,.page-card .mini,.legal-title,.contact-panel .heading{letter-spacing:.22em;text-transform:uppercase}

.topbar{position:absolute;inset:0 0 auto 0;z-index:20;padding:18px 0}
.topbar-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.top-left,.top-right{display:flex;align-items:center;gap:14px}
.top-left{justify-content:flex-start}.top-right{justify-content:flex-end;flex-wrap:wrap}
.menu-trigger{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;color:#fff;padding:0;font-size:11px}
body.menu-open .menu-trigger{visibility:hidden;pointer-events:none}
.burger{width:18px;display:grid;gap:4px}.burger span{display:block;height:2px;background:#fff;border-radius:10px}
.brand-center{text-align:center;justify-self:center}
.brand-center a{display:inline-block}
.brand-center img{max-height:100px;width:auto;object-fit:contain}
.circle-icon{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0}
.circle-icon svg{width:14px;height:14px;display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--pill);padding:14px 24px;font-size:11px;border:1px solid transparent;white-space:nowrap}
.btn-light{background:#fff;color:#000}.btn-outline{border-color:rgba(255,255,255,.28);background:transparent;color:#fff}
.btn-light:hover{background:rgba(255,255,255,.9)} .btn-outline:hover,.circle-icon:hover{background:rgba(255,255,255,.06);border-color:var(--line-2)}
.lang-wrap{position:relative}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);display:none;background:rgba(12,12,12,.98);border:1px solid rgba(255,255,255,.08);border-radius:16px;min-width:150px;max-height:min(70vh,390px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.34)}
.lang-menu.show{display:block}.lang-menu button{width:100%;background:transparent;border:0;color:#fff;text-align:left;padding:12px 14px}.lang-menu button:hover{background:rgba(255,255,255,.06)}

.lang-menu{
  min-width:180px;
  max-height:none;
  overflow:visible;
  padding:6px;
}
.lang-menu.show{
  display:block;
}
.lang-menu button{
  min-height:36px;
  padding:9px 14px;
  border-radius:10px;
  white-space:nowrap;
}

.lang-menu{
  min-width:180px;
  max-height:none;
  overflow:visible;
  padding:6px;
}
.lang-menu.show{
  display:block;
}
.lang-menu button{
  min-height:36px;
  padding:9px 14px;
  border-radius:10px;
  white-space:nowrap;
}

#google_translate_element{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  left:-9999px !important;
  top:-9999px !important;
}

.goog-te-banner-frame,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover{
  visibility:hidden !important;
}

body{
  top:0 !important;
}

.hero{position:relative;min-height:52svh;background:#000;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,.18) 35%,rgba(0,0,0,.72));z-index:1}
.hero-content{position:relative;z-index:3;min-height:52svh;display:grid;place-items:center;text-align:center;padding:86px 20px 64px}
.hero h1{margin:0;font-weight:300;letter-spacing:-.04em;line-height:.95;font-size:clamp(38px,5.8vw,70px);text-transform:uppercase}
.hero-copy{max-width:680px;margin:16px auto 0;color:var(--muted)}
.hero-actions{margin-top:26px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

.section,.content-section{padding:36px 0 88px}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}

/* Keep all language choices visible without scrolling. */
.lang-menu{
  min-width:180px;
  max-height:none;
  overflow:visible;
  padding:6px;
}
.lang-menu.show{
  display:block;
}
.lang-menu button{
  min-height:36px;
  padding:9px 14px;
  border-radius:10px;
  white-space:nowrap;
}
.section-eyebrow{font-size:11px;color:var(--soft)}
.section-title{margin-top:10px;font-size:clamp(20px,1.9vw,30px);font-weight:300;line-height:1.18}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.about-card,.card,.page-card,.contact-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:28px;padding:28px}
.founder-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.signature{font-family:cursive;font-size:34px;color:rgba(255,255,255,.92)}
.cards,.page-grid,.event-grid{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.page-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-media,.event-card .media{height:220px;border-radius:22px;background-size:cover;background-position:center;margin-bottom:20px}
.card-kicker,.page-card .mini{font-size:11px;color:var(--soft)}
.card h3,.page-card h3,.event-card h3{margin:12px 0 0;font-size:26px;font-weight:300}
.card p,.page-card p,.event-card p{margin:12px 0 0;color:var(--muted)}
.event-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:28px;overflow:hidden}
.event-card .media{margin-bottom:0}.event-card .copy{padding:22px}
.date-pill{display:inline-flex;margin-top:12px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}

.plan-wrap{position:relative;z-index:5;margin-top:-24px;padding-bottom:72px}
.plan-card{background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:48px 38px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.plan-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.plan-top .section-title{font-size:clamp(32px,3vw,44px)}
.trip-toggle{display:inline-flex;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.trip-toggle button{border:0;background:transparent;color:rgba(255,255,255,.74);padding:10px 16px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.22em}
.trip-toggle button.active{background:#fff;color:#000}
.plan-grid{display:grid;gap:18px;grid-template-columns:1.2fr 1.2fr .9fr .9fr .8fr auto;align-items:end}
.field{position:relative}.field-shell{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.18)}
.field:hover .field-shell,.field:focus-within .field-shell{border-bottom-color:rgba(255,255,255,.58)}
.field-icon{width:18px;height:18px;color:#fff;opacity:.9;flex:0 0 auto}.field-icon svg{width:18px;height:18px;display:block}
.field-label{margin-bottom:6px;font-size:10px;color:var(--soft)}
.field-meta{flex:1;min-width:0}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;color:#fff;outline:none;padding:0}
.field select option{color:#000}
.autocomplete{position:absolute;left:0;right:0;top:calc(100% + 10px);display:none;background:rgba(12,12,12,.98);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;z-index:20}
.autocomplete.show{display:block}
.autocomplete button{width:100%;background:transparent;border:0;color:#fff;text-align:left;padding:14px 16px}.autocomplete button:hover{background:rgba(255,255,255,.06)}

.content-hero{padding:150px 0 54px}
.content-hero h1{margin:0;font-size:clamp(40px,6vw,72px);font-weight:300;letter-spacing:-.04em;text-transform:uppercase}
.content-hero p{max-width:760px;color:var(--muted);margin-top:18px}
.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:start}
.contact-intro h2{margin:0;font-size:clamp(42px,5vw,72px);font-weight:300;letter-spacing:-.04em}
.contact-panels{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px}
.contact-panel{padding-right:24px;border-right:1px solid rgba(255,255,255,.08)}
.contact-panel:last-child{border-right:0;padding-right:0}
.contact-panel .heading{font-size:12px;color:#d7d7d7;margin-bottom:18px}
.contact-panel a{font-size:28px;line-height:1.3;color:#fff;text-decoration:underline;text-underline-offset:6px}
.contact-form-wrap{border-top:1px solid rgba(255,255,255,.08);padding-top:42px;margin-top:42px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field-label-left{font-size:12px;color:rgba(255,255,255,.82);margin-bottom:10px}
.field.compact .field-shell{display:block;padding:0;border-bottom:0}
.field.compact input,.field.compact select,.field.compact textarea{border:1px solid rgba(255,255,255,.18);padding:16px 14px;background:rgba(255,255,255,.02)}
.field.compact textarea{min-height:130px}
.contact-note{grid-column:1/-1;color:rgba(255,255,255,.58)}
.submit-row{grid-column:1/-1;margin-top:8px}

.footer{border-top:1px solid rgba(255,255,255,.08);padding:24px 0 34px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.legal-title{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:10px}
.legal-block{color:rgba(255,255,255,.48)}
.footer-bottom{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-left:0}
.footer-copy{color:rgba(255,255,255,.52);font-size:12px;letter-spacing:.12em}
.footer-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;order:-1;margin-left:0}
.footer-logo{max-height:52px;width:auto;margin-left:0}
.socials{display:flex;align-items:center;gap:12px}
.socials a{width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.socials a:hover{background:rgba(255,255,255,.06)}
.socials svg{width:18px;height:18px;display:block;color:#fff;stroke:currentColor;fill:none}
.socials .x svg,.socials .linkedin svg{fill:currentColor;stroke:none}

.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:100001}
.drawer{position:fixed;left:0;top:0;height:100svh;width:min(340px,92vw);background:#0b0b0b;border-right:1px solid rgba(255,255,255,.08);transform:translateX(-100%);transition:transform .32s ease;z-index:100002;display:flex;flex-direction:column;padding:24px}
body.menu-open .drawer-overlay{opacity:1;pointer-events:auto} body.menu-open .drawer{transform:translateX(0)}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.drawer-brand{font-size:14px;letter-spacing:.45em;text-transform:uppercase}.drawer-sub{margin-top:6px;color:var(--soft);font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.drawer-close{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff}
.drawer-nav{display:grid;gap:18px}.drawer-nav a{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.88)}
.drawer-box{margin-top:auto;border-radius:28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:20px}
.drawer-box .mini{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--soft)}
.drawer-box p{margin:12px 0 0;color:rgba(255,255,255,.88);line-height:1.7}

@media (max-width:1240px){
  .about-grid,.cards,.page-grid,.event-grid,.contact-layout,.contact-panels,.contact-form-grid{grid-template-columns:1fr}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-grid .submit-col{grid-column:1/-1}
  .contact-panel{border-right:0;padding-right:0}
}
@media (max-width:920px){
  .topbar-inner{grid-template-columns:1fr;justify-items:center}
  .top-left,.top-right{width:100%;justify-content:space-between}
  .brand-center{order:-1}
  .brand-center img{max-height:74px}
}
@media (max-width:640px){
  .container{padding-left:16px;padding-right:16px}
  .hero-content{padding:92px 20px 54px}
  .plan-card,.about-card,.card,.page-card,.contact-card{padding:20px}
  .plan-grid,.contact-form-grid{grid-template-columns:1fr}
  .top-right .btn{padding:12px 16px}
  .footer-bottom,.footer-grid{display:block}
  .footer-side{margin-top:18px}
}

/* refinements v2 */
.brand-center img{max-height:128px}
.hero-actions .btn{background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,.34) !important}
.hero-actions .btn:hover{background:rgba(255,255,255,.08) !important}
.plan-wrap{margin-top:0;padding-top:34px}
.contact-layout{grid-template-columns:1fr}
.contact-panels{grid-template-columns:1fr 1fr;max-width:840px}
.contact-form-wrap{margin-top:26px}
.checkbox-row{display:flex;gap:10px;align-items:flex-start}
.checkbox-row input{margin-top:3px}
.submit-row button[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:1240px){.contact-panels{grid-template-columns:1fr}}


/* Inter typography pass */
html, body, button, input, select, textarea, a, p, span, li, label, div {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 400;
}

.btn, .menu-trigger, .drawer-nav a, .section-eyebrow, .card-kicker, .page-card .mini, .legal-title, .contact-panel .heading {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 500;
}

.hero h1, .content-hero h1, .section-title, .card h3, .page-card h3, .event-card h3, .contact-intro h2 {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0.08em;
}

.hero-copy, .card p, .page-card p, .benefit, .contact-copy, .legal-block, .content-hero p, .field input, .field select, .field textarea, .contact-note {
  letter-spacing: 0.02em;
}

/* final requested tweaks */
.hero h1{
  font-weight:500 !important;
  font-size:clamp(32px,5vw,58px) !important;
}
.content-hero h1{
  font-weight:500 !important;
  font-size:clamp(32px,5vw,58px) !important;
}
.plan-wrap{
  margin-top:24px !important;
  padding-top:36px !important;
}
.plan-top{
  margin-bottom:30px !important;
}
.contact-form-grid input::placeholder,
.contact-form-grid textarea::placeholder{
  color:transparent !important;
}
.prefix-wrap{
  display:flex;
  gap:12px;
  align-items:end;
}
.prefix-box{
  min-width:150px;
}
@media (max-width:1240px){
  .prefix-wrap{display:block}
  .prefix-box{min-width:100%; margin-bottom:16px;}
}


/* Luxury polish pass */
:root{
  --ease-luxury:cubic-bezier(.22,1,.36,1);
}

.btn,
.circle-icon,
.socials a,
.page-card,
.card,
.event-card,
.about-card,
.plan-card,
.contact-card{
  transition: transform .35s var(--ease-luxury), box-shadow .35s var(--ease-luxury), border-color .35s var(--ease-luxury), background .35s var(--ease-luxury), opacity .35s var(--ease-luxury);
}

.btn:hover{
  transform: translateY(-2px);
}

.hero .btn.btn-light:hover,
.content-hero .btn.btn-light:hover{
  box-shadow: 0 12px 30px rgba(255,255,255,.10);
}

.page-card:hover,
.card:hover,
.event-card:hover,
.about-card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 20px 40px rgba(0,0,0,.18);
}

.card-media,
.event-card .media,
.page-card .media{
  transition: transform .6s var(--ease-luxury), filter .6s var(--ease-luxury);
}

.card:hover .card-media,
.event-card:hover .media,
.page-card:hover .media{
  transform: scale(1.035);
  filter: brightness(1.03);
}

.hero video{
  transform: scale(1.01);
}

.hero:before{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.56), rgba(0,0,0,.18) 35%, rgba(0,0,0,.72)),
    linear-gradient(to right, rgba(255,255,255,.04), rgba(255,255,255,0) 22%, rgba(255,255,255,0) 78%, rgba(255,255,255,.03));
}

.hero h1{
  text-shadow: 0 10px 30px rgba(0,0,0,.22);
}

.section,
.content-section{
  position: relative;
}

.section::before,
.content-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: linear-gradient(to right, transparent, rgba(255,255,255,.05), transparent);
  pointer-events:none;
}

.plan-card{
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}

.field-shell{
  transition: border-color .25s var(--ease-luxury), transform .25s var(--ease-luxury);
}

.field:focus-within .field-shell{
  transform: translateY(-1px);
}

.contact-form-grid input,
.contact-form-grid select,
.contact-form-grid textarea{
  transition: border-color .25s var(--ease-luxury), background .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}

.contact-form-grid input:focus,
.contact-form-grid select:focus,
.contact-form-grid textarea:focus{
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.footer{
  background:
    linear-gradient(to top, rgba(255,255,255,.015), rgba(255,255,255,0));
}

.footer-menu-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  padding:18px 0 34px;
}

.footer-menu-column{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:100%;
  padding:0 clamp(18px, 3vw, 42px);
  border-left:1px solid rgba(255,255,255,.16);
}

.footer-menu-column:first-child{
  padding-left:0;
  border-left:0;
}

.footer-menu-column:last-child{
  padding-right:0;
}

.footer-menu-title{
  margin-bottom:6px;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.footer-menu-column a{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.55;
  letter-spacing:.02em;
}

.footer-menu-column a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:5px;
}

.footer-bottom-menu{
  display:block;
  border-top:0;
  padding-top:24px;
  min-height:130px;
}

.footer-company-note{
  width:100%;
}

.footer-language-select{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:rgba(255,255,255,.74);
  font-size:13px;
  line-height:1;
  letter-spacing:.04em;
}

.footer-language-select svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

.footer-language-select span{
  font-weight:500;
}

.footer-language-select select{
  width:auto;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.34);
  border-radius:0;
  background:transparent;
  color:#fff;
  padding:4px 20px 4px 0;
  font:inherit;
  letter-spacing:.02em;
  outline:0;
}

.footer-language-select select:focus{
  border-bottom-color:#fff;
}

.footer-company-note p{
  margin:10px 0 0;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.65;
  letter-spacing:.02em;
}

.footer-legal-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:10px;
}

.footer-legal-row p{
  flex:1 1 auto;
  max-width:1120px;
  min-width:0;
  margin:0;
}

.footer-bottom-menu .footer-side{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
  order:2;
  margin-left:auto;
  margin-top:0;
  align-self:flex-end;
}

@media (max-width:900px){
  .footer-menu-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px 0;
  }

  .footer-menu-column:nth-child(odd){
    padding-left:0;
    border-left:0;
  }

  .footer-menu-column:nth-child(even){
    padding-right:0;
  }
}

@media (max-width:560px){
  .footer-menu-grid{
    grid-template-columns:1fr;
  }

  .footer-menu-column,
  .footer-menu-column:nth-child(even){
    padding:0;
    border-left:0;
  }

  .footer-bottom-menu{
    display:block;
  }

  .footer-legal-row{
    display:block;
  }

  .footer-bottom-menu .footer-side{
    justify-content:flex-start;
    margin-left:0;
    margin-top:24px;
  }
}

@media (prefers-reduced-motion:no-preference){
  .hero-content > div{
    animation: luxuryFadeUp .9s var(--ease-luxury) both;
  }

  .plan-card{
    animation: luxuryFadeUp 1.0s .08s var(--ease-luxury) both;
  }
}

@keyframes luxuryFadeUp{
  from{
    opacity:0;
    transform: translateY(20px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}

.why-icons-grid .card-media{display:none !important}
.why-icon-card{text-align:left}
.why-icon{
  width:64px;
  height:64px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  margin-bottom:18px;
  background:rgba(255,255,255,.03);
}


.feature-banner-section{
  padding-top: 8px;
}
.feature-banner{
  position:relative;
  min-height:560px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
}
.feature-banner-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}
.feature-banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.36) 42%, rgba(0,0,0,.72) 100%);
}
.feature-banner-content{
  position:relative;
  z-index:2;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:left;
  padding:72px;
  margin-left:auto;
  max-width:640px;
}
.feature-banner-kicker{
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  margin-bottom:14px;
}
.feature-banner h2{
  margin:0;
  font-size:clamp(42px,4.6vw,64px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.04em;
}
.feature-banner p{
  margin:18px 0 0;
  max-width:420px;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.8;
}
.feature-banner-link{
  margin-top:28px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:#fff;
}
.feature-banner-link::after{
  content:"→";
  font-size:16px;
  transform:translateY(-1px);
}
.feature-banner-link:hover{
  opacity:.8;
}
@media (max-width: 640px){
  .feature-banner{
    min-height:480px;
  }
  .feature-banner-content{
    min-height:480px;
    padding:28px;
    align-items:flex-start;
    justify-content:flex-end;
    max-width:none;
  }
  .feature-banner-overlay{
    background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.22) 55%, rgba(0,0,0,.12));
  }
  .feature-banner p{
    max-width:none;
    font-size:14px;
  }
}


.promise-section{
  padding-top: 8px;
}
.promise-banner{
  position:relative;
  min-height:620px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0d0d0d;
}
.promise-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}
.promise-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.10) 25%, rgba(0,0,0,.22) 45%, rgba(0,0,0,.34) 70%, rgba(0,0,0,.44));
}
.promise-content{
  position:relative;
  z-index:2;
  min-height:620px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:72px 32px 40px;
}
.promise-content h2{
  margin:0;
  font-size:clamp(44px,4.8vw,72px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}
.promise-content p{
  margin:22px auto 0;
  max-width:980px;
  color:rgba(255,255,255,.92);
  font-size:15px;
  line-height:1.85;
}
.promise-btn{
  margin-top:24px;
}
@media (max-width: 900px){
  .promise-banner{
    min-height:520px;
  }
  .promise-content{
    min-height:520px;
    padding:42px 20px 28px;
  }
  .promise-content p{
    font-size:14px;
    max-width:none;
  }
}

/* Final fixes for uploaded flat-folder version */
.brand-center img{
  max-height: 118px;
}

.plan-top .section-title{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin-top: 8px !important;
}

.promise-banner{
  position: relative !important;
  min-height: 620px !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: #0d0d0d !important;
}
.promise-image{
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}
.promise-overlay{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 2 !important;
}
.promise-content{
  position: relative !important;
  z-index: 3 !important;
  min-height: 620px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  padding: 72px 32px 40px !important;
}
.promise-content h2{
  margin: 0 !important;
  font-size: clamp(44px,4.8vw,72px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.promise-content p{
  margin: 22px auto 0 !important;
  max-width: 980px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}
.promise-btn{
  margin-top: 24px !important;
}


/* Requested UI refinements */

.plan-wrap .container{
  width:100%;
  max-width:var(--container);
  padding-left:clamp(16px,3vw,40px);
  padding-right:clamp(16px,3vw,40px);
}
.plan-card{
  padding:64px 48px;
}
.plan-grid{
  gap:22px;
}
.submit-col .btn{
  min-width:200px;
  min-height:56px;
}

.why-icon{
  color:#fff;
}
.why-icon svg{
  width:28px;
  height:28px;
  display:block;
}

.feature-banner-overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.52) 34%, rgba(0,0,0,.18) 100%);
}
.feature-banner-content{
  align-items:flex-start;
  justify-content:center;
  margin-left:0;
  margin-right:auto;
  max-width:560px;
  padding:72px 58px;
}
.feature-banner p{
  max-width:500px;
}

.promise-image{
  background-position:center 34%;
}
.promise-overlay{
  background:linear-gradient(to bottom, rgba(0,0,0,.24), rgba(0,0,0,.16) 28%, rgba(0,0,0,.26) 56%, rgba(0,0,0,.42));
}
.promise-content{
  justify-content:flex-start !important;
  padding:34px 32px 32px !important;
}
.promise-content p{
  margin-top:12px !important;
  max-width:1000px !important;
}
.promise-btn{
  margin-top:18px !important;
}

@media (max-width:900px){
  .plan-wrap .container{
    width:100%;
    max-width:var(--container);
    padding-left:16px;
    padding-right:16px;
  }
  .plan-card{
    padding:32px 20px;
  }
  .feature-banner-content{
    padding:28px;
    max-width:none;
  }
  .promise-content{
    padding:28px 18px 24px !important;
  }
}


/* Universal full-width responsiveness */
section,
.hero,
.plan-wrap,
.feature-banner-section,
.promise-section,
.footer,
.content-section{
  width:100%;
}

.cards,
.page-grid,
.event-grid{
  width:100%;
}

.cards{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.page-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.event-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.feature-banner,
.promise-banner,
.plan-card,
.about-card,
.card,
.page-card,
.contact-card,
.event-card{
  width:100%;
}

@media (min-width:1680px){
  .section,.content-section{
    padding-top:44px;
    padding-bottom:96px;
  }
}


/* Responsive event grid */
@media (max-width:900px){
  .event-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:640px){
  .event-grid{
    grid-template-columns:1fr;
  }
}


/* === Typography spacing refinement === */
.hero h1{
  font-weight: 500 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.02 !important;
  max-width: 11ch;
}

.section-title,
.plan-top .section-title,
.feature-banner h2,
.promise-content h2,
.content-hero h1,
.signature-hero h1{
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

.plan-top .section-title{
  max-width: 15ch;
}

.feature-banner h2{
  max-width: 7ch;
}

.promise-content h2{
  letter-spacing: 0.03em !important;
  line-height: 1.04 !important;
}

.section-eyebrow,
.feature-banner-kicker,
.route-list-head .section-eyebrow,
.signature-hero .section-eyebrow{
  letter-spacing: 0.34em !important;
  font-weight: 500 !important;
}

.card h3,
.page-card h3,
.event-card h3{
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.08 !important;
}

@media (max-width: 900px){
  .hero h1{
    letter-spacing: 0.025em !important;
    line-height: 1.03 !important;
  }

  .section-title,
  .plan-top .section-title,
  .feature-banner h2,
  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    letter-spacing: 0.015em !important;
    line-height: 1.1 !important;
  }
}

/* =====================================================
   CINEMATIC TYPOGRAPHY REFINEMENT
   Added to reduce stacked headlines, soften weight,
   improve spacing, and create more luxury line breaks.
   ===================================================== */

:root{
  --hero-title-size: clamp(58px, 8vw, 112px);
  --section-display-size: clamp(34px, 4.1vw, 64px);
  --feature-display-size: clamp(48px, 5.2vw, 78px);
  --promise-display-size: clamp(54px, 6vw, 90px);
  --headline-weight: 400;
  --headline-spacing: 0.04em;
  --headline-line: 1.03;
}

h1, h2, h3{
  word-break: keep-all;
  overflow-wrap: normal;
}

.hero-content{
  padding-top: 122px !important;
  padding-bottom: 96px !important;
}

.hero-content > div{
  width: 100%;
  max-width: 1180px;
  display: grid;
  justify-items: center;
}

.hero h1{
  width: min(10.5ch, 100%);
  max-width: 10.5ch;
  margin: 0 auto;
  font-size: var(--hero-title-size) !important;
  font-weight: var(--headline-weight) !important;
  letter-spacing: var(--headline-spacing) !important;
  line-height: 0.94 !important;
  text-wrap: balance;
  text-transform: uppercase;
}

.hero-copy{
  max-width: 52ch;
  margin-top: 22px;
}

.section-top > div:first-child{
  min-width: 0;
  flex: 1 1 760px;
}

.section-title,
.content-hero h1,
.signature-hero h1,
.feature-banner h2,
.promise-content h2,
.plan-top .section-title{
  font-weight: var(--headline-weight) !important;
  letter-spacing: 0.035em !important;
  line-height: var(--headline-line) !important;
  text-wrap: balance;
}

.section-title{
  font-size: var(--section-display-size) !important;
  max-width: 28ch;
}

.plan-top{
  align-items: flex-start;
}

.plan-top > div:first-child{
  flex: 1 1 760px;
  min-width: 0;
}

.plan-top .section-title{
  font-size: clamp(38px, 4vw, 64px) !important;
  max-width: 18ch !important;
  line-height: 1.02 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

.feature-banner-content{
  max-width: 760px !important;
}

.feature-banner h2{
  font-size: var(--feature-display-size) !important;
  max-width: 11ch;
  line-height: 0.98 !important;
  letter-spacing: 0.03em !important;
}

.promise-content h2{
  font-size: var(--promise-display-size) !important;
  max-width: 11ch;
  margin-inline: auto;
  line-height: 0.97 !important;
  letter-spacing: 0.045em !important;
}

.content-hero h1,
.signature-hero h1{
  font-size: clamp(44px, 5vw, 76px) !important;
  max-width: 14ch;
}

.section-eyebrow,
.feature-banner-kicker,
.signature-hero .section-eyebrow,
.route-list-head .section-eyebrow{
  letter-spacing: 0.34em !important;
  font-weight: 500 !important;
}

.card h3,
.page-card h3,
.event-card h3{
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

/* Cinematic headline spacing by section */
.why-icons-grid + * .section-title,
.why-icons-grid .section-title,
.section .section-title span{
  text-wrap: balance;
}

/* Desktop-only wider luxury lines */
@media (min-width: 1200px){
  .hero h1{
    width: 10.8ch;
    max-width: 10.8ch;
  }

  .plan-top .section-title{
    max-width: 19ch !important;
  }

  .feature-banner h2{
    max-width: 12ch;
  }

  .promise-content h2{
    max-width: 12ch;
  }
}

/* Tablet adjustments */
@media (max-width: 1100px){
  .plan-top .section-title{
    max-width: 16ch !important;
    font-size: clamp(34px, 4.4vw, 54px) !important;
  }

  .feature-banner h2{
    max-width: 10ch;
    font-size: clamp(42px, 6vw, 64px) !important;
  }

  .promise-content h2{
    max-width: 10ch;
  }
}

/* Mobile: still elegant, but allow slightly more wrapping */
@media (max-width: 900px){
  :root{
    --hero-title-size: clamp(50px, 12vw, 78px);
    --section-display-size: clamp(30px, 7vw, 46px);
    --feature-display-size: clamp(40px, 8.6vw, 58px);
    --promise-display-size: clamp(42px, 10vw, 66px);
  }

  .hero-content{
    padding-top: 110px !important;
    padding-bottom: 72px !important;
  }

  .hero h1{
    width: 9.4ch;
    max-width: 9.4ch;
    line-height: 0.96 !important;
    letter-spacing: 0.03em !important;
  }

  .plan-top .section-title{
    max-width: 14ch !important;
    line-height: 1.04 !important;
    letter-spacing: 0.025em !important;
  }

  .feature-banner h2{
    max-width: 9ch;
    line-height: 1.02 !important;
  }

  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    max-width: 9.5ch;
    line-height: 1.02 !important;
  }
}

@media (max-width: 640px){
  .hero h1{
    width: 8.8ch;
    max-width: 8.8ch;
    letter-spacing: 0.02em !important;
  }

  .plan-top .section-title{
    max-width: 12ch !important;
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .feature-banner h2,
  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    max-width: 8.6ch;
  }
}



/* ===== FINAL HERO OVERRIDE (ULTRA PREMIUM) ===== */
.hero-content{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hero-content > div{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.hero h1{
  width:auto !important;
  max-width:860px !important;
  margin:0 auto !important;
  text-align:center !important;
  font-size:clamp(44px,5vw,72px) !important;
  font-weight:600 !important;
  letter-spacing:0.08em !important;
  line-height:1.05 !important;
  text-wrap:balance !important;
  white-space:normal !important;
}

.hero-actions{
  justify-content:center !important;
}

@media (max-width: 900px){
  .hero h1{
    max-width:11ch !important;
    font-size:clamp(40px,9vw,58px) !important;
    letter-spacing:0.06em !important;
    line-height:1.04 !important;
  }
}

@media (prefers-reduced-motion:no-preference){
  .hero h1{
    opacity:0;
    transform:translateY(24px) scale(0.985);
    animation:heroLuxuryReveal 1.25s cubic-bezier(.22,1,.36,1) .08s forwards !important;
  }

  .hero-actions{
    opacity:0;
    transform:translateY(18px);
    animation:heroActionReveal 1s cubic-bezier(.22,1,.36,1) .45s forwards !important;
  }
}

@keyframes heroLuxuryReveal{
  0%{
    opacity:0;
    transform:translateY(24px) scale(0.985);
    letter-spacing:0.16em;
    filter:blur(3px);
  }
  60%{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:0.10em;
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:0.08em;
    filter:blur(0);
  }
}

@keyframes heroActionReveal{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}


/* === Hero redesign inspired by reference layout === */
.topbar-luxury{
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.topbar-luxury .topbar-inner{
  grid-template-columns:1.2fr auto 1.2fr;
}
.top-left-luxury,
.top-right-luxury{
  gap:22px;
  align-items:center;
}
.hero-nav-links{
  display:flex;
  align-items:center;
  gap:28px;
}
.hero-nav-links a,
.call-link{
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.92);
}
.call-link{
  text-decoration:none;
  white-space:nowrap;
}
.brand-center-luxury img{
  max-height:92px;
}
.btn-quote-red{
  background:#8f1114 !important;
  color:#fff !important;
  border-color:#8f1114 !important;
}
.btn-quote-red:hover{
  background:#a71518 !important;
  border-color:#a71518 !important;
}
.hero-vistajet{
  min-height:68svh;
}
.hero-vistajet:before{
  background:linear-gradient(to bottom, rgba(0,0,0,.34), rgba(0,0,0,.20) 35%, rgba(0,0,0,.46));
}
.hero-content-luxury{
  min-height:68svh;
  padding:140px 20px 92px;
}
.hero-copy-wrap{
  text-align:center;
  max-width:980px;
  margin:0 auto;
}
.hero-title-luxury{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-size:clamp(44px,5.8vw,82px) !important;
  font-weight:600 !important;
  line-height:.95 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:#fff;
  text-shadow:0 10px 30px rgba(0,0,0,.24);
}
.hero-subtitle-luxury{
  margin:20px auto 0;
  max-width:760px;
  font-size:13px;
  line-height:1.9;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(255,255,255,.84);
}
.hero-actions-luxury{
  margin-top:28px;
  gap:18px;
}
.hero-actions-luxury .btn{
  min-width:156px;
  padding:13px 26px;
  border-color:rgba(255,255,255,.70) !important;
  background:rgba(0,0,0,.10) !important;
  color:#fff !important;
}
.hero-actions-luxury .btn:hover{
  background:rgba(255,255,255,.10) !important;
}
@media (max-width:1100px){
  .hero-nav-links{display:none;}
  .call-link{display:none;}
  .topbar-luxury .topbar-inner{grid-template-columns:1fr auto 1fr;}
  .brand-center-luxury img{max-height:78px;}
}
@media (max-width:640px){
  .hero-vistajet{min-height:60svh;}
  .hero-content-luxury{min-height:60svh;padding:120px 18px 70px;}
  .hero-title-luxury{font-size:clamp(34px,10vw,52px) !important;}
  .hero-subtitle-luxury{font-size:11px;letter-spacing:.22em;}
  .hero-actions-luxury{flex-direction:column;align-items:center;}
}


/* === Final typography refinements === */
.hero-title-luxury{
  font-size:48px !important;
  font-weight:700 !important;
  letter-spacing:2px !important;
}

.hero-subtitle-luxury{
  font-size:15px !important;
  letter-spacing:0.25em !important;
  white-space:nowrap !important;
}


/* ChatGPT final hero fix */
.hero h1.hero-title-final,
.hero h1.hero-title-balanced.hero-title-final,
.hero-title-final{
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 auto !important;
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  font-size:34px !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  line-height:1.02 !important;
  text-transform:uppercase !important;
  font-family:Inter,system-ui,sans-serif !important;
}
.hero h1.hero-title-final .hero-line,
.hero h1.hero-title-balanced.hero-title-final .hero-line{
  display:none !important;
}
@media (max-width: 1100px){
  .hero h1.hero-title-final,
  .hero h1.hero-title-balanced.hero-title-final,
  .hero-title-final{
    font-size:28px !important;
    white-space:normal !important;
    text-wrap:balance !important;
  }
}
@media (max-width: 700px){
  .hero h1.hero-title-final,
  .hero h1.hero-title-balanced.hero-title-final,
  .hero-title-final{
    font-size:24px !important;
  }
}


/* ===== Louvani header + hero final overrides ===== */
.top-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  flex-wrap:wrap;
}

.call-link{
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  white-space:nowrap;
  border:none;
  padding:0;
  background:transparent;
}
.call-link:hover{
  opacity:.75;
}

.topbar .call-link{
  font-size:15px !important;
  letter-spacing:.08em !important;
  font-weight:600 !important;
}

.topbar{
  z-index:100000 !important;
}

.topbar .lang-wrap,
.topbar .lang-menu{
  z-index:100001 !important;
}

.hero-content > div{
  max-width:1100px !important;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.hero h1.hero-title-balanced.hero-title-final{
  width:auto !important;
  max-width:none !important;
  margin:0 auto !important;
  white-space:nowrap !important;
  font-size:32px !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  line-height:1.02 !important;
  text-transform:uppercase !important;
}

.hero-sub{
  margin:16px auto 0;
  font-size:14px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
  text-align:center;
  white-space:nowrap;
}

.hero-actions{
  margin-top:26px !important;
  display:flex;
  justify-content:center;
  gap:16px !important;
  flex-wrap:wrap;
}

.hero-actions .btn{
  min-width:170px;
  padding:13px 28px;
}

@media (max-width:1100px){
  .call-link{
    display:none;
  }
  .hero h1.hero-title-balanced.hero-title-final{
    font-size:28px !important;
    white-space:normal !important;
    text-wrap:balance !important;
  }
  .hero-sub{
    white-space:normal;
    font-size:13px;
  }
}

@media (max-width:700px){
  .hero h1.hero-title-balanced.hero-title-final{
    font-size:24px !important;
  }
  .hero-actions{
    flex-direction:column;
    align-items:center;
  }
}


/* ===== PLAN YOUR FLIGHT — ULTRA PREMIUM REBUILD ===== */
.plan-flight-page{
  background:
    radial-gradient(circle at top center, rgba(255,255,255,.03), rgba(255,255,255,0) 36%),
    linear-gradient(to bottom, #050505 0%, #080808 100%);
  padding-top: 88px;
}

.plan-wrap-premium{
  position: relative !important;
  z-index: 5 !important;
  margin-top: 160px !important;
  padding-top: 40px !important;
  padding-bottom: 120px !important;
}

.plan-wrap-premium .container{
  max-width: 1680px !important;
}

.plan-card-premium{
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px 56px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(to bottom right, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(22px) saturate(120%);
  -webkit-backdrop-filter: blur(22px) saturate(120%);
  overflow: hidden;
}

.plan-page-intro{
  max-width:1440px;
  margin:0 auto 28px;
}

.plan-page-intro .section-eyebrow{
  font-size:11px !important;
  letter-spacing:.30em !important;
  color:rgba(255,255,255,.58) !important;
}

.plan-page-intro .section-title{
  margin-top:10px !important;
  font-size:clamp(44px, 4.8vw, 74px) !important;
  line-height:.98 !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  max-width:none !important;
}

.plan-card-premium::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.035), rgba(255,255,255,0) 28%),
    linear-gradient(to right, rgba(255,255,255,.025), rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(255,255,255,.02));
}

.plan-top{
  justify-content:space-between !important;
  align-items:center !important;
  margin-bottom: 38px !important;
  gap:28px !important;
  flex-wrap:nowrap !important;
}

.plan-top .section-eyebrow{
  font-size: 11px !important;
  letter-spacing: .30em !important;
  color: rgba(255,255,255,.58) !important;
}

.plan-top .section-title{
  margin-top: 0 !important;
  font-size: clamp(44px, 4.8vw, 74px) !important;
  line-height: .98 !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  max-width: none !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}

.trip-toggle{
  padding: 5px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.03) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.trip-toggle button{
  min-width: 102px;
  padding: 11px 18px !important;
  transition: all .35s cubic-bezier(.22,1,.36,1);
}

.trip-toggle button.active{
  box-shadow: 0 8px 20px rgba(255,255,255,.08);
}

.plan-grid{
  grid-template-columns: 1.15fr 1.15fr .85fr .85fr .85fr auto !important;
  gap: 22px !important;
  align-items: end !important;
}

.field{
  min-width: 0;
}

.field-shell{
  position: relative;
  padding: 18px 2px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  transition:
    border-color .28s cubic-bezier(.22,1,.36,1),
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1);
}

.field-shell::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:0;
  transform: scaleX(.7);
  transition: all .28s cubic-bezier(.22,1,.36,1);
}

.field:hover .field-shell,
.field:focus-within .field-shell{
  border-bottom-color: rgba(255,255,255,.42) !important;
  transform: translateY(-2px);
}

.field:hover .field-shell::after,
.field:focus-within .field-shell::after{
  opacity:1;
  transform: scaleX(1);
}

.field-label{
  margin-bottom: 7px !important;
  color: rgba(255,255,255,.54) !important;
  letter-spacing: .06em;
}

.field input,
.field select,
.field textarea{
  font-size: 14px !important;
  letter-spacing: .01em;
  color:#fff !important;
}

.field input::placeholder,
.field textarea::placeholder{
  color: rgba(255,255,255,.34);
}

.field-icon{
  opacity: .95;
}

.submit-col .btn{
  min-width: 230px !important;
  min-height: 58px !important;
  padding: 16px 30px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #000 !important;
  box-shadow: 0 16px 34px rgba(255,255,255,.08);
}

.submit-col .btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(255,255,255,.12);
}

.plan-card-premium,
.field-shell,
.trip-toggle button,
.submit-col .btn{
  transition:
    transform .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s cubic-bezier(.22,1,.36,1),
    background .35s cubic-bezier(.22,1,.36,1),
    border-color .35s cubic-bezier(.22,1,.36,1);
}

.plan-card-premium{
  animation: premiumPlanFade 0.9s cubic-bezier(.22,1,.36,1) both;
}

@keyframes premiumPlanFade{
  from{
    opacity:0;
    transform: translateY(18px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}

/* Better tablet layout */
@media (max-width: 1280px){
  .plan-wrap-premium{
    margin-top: 132px !important;
  }
  .plan-card-premium{
    padding: 50px 36px !important;
  }
  .plan-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 20px !important;
  }
  .submit-col{
    grid-column: 1 / -1;
  }
  .submit-col .btn{
    width: 100%;
  }
}

/* Better mobile layout */
@media (max-width: 700px){
  .plan-flight-page{
    padding-top: 70px;
  }
  .plan-wrap-premium{
    margin-top: 110px !important;
    padding-top: 16px !important;
    padding-bottom: 84px !important;
  }
  .plan-card-premium{
    padding: 28px 20px !important;
    border-radius: 24px !important;
  }
  .plan-page-intro{
    margin-bottom:22px !important;
  }
  .plan-page-intro .section-title{
    font-size:clamp(34px, 10vw, 48px) !important;
    line-height:1.02 !important;
  }
  .plan-top{
    margin-bottom: 26px !important;
    align-items:flex-start !important;
    flex-wrap:wrap !important;
  }
  .plan-top .section-title{
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.02 !important;
    flex-basis:100% !important;
  }
  .trip-toggle{
    width:auto;
    justify-content:flex-start;
  }
  .trip-toggle button{
    flex:0 0 auto;
    min-width:102px;
  }
  .plan-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .field-shell{
    padding: 16px 2px 14px !important;
  }
  .submit-col .btn{
    width: 100%;
    min-width: 0 !important;
  }
}


/* ===== WHY LOUVANI STYLES (MERGED) ===== */

/* Cleaned sitewide stylesheet for Louvani Jets */

:root{
  --bg:#070707;--panel:rgba(13,13,14,.86);--text:#fff;--muted:rgba(255,255,255,.72);
  --soft:rgba(255,255,255,.48);--line:rgba(255,255,255,.14);--line-2:rgba(255,255,255,.22);
  --radius:28px;--pill:999px;--container:1720px;--shadow:0 30px 80px rgba(0,0,0,.28)
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,select,textarea{font:inherit} button{cursor:pointer}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}
body, .hero-copy, .card p, .page-card p, .benefit, .legal-block, .field input, .field select, .field textarea, .contact-note, .contact-copy, .content-hero p{font-size:12.5px;line-height:1.72}
.btn,.menu-trigger,.drawer-nav a,.section-eyebrow,.card-kicker,.page-card .mini,.legal-title,.contact-panel .heading{letter-spacing:.22em;text-transform:uppercase}

.topbar{position:absolute;inset:0 0 auto 0;z-index:20;padding:18px 0}
.topbar-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.top-left,.top-right{display:flex;align-items:center;gap:14px}
.top-left{justify-content:flex-start}.top-right{justify-content:flex-end;flex-wrap:wrap}
.menu-trigger{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;color:#fff;padding:0;font-size:11px}
.burger{width:18px;display:grid;gap:4px}.burger span{display:block;height:2px;background:#fff;border-radius:10px}
.brand-center{text-align:center;justify-self:center}
.brand-center a{display:inline-block}
.brand-center img{max-height:100px;width:auto;object-fit:contain}
.circle-icon{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0}
.circle-icon svg{width:14px;height:14px;display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--pill);padding:14px 24px;font-size:11px;border:1px solid transparent;white-space:nowrap}
.btn-light{background:#fff;color:#000}.btn-outline{border-color:rgba(255,255,255,.28);background:transparent;color:#fff}
.btn-light:hover{background:rgba(255,255,255,.9)} .btn-outline:hover,.circle-icon:hover{background:rgba(255,255,255,.06);border-color:var(--line-2)}
.lang-wrap{position:relative}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);display:none;background:rgba(12,12,12,.98);border:1px solid rgba(255,255,255,.08);border-radius:16px;min-width:150px;max-height:min(70vh,390px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.34)}
.lang-menu.show{display:block}.lang-menu button{width:100%;background:transparent;border:0;color:#fff;text-align:left;padding:12px 14px}.lang-menu button:hover{background:rgba(255,255,255,.06)}

.hero{position:relative;min-height:52svh;background:#000;overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,.18) 35%,rgba(0,0,0,.72));z-index:1}
.hero-content{position:relative;z-index:3;min-height:52svh;display:grid;place-items:center;text-align:center;padding:86px 20px 64px}
.hero h1{margin:0;font-weight:300;letter-spacing:-.04em;line-height:.95;font-size:clamp(38px,5.8vw,70px);text-transform:uppercase}
.hero-copy{max-width:680px;margin:16px auto 0;color:var(--muted)}
.hero-actions{margin-top:26px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

.section,.content-section{padding:36px 0 88px}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.section-eyebrow{font-size:11px;color:var(--soft)}
.section-title{margin-top:10px;font-size:clamp(20px,1.9vw,30px);font-weight:300;line-height:1.18}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.about-card,.card,.page-card,.contact-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:28px;padding:28px}
.founder-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.signature{font-family:cursive;font-size:34px;color:rgba(255,255,255,.92)}
.cards,.page-grid,.event-grid{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.page-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-media,.event-card .media{height:220px;border-radius:22px;background-size:cover;background-position:center;margin-bottom:20px}
.card-kicker,.page-card .mini{font-size:11px;color:var(--soft)}
.card h3,.page-card h3,.event-card h3{margin:12px 0 0;font-size:26px;font-weight:300}
.card p,.page-card p,.event-card p{margin:12px 0 0;color:var(--muted)}
.event-card{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:28px;overflow:hidden}
.event-card .media{margin-bottom:0}.event-card .copy{padding:22px}
.date-pill{display:inline-flex;margin-top:12px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.78)}

.plan-wrap{position:relative;z-index:5;margin-top:-24px;padding-bottom:72px}
.plan-card{background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:32px;padding:48px 38px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.plan-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.plan-top .section-title{font-size:clamp(32px,3vw,44px)}
.trip-toggle{display:inline-flex;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.trip-toggle button{border:0;background:transparent;color:rgba(255,255,255,.74);padding:10px 16px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.22em}
.trip-toggle button.active{background:#fff;color:#000}
.plan-grid{display:grid;gap:18px;grid-template-columns:1.2fr 1.2fr .9fr .9fr .8fr auto;align-items:end}
.field{position:relative}.field-shell{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.18)}
.field:hover .field-shell,.field:focus-within .field-shell{border-bottom-color:rgba(255,255,255,.58)}
.field-icon{width:18px;height:18px;color:#fff;opacity:.9;flex:0 0 auto}.field-icon svg{width:18px;height:18px;display:block}
.field-label{margin-bottom:6px;font-size:10px;color:var(--soft)}
.field-meta{flex:1;min-width:0}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;color:#fff;outline:none;padding:0}
.field select option{color:#000}
.autocomplete{position:absolute;left:0;right:0;top:calc(100% + 10px);display:none;background:rgba(12,12,12,.98);border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;z-index:20}
.autocomplete.show{display:block}
.autocomplete button{width:100%;background:transparent;border:0;color:#fff;text-align:left;padding:14px 16px}.autocomplete button:hover{background:rgba(255,255,255,.06)}

.content-hero{padding:150px 0 54px}
.content-hero h1{margin:0;font-size:clamp(40px,6vw,72px);font-weight:300;letter-spacing:-.04em;text-transform:uppercase}
.content-hero p{max-width:760px;color:var(--muted);margin-top:18px}
.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:start}
.contact-intro h2{margin:0;font-size:clamp(42px,5vw,72px);font-weight:300;letter-spacing:-.04em}
.contact-panels{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:34px}
.contact-panel{padding-right:24px;border-right:1px solid rgba(255,255,255,.08)}
.contact-panel:last-child{border-right:0;padding-right:0}
.contact-panel .heading{font-size:12px;color:#d7d7d7;margin-bottom:18px}
.contact-panel a{font-size:28px;line-height:1.3;color:#fff;text-decoration:underline;text-underline-offset:6px}
.contact-form-wrap{border-top:1px solid rgba(255,255,255,.08);padding-top:42px;margin-top:42px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field-label-left{font-size:12px;color:rgba(255,255,255,.82);margin-bottom:10px}
.field.compact .field-shell{display:block;padding:0;border-bottom:0}
.field.compact input,.field.compact select,.field.compact textarea{border:1px solid rgba(255,255,255,.18);padding:16px 14px;background:rgba(255,255,255,.02)}
.field.compact textarea{min-height:130px}
.contact-note{grid-column:1/-1;color:rgba(255,255,255,.58)}
.submit-row{grid-column:1/-1;margin-top:8px}

.footer{border-top:1px solid rgba(255,255,255,.08);padding:24px 0 34px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.legal-title{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:10px}
.legal-block{color:rgba(255,255,255,.48)}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:22px}
.footer-copy{color:rgba(255,255,255,.52);font-size:12px;letter-spacing:.12em}
.footer-side{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-logo{max-height:64px;width:auto}
.socials{display:flex;align-items:center;gap:12px}
.socials a{width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.socials a:hover{background:rgba(255,255,255,.06)}
.socials svg{width:18px;height:18px;display:block;color:#fff;stroke:currentColor;fill:none}
.socials .x svg,.socials .linkedin svg{fill:currentColor;stroke:none}

.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:100001}
.drawer{position:fixed;left:0;top:0;height:100svh;width:min(340px,92vw);background:#0b0b0b;border-right:1px solid rgba(255,255,255,.08);transform:translateX(-100%);transition:transform .32s ease;z-index:100002;display:flex;flex-direction:column;padding:24px}
body.menu-open .drawer-overlay{opacity:1;pointer-events:auto} body.menu-open .drawer{transform:translateX(0)}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.drawer-brand{font-size:14px;letter-spacing:.45em;text-transform:uppercase}.drawer-sub{margin-top:6px;color:var(--soft);font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.drawer-close{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff}
.drawer-nav{display:grid;gap:18px}.drawer-nav a{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.88)}
.drawer-box{margin-top:auto;border-radius:28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:20px}
.drawer-box .mini{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--soft)}
.drawer-box p{margin:12px 0 0;color:rgba(255,255,255,.88);line-height:1.7}

@media (max-width:1240px){
  .about-grid,.cards,.page-grid,.event-grid,.contact-layout,.contact-panels,.contact-form-grid{grid-template-columns:1fr}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-grid .submit-col{grid-column:1/-1}
  .contact-panel{border-right:0;padding-right:0}
}
@media (max-width:920px){
  .topbar-inner{grid-template-columns:1fr;justify-items:center}
  .top-left,.top-right{width:100%;justify-content:space-between}
  .brand-center{order:-1}
  .brand-center img{max-height:74px}
}
@media (max-width:640px){
  .container{padding-left:16px;padding-right:16px}
  .hero-content{padding:92px 20px 54px}
  .plan-card,.about-card,.card,.page-card,.contact-card{padding:20px}
  .plan-grid,.contact-form-grid{grid-template-columns:1fr}
  .top-right .btn{padding:12px 16px}
  .footer-bottom,.footer-grid{display:block}
  .footer-side{margin-top:18px}
}

/* refinements v2 */
.brand-center img{max-height:128px}
.hero-actions .btn{background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,.34) !important}
.hero-actions .btn:hover{background:rgba(255,255,255,.08) !important}
.plan-wrap{margin-top:0;padding-top:34px}
.contact-layout{grid-template-columns:1fr}
.contact-panels{grid-template-columns:1fr 1fr;max-width:840px}
.contact-form-wrap{margin-top:26px}
.checkbox-row{display:flex;gap:10px;align-items:flex-start}
.checkbox-row input{margin-top:3px}
.submit-row button[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:1240px){.contact-panels{grid-template-columns:1fr}}


/* Inter typography pass */
html, body, button, input, select, textarea, a, p, span, li, label, div {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 400;
}

.btn, .menu-trigger, .drawer-nav a, .section-eyebrow, .card-kicker, .page-card .mini, .legal-title, .contact-panel .heading {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 500;
}

.hero h1, .content-hero h1, .section-title, .card h3, .page-card h3, .event-card h3, .contact-intro h2 {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0.08em;
}

.hero-copy, .card p, .page-card p, .benefit, .contact-copy, .legal-block, .content-hero p, .field input, .field select, .field textarea, .contact-note {
  letter-spacing: 0.02em;
}

/* final requested tweaks */
.hero h1{
  font-weight:500 !important;
  font-size:clamp(32px,5vw,58px) !important;
}
.content-hero h1{
  font-weight:500 !important;
  font-size:clamp(32px,5vw,58px) !important;
}
.plan-wrap{
  margin-top:80px !important;
  padding-top:60px !important;
}
.plan-map-shell{
  margin-top:50px;
}
.plan-top{
  margin-bottom:30px !important;
}
.contact-form-grid input::placeholder,
.contact-form-grid textarea::placeholder{
  color:transparent !important;
}
.prefix-wrap{
  display:flex;
  gap:12px;
  align-items:end;
}
.prefix-box{
  min-width:150px;
}
@media (max-width:1240px){
  .prefix-wrap{display:block}
  .prefix-box{min-width:100%; margin-bottom:16px;}
}


/* Luxury polish pass */
:root{
  --ease-luxury:cubic-bezier(.22,1,.36,1);
}

.btn,
.circle-icon,
.socials a,
.page-card,
.card,
.event-card,
.about-card,
.plan-card,
.contact-card{
  transition: transform .35s var(--ease-luxury), box-shadow .35s var(--ease-luxury), border-color .35s var(--ease-luxury), background .35s var(--ease-luxury), opacity .35s var(--ease-luxury);
}

.btn:hover{
  transform: translateY(-2px);
}

.hero .btn.btn-light:hover,
.content-hero .btn.btn-light:hover{
  box-shadow: 0 12px 30px rgba(255,255,255,.10);
}

.page-card:hover,
.card:hover,
.event-card:hover,
.about-card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 20px 40px rgba(0,0,0,.18);
}

.card-media,
.event-card .media,
.page-card .media{
  transition: transform .6s var(--ease-luxury), filter .6s var(--ease-luxury);
}

.card:hover .card-media,
.event-card:hover .media,
.page-card:hover .media{
  transform: scale(1.035);
  filter: brightness(1.03);
}

.hero video{
  transform: scale(1.01);
}

.hero:before{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.56), rgba(0,0,0,.18) 35%, rgba(0,0,0,.72)),
    linear-gradient(to right, rgba(255,255,255,.04), rgba(255,255,255,0) 22%, rgba(255,255,255,0) 78%, rgba(255,255,255,.03));
}

.hero h1{
  text-shadow: 0 10px 30px rgba(0,0,0,.22);
}

.section,
.content-section{
  position: relative;
}

.section::before,
.content-section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: linear-gradient(to right, transparent, rgba(255,255,255,.05), transparent);
  pointer-events:none;
}

.plan-card{
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}

.field-shell{
  transition: border-color .25s var(--ease-luxury), transform .25s var(--ease-luxury);
}

.field:focus-within .field-shell{
  transform: translateY(-1px);
}

.contact-form-grid input,
.contact-form-grid select,
.contact-form-grid textarea{
  transition: border-color .25s var(--ease-luxury), background .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}

.contact-form-grid input:focus,
.contact-form-grid select:focus,
.contact-form-grid textarea:focus{
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.footer{
  background:
    linear-gradient(to top, rgba(255,255,255,.015), rgba(255,255,255,0));
}

@media (prefers-reduced-motion:no-preference){
  .hero-content > div{
    animation: luxuryFadeUp .9s var(--ease-luxury) both;
  }

  .plan-card{
    animation: luxuryFadeUp 1.0s .08s var(--ease-luxury) both;
  }
}

@keyframes luxuryFadeUp{
  from{
    opacity:0;
    transform: translateY(20px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}

.why-icons-grid .card-media{display:none !important}
.why-icon-card{text-align:left}
.why-icon{
  width:64px;
  height:64px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  margin-bottom:18px;
  background:rgba(255,255,255,.03);
}


.feature-banner-section{
  padding-top: 8px;
}
.feature-banner{
  position:relative;
  min-height:560px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
}
.feature-banner-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}
.feature-banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.36) 42%, rgba(0,0,0,.72) 100%);
}
.feature-banner-content{
  position:relative;
  z-index:2;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  text-align:left;
  padding:72px;
  margin-left:auto;
  max-width:640px;
}
.feature-banner-kicker{
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  margin-bottom:14px;
}
.feature-banner h2{
  margin:0;
  font-size:clamp(42px,4.6vw,64px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.04em;
}
.feature-banner p{
  margin:18px 0 0;
  max-width:420px;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.8;
}
.feature-banner-link{
  margin-top:28px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:#fff;
}
.feature-banner-link::after{
  content:"→";
  font-size:16px;
  transform:translateY(-1px);
}
.feature-banner-link:hover{
  opacity:.8;
}
@media (max-width: 900px){
  .feature-banner{
    min-height:480px;
  }
  .feature-banner-content{
    min-height:480px;
    padding:28px;
    align-items:flex-start;
    justify-content:flex-end;
    max-width:none;
  }
  .feature-banner-overlay{
    background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.22) 55%, rgba(0,0,0,.12));
  }
  .feature-banner p{
    max-width:none;
    font-size:14px;
  }
}


.promise-section{
  padding-top: 8px;
}
.promise-banner{
  position:relative;
  min-height:620px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0d0d0d;
}
.promise-image{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}
.promise-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.10) 25%, rgba(0,0,0,.22) 45%, rgba(0,0,0,.34) 70%, rgba(0,0,0,.44));
}
.promise-content{
  position:relative;
  z-index:2;
  min-height:620px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:72px 32px 40px;
}
.promise-content h2{
  margin:0;
  font-size:clamp(44px,4.8vw,72px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}
.promise-content p{
  margin:22px auto 0;
  max-width:980px;
  color:rgba(255,255,255,.92);
  font-size:15px;
  line-height:1.85;
}
.promise-btn{
  margin-top:24px;
}
@media (max-width: 900px){
  .promise-banner{
    min-height:520px;
  }
  .promise-content{
    min-height:520px;
    padding:42px 20px 28px;
  }
  .promise-content p{
    font-size:14px;
    max-width:none;
  }
}

/* Final fixes for uploaded flat-folder version */
.brand-center img{
  max-height: 118px;
}

.plan-top .section-title{
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin-top: 8px !important;
}

.promise-banner{
  position: relative !important;
  min-height: 620px !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: #0d0d0d !important;
}
.promise-image{
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}
.promise-overlay{
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 2 !important;
}
.promise-content{
  position: relative !important;
  z-index: 3 !important;
  min-height: 620px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  padding: 72px 32px 40px !important;
}
.promise-content h2{
  margin: 0 !important;
  font-size: clamp(44px,4.8vw,72px) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.promise-content p{
  margin: 22px auto 0 !important;
  max-width: 980px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}
.promise-btn{
  margin-top: 24px !important;
}


/* Requested UI refinements */

.plan-wrap .container{
  width:100%;
  max-width:var(--container);
  padding-left:clamp(16px,3vw,40px);
  padding-right:clamp(16px,3vw,40px);
}
.plan-card{
  padding:56px 44px;
}
.plan-grid{
  gap:22px;
}
.submit-col .btn{
  min-width:200px;
  min-height:56px;
}

.why-icon{
  color:#fff;
}
.why-icon svg{
  width:28px;
  height:28px;
  display:block;
}

.feature-banner-overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.52) 34%, rgba(0,0,0,.18) 100%);
}
.feature-banner-content{
  align-items:flex-start;
  justify-content:center;
  margin-left:0;
  margin-right:auto;
  max-width:560px;
  padding:72px 58px;
}
.feature-banner p{
  max-width:500px;
}

.promise-image{
  background-position:center 34%;
}
.promise-overlay{
  background:linear-gradient(to bottom, rgba(0,0,0,.24), rgba(0,0,0,.16) 28%, rgba(0,0,0,.26) 56%, rgba(0,0,0,.42));
}
.promise-content{
  justify-content:flex-start !important;
  padding:34px 32px 32px !important;
}
.promise-content p{
  margin-top:12px !important;
  max-width:1000px !important;
}
.promise-btn{
  margin-top:18px !important;
}

@media (max-width:900px){
  .plan-wrap .container{
    width:100%;
    max-width:var(--container);
    padding-left:16px;
    padding-right:16px;
  }
  .plan-card{
    padding:32px 20px;
  }
  .feature-banner-content{
    padding:28px;
    max-width:none;
  }
  .promise-content{
    padding:28px 18px 24px !important;
  }
}


/* Universal full-width responsiveness */
section,
.hero,
.plan-wrap,
.feature-banner-section,
.promise-section,
.footer,
.content-section{
  width:100%;
}

.cards,
.page-grid,
.event-grid{
  width:100%;
}

.cards{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.page-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.event-grid{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.feature-banner,
.promise-banner,
.plan-card,
.about-card,
.card,
.page-card,
.contact-card,
.event-card{
  width:100%;
}

@media (min-width:1680px){
  .section,.content-section{
    padding-top:44px;
    padding-bottom:96px;
  }
}


/* Responsive event grid */
@media (max-width:900px){
  .event-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:640px){
  .event-grid{
    grid-template-columns:1fr;
  }
}


/* === Typography spacing refinement === */
.hero h1{
  font-weight: 500 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.02 !important;
  max-width: 11ch;
}

.section-title,
.plan-top .section-title,
.feature-banner h2,
.promise-content h2,
.content-hero h1,
.signature-hero h1{
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

.plan-top .section-title{
  max-width: 15ch;
}

.feature-banner h2{
  max-width: 7ch;
}

.promise-content h2{
  letter-spacing: 0.03em !important;
  line-height: 1.04 !important;
}

.section-eyebrow,
.feature-banner-kicker,
.route-list-head .section-eyebrow,
.signature-hero .section-eyebrow{
  letter-spacing: 0.34em !important;
  font-weight: 500 !important;
}

.card h3,
.page-card h3,
.event-card h3{
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.08 !important;
}

@media (max-width: 900px){
  .hero h1{
    letter-spacing: 0.025em !important;
    line-height: 1.03 !important;
  }

  .section-title,
  .plan-top .section-title,
  .feature-banner h2,
  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    letter-spacing: 0.015em !important;
    line-height: 1.1 !important;
  }
}

/* =====================================================
   CINEMATIC TYPOGRAPHY REFINEMENT
   Added to reduce stacked headlines, soften weight,
   improve spacing, and create more luxury line breaks.
   ===================================================== */

:root{
  --hero-title-size: clamp(58px, 8vw, 112px);
  --section-display-size: clamp(34px, 4.1vw, 64px);
  --feature-display-size: clamp(48px, 5.2vw, 78px);
  --promise-display-size: clamp(54px, 6vw, 90px);
  --headline-weight: 400;
  --headline-spacing: 0.04em;
  --headline-line: 1.03;
}

h1, h2, h3{
  word-break: keep-all;
  overflow-wrap: normal;
}

.hero-content{
  padding-top: 122px !important;
  padding-bottom: 96px !important;
}

.hero-content > div{
  width: 100%;
  max-width: 1180px;
  display: grid;
  justify-items: center;
}

.hero h1{
  width: min(10.5ch, 100%);
  max-width: 10.5ch;
  margin: 0 auto;
  font-size: var(--hero-title-size) !important;
  font-weight: var(--headline-weight) !important;
  letter-spacing: var(--headline-spacing) !important;
  line-height: 0.94 !important;
  text-wrap: balance;
  text-transform: uppercase;
}

.hero-copy{
  max-width: 52ch;
  margin-top: 22px;
}

.section-top > div:first-child{
  min-width: 0;
  flex: 1 1 760px;
}

.section-title,
.content-hero h1,
.signature-hero h1,
.feature-banner h2,
.promise-content h2,
.plan-top .section-title{
  font-weight: var(--headline-weight) !important;
  letter-spacing: 0.035em !important;
  line-height: var(--headline-line) !important;
  text-wrap: balance;
}

.section-title{
  font-size: var(--section-display-size) !important;
  max-width: 28ch;
}

.plan-top{
  align-items: flex-start;
}

.plan-top > div:first-child{
  flex: 1 1 760px;
  min-width: 0;
}

.plan-top .section-title{
  font-size: clamp(38px, 4vw, 64px) !important;
  max-width: 18ch !important;
  line-height: 1.02 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

.feature-banner-content{
  max-width: 760px !important;
}

.feature-banner h2{
  font-size: var(--feature-display-size) !important;
  max-width: 11ch;
  line-height: 0.98 !important;
  letter-spacing: 0.03em !important;
}

.promise-content h2{
  font-size: var(--promise-display-size) !important;
  max-width: 11ch;
  margin-inline: auto;
  line-height: 0.97 !important;
  letter-spacing: 0.045em !important;
}

.content-hero h1,
.signature-hero h1{
  font-size: clamp(44px, 5vw, 76px) !important;
  max-width: 14ch;
}

.section-eyebrow,
.feature-banner-kicker,
.signature-hero .section-eyebrow,
.route-list-head .section-eyebrow{
  letter-spacing: 0.34em !important;
  font-weight: 500 !important;
}

.card h3,
.page-card h3,
.event-card h3{
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

/* Cinematic headline spacing by section */
.why-icons-grid + * .section-title,
.why-icons-grid .section-title,
.section .section-title span{
  text-wrap: balance;
}

/* Desktop-only wider luxury lines */
@media (min-width: 1200px){
  .hero h1{
    width: 10.8ch;
    max-width: 10.8ch;
  }

  .plan-top .section-title{
    max-width: 19ch !important;
  }

  .feature-banner h2{
    max-width: 12ch;
  }

  .promise-content h2{
    max-width: 12ch;
  }
}

/* Tablet adjustments */
@media (max-width: 1100px){
  .plan-top .section-title{
    max-width: 16ch !important;
    font-size: clamp(34px, 4.4vw, 54px) !important;
  }

  .feature-banner h2{
    max-width: 10ch;
    font-size: clamp(42px, 6vw, 64px) !important;
  }

  .promise-content h2{
    max-width: 10ch;
  }
}

/* Mobile: still elegant, but allow slightly more wrapping */
@media (max-width: 900px){
  :root{
    --hero-title-size: clamp(50px, 12vw, 78px);
    --section-display-size: clamp(30px, 7vw, 46px);
    --feature-display-size: clamp(40px, 8.6vw, 58px);
    --promise-display-size: clamp(42px, 10vw, 66px);
  }

  .hero-content{
    padding-top: 110px !important;
    padding-bottom: 72px !important;
  }

  .hero h1{
    width: 9.4ch;
    max-width: 9.4ch;
    line-height: 0.96 !important;
    letter-spacing: 0.03em !important;
  }

  .plan-top .section-title{
    max-width: 14ch !important;
    line-height: 1.04 !important;
    letter-spacing: 0.025em !important;
  }

  .feature-banner h2{
    max-width: 9ch;
    line-height: 1.02 !important;
  }

  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    max-width: 9.5ch;
    line-height: 1.02 !important;
  }
}

@media (max-width: 640px){
  .hero h1{
    width: 8.8ch;
    max-width: 8.8ch;
    letter-spacing: 0.02em !important;
  }

  .plan-top .section-title{
    max-width: 12ch !important;
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .feature-banner h2,
  .promise-content h2,
  .content-hero h1,
  .signature-hero h1{
    max-width: 8.6ch;
  }
}



/* ===== FINAL HERO OVERRIDE (ULTRA PREMIUM) ===== */
.hero-content{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hero-content > div{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.hero h1{
  width:auto !important;
  max-width:860px !important;
  margin:0 auto !important;
  text-align:center !important;
  font-size:clamp(44px,5vw,72px) !important;
  font-weight:600 !important;
  letter-spacing:0.08em !important;
  line-height:1.05 !important;
  text-wrap:balance !important;
  white-space:normal !important;
}

.hero-actions{
  justify-content:center !important;
}

@media (max-width: 900px){
  .hero h1{
    max-width:11ch !important;
    font-size:clamp(40px,9vw,58px) !important;
    letter-spacing:0.06em !important;
    line-height:1.04 !important;
  }
}

@media (prefers-reduced-motion:no-preference){
  .hero h1{
    opacity:0;
    transform:translateY(24px) scale(0.985);
    animation:heroLuxuryReveal 1.25s cubic-bezier(.22,1,.36,1) .08s forwards !important;
  }

  .hero-actions{
    opacity:0;
    transform:translateY(18px);
    animation:heroActionReveal 1s cubic-bezier(.22,1,.36,1) .45s forwards !important;
  }
}

@keyframes heroLuxuryReveal{
  0%{
    opacity:0;
    transform:translateY(24px) scale(0.985);
    letter-spacing:0.16em;
    filter:blur(3px);
  }
  60%{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:0.10em;
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:0.08em;
    filter:blur(0);
  }
}

@keyframes heroActionReveal{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ===== WHY LOUVANI ELITE ===== */
.why-luxury{padding:120px 0}
.why-row{display:grid;grid-template-columns:110px 1fr;gap:56px;padding:60px 0;border-top:1px solid rgba(255,255,255,.08)}
.why-row:last-child{border-bottom:1px solid rgba(255,255,255,.08)}

.why-icon-shell{
  width:80px;height:80px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(to bottom right,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
}

.why-icon-shell img{
  width:40px;height:40px;object-fit:contain;
}

.why-copy h2{
  font-size:clamp(30px,3vw,42px);
  font-weight:700;
  margin:0;
}

.why-subheader{
  margin-top:12px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.12em;
}

.why-copy p{
  margin-top:16px;
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,.72);
}

@media(max-width:900px){
  .why-row{grid-template-columns:1fr;text-align:center;gap:28px}
  .why-visual{justify-content:center}
}


/* ===== ICON SYSTEM LOCKED ===== */
.why-icon-shell svg{
  width:40px;
  height:40px;
  stroke:#fff;
  stroke-width:1.4;
  fill:none;
  opacity:.95;
}


/* === ADDITIVE FIX: OUR PROMISE SINGLE LINE === */
.promise-content h2{
  max-width: none !important;
  white-space: nowrap !important;
}

@media (max-width: 600px){
  .promise-content h2{
    white-space: normal !important;
  }
}


.plan-map-shell{
  width:100%;
  height:520px; /* was ~420 */
  border-radius:24px;
  overflow:hidden;
}

#planMap{
  position:absolute;
  inset:0;
  width:100%;
height:560px;}

/* ===== AUTOCOMPLETE FIX ===== */
.autocomplete{
  display:none;
  position:absolute;
  width:100%;
  background:#0b0f14;
  border:1px solid rgba(255,255,255,.08);
  z-index:999;
}

.autocomplete.show{
  display:block;
}

.autocomplete button{
  width:100%;
  text-align:left;
  padding:10px;
  border:none;
  background:none;
  color:#fff;
  cursor:pointer;
}

.autocomplete button:hover{
  background:#121821;
}

/* ===== STATS ===== */
.route-stats{
  margin-top:18px;
  display:flex;
  gap:20px;
  font-size:12px;
  letter-spacing:.15em;
  text-transform:uppercase;
}

/* ===== FULL WIDTH MAP ===== */
.plan-map-shell{
  width:100% !important;
  height:520px !important;
  margin-top:60px !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

#planMap{
  width:100% !important;
  height:100% !important;
}

/* stats overlay */
.route-stats{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:40px;
  background:rgba(0,0,0,0.4);
  padding:12px 20px;
  border-radius:20px;
  backdrop-filter:blur(10px);
  font-size:12px;
  letter-spacing:.15em;
}

.plan-map-shell{
  margin-top:32px;
  height:380px;
  border-radius:24px;
  overflow:hidden;
}

/* Hide Mapbox logo + attribution */
.mapboxgl-ctrl-logo,
.mapboxgl-ctrl-attrib {
  display: none !important;
}

.autocomplete button{
  white-space:normal;
  line-height:1.4;
}

.trip-toggle {
  position: relative;
  z-index: 10;
}

.trip-toggle button {
  pointer-events: auto;
}

.plan-map-shell {
  position: relative;
  z-index: 1;
}

.plan-card {
  position: relative;
  z-index: 5;
}

#planMap {
  width: 100%;
  height: 500px; /* 👈 adjust if needed */
  border-radius: 16px;
}

.plan-map-shell {
  margin-top: 30px;
  margin-bottom: 20px; /* 👈 THIS FIXES YOUR ISSUE */
}

.route-stats {
  margin-top: 10px;
  position: relative;
  z-index: 2;
  color: #fff;
}

// ===== DATE PICKERS =====
flatpickr("#departureDate", {
  dateFormat: "d M Y",
  minDate: "today",
  defaultDate: "today",
});

flatpickr("#returnDate", {
  dateFormat: "d M Y",
  minDate: "today",
});

/* ===== FLATPICKR LUXURY THEME ===== */

.flatpickr-calendar {
  background: rgba(15,15,15,0.95);
  backdrop-filter: blur(20px);
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 40px 100px rgba(0,0,0,.6);
}

.flatpickr-day.selected {
  background: #fff;
  color: #000;
  font-weight: 500;
}

.flatpickr-day:hover {
  background: rgba(255,255,255,.1);
}

.flatpickr-day.today {
  border: 1px solid rgba(255,255,255,.5);
}

/* DATE INPUT STYLE UPGRADE */

#departureDate,
#returnDate {
  cursor: pointer;
  background: transparent;
  color: #fff;
  font-size: 16px;
}

#departureDate::placeholder,
#returnDate::placeholder {
  color: rgba(255,255,255,.4);
}

#successMessage {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease;
}

#successMessage.show {
  opacity: 1;
  transform: translateY(0);
}

#departureDate,
#returnDate {
  cursor: pointer;
  user-select: none;
}

#planMap {
  width: 100%;
  height: 400px;
  min-height: 400px;
}

.plan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.return-field {
  grid-column: 1;
}

.plan-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}


#planMap {
  width: 100%;
  height: 400px;
  min-height: 400px;
}

/* ===== FLATPICKR LUXURY THEME ===== */

.flatpickr-calendar {
  background: #0c0c0c;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
}

/* month + year */
.flatpickr-current-month {
  color: #fff;
}

/* days */
.flatpickr-day {
  color: #ccc;
}

/* hover */
.flatpickr-day:hover {
  background: rgba(255,255,255,0.08);
  color: #fff;
}

/* ===== FORCE REMOVE PURPLE ===== */

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}

/* TODAY */
.flatpickr-day.today {
  border: 1px solid #ffffff !important;
}

/* HOVER */
.flatpickr-day:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
}

/* CALENDAR BACKGROUND */
.flatpickr-calendar {
  background: #0b0b0b !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

/* HEADER */
.flatpickr-current-month,
.flatpickr-weekday {
  color: #ffffff !important;
}

/* ARROWS */
.flatpickr-prev-month svg,
.flatpickr-next-month svg {
  fill: #ffffff !important;
}

/* ===== FIX HEADER TEXT ===== */

/* Month + Year */
.flatpickr-current-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Weekdays (Mon, Tue, etc) */
.flatpickr-weekdays,
.flatpickr-weekday {
  color: #aaaaaa !important;
}

/* Make weekday row cleaner */
.flatpickr-weekday {
  font-weight: 400;
  letter-spacing: 0.5px;
}

/* Fix dropdown arrows / controls */
.flatpickr-monthDropdown-months,
.numInputWrapper span.arrowUp,
.numInputWrapper span.arrowDown {
  color: #ffffff !important;
}

.flatpickr-weekday {
  color: #777 !important;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
}

/* ===== REMOVE HEADER BACKGROUND ===== */

.flatpickr-months {
  background: #0b0b0b !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.flatpickr-month {
  background: transparent !important;
}

/* Month + year container */
.flatpickr-current-month {
  background: transparent !important;
}

/* Fix nav arrows container */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  background: transparent !important;
}

.flatpickr-current-month,
.flatpickr-current-month input.cur-year,
.flatpickr-monthDropdown-months {
  color: #ffffff !important;
}

/* ===== FIX MONTH DROPDOWN (LAST PIECE) ===== */

.flatpickr-monthDropdown-months {
  background: transparent !important;
  color: #ffffff !important;
}

/* Dropdown options (when opened) */
.flatpickr-monthDropdown-month {
  background: #0b0b0b !important;
  color: #ffffff !important;
}

/* Hover on dropdown items */
.flatpickr-monthDropdown-month:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* Year input box */
.flatpickr-current-month input.cur-year {
  background: transparent !important;
  color: #ffffff !important;
}

/* ===== WEEKDAY HEADER (FINAL FIX) ===== */

/* Background strip behind SUN MON TUE */
.flatpickr-weekdays {
  background: #0b0b0b !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* Individual day labels */
.flatpickr-weekday {
  color: #ffffff !important;
  background: transparent !important;
}

/* Remove any inherited grey */
.flatpickr-weekdaycontainer {
  background: transparent !important;
}

.flatpickr-weekday {
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #888 !important; /* softer luxury tone */
}
.autocomplete {
  position: absolute;
  width: 100%;
  background: #111;
  border-radius: 10px;
  margin-top: 5px;
  z-index: 999;
}

.autocomplete button {
  display: block;
  width: 100%;
  padding: 10px;
  border: none;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.autocomplete button:hover {
  background: rgba(255,255,255,0.1);
}

/* Plan your flight form spacing */
.plan-flight-page .plan-card-premium > .contact-form-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px 34px !important;
  align-items: end;
}

.plan-flight-page .plan-card-premium > .contact-form-grid > .field{
  width: 100%;
}

.plan-flight-page .plan-card-premium > .contact-form-grid > div[style*="grid-column"]{
  grid-column: 1 / -1 !important;
}

.plan-flight-page .plan-top > .trip-toggle{
  flex:0 0 auto !important;
  width:max-content !important;
  max-width:100% !important;
}

.plan-flight-page #submitFlight{
  width: 100%;
  min-height: 56px;
}

.plan-flight-page #submitFlight[aria-disabled="true"]{
  opacity:.45;
  cursor:not-allowed;
}

.plan-flight-page .plan-stage-status{
  min-height:22px;
  margin:10px 0 0;
  color:#ffd0d0;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.08em;
  text-align:center;
}

.plan-flight-page #contactForm{
  grid-column: 1 / -1;
  width: 100%;
}

.plan-flight-page #contactForm .contact-form-grid,
.plan-flight-page .lj-form{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 34px !important;
  align-items: start;
}

.plan-flight-page .form-left,
.plan-flight-page .form-right,
.plan-flight-page .lj-left,
.plan-flight-page .lj-right{
  display: grid;
  gap: 18px;
  width: 100%;
  justify-items: stretch;
}

.plan-flight-page .form-left input,
.plan-flight-page .form-left select,
.plan-flight-page .form-right textarea,
.plan-flight-page .form-right select,
.plan-flight-page .lj-left input,
.plan-flight-page .lj-left select,
.plan-flight-page .lj-right textarea,
.plan-flight-page .lj-right select{
  width: 100%;
  min-height: 54px;
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.025);
  color: #fff;
  outline: none;
}

.plan-flight-page .form-right textarea,
.plan-flight-page .lj-right textarea{
  min-height: 126px;
  resize: vertical;
}

.plan-flight-page .prefix-wrap,
.plan-flight-page .lj-phone{
  display: grid;
  grid-template-columns: minmax(190px, .42fr) minmax(0, 1fr);
  gap: 14px;
}

.plan-flight-page #title,
.plan-flight-page #countryCode{
  min-height: 54px;
  padding: 15px 16px;
}

.plan-flight-page .form-right,
.plan-flight-page .lj-right{
  justify-self: start;
}

.plan-flight-page .form-right .checkbox-row,
.plan-flight-page .lj-right .lj-check{
  margin-top: 2px;
}

.plan-flight-page .luxury-checkbox{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(255,255,255,.68);
  line-height: 1.7;
}

.plan-flight-page .luxury-checkbox input{
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 4px 0 0;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 4px;
  background: rgba(255,255,255,.03);
  display: grid;
  place-items: center;
  cursor: pointer;
}

.plan-flight-page .luxury-checkbox input:checked{
  background: #fff;
  border-color: #fff;
}

.plan-flight-page .luxury-checkbox input:checked::after{
  content: "";
  width: 8px;
  height: 5px;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg) translateY(-1px);
}

.plan-flight-page .form-submit-left{
  justify-self: start;
  align-self: end;
  margin-top: 6px;
  min-width: 220px;
}

.plan-flight-page .privacy-consent{
  margin: 0;
  color: rgba(255,255,255,.66);
  line-height: 1.7;
}

.plan-flight-page .privacy-consent a{
  text-decoration: underline;
  text-underline-offset: 4px;
}

.plan-flight-page .form-right .btn,
.plan-flight-page .lj-right .btn{
  justify-self: start;
  min-width: 220px;
}

@media (max-width: 900px){
  .plan-flight-page .plan-card-premium > .contact-form-grid,
  .plan-flight-page #contactForm .contact-form-grid,
  .plan-flight-page .lj-form{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .plan-flight-page .form-right .btn,
  .plan-flight-page .lj-right .btn{
    width: 100%;
  }

  .plan-flight-page .prefix-wrap,
  .plan-flight-page .lj-phone{
    grid-template-columns: 1fr;
  }
}

@media (min-width: 641px){
  .plan-flight-page .prefix-wrap{
    grid-template-columns: 132px minmax(0, 1fr) !important;
  }
}

/* Luxury flight enquiry reveal */
.plan-flight-page .form-reveal-panel{
  grid-column:1 / -1;
  width:100%;
  margin-top:42px;
  padding-top:36px;
  border-top:1px solid rgba(255,255,255,.10);
  opacity:0;
  transform:translateY(24px) scale(.985);
  filter:blur(10px);
  transition:
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1),
    filter .7s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .form-reveal-panel.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.plan-flight-page .form-reveal-panel .details-heading,
.plan-flight-page .form-reveal-panel .form-left,
.plan-flight-page .form-reveal-panel .form-right{
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .65s cubic-bezier(.22,1,.36,1),
    transform .65s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .form-reveal-panel.is-visible .details-heading,
.plan-flight-page .form-reveal-panel.is-visible .form-left,
.plan-flight-page .form-reveal-panel.is-visible .form-right{
  opacity:1;
  transform:translateY(0);
}

.plan-flight-page .form-reveal-panel.is-visible .form-left{transition-delay:.08s}
.plan-flight-page .form-reveal-panel.is-visible .form-right{transition-delay:.15s}

.plan-flight-page .details-heading{
  max-width:720px;
  margin-bottom:28px;
}

.plan-flight-page .details-heading h3{
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(26px,3vw,42px);
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.plan-flight-page .details-heading p{
  margin:12px 0 0;
  color:rgba(255,255,255,.62);
  line-height:1.75;
  max-width:620px;
}

.plan-flight-page .float-field{
  position:relative;
  display:block;
  width:100%;
}

.plan-flight-page .float-field input,
.plan-flight-page .float-field select,
.plan-flight-page .float-field textarea{
  width:100%;
  min-height:58px;
  padding:22px 16px 10px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:8px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  color:#fff !important;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:
    border-color .28s cubic-bezier(.22,1,.36,1),
    background .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    transform .28s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .float-field textarea{
  min-height:150px;
  resize:vertical;
}

.plan-flight-page .float-field span{
  position:absolute;
  left:16px;
  top:18px;
  pointer-events:none;
  color:rgba(255,255,255,.48);
  font-size:12px;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
  transform-origin:left top;
  transition:
    color .25s cubic-bezier(.22,1,.36,1),
    transform .25s cubic-bezier(.22,1,.36,1),
    opacity .25s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .float-field input:focus,
.plan-flight-page .float-field select:focus,
.plan-flight-page .float-field textarea:focus{
  border-color:rgba(255,255,255,.48) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateY(-1px);
}

.plan-flight-page .float-field input:focus + span,
.plan-flight-page .float-field input:not(:placeholder-shown) + span,
.plan-flight-page .float-field textarea:focus + span,
.plan-flight-page .float-field textarea:not(:placeholder-shown) + span,
.plan-flight-page .float-field select:focus + span,
.plan-flight-page .select-field.has-value span{
  color:rgba(255,255,255,.72);
  opacity:.95;
  transform:translateY(-9px) scale(.72);
}

.plan-flight-page .float-field select option{
  color:#0b0b0b;
}

.plan-flight-page .form-submit-left[aria-disabled="true"]{
  opacity:.45;
  cursor:not-allowed;
}

.plan-flight-page .form-submit-left[disabled]{
  opacity:.58;
  cursor:wait;
}

.plan-flight-page .form-status{
  min-height:22px;
  margin:0;
  color:rgba(255,255,255,.62);
  line-height:1.65;
}

.plan-flight-page .form-status[data-state="success"]{
  color:rgba(255,255,255,.88);
}

.plan-flight-page .form-status[data-state="error"]{
  color:#ffd0d0;
}

.plan-flight-page .success-message{
  grid-column:1 / -1;
  margin-top:24px;
  margin-bottom:10px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:14px;
  line-height:1.6;
  text-align:center;
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .55s cubic-bezier(.22,1,.36,1),
    transform .55s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .success-message.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (max-width: 900px){
  .plan-flight-page .form-reveal-panel{
    margin-top:30px;
    padding-top:28px;
  }
}

/* Final field size polish */
.plan-flight-page #title,
.plan-flight-page #countryCode,
.plan-flight-page #phone,
.plan-flight-page #source{
  height: 58px !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
}

.plan-flight-page #countryCode{
  min-width: 0 !important;
  max-width: none;
  padding-left: 12px !important;
  padding-right: 28px !important;
  text-overflow: ellipsis;
}

.plan-flight-page #source{
  font-size:14px !important;
  letter-spacing:.01em !important;
  line-height:1.4 !important;
}

/* Premium route treatment */
.mapboxgl-canvas-container{
  cursor:default;
}

.plan-map-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10), inset 0 0 70px rgba(255,255,255,.035);
  z-index:100001;
}

#planMap .route-overlay{
  position:absolute;
  inset:0;
  z-index:25;
  pointer-events:none;
}

#planMap .route-overlay-svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}

#planMap .route-overlay-glow,
#planMap .route-overlay-line{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#planMap .route-overlay-glow{
  stroke:#fff;
  stroke-width:10;
  stroke-opacity:.34;
  filter:blur(4px);
}

#planMap .route-overlay-line{
  stroke:#fff;
  stroke-width:3.4;
  stroke-opacity:1;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.32));
}

#planMap .route-overlay-point{
  fill:#fff;
  stroke:rgba(7,7,7,.88);
  stroke-width:2;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.28));
}

/* Final route stats and detail-field alignment */
.plan-flight-page .route-stats{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:34px !important;
  width:100% !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
  color:#fff !important;
  text-align:left !important;
}

.plan-flight-page .route-stats div{
  display:grid;
  gap:4px;
  min-width:145px;
}

.plan-flight-page .route-stats span{
  color:rgba(255,255,255,.48);
  font-size:10px;
  line-height:1.3;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.plan-flight-page .route-stats strong{
  color:#fff;
  font-size:14px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.08em;
}

.plan-flight-page .float-field input,
.plan-flight-page .float-field select,
.plan-flight-page .float-field textarea{
  text-align:left !important;
}

.plan-flight-page .float-field input,
.plan-flight-page .float-field select{
  padding:28px 16px 8px !important;
}

.plan-flight-page .float-field textarea{
  padding:31px 16px 14px !important;
  text-align:left !important;
}

.plan-flight-page .float-field input:-webkit-autofill,
.plan-flight-page .float-field input:-webkit-autofill:hover,
.plan-flight-page .float-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 0 0 1000px rgba(255,255,255,.035) inset !important;
  caret-color:#fff;
  transition:background-color 9999s ease-out 0s;
}

.plan-flight-page .float-field span{
  max-width:calc(100% - 32px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.plan-flight-page .form-reveal-panel .float-field input,
.plan-flight-page .form-reveal-panel .float-field select{
  padding:29px 16px 8px !important;
}

.plan-flight-page .form-reveal-panel .float-field select{
  padding-top:34px !important;
  padding-bottom:3px !important;
  line-height:1.15 !important;
}

.plan-flight-page .form-reveal-panel .float-field textarea{
  padding:31px 16px 14px !important;
}

@media (max-width: 700px){
  .plan-flight-page .route-stats{
    display:grid !important;
    gap:12px !important;
  }
}

/* Louvani date picker theme */
.flatpickr-calendar{
  width:322px !important;
  padding:14px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:8px !important;
  background:rgba(8,8,8,.96) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  color:#fff !important;
  overflow:hidden;
}

.flatpickr-calendar.open{
  animation:louvaniCalendarIn .28s cubic-bezier(.22,1,.36,1) both;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after{
  border-bottom-color:rgba(8,8,8,.96) !important;
  border-top-color:rgba(8,8,8,.96) !important;
}

.flatpickr-months{
  height:46px !important;
  margin:0 0 8px !important;
  border:0 !important;
  background:transparent !important;
}

.flatpickr-month{
  height:46px !important;
  background:transparent !important;
  color:#fff !important;
}

.flatpickr-current-month{
  height:46px !important;
  padding:11px 34px 0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.flatpickr-current-month input.cur-year{
  margin-left:8px !important;
}

.flatpickr-monthDropdown-month{
  background:#080808 !important;
  color:#fff !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{
  top:13px !important;
  width:30px !important;
  height:30px !important;
  padding:7px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.035) !important;
  color:#fff !important;
  transition:background .25s cubic-bezier(.22,1,.36,1), border-color .25s cubic-bezier(.22,1,.36,1), opacity .25s cubic-bezier(.22,1,.36,1);
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.08) !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{
  width:12px !important;
  height:12px !important;
  fill:#fff !important;
}

.flatpickr-innerContainer,
.flatpickr-rContainer,
.flatpickr-days,
.dayContainer{
  background:transparent !important;
}

.flatpickr-weekdays{
  height:34px !important;
  margin-top:4px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:transparent !important;
}

.flatpickr-weekdaycontainer{
  background:transparent !important;
}

span.flatpickr-weekday{
  color:rgba(255,255,255,.46) !important;
  background:transparent !important;
  font-size:10px !important;
  font-weight:500 !important;
  line-height:34px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.flatpickr-day{
  max-width:38px !important;
  height:38px !important;
  line-height:38px !important;
  margin:1px !important;
  border:1px solid transparent !important;
  border-radius:8px !important;
  background:transparent !important;
  color:rgba(255,255,255,.78) !important;
  font-size:12px !important;
  font-weight:400 !important;
  transition:background .22s cubic-bezier(.22,1,.36,1), border-color .22s cubic-bezier(.22,1,.36,1), color .22s cubic-bezier(.22,1,.36,1), transform .22s cubic-bezier(.22,1,.36,1);
}

.flatpickr-day:hover,
.flatpickr-day:focus{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  transform:translateY(-1px);
}

.flatpickr-day.today{
  border-color:rgba(255,255,255,.42) !important;
  color:#fff !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover{
  border-color:#fff !important;
  background:#fff !important;
  color:#070707 !important;
  box-shadow:0 10px 24px rgba(255,255,255,.10) !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover{
  border-color:transparent !important;
  background:transparent !important;
  color:rgba(255,255,255,.22) !important;
  transform:none !important;
}

.numInputWrapper span{
  border:0 !important;
}

@keyframes louvaniCalendarIn{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media (max-width: 420px){
  .flatpickr-calendar{
    width:calc(100vw - 28px) !important;
  }
}

/* Flatpickr header control fixes */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg{
  display:block !important;
  margin:0 !important;
  transform:none !important;
}

.flatpickr-current-month{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  pointer-events:auto !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months{
  appearance:auto !important;
  -webkit-appearance:menulist !important;
  width:auto !important;
  min-width:112px !important;
  padding:0 18px 0 0 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

.flatpickr-current-month .numInputWrapper{
  width:64px !important;
  display:inline-flex !important;
  align-items:center !important;
}

.flatpickr-current-month input.cur-year{
  width:64px !important;
  margin:0 !important;
  padding:0 4px !important;
  cursor:text !important;
  pointer-events:auto !important;
  text-align:left !important;
}

.flatpickr-current-month .numInputWrapper span{
  display:block !important;
  opacity:.6 !important;
  border-color:rgba(255,255,255,.18) !important;
}

.flatpickr-current-month .numInputWrapper:hover span{
  opacity:1 !important;
}

.flatpickr-current-month .numInputWrapper[hidden]{
  display:none !important;
}

.flatpickr-current-month .louvani-year-select{
  appearance:auto !important;
  -webkit-appearance:menulist !important;
  min-width:74px !important;
  height:24px !important;
  margin:0 !important;
  padding:0 18px 0 4px !important;
  border:0 !important;
  border-radius:4px !important;
  background:transparent !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  cursor:pointer !important;
}

.flatpickr-current-month .louvani-year-select:focus{
  outline:1px solid rgba(255,255,255,.38) !important;
  outline-offset:3px !important;
}

.flatpickr-current-month .louvani-year-select option{
  background:#080808 !important;
  color:#fff !important;
}

/* Final calendar date-cell containment */
.flatpickr-calendar .dayContainer{
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:2px !important;
  width:292px !important;
  min-width:292px !important;
  max-width:292px !important;
  padding:2px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.flatpickr-calendar .flatpickr-day{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:36px !important;
  line-height:36px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  border-radius:6px !important;
  transform:none !important;
}

.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day:focus,
.flatpickr-calendar .flatpickr-day.today,
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange{
  transform:none !important;
}

.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-weekdaycontainer{
  width:292px !important;
  min-width:292px !important;
  max-width:292px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.flatpickr-calendar span.flatpickr-weekday{
  flex:0 0 calc(100% / 7) !important;
  width:calc(100% / 7) !important;
  min-width:0 !important;
  max-width:calc(100% / 7) !important;
  box-sizing:border-box !important;
}

/* Final visible override: charter review route must beat earlier label styles */
.plan-flight-page .charter-review #reviewRoute{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:14px !important;
  color:#fff !important;
  font-size:clamp(22px,2.5vw,34px) !important;
  font-weight:500 !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute span{
  display:inline-flex !important;
  align-items:center !important;
  color:#fff !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow{
  position:relative !important;
  flex:0 0 clamp(68px,6.5vw,110px) !important;
  min-width:clamp(68px,6.5vw,110px) !important;
  width:clamp(68px,6.5vw,110px) !important;
  height:2px !important;
  margin:0 6px !important;
  background:#fff !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow::after{
  content:"" !important;
  position:absolute !important;
  right:-1px !important;
  top:50% !important;
  width:11px !important;
  height:11px !important;
  border-top:2px solid #fff !important;
  border-right:2px solid #fff !important;
  transform:translateY(-50%) rotate(45deg) !important;
}

/* Device accessibility pass: fluid sizing from compact phones to ultrawide monitors. */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  min-width:0;
}

img,
video,
canvas,
svg{
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
}

.container{
  width:100%;
  max-width:min(var(--container), calc(100vw - 1px));
  padding-left:clamp(16px, 4vw, 72px);
  padding-right:clamp(16px, 4vw, 72px);
}

.topbar-inner{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
}

.topbar{
  position:absolute !important;
  inset:0 0 auto 0 !important;
  z-index:100000 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.top-left,
.top-right,
.brand-center{
  min-width:0;
}

.brand-center img{
  height:auto;
  max-height:clamp(68px, 6vw, 124px);
}

.top-right{
  gap:clamp(8px, 1vw, 18px);
}

.topbar .call-link,
.top-right .call-link{
  display:inline-flex !important;
  align-items:center;
}

.btn{
  min-height:44px;
  white-space:normal;
  text-align:center;
}

.section,
.content-section,
.plan-wrap,
.signature-hero,
.content-hero{
  padding-left:0;
  padding-right:0;
}

.section-title,
.content-hero h1,
.signature-hero h1,
.legal-hero h1,
.contact-hero h1,
.events-title-two-line{
  overflow-wrap:normal;
  text-wrap:balance;
}

.cards,
.page-grid,
.event-grid,
.journey-grid,
.contact-form-grid,
.contact-layout,
.contact-panels,
.review-grid,
.footer-menu-grid{
  min-width:0;
}

.card,
.page-card,
.event-card,
.plan-card,
.contact-card,
.legal-menu,
.about-card,
.depth-panel{
  min-width:0;
}

.field,
.field-shell,
.float-field,
.prefix-wrap{
  min-width:0;
}

@media (min-width:1920px){
  :root{
    --container:1880px;
  }

  body{
    font-size:clamp(13px, .72vw, 16px);
  }

  .container{
    padding-left:clamp(72px, 4.5vw, 120px);
    padding-right:clamp(72px, 4.5vw, 120px);
  }
}

@media (min-width:2400px){
  :root{
    --container:2140px;
  }
}

@media (max-width:1100px){
  .topbar-inner{
    grid-template-columns:auto 1fr auto;
  }

  .cards,
  .page-grid,
  .event-grid,
  .journey-grid,
  .review-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .contact-layout,
  .contact-panels{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:760px){
  .container{
    padding-left:16px;
    padding-right:16px;
  }

  .topbar{
    padding-top:14px;
  }

  .topbar-inner{
    grid-template-columns:auto 1fr auto !important;
    gap:10px;
  }

  .brand-center{
    justify-self:center;
  }

  .brand-center img{
    max-height:68px;
  }

  .top-right{
    justify-content:flex-end;
  }

  .topbar .call-link,
  .top-right .call-link{
    display:inline-flex !important;
    font-size:12px !important;
    letter-spacing:.04em !important;
  }

  .top-right > .btn{
    display:none;
  }

  .menu-trigger span[data-i18n="menu"]{
    display:none;
  }

  .cards,
  .page-grid,
  .event-grid,
  .journey-grid,
  .review-grid,
  .contact-form-grid,
  .footer-menu-grid{
    grid-template-columns:1fr !important;
  }

  .contact-form-grid > *,
  .review-grid > *,
  .footer-menu-grid > *{
    grid-column:1 / -1 !important;
  }

  .plan-card,
  .contact-card,
  .about-card,
  .legal-menu{
    border-radius:20px;
  }

  .footer-menu-column,
  .footer-menu-column:nth-child(even),
  .footer-menu-column:nth-child(odd){
    border-left:0 !important;
    border-right:0 !important;
  }

  .footer-legal-row{
    display:block !important;
  }

  .footer-bottom-menu .footer-side{
    justify-content:flex-start !important;
  }
}

@media (max-width:420px){
  .btn{
    width:100%;
    padding-inline:16px;
  }

  .circle-icon{
    width:34px;
    height:34px;
  }

  .drawer{
    width:min(320px, 94vw);
    padding:20px;
  }

  .lang-menu{
    min-width:190px !important;
  }
}

/* Final language menu override: show every language in one column without scrolling. */
.lang-menu{
  min-width:180px !important;
  max-height:none !important;
  overflow:visible !important;
  padding:6px !important;
}
.lang-menu.show{
  display:block !important;
}
.lang-menu button{
  min-height:36px !important;
  padding:9px 14px !important;
  border-radius:10px !important;
  white-space:nowrap !important;
}

.lang-wrap,
.lang-menu,
.lang-menu button{
  direction:ltr !important;
  text-align:left !important;
}

.lang-menu{
  z-index:100002 !important;
  pointer-events:auto !important;
}

/* Contact page redesign */
.contact-page{
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(180deg, #050505 0%, #0b0b0b 48%, #060606 100%);
}

.contact-page .contact-hero{
  padding-top:clamp(150px, 16vw, 220px);
  padding-bottom:clamp(62px, 8vw, 112px);
}

.contact-page-heading{
  max-width:980px;
  padding-bottom:clamp(42px, 6vw, 78px);
}

.contact-page-heading .section-eyebrow{
  margin-bottom:18px;
}

.contact-page .contact-title{
  margin:0 !important;
  max-width:none !important;
  font-size:clamp(44px, 7vw, 104px) !important;
  line-height:.96 !important;
  letter-spacing:.12em !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
}

.contact-page-heading p{
  max-width:720px;
  margin:24px 0 0;
  color:rgba(255,255,255,.72) !important;
  font-size:clamp(16px, 1.2vw, 19px) !important;
  line-height:1.75 !important;
}

.contact-layout-premium{
  display:grid !important;
  grid-template-columns:minmax(280px, .72fr) minmax(0, 1.28fr) !important;
  gap:clamp(36px, 6vw, 96px) !important;
  align-items:start;
  border-top:1px solid rgba(255,255,255,.16);
  padding-top:clamp(34px, 5vw, 58px);
}

.contact-direct{
  display:grid;
  gap:0;
}

.contact-page .contact-panel{
  border-right:0 !important;
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:0 0 30px !important;
  margin:0 0 30px;
}

.contact-page .contact-panel:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0 !important;
}

.contact-page .contact-panel .heading{
  margin-bottom:12px;
  color:rgba(255,255,255,.58);
  font-size:11px !important;
  letter-spacing:.28em !important;
}

.contact-page .contact-panel a,
.contact-page .contact-panel span{
  display:inline-block;
  color:#fff;
  font-size:clamp(22px, 2.4vw, 34px) !important;
  line-height:1.2 !important;
  font-weight:400;
  letter-spacing:.02em;
  text-decoration:none;
}

.contact-page .contact-panel a:hover{
  text-decoration:underline;
  text-underline-offset:8px;
}

.contact-page .contact-panel p{
  margin:14px 0 0;
  max-width:390px;
  color:rgba(255,255,255,.62) !important;
  font-size:14px !important;
  line-height:1.85 !important;
}

.contact-form-panel{
  margin:0 !important;
  padding:0 !important;
  border-top:0 !important;
}

.contact-enquiry-form{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px 24px !important;
}

.contact-page .field-label-left{
  min-height:22px;
  margin-bottom:8px;
  color:rgba(255,255,255,.78);
  font-size:12px !important;
  line-height:1.35;
  letter-spacing:.08em;
}

.contact-page .field.compact .field-shell{
  display:block;
  padding:0;
  border:0;
}

.contact-page .field.compact input,
.contact-page .field.compact select,
.contact-page .field.compact textarea{
  width:100%;
  min-height:56px;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:0;
  background:rgba(255,255,255,.025) !important;
  color:#fff;
  padding:15px 16px;
  font-size:15px !important;
  line-height:1.45 !important;
  outline:none;
}

.contact-page .field.compact textarea{
  min-height:154px;
  resize:vertical;
}

.contact-page .field.compact select{
  appearance:auto;
}

.contact-page .field.compact select option{
  color:#111;
}

.contact-phone-field,
.contact-message-field,
.contact-page .contact-note,
.contact-page .submit-row{
  grid-column:1 / -1;
}

.contact-page .phone-shell{
  display:grid !important;
  grid-template-columns:minmax(180px, .4fr) minmax(0, 1fr);
  gap:14px;
}

.contact-page .contact-note{
  display:grid;
  gap:14px;
  margin-top:4px;
  color:rgba(255,255,255,.62) !important;
}

.contact-page .checkbox-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.contact-page .checkbox-row input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin-top:7px;
  accent-color:#fff;
}

.contact-page .contact-note a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}

.contact-page .submit-row{
  margin-top:8px;
}

.contact-page .submit-row .btn{
  min-width:180px;
}

.contact-page .submit-row button[disabled]{
  opacity:.44;
  cursor:not-allowed;
  transform:none;
}

@media (max-width:1100px){
  .contact-layout-premium{
    grid-template-columns:1fr !important;
  }

  .contact-direct{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
  }

  .contact-page .contact-panel{
    border-bottom:0;
    border-right:1px solid rgba(255,255,255,.12) !important;
    margin:0;
    padding:0 24px 0 0 !important;
  }

  .contact-page .contact-panel:last-child{
    border-right:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width:760px){
  .contact-page .contact-hero{
    padding-top:136px;
  }

  .contact-page .contact-title{
    font-size:clamp(38px, 12vw, 58px) !important;
    letter-spacing:.08em !important;
  }

  .contact-direct,
  .contact-enquiry-form,
  .contact-page .phone-shell{
    grid-template-columns:1fr !important;
  }

  .contact-page .contact-panel{
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12);
    padding:0 0 24px !important;
  }

  .contact-page .contact-panel:last-child{
    border-bottom:0;
  }

  .contact-page .field-label-left{
    min-height:auto;
  }
}

/* Contact page requested refinements */
.contact-page .contact-title{
  font-size:clamp(30px, 3.8vw, 54px) !important;
  line-height:1.04 !important;
}

.contact-page .contact-page-heading{
  padding-bottom:clamp(28px, 4vw, 48px);
}

.contact-page .contact-layout-premium{
  grid-template-columns:1fr !important;
  gap:clamp(28px, 4vw, 46px) !important;
}

.contact-page .contact-direct{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(22px, 4vw, 54px);
  max-width:none;
}

.contact-page .contact-panel{
  display:block;
  border-right:1px solid rgba(255,255,255,.12) !important;
  border-bottom:0 !important;
  margin:0 !important;
  padding:0 clamp(18px, 3vw, 42px) 0 0 !important;
}

.contact-page .contact-panel:last-child{
  border-right:0 !important;
  border-bottom:0 !important;
  padding-right:0 !important;
}

.contact-page .contact-panel .heading{
  margin:0;
}

.contact-page .contact-panel a,
.contact-page .contact-panel span{
  font-size:clamp(20px, 2vw, 30px) !important;
}

.contact-page .contact-panel p{
  grid-column:auto;
  margin:14px 0 0;
}

.contact-page .contact-form-panel{
  max-width:980px;
}

.contact-page .contact-form-panel.is-success{
  width:100%;
  min-height:520px;
  display:grid;
}

.contact-page .field.compact input,
.contact-page .field.compact select,
.contact-page .field.compact textarea{
  min-height:58px !important;
  height:58px;
}

.contact-page .field.compact textarea{
  resize:none;
}

.contact-page .field.compact input:invalid,
.contact-page .field.compact select:invalid,
.contact-page .field.compact textarea:invalid{
  box-shadow:none;
}

.contact-form-status{
  grid-column:1 / -1;
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:13px;
  line-height:1.7;
}

.contact-success-message{
  display:grid;
  place-items:center;
  min-height:520px;
  height:100%;
  width:100%;
  max-width:980px;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:clamp(42px, 7vw, 90px);
  color:#fff;
  font-size:clamp(22px, 2.7vw, 40px);
  line-height:1.18;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  text-wrap:balance;
}

.contact-page .contact-form-panel.is-success .contact-success-message{
  max-width:none;
}

.contact-success-message::before{
  content:"YOUR MESSAGE HAS BEEN RECEIVED\A AND THE LOUVANI TEAM WILL BE\A IN TOUCH SHORTLY";
  white-space:pre-line;
}

.contact-success-message{
  font-size:0;
}

.contact-success-message::before{
  font-size:clamp(22px, 2.7vw, 40px);
}

.contact-success-message[hidden]{
  display:none !important;
}

@media (max-width:760px){
  .contact-page .contact-title{
    font-size:clamp(28px, 9vw, 42px) !important;
  }

  .contact-page .contact-panel{
    display:block;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
    padding:0 0 22px !important;
  }

  .contact-page .contact-panel p{
    grid-column:auto;
  }

  .contact-page .contact-direct{
    grid-template-columns:1fr;
    gap:22px;
  }

  .contact-success-message{
    min-height:360px;
  }

  .contact-page .contact-form-panel.is-success{
    min-height:360px;
  }
}

/* Absolute final heading fit */
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.why-headline,
.content-hero h1,
.signature-hero h1,
.why-louvani-hero h1,
.feature-banner h2,
.promise-content h2,
.event-collection-card h3,
.events-feature-copy h2{
  font-weight:600 !important;
  font-size:clamp(20px,2.7vw,40px) !important;
  line-height:1.08 !important;
  max-height:none !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.hero h1,
.content-hero h1,
.signature-hero h1,
.why-louvani-hero h1,
.event-hero-copy h1{
  font-size:clamp(26px,4.2vw,54px) !important;
}

.event-collection-card h3,
.card h3,
.page-card h3,
.event-card h3{
  font-size:clamp(18px,1.65vw,28px) !important;
}

/* Final universal heading treatment */
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.why-headline,
.content-hero h1,
.signature-hero h1,
.why-louvani-hero h1,
.feature-banner h2,
.promise-content h2,
.event-collection-card h3,
.events-feature-copy h2{
  font-weight:600 !important;
  font-size:clamp(20px,2.7vw,40px) !important;
  line-height:1.08 !important;
  max-height:none !important;
  display:block !important;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  overflow:visible !important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

.hero h1,
.content-hero h1,
.signature-hero h1,
.why-louvani-hero h1,
.event-hero-copy h1{
  font-size:clamp(26px,4.2vw,54px) !important;
}

.event-collection-card h3,
.card h3,
.page-card h3,
.event-card h3{
  font-size:clamp(18px,1.65vw,28px) !important;
}

/* Final universal heading treatment */
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.why-headline,
.content-hero h1,
.signature-hero h1,
.why-louvani-hero h1,
.feature-banner h2,
.promise-content h2,
.event-collection-card h3,
.events-feature-copy h2{
  font-weight:600 !important;
  font-size:clamp(20px,2.7vw,40px) !important;
  line-height:1.08 !important;
  max-height:none !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:initial !important;
  overflow:visible !important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

/* Absolute last review-route size correction */
.plan-flight-page .charter-review #reviewRoute{
  gap:12px !important;
  font-size:clamp(18px,1.8vw,26px) !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow{
  flex-basis:clamp(54px,5vw,82px) !important;
  min-width:clamp(54px,5vw,82px) !important;
  width:clamp(54px,5vw,82px) !important;
}

/* Absolute final charter review route override */
.plan-flight-page .charter-review #reviewRoute{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:12px !important;
  margin-top:14px !important;
  color:#fff !important;
  font-size:clamp(18px,1.8vw,26px) !important;
  font-weight:500 !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute span{
  display:inline-flex !important;
  align-items:center !important;
  color:#fff !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow{
  position:relative !important;
  flex:0 0 clamp(54px,5vw,82px) !important;
  min-width:clamp(54px,5vw,82px) !important;
  width:clamp(54px,5vw,82px) !important;
  height:2px !important;
  margin:0 6px !important;
  background:#fff !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow::after{
  content:"" !important;
  position:absolute !important;
  right:-1px !important;
  top:50% !important;
  width:11px !important;
  height:11px !important;
  border-top:2px solid #fff !important;
  border-right:2px solid #fff !important;
  transform:translateY(-50%) rotate(45deg) !important;
}

/* Final override for the charter review route line */
.plan-flight-page .charter-review #reviewRoute{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:14px !important;
  color:#fff !important;
  font-size:clamp(34px,4.2vw,62px) !important;
  font-weight:500 !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute span{
  display:inline-flex !important;
  align-items:center !important;
  color:#fff !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow{
  position:relative !important;
  flex:0 0 clamp(90px,9vw,150px) !important;
  min-width:clamp(90px,9vw,150px) !important;
  height:2px !important;
  margin:0 4px !important;
  background:#fff !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow::after{
  content:"" !important;
  position:absolute !important;
  right:-1px !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-top:2px solid #fff !important;
  border-right:2px solid #fff !important;
  transform:translateY(-50%) rotate(45deg) !important;
}

/* Premium Plan Your Flight trust and concierge details */
.plan-flight-page .aircraft-guidance{
  margin:8px 0 0;
  color:rgba(255,255,255,.48);
  font-size:11px;
  line-height:1.55;
  letter-spacing:.04em;
}

.plan-flight-page .charter-trust-strip{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  margin-top:8px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  overflow:hidden;
  background:rgba(255,255,255,.035);
}

.plan-flight-page .charter-trust-strip div{
  min-height:112px;
  padding:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
}

.plan-flight-page .charter-trust-strip span,
.plan-flight-page .charter-review span,
.plan-flight-page .next-steps span{
  display:block;
  color:rgba(255,255,255,.46);
  font-size:10px;
  line-height:1.4;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.plan-flight-page .charter-trust-strip strong{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.82);
  font-size:13px;
  font-weight:400;
  line-height:1.65;
}

.plan-flight-page .charter-review{
  margin-bottom:34px;
  padding:26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.06), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014));
}

.plan-flight-page .charter-review h3{
  margin:10px 0 0;
  color:#fff;
  font-size:clamp(28px,3.2vw,46px);
  font-weight:500;
  line-height:1.18;
  letter-spacing:.03em;
}

.plan-flight-page #reviewRoute{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

.plan-flight-page #reviewRoute .review-route-arrow{
  min-width:72px;
  text-align:center;
  color:#fff;
  font-weight:400;
  letter-spacing:.02em;
}

.plan-flight-page .review-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px 22px;
  margin-top:24px;
}

.plan-flight-page .review-grid div{
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
}

.plan-flight-page .review-grid strong{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.88);
  font-size:14px;
  font-weight:400;
  line-height:1.5;
}

.plan-flight-page .form-reveal-panel .charter-review,
.plan-flight-page .form-reveal-panel .next-steps{
  opacity:0;
  transform:translateY(16px);
  transition:
    opacity .65s cubic-bezier(.22,1,.36,1),
    transform .65s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .form-reveal-panel.is-visible .charter-review,
.plan-flight-page .form-reveal-panel.is-visible .next-steps{
  opacity:1;
  transform:translateY(0);
}

.plan-flight-page .form-reveal-panel.is-visible .charter-review{
  transition-delay:.02s;
}

.plan-flight-page .form-reveal-panel.is-visible .next-steps{
  transition-delay:.22s;
}

.plan-flight-page .submit-reassurance{
  margin:-6px 0 0;
  color:rgba(255,255,255,.52);
  font-size:11px;
  line-height:1.65;
  letter-spacing:.06em;
}

.plan-flight-page .next-steps{
  margin-top:36px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.10);
}

.plan-flight-page .next-steps-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:18px;
}

.plan-flight-page .next-steps-grid div{
  min-height:170px;
  padding:22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}

.plan-flight-page .next-steps-grid strong{
  display:block;
  margin-top:16px;
  color:#fff;
  font-size:14px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.plan-flight-page .next-steps-grid p{
  margin:12px 0 0;
  color:rgba(255,255,255,.58);
  font-size:12.5px;
  line-height:1.72;
}

.plan-flight-page .response-note{
  margin:18px 0 0;
  color:rgba(255,255,255,.68);
  font-size:12px;
  line-height:1.7;
  letter-spacing:.08em;
}

.request-submitted-page .submitted-note{
  margin-top:12px;
  color:rgba(255,255,255,.56);
  font-size:12px;
  letter-spacing:.04em;
}

@media (max-width:900px){
  .plan-flight-page .charter-trust-strip,
  .plan-flight-page .review-grid,
  .plan-flight-page .next-steps-grid{
    grid-template-columns:1fr;
  }

  .plan-flight-page .charter-trust-strip div,
  .plan-flight-page .next-steps-grid div{
    min-height:auto;
  }
}

/* Route country flags */
.plan-flight-page .field .flag{
  position:absolute;
  right:6px;
  top:34px;
  z-index:4;
  display:grid;
  place-items:center;
  width:32px;
  height:24px;
  font-size:16px;
  line-height:1;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity .24s cubic-bezier(.22,1,.36,1), transform .24s cubic-bezier(.22,1,.36,1), border-color .24s cubic-bezier(.22,1,.36,1);
}

.plan-flight-page .field .flag.is-visible{
  opacity:1;
  transform:translateY(0);
}

.plan-flight-page .field:focus-within .flag{
  border-color:transparent;
}

.plan-flight-page #fromInput,
.plan-flight-page #toInput{
  padding-right:44px !important;
  appearance:none;
  -webkit-appearance:none;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  -webkit-box-shadow:none !important;
}

.plan-flight-page #fromInput:focus,
.plan-flight-page #toInput:focus{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  -webkit-box-shadow:none !important;
}

.plan-flight-page .autocomplete button{
  display:grid !important;
  grid-template-columns:28px minmax(0, 1fr);
  gap:10px;
  align-items:center;
}

.plan-flight-page .autocomplete-flag{
  display:grid;
  place-items:center;
  width:26px;
  height:20px;
  font-size:14px;
  line-height:1;
}

.plan-flight-page .plan-card-premium,
.plan-flight-page .plan-card-premium *,
.flatpickr-calendar,
.flatpickr-calendar *{
  user-select:none !important;
  -webkit-user-select:none !important;
}

.plan-flight-page input,
.plan-flight-page textarea{
  user-select:text !important;
  -webkit-user-select:text !important;
}

.plan-flight-page #departureDate,
.plan-flight-page #returnDate,
.plan-flight-page #passengers,
.plan-flight-page #submitFlight,
.plan-flight-page .route-stats,
.plan-flight-page .route-estimate-note{
  user-select:none !important;
  -webkit-user-select:none !important;
}

/* Request submitted page */
.request-submitted-page{
  min-height:100svh;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.08), transparent 36%),
    linear-gradient(135deg, #050505 0%, #101010 48%, #050505 100%);
}

.submitted-screen{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:160px 0 90px;
  text-align:center;
}

.submitted-panel{
  max-width:850px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:48px 0;
}

.submitted-panel h1{
  max-width:820px;
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(24px,4.1vw,62px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.submitted-panel h1 span{
  display:block;
  white-space:nowrap;
}

.submitted-panel p{
  max-width:660px;
  margin:22px auto 0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.8;
  letter-spacing:.02em;
}

.submitted-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  margin-top:34px;
}

@media (max-width:640px){
  .submitted-screen{
    padding:140px 0 70px;
  }

  .submitted-actions .btn{
    width:100%;
  }
}

/* Estimate disclaimer and terms detail */
.plan-flight-page .route-estimate-note{
  max-width:760px;
  margin:18px 0 0;
  color:rgba(255,255,255,.46);
  font-size:11px;
  line-height:1.65;
  letter-spacing:.06em;
}

.terms-detail-section{
  padding-top:0;
}

.terms-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

.terms-detail-block{
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  padding:28px;
}

.terms-detail-block p{
  margin:14px 0 0;
  color:rgba(255,255,255,.62);
  font-size:12.5px;
  line-height:1.78;
  letter-spacing:.02em;
}

@media (max-width:900px){
  .terms-detail-grid{
    grid-template-columns:1fr;
  }
}

/* Legal information page */
.legal-hero p{
  max-width:900px;
}

.legal-information-section{
  padding-top:0;
}

.legal-policy-menu{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1px;
  margin-bottom:42px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.08);
}

.legal-policy-menu a{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:14px 16px;
  background:#0a0a0a;
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1.45;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:background .24s var(--ease-luxury), color .24s var(--ease-luxury);
}

.legal-policy-menu a:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}

.legal-policy-list{
  display:grid;
  gap:22px;
}

.legal-policy-block{
  scroll-margin-top:110px;
  border-top:1px solid rgba(255,255,255,.14);
  padding:30px 0 10px;
}

.legal-policy-block h2{
  margin:0;
  color:#fff;
  font-size:clamp(20px, 2vw, 30px) !important;
  line-height:1.16 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
}

.legal-policy-block p{
  max-width:1120px;
  margin:16px 0 0;
  color:rgba(255,255,255,.68);
  font-size:15px !important;
  line-height:1.86 !important;
  letter-spacing:.02em;
}

@media (max-width:640px){
  .legal-policy-menu a{
    grid-column:1 / -1 !important;
    min-height:58px;
  }
}

/* Flatpickr seven-column alignment fix */
.flatpickr-weekdaycontainer,
.dayContainer{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:0 !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  overflow:visible !important;
}

span.flatpickr-weekday,
.flatpickr-day{
  flex:0 0 calc(100% / 7) !important;
  width:calc(100% / 7) !important;
  min-width:0 !important;
  max-width:calc(100% / 7) !important;
  margin:0 !important;
  box-sizing:border-box !important;
  text-align:center !important;
}

.flatpickr-day{
  height:38px !important;
  line-height:38px !important;
  border-radius:8px !important;
}

.flatpickr-day.today,
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange{
  box-shadow:inset 0 0 0 1px currentColor !important;
}

/* Louvani date picker layout correction */
.flatpickr-calendar{
  width:324px !important;
  padding:16px !important;
}

.flatpickr-rContainer,
.flatpickr-days,
.dayContainer{
  width:292px !important;
  min-width:292px !important;
  max-width:292px !important;
}

.flatpickr-weekdays,
.flatpickr-weekdaycontainer{
  width:292px !important;
}

.flatpickr-months{
  width:292px !important;
}

.flatpickr-current-month{
  left:34px !important;
  width:224px !important;
  padding:10px 0 0 !important;
}

.flatpickr-months .flatpickr-prev-month{
  left:0 !important;
}

.flatpickr-months .flatpickr-next-month{
  right:0 !important;
}

.flatpickr-days{
  margin-top:10px !important;
}

.dayContainer{
  display:grid !important;
  grid-template-columns:repeat(7, 1fr) !important;
  gap:4px !important;
  justify-items:center !important;
  align-items:center !important;
  padding:0 !important;
}

span.flatpickr-weekday{
  flex:0 0 calc(292px / 7) !important;
  max-width:calc(292px / 7) !important;
  line-height:32px !important;
  text-align:center !important;
}

.flatpickr-weekdays{
  height:32px !important;
  margin:8px 0 0 !important;
}

.flatpickr-day{
  width:38px !important;
  max-width:38px !important;
  height:38px !important;
  margin:0 !important;
  justify-self:center !important;
}

@media (max-width: 420px){
  .flatpickr-calendar{
    width:calc(100vw - 28px) !important;
    padding:14px !important;
  }

  .flatpickr-rContainer,
  .flatpickr-days,
  .dayContainer,
  .flatpickr-weekdays,
  .flatpickr-weekdaycontainer,
  .flatpickr-months{
    width:calc(100vw - 56px) !important;
    min-width:calc(100vw - 56px) !important;
    max-width:calc(100vw - 56px) !important;
  }

  .flatpickr-current-month{
    width:calc(100vw - 124px) !important;
  }

  span.flatpickr-weekday{
    flex-basis:calc((100vw - 56px) / 7) !important;
    max-width:calc((100vw - 56px) / 7) !important;
  }
}

/* Absolute final Flatpickr containment override */
.flatpickr-calendar .dayContainer{
  display:grid !important;
  grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
  gap:2px !important;
  width:292px !important;
  min-width:292px !important;
  max-width:292px !important;
  padding:2px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.flatpickr-calendar .flatpickr-day{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:36px !important;
  line-height:36px !important;
  margin:0 !important;
  justify-self:stretch !important;
  box-sizing:border-box !important;
  border-radius:6px !important;
  transform:none !important;
}

.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day:focus,
.flatpickr-calendar .flatpickr-day.today,
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange{
  transform:none !important;
}

.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-weekdaycontainer{
  width:292px !important;
  min-width:292px !important;
  max-width:292px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

.flatpickr-calendar span.flatpickr-weekday{
  flex:0 0 calc(100% / 7) !important;
  width:calc(100% / 7) !important;
  min-width:0 !important;
  max-width:calc(100% / 7) !important;
  box-sizing:border-box !important;
}

/* Final visible override: charter review route must beat earlier label styles */
.plan-flight-page .charter-review #reviewRoute{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:18px !important;
  margin-top:14px !important;
  color:#fff !important;
  font-size:clamp(34px,4.2vw,62px) !important;
  font-weight:500 !important;
  line-height:1.08 !important;
  letter-spacing:.03em !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute span{
  display:inline-flex !important;
  align-items:center !important;
  color:#fff !important;
  font-size:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:none !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow{
  position:relative !important;
  flex:0 0 clamp(100px,10vw,170px) !important;
  min-width:clamp(100px,10vw,170px) !important;
  width:clamp(100px,10vw,170px) !important;
  height:2px !important;
  margin:0 6px !important;
  background:#fff !important;
  border-radius:999px !important;
  font-size:0 !important;
  line-height:0 !important;
}

.plan-flight-page .charter-review #reviewRoute .review-route-arrow::after{
  content:"" !important;
  position:absolute !important;
  right:-1px !important;
  top:50% !important;
  width:11px !important;
  height:11px !important;
  border-top:2px solid #fff !important;
  border-right:2px solid #fff !important;
  transform:translateY(-50%) rotate(45deg) !important;
}
