@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Poppins:wght@600;700;800;900&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --green-dark:#064e3b;
  --green:#047857;
  --bright:#10b981;
  --mint:#ecfdf5;
  --gold:#facc15;
  --text:#111827;
  --muted:#6b7280;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(15,23,42,.14);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',Arial,sans-serif;background:#f8fafc;color:var(--text);line-height:1.65}
h1,h2,h3{font-family:'Poppins',Arial,sans-serif}
a{text-decoration:none}
img{max-width:100%}

.promo{
  background:linear-gradient(90deg,var(--green-dark),var(--bright));
  color:white;text-align:center;font-weight:900;padding:10px 5%;font-size:.95rem
}
.promo a{color:white;text-decoration:underline}

.site-header{
  background:rgba(255,255,255,.97);
  padding:12px 5%;
  display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;z-index:1000;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  backdrop-filter:blur(10px)
}
.brand{display:flex;align-items:center;gap:10px;color:var(--green-dark)}
.brand img{width:54px;height:54px;border-radius:50%;object-fit:contain}
.brand strong{display:block;font-size:1.05rem;line-height:1.05}
.brand small{display:block;color:var(--green);font-weight:800;font-size:.68rem}
.menu-toggle{border:0;background:transparent;font-size:2rem;color:var(--green-dark)}
.nav-menu{display:none;width:100%;flex-direction:column;gap:14px;padding-top:18px}
.nav-menu.active{display:flex}
.nav-menu a{color:var(--text);font-weight:800}
.nav-btn{background:var(--green-dark);color:white!important;padding:12px 20px;border-radius:999px}

.hero{
  min-height:90vh;position:relative;display:grid;grid-template-columns:1fr;
  gap:24px;align-items:center;padding:70px 5% 80px;overflow:hidden
}
.hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.9),rgba(255,255,255,.28)),url('../images/hero-airport-family.png');
  background-size:cover;background-position:center;z-index:-1
}
.kicker{color:var(--green);font-size:.8rem;letter-spacing:1px;text-transform:uppercase;font-weight:900;margin-bottom:12px}
.hero h1{font-size:clamp(2.45rem,11vw,4.8rem);line-height:1.05;margin-bottom:18px;color:#071827;max-width:760px}
.hero h1 span{display:block;color:var(--green)}
.hero p{font-size:1.12rem;max-width:650px;margin-bottom:24px;color:#374151}
.hero-actions{display:grid;gap:12px}
.btn,.lead-form button{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:14px 22px;border-radius:999px;font-weight:900;border:none;cursor:pointer;text-align:center
}
.primary{background:var(--green);color:white;box-shadow:0 10px 24px rgba(4,120,87,.22)}
.primary:hover{background:var(--green-dark)}
.white{background:white;color:var(--text);border:2px solid #d1d5db}

.section{padding:75px 5%}
.section-heading{text-align:center;max-width:900px;margin:0 auto 36px}
.section-heading h2{font-size:clamp(1.9rem,8vw,3.1rem);color:var(--green-dark);line-height:1.12}
.section-heading p{color:var(--muted);margin-top:10px}

.grid,.two-col{display:grid;grid-template-columns:1fr;gap:20px}
.card,.membership-card,.photo-card,.contact-box,.faq-item{
  background:white;border-radius:24px;box-shadow:var(--shadow)
}
.card,.membership-card,.contact-box,.faq-item{padding:26px}
.card h3,.membership-card h2,.contact-box h2,.faq-item h3{color:var(--green-dark);margin-bottom:10px}
.card p{color:#374151}
.card:hover{transform:translateY(-6px)}
.card{transition:.25s ease}
.service-icon{font-size:2.3rem;margin-bottom:12px}

.starter-band{
  background:linear-gradient(135deg,#064e3b,#0f766e);color:white;padding:85px 5%;text-align:center
}
.starter-content{max-width:900px;margin:auto}
.starter-content h2{font-size:clamp(2rem,9vw,3.6rem);line-height:1.1;margin-bottom:12px}
.starter-content p{max-width:650px;margin:0 auto 18px}
.lead-form{display:grid;gap:12px;max-width:640px;margin:24px auto}
.lead-form input{min-height:52px;border:0;border-radius:999px;padding:16px;font-size:1rem}
.lead-form button{background:var(--bright);color:white}
.download-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
.download-grid a,.resource-download{
  background:white;color:var(--green-dark);padding:16px;border-radius:16px;font-weight:900;box-shadow:var(--shadow)
}
#leadMessage{color:#a7f3d0;font-weight:900;margin-top:12px}

.services,.destinations,.booking,.why,.membership,.faq{background:var(--mint)}
.destinations-grid .card{display:block;color:var(--text)}
.why .card h3:before{content:'✓ ';color:var(--bright)}
.price{font-size:2.6rem;font-weight:900;color:var(--green);margin:5px 0}
.featured{border:3px solid var(--green)}
.payment-note{font-size:.9rem;color:var(--muted);margin-top:10px}

.photo-card{width:100%;max-height:520px;object-fit:cover}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.badges span{
  background:var(--mint);color:var(--green-dark);padding:10px 14px;border-radius:999px;font-weight:900;font-size:.9rem
}
.about-content p{margin-bottom:14px;color:#374151}

.credentials-band{background:white;padding:50px 5%}
.credentials-wrap{max-width:1100px;margin:auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.credentials-wrap span{
  background:#fff;border:1px solid #d1fae5;color:var(--green-dark);
  box-shadow:0 8px 20px rgba(15,23,42,.08);padding:14px 18px;border-radius:999px;font-weight:900
}

.contact-form{display:grid;gap:14px;margin-top:20px}
.contact-form input,.contact-form textarea{padding:15px;border:1px solid #d1d5db;border-radius:14px;font-size:1rem}
.contact-form textarea{min-height:120px}
.sticky-book{
  position:fixed;left:16px;right:16px;bottom:18px;min-height:52px;border-radius:999px;
  background:var(--green);color:white;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--shadow);z-index:999
}
.footer{background:#022c22;color:white;text-align:center;padding:40px 5% 90px}
.footer h3{font-size:1.45rem;margin-bottom:10px}

.reveal{opacity:0;transform:translateY(20px);transition:.75s}
.reveal.visible{opacity:1;transform:translateY(0)}

.destination-page{background:#f8fafc}
.destination-hero{background:linear-gradient(135deg,#064e3b,#0f766e);color:white;text-align:center;padding:85px 5%}
.destination-hero h1{font-size:clamp(2.2rem,10vw,4rem);line-height:1.08;margin-bottom:15px}
.destination-content{max-width:980px;margin:auto;padding:60px 5%}
.destination-content section{background:white;border-radius:22px;box-shadow:var(--shadow);padding:26px;margin-bottom:22px}
.destination-content h2{color:var(--green-dark);margin-bottom:12px}
.destination-content ul{padding-left:22px}
.destination-content a{color:var(--green);font-weight:900}

@media(min-width:850px){
  .site-header{padding:14px 7%}
  .brand img{width:66px;height:66px}
  .brand strong{font-size:1.35rem}
  .brand small{font-size:.75rem}
  .menu-toggle{display:none}
  .nav-menu{display:flex;width:auto;flex-direction:row;align-items:center;gap:18px;padding-top:0}
  .hero{grid-template-columns:1fr;padding:110px 7%;min-height:88vh}
  .hero-bg{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.86),rgba(255,255,255,.18)),url('../images/hero-airport-family.png');background-size:cover;background-position:center}
  .hero-actions{display:flex}
  .section{padding:90px 7%}
  .grid{grid-template-columns:repeat(3,1fr)}
  .services .grid,.why .grid{grid-template-columns:repeat(4,1fr)}
  .destinations-grid{grid-template-columns:repeat(5,1fr)}
  .two-col{grid-template-columns:.82fr 1.18fr;align-items:center}
  .lead-form{grid-template-columns:1fr auto}
  .download-grid{grid-template-columns:repeat(4,1fr)}
  .sticky-book{left:auto;right:24px;width:220px}
  .footer{padding:40px 7%}
}
@media(max-width:1150px) and (min-width:850px){
  .destinations-grid,.grid,.services .grid,.why .grid{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
}
