/* FLIGHTS & STAYS — CLEAN MASTER DESIGN
   Replace the old stylesheet with this file.
*/
:root{
  --navy:#082b55; --navy-deep:#061e3c; --navy-soft:#103d70;
  --orange:#ff6f00; --blue:#0796e5; --white:#fff; --cream:#fbfaf7;
  --ink:#0b2342; --muted:#607087; --line:#d9e0e8;
  --shadow:0 18px 45px rgba(5,27,55,.14);
  --display:"Playfair Display",Georgia,serif;
  --body:"Inter",Arial,sans-serif; --script:"Caveat",cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.navbar{height:82px;background:rgba(255,255,255,.98);border-bottom:1px solid #e6e8eb;position:relative;z-index:50}
.nav-container{height:100%;max-width:1320px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo img{width:238px;height:auto;max-height:64px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:15px;font-weight:600;color:#0d2340;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--orange)}
.quote-button{background:var(--orange)!important;color:#fff!important;padding:13px 28px;border-radius:999px}
.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}

/* MASTER HOMEPAGE */
.hero{height:calc(100svh - 82px);min-height:680px;position:relative;overflow:hidden;color:#fff;background:url("../images/hero-bg.png") center center/cover no-repeat;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;background:rgba(4,24,49,.08);z-index:-1}
.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;pointer-events:none}
.hero-orbit-left{width:620px;height:620px;left:-310px;top:-330px}
.hero-orbit-right{width:470px;height:470px;right:-250px;bottom:-210px}
.hero-flight-path{position:absolute;right:8%;top:31%;width:250px;height:1px;border-top:1px dashed rgba(255,255,255,.72);transform:rotate(14deg)}
.hero-flight-path span{position:absolute;right:-2px;top:-12px;font-size:22px;color:#fff;transform:rotate(15deg)}
.hero-content{position:absolute;top:55px;left:50%;transform:translateX(-50%);width:min(780px,90%);text-align:center}
.hero-eyebrow{font-size:16px;letter-spacing:.035em;font-weight:500}
.hero-eyebrow span{color:#fff}.hero-eyebrow b{color:var(--orange);margin:0 10px}
.hero-title{font-family:var(--display);font-weight:500;font-size:clamp(58px,5.3vw,82px);line-height:.98;letter-spacing:-2.5px;margin-top:20px;color:#fff}
.hero-title span{display:block}.hero-title em{font-family:var(--script);font-style:normal;font-weight:700;color:var(--orange);font-size:1.18em;margin-right:7px}
.hero-text{font-size:18px;line-height:1.62;margin-top:20px;color:#fff}
.hero-buttons{display:flex;justify-content:center;gap:18px;margin-top:31px}
.primary-btn,.secondary-btn{min-width:214px;height:58px;padding:0 30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.primary-btn{background:var(--orange);color:#fff;border:2px solid var(--orange)}
.primary-btn:hover{background:#eb6200;border-color:#eb6200;transform:translateY(-1px)}
.secondary-btn{border:2px solid rgba(255,255,255,.95);color:#fff;background:transparent}
.secondary-btn:hover{background:rgba(255,255,255,.09)}
.booking-panel{position:absolute;z-index:5;left:50%;bottom:150px;transform:translateX(-50%);width:min(1268px,82%);min-height:250px;background:rgba(255,255,255,.975);color:var(--ink);border-radius:26px;box-shadow:var(--shadow);padding:23px 38px 18px}
.booking-top{display:grid;grid-template-columns:420px 1fr;align-items:end}
.booking-heading{font-family:var(--script);font-size:38px;line-height:1;color:var(--navy);white-space:nowrap;padding:0 0 8px}
.booking-heading b{font-family:var(--body);font-size:18px;color:var(--orange);vertical-align:top;margin-left:5px}
.booking-tabs{height:55px;display:flex;justify-content:flex-end;border-bottom:1px solid var(--line)}
.booking-tab{height:55px;padding:0 22px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:9px;white-space:nowrap}
.booking-tab.active{color:var(--orange);background:#fff;border:1px solid #e4e8ed;border-bottom:0;border-radius:13px 13px 0 0;box-shadow:0 -1px 12px rgba(8,43,85,.05)}
.booking-fields{display:grid;grid-template-columns:1.05fr 1.05fr 1fr 1fr .82fr auto;gap:18px;align-items:end;margin-top:20px}
.booking-field label{display:block;font-size:13px;margin-bottom:7px;color:#33465f}
.booking-field input,.booking-field select{width:100%;height:52px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:0 13px}
.booking-field input::placeholder{color:#7e8998}
.booking-field input:focus,.booking-field select:focus{outline:0;border-color:var(--orange)}
.booking-submit{height:52px;padding:0 25px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-weight:700;white-space:nowrap}
.booking-submit:hover{background:#061f3e}
.booking-trust{text-align:center;margin-top:17px;font-size:13px;color:#30425b}
.hero-benefits{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(1268px,82%);display:grid;grid-template-columns:repeat(4,1fr);height:120px}
.hero-benefit{display:flex;align-items:center;gap:14px;padding:0 28px;border-right:1px solid rgba(255,255,255,.24)}
.hero-benefit:last-child{border-right:0}
.benefit-icon{width:68px;height:68px;min-width:68px;border:2px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-size:25px}
.hero-benefit h3{font-size:16px;color:#fff;margin-bottom:5px}
.hero-benefit p{font-size:13.5px;color:#fff;line-height:1.55}

/* BELOW-FOLD HOMEPAGE */
.services-section{background:var(--cream);padding:90px 6%}
.section-intro{text-align:center;max-width:680px;margin:0 auto 48px}
.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--orange)}
.eyebrow.light{color:#fff}
.section-intro h2,.service-intro h2,.contact-copy h2{font-family:var(--display);font-size:42px;line-height:1.12;margin:10px 0 14px}
.section-intro p,.service-intro>p,.contact-copy>p{color:var(--muted)}
.service-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{background:#fff;border:1px solid #e6e8eb;border-radius:16px;padding:27px 24px;box-shadow:0 8px 25px rgba(8,43,85,.05)}
.service-card>span{font-size:27px;color:var(--orange);display:block;margin-bottom:17px}
.service-card h3{font-size:18px;margin-bottom:8px}
.service-card p{font-size:14px;color:var(--muted);margin-bottom:17px}
.service-card a{font-size:14px;font-weight:700;color:var(--orange)}
.quote-section{background:var(--navy);padding:85px 6%}
.quote-card{max-width:1080px;margin:auto;background:#fff;border-radius:22px;padding:40px;display:grid;grid-template-columns:.72fr 1.28fr;gap:40px;box-shadow:var(--shadow)}
.quote-copy h2{font-family:var(--display);font-size:40px;margin:9px 0}
.quote-copy p:last-child{color:var(--muted)}
.quote-card form{display:grid;gap:13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.quote-card input,.quote-card textarea,.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:13px 14px;color:var(--ink);background:#fff}
.quote-card textarea,.form-submit{grid-column:1/-1}
.form-submit{border:0;width:100%}
footer{background:var(--navy-deep);color:#d9e4f0;text-align:center;padding:25px 6%;font-size:13px}

/* SERVICE PAGES */
.service-hero{min-height:430px;padding:120px 8% 70px;color:#fff;display:flex;align-items:center;background:linear-gradient(90deg,rgba(5,30,61,.88),rgba(5,30,61,.48)),url("../images/hero-bg.png") center/cover no-repeat}
.service-hero>div{max-width:660px}
.service-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(48px,5vw,70px);line-height:1.02;margin:13px 0 18px}
.service-hero p:not(.eyebrow){font-size:17px;color:#eef4fb;max-width:610px;margin-bottom:26px}
.service-content{padding:85px 7%;background:var(--cream)}
.service-intro{max-width:760px;margin:0 auto 45px;text-align:center}
.info-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.info-grid article{background:#fff;border:1px solid #e4e8ed;border-radius:15px;padding:28px 23px;min-height:190px}
.info-grid b{font-family:var(--display);font-size:28px;color:rgba(255,111,0,.42)}
.info-grid h3{font-size:18px;margin:9px 0}
.info-grid p{font-size:14px;color:var(--muted)}
.service-cta{padding:78px 6%;background:linear-gradient(120deg,var(--navy-deep),var(--navy-soft));text-align:center;color:#fff}
.service-cta h2{font-family:var(--display);font-size:40px;margin:10px 0}
.service-cta p:not(.eyebrow){color:#d9e6f3;margin-bottom:25px}
.contact-hero{min-height:390px}
.contact-section{max-width:1050px;margin:auto;padding:75px 6%;display:grid;grid-template-columns:.85fr 1.15fr;gap:50px}
.contact-copy h2{margin-top:10px}.contact-email{margin-top:25px}.contact-email a{color:var(--orange);font-weight:700}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form textarea,.contact-form button{grid-column:1/-1}
.contact-form button{border:0}
.thanks-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f7fafc,#fff)}
.thanks-card{width:min(600px,90%);text-align:center;background:#fff;padding:55px 40px;border-radius:22px;box-shadow:var(--shadow)}
.thanks-card img{width:230px;margin:0 auto 35px}
.thanks-card h1{font-family:var(--display);font-size:42px;margin:9px 0 12px}
.thanks-card p:not(.eyebrow){color:var(--muted);margin-bottom:25px}

/* RESPONSIVE */
@media (max-width:1200px){
  .nav-container{padding:0 25px}.nav-links{gap:20px}
  .logo img{width:210px}
  .booking-panel,.hero-benefits{width:88%}
  .booking-top{grid-template-columns:340px 1fr}
  .booking-tab{padding:0 15px}
}
@media (max-width:980px){
  .navbar{height:76px}.logo img{width:195px}
  .nav-toggle{display:block}
  nav#primaryNav{position:absolute;top:76px;left:0;right:0;background:#fff;max-height:0;overflow:hidden;transition:max-height .25s ease;box-shadow:0 12px 25px rgba(8,43,85,.1)}
  nav#primaryNav.open{max-height:500px}
  .nav-links{padding:20px 25px 25px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}
  .hero{height:auto;min-height:850px;padding-bottom:0}
  .hero-content{position:relative;top:auto;left:auto;transform:none;padding-top:48px}
  .booking-panel{position:relative;left:auto;bottom:auto;transform:none;margin:45px auto 0;width:88%}
  .booking-top{grid-template-columns:1fr;gap:15px}.booking-tabs{justify-content:flex-start;overflow:auto}
  .booking-fields{grid-template-columns:repeat(2,1fr)}
  .booking-submit{grid-column:1/-1}
  .hero-benefits{position:relative;left:auto;bottom:auto;transform:none;margin:35px auto 0;width:88%;height:auto;grid-template-columns:repeat(2,1fr)}
  .hero-benefit{padding:20px 15px;border-bottom:1px solid rgba(255,255,255,.2)}
  .service-grid,.info-grid{grid-template-columns:repeat(2,1fr)}
  .quote-card,.contact-section{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav-container{padding:0 18px}.logo img{width:175px}
  .hero{min-height:0;padding-bottom:35px}
  .hero-content{padding-top:38px;width:92%}
  .hero-eyebrow{font-size:12px}.hero-title{font-size:48px;letter-spacing:-1.4px}
  .hero-text{font-size:15px}.hero-text br{display:none}
  .hero-buttons{flex-direction:column;align-items:center}.primary-btn,.secondary-btn{min-width:200px}
  .booking-panel{width:94%;padding:22px 18px;border-radius:20px}
  .booking-heading{font-size:32px}.booking-tabs{width:100%;justify-content:flex-start}
  .booking-tab{font-size:13px;padding:0 14px}.booking-fields{grid-template-columns:1fr;gap:12px}
  .booking-submit{width:100%}
  .hero-benefits{width:94%;grid-template-columns:1fr}
  .hero-benefit{border-right:0}
  .services-section,.service-content,.quote-section{padding:65px 5%}
  .section-intro h2,.service-intro h2,.contact-copy h2{font-size:34px}
  .service-grid,.info-grid{grid-template-columns:1fr}
  .form-grid,.contact-form{grid-template-columns:1fr}
  .quote-card{padding:28px 20px}.quote-copy h2{font-size:34px}
  .service-hero{min-height:430px;padding:105px 7% 55px}
  .service-hero h1{font-size:47px}
  .contact-section{padding:60px 6%}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* POLISHED SERVICE-PAGE FINISH */
.service-page{background:var(--cream)}
.service-hero{position:relative;min-height:500px;padding:92px 7%;overflow:hidden}
.service-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(7,150,229,.13),transparent 28%),linear-gradient(90deg,rgba(5,30,61,.9) 0%,rgba(5,30,61,.62) 55%,rgba(5,30,61,.36) 100%);pointer-events:none}
.service-hero>div{position:relative;z-index:2}
.service-hero-copy{max-width:650px}
.service-hero-card{position:absolute!important;right:7%;top:50%;transform:translateY(-50%);width:315px;padding:29px;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(4,28,56,.62);backdrop-filter:blur(10px);box-shadow:0 24px 55px rgba(0,0,0,.22);color:#fff}
.service-card-kicker{display:inline-block;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:11px}
.service-hero-card h2{font-family:var(--display);font-size:31px;font-weight:500;line-height:1.1;margin-bottom:21px}
.service-hero-points{display:grid;gap:10px}
.service-hero-points span{font-size:14px;color:#edf5fd;padding-left:18px;position:relative}
.service-hero-points span:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--orange)}
.service-card-rule{height:1px;background:rgba(255,255,255,.2);margin:23px 0 17px}
.service-hero-card a{font-weight:700;font-size:14px;color:#fff}.service-hero-card a span{color:var(--orange);font-size:18px;margin-left:6px}
.service-content{padding:78px 7% 88px}
.service-intro{margin-bottom:38px}
.info-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.info-grid article{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;border-radius:18px}
.info-grid article:after{content:"";position:absolute;right:-35px;bottom:-35px;width:105px;height:105px;border-radius:50%;background:rgba(255,111,0,.06)}
.info-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(8,43,85,.09)}
.info-grid h3{font-size:19px}
.service-cta{position:relative;overflow:hidden}
.service-cta:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-180px;top:-200px}
.service-cta>*{position:relative;z-index:1}
.contact-section{padding-top:85px;padding-bottom:90px}
.contact-copy{padding:20px 0}
.contact-form{background:#fff;padding:30px;border-radius:20px;box-shadow:var(--shadow);border:1px solid #e8edf2}
.contact-form label{font-size:13px;font-weight:600;color:#33465f}
footer{padding:0;background:var(--navy-deep)}
.footer-inner{max-width:1260px;margin:auto;padding:30px 38px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px}
.footer-brand img{width:170px;filter:brightness(0) invert(1);opacity:.92}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px}.footer-links a{font-size:13px;color:#d9e4f0}.footer-links a:hover{color:var(--orange)}
.footer-inner p{font-size:12px;color:#aebfd2;white-space:nowrap}
.thanks-page{background:radial-gradient(circle at 50% 10%,#fff 0,#f4f8fb 60%,#e9f0f6 100%)}
.thanks-page footer{position:fixed;bottom:0;left:0;right:0}.thanks-card{margin-bottom:70px}
@media(max-width:980px){
 .service-hero{min-height:620px;padding:92px 7% 60px}.service-hero-card{position:relative!important;right:auto;top:auto;transform:none;margin-top:38px;width:min(100%,420px)}
 .service-hero-copy{max-width:700px}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.footer-inner p{white-space:normal}
}
@media(max-width:640px){.service-hero{min-height:0}.service-hero-card{width:100%}.footer-inner{padding:28px 18px}.footer-brand img{margin:auto}.footer-links{gap:12px 16px}}


/* =========================================================
   BOOKING PANEL — FINAL ALIGNMENT
   Keeps all four service tabs inside the white slab.
   ========================================================= */
.booking-top{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  align-items:end;
  column-gap:24px;
}

.booking-heading{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding-left:2px;
}

.booking-tabs{
  min-width:0;
  width:100%;
  height:55px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  justify-content:stretch;
  overflow:visible;
}

.booking-tab{
  min-width:0;
  width:100%;
  padding:0 10px;
  justify-content:center;
  font-size:14px;
  gap:7px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.booking-tab span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1050px){
  .booking-top{
    grid-template-columns:280px minmax(0,1fr);
    column-gap:16px;
  }
  .booking-heading{font-size:32px}
  .booking-tab{font-size:13px;padding:0 7px}
}

@media (max-width:820px){
  .booking-top{
    grid-template-columns:1fr;
    gap:12px;
  }
  .booking-tabs{
    height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-bottom:0;
  }
  .booking-tab{
    height:48px;
    border:1px solid var(--line);
    border-radius:9px;
  }
  .booking-tab.active{
    border:1px solid #e4e8ed;
    border-radius:9px;
    box-shadow:none;
  }
}

@media (max-width:520px){
  .booking-tabs{grid-template-columns:1fr}
}


/* FINAL BOOKING PANEL LAYOUT — controlled, compact, no tab overflow */
.booking-panel{box-sizing:border-box;}
.booking-top{grid-template-columns:minmax(250px,330px) minmax(0,1fr);column-gap:20px;align-items:end;}
.booking-heading{font-size:34px;min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap;}
.booking-tabs{min-width:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:55px;overflow:hidden;}
.booking-tab{min-width:0;width:100%;box-sizing:border-box;padding:0 8px;justify-content:center;gap:6px;font-size:13px;overflow:hidden;}
.booking-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.booking-tab.active{min-width:0;}
@media (max-width:1200px){
  .booking-panel{width:min(1268px,90%);padding-left:28px;padding-right:28px;}
  .booking-top{grid-template-columns:minmax(235px,290px) minmax(0,1fr);column-gap:16px;}
  .booking-heading{font-size:31px;}
  .booking-tab{font-size:12px;padding:0 5px;}
}
@media (max-width:980px){
  .booking-top{grid-template-columns:1fr;gap:12px;}
  .booking-heading{font-size:34px;}
  .booking-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;}
  .booking-tab{height:50px;font-size:12px;}
}
@media (max-width:700px){
  .booking-tabs{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:7px;}
  .booking-tab{height:46px;border:1px solid var(--line);border-radius:9px;}
  .booking-tab.active{border:1px solid #e4e8ed;border-radius:9px;box-shadow:none;}
}
@media (max-width:520px){
  .booking-tabs{grid-template-columns:1fr;}
}
