/* MAEDELSTEDE V4 — refined editorial / warm dusk theme
   Layers on top of V3, keeps all 13 pages and their behaviour. */
:root {
  --linen: #f7f6f1;
  --paper: #fffefa;
  --sand: #eeede5;
  --sage: #e7ece5;
  --green: #264b3c;
  --green-deep: #213d31;
  --ink: #263a30;
  --muted: #617167;
  --clay: #bf906d;
  --line: rgba(40, 64, 50, .14);
  --header-h: 70px;
  --edge: 6px;
  --ease: cubic-bezier(.2,.8,.2,1);
  color-scheme: light;
}
html[data-theme="dark"] {
  --linen: #121c18;
  --paper: #1b2822;
  --sand: #1a2a23;
  --sage: #17251f;
  --green: #adc3a8;
  --green-deep: #ecf0e4;
  --ink: #f2f1e9;
  --muted: #b5c2b6;
  --clay: #cea384;
  --line: rgba(231, 240, 226, .16);
  color-scheme: dark;
}
body {font-size:14px;line-height:1.7;letter-spacing:.002em;transition:background-color .35s ease,color .35s ease;}
.wrap {width:min(100% - 84px, 1160px);}
.section-pad {padding:clamp(56px, 6vw, 86px) 0;}
h1,h2,h3 {letter-spacing:-.037em;line-height:1.045;}
h2 {font-size:clamp(31px, 3.25vw, 46px);margin-bottom:17px;}
h3 {font-size:clamp(26px, 2.4vw, 33px);}
p {margin-bottom:14px;}
.eyebrow {font-size:9px;letter-spacing:.16em;margin-bottom:16px;color:#587866;}
.eyebrow-light {color:#f8f6ef;}
.section-heading {max-width:620px;margin-bottom:29px;}
.section-heading p {font-size:13px;}
.intro-bold {font-size:17px;line-height:1.65;}
.text-link {font-size:11px;}
/* Calm, compact navigation */
.site-header {background:transparent;}
.site-header.scrolled,.site-header.open {background:rgba(247,246,241,.97);color:#223d2f;box-shadow:0 1px 0 rgba(29,48,37,.10);}
.header-inner {gap:19px;}
.brand-name {font-size:23px;letter-spacing:-.066em;}
.brand-name small {font-size:7px;letter-spacing:.19em;}
.desktop-nav {gap:clamp(10px,1.45vw,22px);}
.desktop-nav a {font-size:10.5px;}
.header-actions {gap:9px;}
.nav-cta {font-size:10px;padding:11px 14px;min-height:38px;align-items:center;gap:12px;border-radius:var(--edge);}
.theme-toggle {width:auto;min-width:91px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffff18;color:inherit;border:1px solid #ffffff7b;border-radius:var(--edge);padding:0 11px;font-weight:600;font-size:10px;letter-spacing:.015em;transition:background .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap;}
.theme-toggle:hover {background:#ffffff30;}
.theme-toggle svg {flex:none;display:block;}
.theme-toggle .theme-sun {display:none;}
.site-header.scrolled .theme-toggle,.site-header.open .theme-toggle {border-color:var(--line);background:transparent;color:var(--ink);}
.site-header.scrolled .theme-toggle:hover,.site-header.open .theme-toggle:hover {background:var(--sage);}
html[data-theme="dark"] .site-header.scrolled,html[data-theme="dark"] .site-header.open {background:rgba(18,28,24,.98);color:#f0f1e6;box-shadow:0 1px 0 var(--line);}
html[data-theme="dark"] .theme-toggle .theme-moon {display:none;}
html[data-theme="dark"] .theme-toggle .theme-sun {display:block;}
html[data-theme="dark"] .site-header.scrolled .theme-toggle,html[data-theme="dark"] .site-header.open .theme-toggle {color:var(--ink);background:#ffffff08;border-color:var(--line);}
html[data-theme="dark"] .site-header.scrolled .nav-cta,html[data-theme="dark"] .site-header.open .nav-cta {background:#b9cfb0;color:#17251d;}
html[data-theme="dark"] .mobile-nav {background:#121c18;color:#f2f1e9;}
html[data-theme="dark"] .mobile-book {background:#b9cfb0;color:#17251d;}
.menu-toggle {margin-left:1px;}
/* Tighten the filmic hero but let photography dominate */
.home-hero {height:clamp(565px,83svh,745px);min-height:565px;}
.hero-inner {padding:108px 0 75px;}
.hero-inner h1 {font-size:clamp(50px,5.15vw,69px);max-width:760px;line-height:1.05;margin-bottom:17px;}
.hero-lead {font-size:13px;max-width:500px;line-height:1.85;margin-bottom:24px;}
.hero-buttons {gap:23px;}
.hero-foot {bottom:20px;font-size:8px;}
.hero-atmosphere {background:linear-gradient(180deg,rgba(9,29,20,.40),rgba(7,30,21,.43) 50%,rgba(12,26,18,.65));}
html[data-theme="dark"] .hero-atmosphere {background:linear-gradient(180deg,rgba(4,13,10,.58),rgba(5,16,11,.62) 52%,rgba(5,15,11,.85));}
.button {min-height:44px;padding:11px 17px;gap:20px;font-size:10.5px;border-radius:var(--edge);}
.button-cream {background:#f7f5eb;color:#243b2d;}
.button-green {background:#244937;color:#fff;}
.button-link-light {font-size:10.5px;}
.subhero {min-height:348px;}
.subhero-inner {padding:121px 0 65px;}
.subhero h1 {font-size:clamp(42px,4.7vw,60px);margin-bottom:12px;}
.subhero-inner>p:last-child {max-width:535px;font-size:13px;}
/* Offer content: smaller stronger hierarchy */
.offer-grid {gap:24px 17px;}
.offer-img {height:215px;border-radius:var(--edge);}
.offer-desc {padding-top:14px;}
.offer-desc h3 {font-family:var(--sans);font-weight:600;letter-spacing:-.038em;line-height:1.18;font-size:22px;margin-top:7px;}
.offer-desc small {font-size:9px;color:var(--muted);}
.circle-arrow {width:35px;height:35px;}
.image-frame {border-radius:var(--edge);}
.editorial {gap:clamp(36px,6vw,84px);}
.editorial-visual {height:clamp(300px,34vw,450px);}
.editorial-copy p:not(.eyebrow) {font-size:14px;}
.intro-layout {gap:clamp(30px,6vw,90px);}
.intro-layout>div:nth-child(2) {padding-top:9px;}
.intro-layout p:not(.intro-bold) {color:var(--muted);}
.photo-triptych {grid-template-rows:290px auto;gap:16px;}
.triptych-main {height:390px;}
.triptych-side {height:290px;}
.triptych-quote {color:#55715d;font-size:clamp(21px,2.3vw,29px);}
.banner-line {padding:34px 0;background:#294b3b;}
.banner-flex p {font-size:clamp(24px,2.7vw,36px);margin:0;}
.day-photo {height:clamp(285px,34vw,420px);}
.day-chapter {min-height:39vh;padding:32px 0;}
.day-chapter h3 {font-size:clamp(31px,3.15vw,45px);}
.day-chapter p {color:var(--muted);}
.day-controls button {border-color:var(--line);color:var(--ink);border-radius:var(--edge);}
.day-controls button.active,.day-controls button:hover {background:#2d523f;color:#fff;border-color:#2d523f;}
.day-photo-label {border-radius:var(--edge);}
.gallery-strip {gap:11px;}
.gallery-strip .image-frame {height:218px;}
.gallery-button {border-radius:var(--edge);}
.checked li {padding:12px 0 12px 27px;}
.price-box {border-radius:var(--edge);box-shadow:0 5px 22px rgba(24,45,29,.055);}
.price-row {padding:12px 0;}
.people-grid {gap:22px;margin-top:35px;}
.book-end {min-height:310px;}
.book-end-inner {padding:56px 0;}
.book-end h2 {font-size:clamp(37px,3.75vw,52px);}
.footer {padding:51px 0 18px;}
.footer-grid {padding-bottom:38px;gap:24px;}
.footer-brand>a {font-size:32px;}
.footer-grid a:not(.footer-brand>a) {font-size:11.5px;}
/* Dark-mode corrections for legacy hard-coded text */
html[data-theme="dark"] .eyebrow {color:#b4c6ac;}
html[data-theme="dark"] .eyebrow-light {color:#f8f6ef;}
html[data-theme="dark"] .intro-layout p:not(.intro-bold),
html[data-theme="dark"] .editorial-copy p:not(.eyebrow),
html[data-theme="dark"] .story-heading p:not(.eyebrow),
html[data-theme="dark"] .people-grid p,
html[data-theme="dark"] .places-layout>div>p:not(.eyebrow),
html[data-theme="dark"] .contact-layout>div:first-child>p:not(.eyebrow),
html[data-theme="dark"] .accord-content,
html[data-theme="dark"] .practical>div>p:not(.eyebrow),
html[data-theme="dark"] .fineprint {color:var(--muted);}
html[data-theme="dark"] .chapter-time,
html[data-theme="dark"] .contact-details small,
html[data-theme="dark"] .people-index,
html[data-theme="dark"] .offer-desc small {color:#acc2ae;}
html[data-theme="dark"] .triptych-quote {color:#aec4a8;}
html[data-theme="dark"] .checked li::before {color:#accaa2;}
html[data-theme="dark"] .price-box {box-shadow:0 1px 0 var(--line);}
html[data-theme="dark"] .circle-arrow:hover {color:#14271c;}
html[data-theme="dark"] .offer-tile:hover .circle-arrow {background:#accaa2;color:#14271c;}
html[data-theme="dark"] .day-controls button.active,html[data-theme="dark"] .day-controls button:hover {background:#c2d6b9;color:#192c20;border-color:#c2d6b9;}
html[data-theme="dark"] .day-photo-label {color:#203b2c;}
html[data-theme="dark"] .banner-line {background:#213b2f;color:#f2f4e9;}
html[data-theme="dark"] .button-green {background:#bad1b4;color:#18271e;}
html[data-theme="dark"] .footer {background:#0c1611;}
html[data-theme="dark"] .footer-brand p,html[data-theme="dark"] .footer-bottom {color:#bdc9bd;}
html[data-theme="dark"] .footer-grid a:hover {color:#f0bf9b;}
/* Signature video section */
.film-section {background:var(--sand);overflow:hidden;}
.film-layout {display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.4fr);align-items:center;gap:clamp(30px,5vw,78px);}
.film-copy {max-width:350px;}
.film-copy h2 {font-size:clamp(33px,3.45vw,48px);margin-bottom:16px;}
.film-copy p:not(.eyebrow) {font-size:13px;line-height:1.8;color:var(--muted);}
.film-player {min-width:0;}
.film-screen {position:relative;isolation:isolate;background:#20372b var(--film-poster) center/cover no-repeat;aspect-ratio:16/9;overflow:hidden;border-radius:var(--edge);}
.film-screen::before {content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#0000001c,#00000064);pointer-events:none;transition:opacity .35s;}
.film-player.is-playing .film-screen::before {opacity:0;}
.film-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent;}
.film-start {position:absolute;z-index:2;inset:0;border:0;color:#fff;background:transparent;display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;font:600 11px var(--sans);letter-spacing:.05em;text-shadow:0 2px 12px #0007;}
.film-start:hover .film-play-icon {transform:scale(1.08);background:#fff;}
.film-play-icon {width:68px;height:68px;display:grid;place-items:center;border-radius:50%;border:1px solid #fff6;background:#f6f5eedf;color:#203b2b;font-size:15px;padding-left:4px;text-shadow:none;transition:transform .25s var(--ease),background .25s;}
.film-player.is-playing .film-start {opacity:0;pointer-events:none;}
.film-corner-label {z-index:2;position:absolute;bottom:18px;left:20px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.18em;text-shadow:0 1px 6px #0008;pointer-events:none;}
.film-corner-label span {color:#e6b68a;}
.film-controls {min-height:43px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:10px;}
.film-controls button {border:0;background:transparent;color:var(--ink);padding:10px 2px;font-size:10px;font-weight:700;}
.film-controls button:hover,.film-source:hover {text-decoration:underline;text-underline-offset:3px;}
.film-toggle span:first-child {margin-right:5px;}
.film-audio {color:var(--muted)!important;}
.film-source {color:var(--muted);font-size:10px;margin-left:auto;text-align:right;}
.film-status {color:var(--muted);font-size:10px;line-height:1.35;max-width:250px;}
.film-player.is-unavailable .film-start {opacity:0;pointer-events:none;}
.film-player.is-unavailable .film-screen::after {content:"Videobestand nog niet toegevoegd";position:absolute;z-index:2;inset:0;display:grid;place-items:center;background:#172c23b0;color:#fff;font-size:12px;font-weight:600;text-align:center;padding:20px;}
.gallery-film-promo {padding:39px 0 40px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line);}
.gallery-film-promo h2 {font-size:clamp(30px,3.1vw,42px);margin-bottom:10px;}
.gallery-film-promo p:not(.eyebrow) {max-width:500px;font-size:13px;color:var(--muted);}
.gallery-film-promo .button {flex:none;}
/* Consistent motion: only what supports the imagery */
.motion-ready [data-reveal]{transform:translate3d(0,14px,0);transition-duration:.68s;}
.motion-ready .image-frame[data-reveal] img {transform:scale(1.025);transition-duration:.94s;}
.motion-ready .image-frame[data-reveal].visible img {transform:scale(1);}
@media (max-width:1120px) {
 .wrap {width:min(100% - 58px,1160px);}
 .offer-desc h3 {font-size:20px;}
 .header-actions {gap:7px;}
}
@media (max-width:930px) {
 :root {--header-h:65px;}
 .theme-toggle {min-width:80px;height:36px;}
 .site-header.open .theme-toggle {color:var(--ink);}
 .film-layout {grid-template-columns:1fr;gap:22px;}
 .film-copy {max-width:600px;}
 .film-copy h2 br {display:none;}
 .footer-grid {gap:26px;}
}
@media (max-width:700px) {
 :root {--header-h:61px;}
 .wrap {width:min(100% - 36px,1160px);}
 .section-pad {padding:54px 0;}
 h2 {font-size:clamp(31px,8.5vw,40px);}
 .brand-name {font-size:22px;}
 .theme-toggle {height:34px;min-width:37px;width:38px;padding:0;}
 .theme-label {display:none;}
 .header-actions {gap:9px;}
 .mobile-nav {padding:16px 7vw 34px;}
 .mobile-nav>a:not(.mobile-book) {font-size:27px;padding:8px 0;}
 .home-hero {height:clamp(565px,88svh,710px);min-height:565px;}
 .hero-inner {padding:102px 0 65px;}
 .hero-inner h1 {font-size:clamp(42px,10.4vw,52px);line-height:1.07;margin-bottom:17px;}
 .hero-lead {font-size:12.5px;max-width:370px;line-height:1.8;}
 .hero-buttons {gap:16px;}
 .hero-foot {bottom:15px;}
 .subhero {min-height:325px;}
 .subhero-inner {padding:115px 0 54px;}
 .subhero h1 {font-size:clamp(37px,9vw,49px);}
 .intro-bold {font-size:16px;}
 .intro-layout>div:nth-child(2) {padding-top:0;}
 .photo-triptych {grid-template-rows:185px auto;gap:11px;}
 .triptych-main {height:275px;}
 .triptych-side {height:185px;}
 .triptych-quote {font-size:clamp(18px,4.1vw,24px);}
 .offer-grid {gap:18px 12px;}
 .offer-img {height:clamp(145px,26vw,200px);}
 .offer-desc {gap:5px;}
 .offer-desc h3 {font-size:clamp(16px,4.6vw,20px);}
 .circle-arrow {width:29px;height:29px;font-size:14px;}
 .editorial-visual {height:275px;}
 .banner-line {padding:27px 0;}
 .banner-flex p {font-size:26px;}
 .day-chapter {min-height:auto;padding:24px 0;}
 .day-chapter h3 {font-size:clamp(31px,8vw,40px);}
 .day-photo {height:clamp(215px,58vw,310px);}
 .gallery-strip .image-frame {height:170px;}
 .book-end {min-height:280px;}
 .book-end h2 {font-size:clamp(35px,9vw,44px);}
 .film-copy h2 {font-size:clamp(31px,8.5vw,40px);}
 .film-play-icon {width:58px;height:58px;}
 .film-controls {gap:10px;}
 .film-source {margin-left:0;}
 .film-status {order:5;flex-basis:100%;}
 .gallery-film-promo {flex-direction:column;align-items:flex-start;gap:12px;padding:30px 0;}
 .gallery-film-promo h2 {font-size:34px;}
 .footer {padding-top:41px;}
}
@media (max-width:420px) {
 .home-hero {min-height:555px;height:88svh;}
 .hero-inner h1 {font-size:clamp(39px,10.5vw,45px);}
 .hero-buttons {gap:13px;}
 .offer-img {height:132px;}
 .offer-desc h3 {font-size:17px;}
 .film-corner-label {bottom:12px;left:12px;font-size:7px;}
 .film-start {font-size:10px;gap:9px;}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto!important;}
 .theme-toggle,.film-start,.film-screen::before,body {transition:none!important;}
 .film-video {animation:none!important;}
}
