:root{
  --navy:#123f73;
  --red:#bd1d28;
  --ink:#15202d;
  --muted:#66717d;
  --cream:#faf7f1;
  --soft:#f1f5f8;
  --white:#fff;
  --line:#dce3e8;
  --radius:24px;
  --shadow:0 18px 50px rgba(22,48,73,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.05)}
.nav-wrap{height:82px;display:flex;align-items:center;gap:28px}
.brand img{width:180px;height:auto}
.nav-links{display:flex;gap:25px;margin-left:auto;font-size:.95rem;color:#42505d}
.nav-links a:hover{color:var(--navy)}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;background:var(--navy);color:#fff;font-weight:700;border:1px solid var(--navy);transition:.2s}
.button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(18,63,115,.18)}
.button-small{padding:10px 17px;font-size:.92rem}
.button-ghost{background:#fff;color:var(--navy)}
.button-full{width:100%;border:0;font-size:1rem;cursor:pointer}
.hero{background:linear-gradient(135deg,#fbf7f2 0%,#fff 48%,#eef5fb 100%);padding:88px 0 76px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800;color:var(--red)}
h1,h2,h3{font-family:'Nunito',sans-serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3.1rem,7vw,6.3rem);max-width:780px;letter-spacing:-.045em}
h2{font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.035em}
h3{font-size:1.35rem}
.hero-lead{font-size:1.2rem;max-width:700px;color:#4b5865}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trust-row{display:flex;flex-wrap:wrap;gap:11px 18px;margin-top:28px;color:#536271;font-size:.92rem}
.trust-row span:before{content:'•';color:var(--red);margin-right:8px}
.hero-card{background:#fff;border-radius:32px;padding:34px;box-shadow:var(--shadow);border:1px solid rgba(18,63,115,.08);position:relative}
.hero-card:after{content:'';position:absolute;width:110px;height:110px;background:var(--red);opacity:.06;border-radius:50%;right:-25px;top:-30px}
.hero-card-topline{display:inline-block;padding:7px 12px;border-radius:99px;background:#eef5fb;color:var(--navy);font-weight:800;font-size:.82rem}
.hero-card-title{font-family:'Nunito';font-size:2rem;font-weight:900;color:var(--navy);margin-top:22px}
.hero-card p{color:var(--muted)}
.hero-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}
.hero-card-meta div{background:var(--cream);padding:16px;border-radius:18px}
.hero-card-meta strong,.hero-card-meta span{display:block}.hero-card-meta span{font-size:.83rem;color:var(--muted);margin-top:4px}
.text-link{font-weight:800;color:var(--navy)}
.intro-strip{padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.intro-grid p{font-size:1.12rem;color:#53606d;margin:0}
.section{padding:94px 0}.section-soft{background:var(--soft)}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-heading>p{max-width:520px;color:var(--muted);margin:0}.section-heading.compact{margin-bottom:30px}
.programme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.programme-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;transition:.2s}.programme-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.programme-card.featured{grid-column:span 2;background:linear-gradient(135deg,#123f73,#0f3159);color:#fff;border:0}.programme-card.featured .programme-place,.programme-card.featured p,.programme-card.featured li{color:#dfe9f4}.programme-card.featured .text-link{color:#fff}.programme-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}.programme-status{font-size:.78rem;font-weight:800;padding:6px 10px;border-radius:99px;background:#fbe8ea;color:var(--red)}.featured .programme-status{background:#fff;color:var(--navy)}.programme-timing{font-size:.8rem;color:var(--muted)}.featured .programme-timing{color:#dfe9f4}.programme-place{font-weight:700;color:var(--navy);margin-top:-8px}.programme-card ul{padding-left:19px;color:#53606d;margin-bottom:24px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.benefit-card{background:#fff;border-radius:22px;padding:26px;border:1px solid #e1e8ed}.benefit-card p{color:var(--muted);margin-bottom:0}.benefit-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fbe8ea;color:var(--red);font-weight:900;margin-bottom:18px}
.how-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.muted{color:var(--muted)}.steps{display:grid;gap:12px}.steps article{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.steps article>span{font-family:'Nunito';font-size:1.5rem;color:var(--red);font-weight:900}.steps h3{margin-bottom:6px}.steps p{margin:0;color:var(--muted)}
.learning-band{background:var(--navy);color:#fff}.learning-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;align-items:center}.section-kicker.light{color:#f7a9ae}.learning-tags{display:flex;flex-wrap:wrap;gap:12px}.learning-tags span{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.faq-wrap{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{cursor:pointer;list-style:none;font-family:'Nunito';font-size:1.2rem;font-weight:800;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list details p{color:var(--muted);padding-right:40px}.faq-list details[open] summary span{transform:rotate(45deg)}
.interest-section{background:var(--cream)}.interest-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.mini-note{margin-top:26px;padding:18px;border-left:4px solid var(--red);background:#fff;border-radius:0 14px 14px 0}.interest-form{background:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow);display:grid;gap:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.interest-form label{font-size:.9rem;font-weight:700;display:grid;gap:7px}.interest-form input,.interest-form textarea,.interest-form select{width:100%;font:inherit;border:1px solid #ced7dd;border-radius:12px;padding:12px 13px;background:#fff}.interest-form input:focus,.interest-form textarea:focus,.interest-form select:focus{outline:2px solid rgba(18,63,115,.18);border-color:var(--navy)}.checkbox-row{grid-template-columns:auto 1fr!important;align-items:start}.checkbox-row input{width:auto;margin-top:4px}.form-note{text-align:center;color:var(--muted);font-size:.84rem;margin:0}.hidden-field{display:none}
.footer{padding:44px 0;background:#101820;color:#d7dfe7}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr;gap:36px}.footer strong,.footer a,.footer span{display:block}.footer a{margin-top:8px}.footer-logo{width:170px;background:#fff;border-radius:12px;padding:8px;margin-bottom:10px}.whatsapp-float{position:fixed;right:22px;bottom:22px;background:#1f9d55;color:#fff;padding:13px 18px;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:30}
@media(max-width:900px){.nav-links{display:none}.nav-wrap>.button-small{margin-left:auto}.hero-grid,.intro-grid,.how-grid,.learning-grid,.faq-wrap,.interest-grid{grid-template-columns:1fr}.hero{padding-top:58px}.programme-grid,.benefit-grid{grid-template-columns:1fr}.programme-card.featured{grid-column:auto}.section-heading{display:block}.section-heading>p{margin-top:12px}.hero-card{max-width:620px}.faq-wrap,.how-grid{gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.learning-grid{gap:20px}}
@media(max-width:640px){.container{width:min(100% - 24px,1120px)}.brand img{width:145px}.nav-wrap{height:72px}.nav-wrap>.button-small{font-size:.8rem;padding:9px 13px}h1{font-size:3.4rem}.hero{padding:44px 0 54px}.section{padding:68px 0}.field-row{grid-template-columns:1fr}.hero-card-meta{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.whatsapp-float{right:14px;bottom:14px}.interest-form{padding:22px}}

/* ===== KindKinder brand/header refinement ===== */
.site-header{
  overflow:visible;
}
.nav-wrap{
  min-height:116px;
  height:auto;
  padding:10px 0;
}
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.brand img{
  width:235px;
  height:auto;
  max-height:96px;
  object-fit:contain;
  object-position:left center;
}
.nav-links{
  align-items:center;
}
.footer-logo{
  width:210px;
  height:auto;
  max-height:115px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  border-radius:14px;
  padding:10px;
}
.whatsapp-float{
  display:flex;
  align-items:center;
  gap:9px;
  background:#25D366;
  color:#fff;
  padding:13px 17px;
  border-radius:999px;
  font-weight:800;
}
.whatsapp-float::before{
  content:'☎';
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:16px;
}
@media(max-width:900px){
  .nav-wrap{min-height:100px;padding:8px 0}
  .brand img{width:200px;max-height:82px}
}
@media(max-width:640px){
  .nav-wrap{min-height:84px;padding:6px 0}
  .brand img{width:165px;max-height:70px}
  .whatsapp-float{padding:12px 14px;font-size:.92rem}
}

/* ===== Programme dropdown, Benelux itinerary & gallery ===== */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{border:0;background:transparent;font:inherit;color:#42505d;cursor:pointer;padding:8px 4px;display:flex;align-items:center;gap:6px}
.nav-dropdown-toggle span{transition:.2s}
.nav-dropdown.is-open .nav-dropdown-toggle{color:var(--navy)}
.nav-dropdown.is-open .nav-dropdown-toggle span{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 16px);left:-18px;width:320px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:10px;display:none;z-index:60}
.nav-dropdown.is-open .nav-dropdown-menu{display:grid}
.nav-dropdown-menu:before{content:'';position:absolute;top:-8px;left:28px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.nav-dropdown-menu a{display:grid;gap:1px;padding:11px 12px;border-radius:13px;color:var(--ink)}
.nav-dropdown-menu a:hover{background:var(--soft)}
.nav-dropdown-menu strong{font-size:.92rem;color:var(--navy)}
.nav-dropdown-menu span{font-size:.78rem;color:var(--muted)}
.link-button{border:0;background:none;padding:0;cursor:pointer;font:inherit}

.programme-card{scroll-margin-top:145px}
.programme-card .programme-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.benelux-itinerary{margin-top:24px;background:linear-gradient(180deg,#fff 0%,#faf7f1 100%);border:1px solid var(--line);border-radius:30px;padding:34px;box-shadow:var(--shadow);scroll-margin-top:140px}
.benelux-itinerary[hidden]{display:none}
.itinerary-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.itinerary-head p{color:var(--muted);max-width:780px}
.itinerary-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}
.itinerary-route{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:18px 0 28px;padding:16px;border-radius:18px;background:#eef5fb;color:var(--navy);font-weight:800}
.itinerary-route b{color:var(--red)}
.itinerary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.itinerary-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.itinerary-grid article>span{display:inline-block;color:var(--red);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px}
.itinerary-grid h3{font-size:1.08rem;margin-bottom:8px}
.itinerary-grid p{font-size:.9rem;color:var(--muted);margin:0}
.itinerary-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.itinerary-footer>div{max-width:650px;color:#53606d}

.gallery-section{background:#fffdf9}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-card{margin:0;position:relative;border-radius:22px;overflow:hidden;min-height:290px;background:#e9eef2;box-shadow:0 12px 30px rgba(20,45,68,.08)}
.gallery-card img{width:100%;height:100%;min-height:290px;object-fit:cover;transition:transform .45s ease}
.gallery-card:hover img{transform:scale(1.035)}
.gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;background:linear-gradient(transparent,rgba(8,23,37,.78));color:#fff;display:grid;gap:2px}
.gallery-card figcaption strong{font-family:'Nunito';font-size:1.18rem}
.gallery-card figcaption span{font-size:.86rem;opacity:.9}
.gallery-card-wide{grid-column:span 2}

@media(max-width:900px){
  .itinerary-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-card-wide{grid-column:span 1}
  .itinerary-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .itinerary-grid,.gallery-grid{grid-template-columns:1fr}
  .benelux-itinerary{padding:22px}
  .itinerary-head{grid-template-columns:1fr auto}
  .gallery-card,.gallery-card img{min-height:250px}
}

/* ===== Final refinement: unified hero, centered footer logo, form help text ===== */
.hero{
  background:#fff;
}
.footer-logo{
  display:block;
  margin:0 auto 12px;
  object-position:center center;
}
.field-help{
  display:block;
  font-size:.78rem;
  font-weight:500;
  color:var(--muted);
  margin-top:2px;
}


/* ===== 2026 seasonal programme polish ===== */
:root{--sage:#6f8270;--sand:#efe5d7;--sky:#eaf3f8;--warm:#fffaf4}
body{background:#fffdf9}
.site-header{background:rgba(255,253,249,.94)}
.hero{background:radial-gradient(circle at 84% 20%,rgba(111,130,112,.10),transparent 26%),radial-gradient(circle at 10% 0%,rgba(189,29,40,.055),transparent 32%),#fffdf9;border-bottom:1px solid rgba(18,63,115,.06)}
.hero-copy{padding:16px 0}.hero-lead{max-width:660px}
.hero-card{background:rgba(255,255,255,.9);box-shadow:0 26px 70px rgba(24,48,68,.11)}
.hero-card-topline{background:#f8efe5;color:#8c4c2d}.hero-card-meta div{background:#fbf6ee}.intro-strip{background:#fff}
.mobile-nav-toggle{display:none;border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:50%;cursor:pointer;color:var(--navy);font-size:1.15rem}

.season-section{padding:78px 0 20px;background:linear-gradient(180deg,#fffdf9,#fff)}
.season-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}
.season-heading p{max-width:520px;color:var(--muted);margin:0}
.season-calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.season-stop{position:relative;min-height:142px;padding:18px;border:1px solid #e2e6e8;border-radius:20px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:.22s ease}
.season-stop::after{content:'';position:absolute;width:70px;height:70px;border-radius:50%;right:-20px;top:-18px;background:rgba(18,63,115,.05)}
.season-stop:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(22,48,73,.09);border-color:#cad6df}
.season-month{position:absolute;left:18px;top:18px;font-family:'Nunito',sans-serif;font-size:.76rem;font-weight:900;letter-spacing:.12em;color:var(--red)}
.season-stop strong{font-family:'Nunito',sans-serif;font-size:1.08rem;color:var(--navy)}
.season-stop small{margin-top:3px;color:var(--muted);line-height:1.4}

.programme-grid{grid-template-columns:repeat(3,1fr)}
.programme-card{display:flex;flex-direction:column;min-height:100%;padding:27px;background:#fffefa;border-color:#e5e2dd}
.programme-card.featured{grid-column:span 3;min-height:auto;background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.12),transparent 22%),linear-gradient(135deg,#153f6b,#0f2e4c)}
.programme-card .text-link{margin-top:auto}.programme-card ul{margin-top:4px}.programme-card h3{font-size:1.45rem}
.programme-season{margin:-7px 0 10px;color:#9b765b;font-weight:700;font-size:.77rem;text-transform:uppercase;letter-spacing:.1em}
.featured .programme-season{color:#f0cbb0}.programme-status{background:#faeee8;color:#9b472e}.featured .programme-status{background:#fff;color:var(--navy)}
.programme-actions{margin-top:auto}

.future-band{background:linear-gradient(135deg,#173d61,#244d70);color:#fff;padding:72px 0}
.future-band-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.future-band h2{margin-top:8px}.future-band p{max-width:650px;color:#d7e3ed;margin-bottom:0}
.future-destinations{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.future-destinations span{padding:15px 18px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.07);font-weight:700}
.gallery-card{border:1px solid rgba(18,63,115,.06)}.interest-section{background:#f8f2e9}.interest-form{border:1px solid rgba(18,63,115,.06)}.footer{background:#13202b}

@media(max-width:1000px){
  .season-calendar{grid-template-columns:repeat(2,1fr)}
  .programme-grid{grid-template-columns:repeat(2,1fr)}
  .programme-card.featured{grid-column:span 2}
}
@media(max-width:900px){
  .mobile-nav-toggle{display:grid;place-items:center;margin-left:auto}
  .nav-wrap>.header-cta{margin-left:0}
  .nav-links{display:none;position:absolute;left:18px;right:18px;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:14px;margin:0;flex-direction:column;align-items:stretch;gap:4px}
  .nav-links.mobile-open{display:flex}
  .nav-links>a,.nav-dropdown-toggle{padding:12px 10px}
  .nav-dropdown-menu{position:static;width:auto;margin:4px 0 8px;box-shadow:none;border-radius:14px}
  .nav-dropdown-menu:before{display:none}
  .season-heading{display:block}.season-heading p{margin-top:12px}
  .future-band-inner{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
  .header-cta{display:none}
  .season-section{padding-top:58px}
  .season-calendar{grid-template-columns:1fr}
  .season-stop{min-height:118px}
  .programme-grid{grid-template-columns:1fr}
  .programme-card.featured{grid-column:auto}
  .future-destinations{grid-template-columns:1fr}
}
