@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#171713;--muted:#6b6b63;--paper:#f4f2ec;--white:#fff;--line:#d9d6ce;--accent:#243c6a;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.55}a{color:inherit}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:rgba(244,242,236,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:600}.nav{display:flex;gap:24px}.nav a{text-decoration:none;font-size:14px}.menu-btn{display:none;background:none;border:0;font:inherit}.hero{background:#234b92;color:white;padding:76px 0 0;overflow:hidden}.hero-inner{width:min(calc(100% - 48px),var(--max));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}.hero-copy{padding-bottom:72px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600}.hero h1,.intro h2,.section-head h2,.story-band h2,.history h2,.flight-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:.96;margin:.15em 0}.hero h1{font-size:clamp(54px,8vw,112px)}.lead{font-size:20px;max-width:590px}.balloon-banner{align-self:end;width:100%;min-height:260px;object-fit:cover;object-position:center}.button{display:inline-block;margin-top:18px;border:1px solid currentColor;padding:12px 18px;text-decoration:none;font-size:14px}.intro,.history{display:grid;grid-template-columns:110px minmax(0,760px);gap:40px;padding:110px 0}.section-no{font-size:12px;color:var(--muted)}.intro h2,.history h2,.section-head h2{font-size:clamp(42px,5vw,72px)}.intro p:last-child,.history p:last-child{font-size:18px;color:#46463f}.archive{padding:30px 0 110px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.search{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.search input{display:block;margin-top:7px;width:min(340px,76vw);border:0;border-bottom:1px solid #999;background:transparent;padding:10px 2px;font:inherit;text-transform:none;letter-spacing:0}.stats{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 28px;color:var(--muted);font-size:14px}.year-block{border-top:1px solid var(--line);padding:26px 0 44px}.year-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.year-title h3{font-family:'Playfair Display',Georgia,serif;font-size:40px;margin:0}.year-title span{color:var(--muted);font-size:14px}.flight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{display:block;text-decoration:none;background:#fff;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card img{width:100%;aspect-ratio:3/2;object-fit:cover;image-rendering:auto}.card-body{padding:18px}.card-date{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card h4{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.15;margin:8px 0}.card-meta{font-size:13px;color:var(--muted)}.story-band{background:#171713;color:#fff;padding:90px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.story-band h2{font-size:56px}.story-band p{font-size:18px;color:#d5d2c9}.text-link{display:inline-block;margin-top:10px}.specials{padding:80px 0}.special-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.special-card{background:#fff;display:grid;grid-template-columns:180px 1fr;text-decoration:none}.special-card img{width:100%;height:100%;object-fit:cover}.special-card div{padding:24px}.special-card h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;margin:3px 0 8px}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding:46px max(24px,calc((100% - var(--max))/2));border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
/* detail */.backbar{padding:24px 0}.backbar a{text-decoration:none}.flight-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px;background:#fff}.flight-hero-copy{padding:70px max(32px,calc((100vw - var(--max))/2));padding-right:48px}.flight-hero h1{font-size:clamp(46px,6vw,86px)}.flight-hero img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.flight-content{display:grid;grid-template-columns:220px minmax(0,760px);gap:50px;padding:90px 0}.flight-facts{font-size:13px;color:var(--muted)}.flight-text{font-size:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.action{border:1px solid #222;padding:11px 16px;text-decoration:none;font-size:14px}.notice{padding:18px;border-left:3px solid var(--accent);background:#fff;font-size:14px;color:var(--muted);margin-top:30px}
@media(max-width:850px){.nav{display:none;position:absolute;top:62px;left:0;right:0;background:var(--paper);padding:20px 28px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-btn{display:block}.hero-inner,.two-col,.flight-hero,.flight-content{grid-template-columns:1fr}.hero-copy{padding-bottom:35px}.balloon-banner{min-height:150px}.flight-grid{grid-template-columns:1fr 1fr}.intro,.history{grid-template-columns:1fr;padding:70px 0}.section-no{display:none}.special-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.flight-hero-copy{padding:50px 28px}.flight-hero img{max-height:420px}.flight-content{padding:60px 0}.flight-facts{order:2}footer{grid-template-columns:1fr}}@media(max-width:560px){.wrap,.hero-inner{width:min(calc(100% - 30px),var(--max))}.site-header{padding:16px}.flight-grid{grid-template-columns:1fr}.hero{padding-top:54px}.hero h1{font-size:54px}.special-card{grid-template-columns:1fr}.special-card img{height:180px}.story-band h2{font-size:42px}}/* 2026-08 update: high-resolution WebP flight images */
.flight-hero #heroimg{aspect-ratio:3/2;min-height:0;object-fit:cover;object-position:center}
.nav.visible{display:flex}
@media(max-width:850px){.nav.visible{display:flex;position:static;padding:0;background:transparent;border:0;flex-direction:row}.flight-hero #heroimg{width:100%;height:auto;max-height:none}}
@media(max-width:620px){.site-header .nav.visible a:not(:first-child){display:none}}

/* 2026-08 route readability adjustment */
.flight-hero #route{font-size:clamp(30px,3.6vw,54px);line-height:1.12;max-width:18ch;}
@media(max-width:850px){.flight-hero #route{font-size:clamp(28px,7vw,42px);max-width:22ch;}}


/* 2026-08 index image fix v2 — actual markup is .card > img */
.flight-grid .card > img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center;
}


/* 2026-08 editorial pass: full-photo hero, readable routes, book/print preparation */
.hero.hero-photo{position:relative;min-height:min(78vh,760px);padding:0;background:#222;color:#fff;overflow:hidden;display:grid;align-items:end}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;max-width:none}

.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.2) 48%,rgba(0,0,0,.08) 75%),linear-gradient(0deg,rgba(0,0,0,.36),transparent 25%)}

.hero-overlay{position:relative;z-index:2;width:min(calc(100% - 48px),var(--max));margin:0 auto;padding:120px 0 74px;text-shadow:0 1px 18px rgba(0,0,0,.18)}
.hero-overlay h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:.96;margin:.15em 0;font-size:clamp(54px,8vw,112px)}
.hero-overlay .lead{max-width:620px}
.flight-grid .card h4{font-family:'DM Sans',Arial,sans-serif;font-weight:500;font-size:19px;line-height:1.34;letter-spacing:0;text-transform:none}
.flight-hero #route{font-family:'DM Sans',Arial,sans-serif;font-weight:500;font-size:clamp(27px,3vw,44px);line-height:1.24;max-width:24ch;text-transform:none;letter-spacing:-.015em}
.special-card img{aspect-ratio:3/2;height:100%;object-fit:cover}
@media(max-width:850px){.hero.hero-photo{min-height:620px}.hero-overlay{padding:100px 0 58px}.flight-hero #route{font-size:clamp(26px,6vw,38px);max-width:28ch}}
@media(max-width:560px){.hero.hero-photo{min-height:560px}.hero-overlay{width:min(calc(100% - 30px),var(--max));padding-bottom:44px}}

/* Print/PDF foundation for later book production */
@media print{
  @page{size:A4;margin:15mm}
  body{background:#fff;color:#000;font-size:10.5pt}
  .site-header,.search,.button,.actions,.story-band,footer{display:none!important}
  .wrap{width:100%;max-width:none}
  .hero.hero-photo{min-height:110mm;page-break-after:always}
  .hero-overlay{width:auto;padding:25mm 15mm}.hero-overlay h1{font-size:34pt}
  .intro,.history{padding:12mm 0;grid-template-columns:22mm 1fr}
  .archive{padding:5mm 0}.year-block{break-before:page;padding-top:8mm}
  .flight-grid{grid-template-columns:1fr 1fr;gap:7mm}.card{break-inside:avoid;border:1px solid #ddd}.card h4{font-size:11pt}
  .flight-hero{grid-template-columns:1fr;min-height:0}.flight-hero-copy{padding:12mm 0}.flight-hero #heroimg{max-height:120mm}
  .flight-content{grid-template-columns:38mm 1fr;gap:10mm;padding:12mm 0}.flight-text{font-size:11pt}
  .notice{display:none}
}

/* Vertrekgegevens op aparte regel in het verhaal */
.flight-text .departure-line{
  display:block;
  margin-bottom:.8em;
  font-weight:500;
}
.flight-text .story-text{
  display:block;
}
