:root{
  --cream:#f5f1e9;--paper:#fbf8f2;--ink:#28332d;--muted:#6b746f;
  --olive:#758168;--sage:#9eaa8f;--rose:#c99599;--rose-deep:#a87378;
  --gold:#c89a4e;--clay:#9b6a54;--forest:#405248;--wood:#6d4f3a;
  --serif:"Cormorant Garamond",serif;--sans:"Inter",sans-serif;
  --shadow:0 30px 90px rgba(34,42,37,.16)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
button,a{font:inherit}.skip{position:fixed;top:-4rem;left:1rem;z-index:999;background:#111;color:white;padding:.8rem 1rem}.skip:focus{top:1rem}
.light-field{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 12%,rgba(201,149,153,.12),transparent 28rem),radial-gradient(circle at 85% 30%,rgba(158,170,143,.15),transparent 32rem)}
.site-header{position:fixed;top:0;left:0;right:0;height:90px;z-index:60;display:flex;align-items:center;gap:1.2rem;padding:0 2.2rem;background:rgba(251,248,242,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(40,51,45,.1)}
.brand{border:0;background:none;display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--ink)}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.brand div{display:flex;flex-direction:column;align-items:flex-start}.brand span{font-family:var(--serif);font-size:1.65rem;letter-spacing:.08em}.brand small{font-size:.65rem;letter-spacing:.32em}
.header-subtitle{border-left:1px solid rgba(40,51,45,.2);padding-left:1.2rem;display:flex;flex-direction:column;font-family:var(--serif);font-size:1rem}.header-subtitle small{font-family:var(--sans);font-size:.72rem;margin-top:.15rem}
.site-header nav{margin-left:auto;display:flex;gap:1.2rem}.site-header nav button,.contact-pill{border:0;background:none;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--ink);cursor:pointer}.contact-pill{background:var(--rose);color:white;border-radius:999px;padding:.7rem 1.2rem}
.view{display:none;min-height:100vh;padding-top:90px}.view--active{display:block;animation:viewIn .7s ease}@keyframes viewIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero{position:relative;padding-top:90px;min-height:100vh;overflow:hidden}.hero-image{position:absolute;inset:90px 0 0;background-image:url("assets/nova-via-hero.png");background-size:cover;background-position:center top;transform:scale(1.005)}.hero-shade{position:absolute;inset:90px 0 0;background:linear-gradient(90deg,rgba(23,33,28,.12),transparent 35%,transparent 65%,rgba(23,33,28,.1))}
.hero-center{position:relative;z-index:2;min-height:calc(100vh - 90px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.micro{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:600;color:var(--olive)}.hero-center h1{font-family:var(--serif);font-size:clamp(3.4rem,6vw,6.2rem);line-height:.92;margin:.6rem 0 1rem;font-weight:600}.pink-line{width:48px;height:2px;background:var(--rose);margin-bottom:.9rem}.hero-center p:not(.micro){line-height:1.6}.primary{border:0;border-radius:999px;background:var(--rose);color:white;text-transform:uppercase;letter-spacing:.09em;padding:1rem 1.7rem;margin-top:1rem;cursor:pointer;transition:.3s}.primary:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(168,115,120,.25)}
.hero-quote{position:absolute;left:3vw;top:35%;z-index:3;color:white;font-family:var(--serif);font-size:1.15rem;line-height:1.5;text-shadow:0 2px 12px rgba(0,0,0,.22)}.hero-quote cite{display:block;margin-top:.6rem;font-family:var(--serif)}
.hero-controls{position:absolute;right:2.5vw;top:28%;z-index:3;display:flex;flex-direction:column;gap:1rem}.hero-controls button{border:0;background:transparent;color:white;display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.25)}.hero-controls span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.1rem}.hero-controls small{font-size:.65rem}
.bird-guide{position:absolute;z-index:4;color:var(--rose)}.bird-guide--hero{top:17%;left:51%;animation:birdFloat 7s ease-in-out infinite}.bird-guide span:first-child{font-size:3rem}.bird-trail{display:block;width:160px;height:40px;border-top:2px dashed rgba(201,149,153,.8);border-radius:50%;transform:translate(24px,-22px) rotate(8deg)}@keyframes birdFloat{50%{transform:translate(18px,-10px)}}
.section-intro{max-width:900px;margin:0 auto;padding:7rem 2rem 3rem;text-align:center}.section-intro--left{text-align:left;max-width:1180px}.section-intro h2,.manifest-page h2,.about-content h2{font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.2rem);line-height:.95;margin:.4rem 0 1rem}.section-intro>p:last-child{font-size:1.1rem;line-height:1.8;color:var(--muted)}.crumb{border:0;background:none;padding:0;margin-bottom:2.5rem;color:var(--muted);cursor:pointer}
.hall{position:relative;background:linear-gradient(180deg,#fbf8f2,#eee6da)}.bird-guide--hall{top:150px;right:12%;animation:birdFloat 8s ease-in-out infinite}.route-gallery{max-width:1380px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}.route-card{position:relative;border:0;padding:0;background:white;text-align:left;cursor:pointer;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(33,42,36,.08);transition:.4s}.route-card:hover{transform:translateY(-10px);box-shadow:var(--shadow)}.route-scene{height:250px;background-size:cover;background-position:center}.route-card--arrival .route-scene{background:linear-gradient(150deg,rgba(117,129,104,.12),rgba(117,129,104,.04)),url("assets/nova-via-hero.png");background-size:170%;background-position:15% 70%}.route-card--search .route-scene{background:linear-gradient(150deg,rgba(201,149,153,.16),rgba(201,149,153,.02)),url("assets/nova-via-hero.png");background-size:175%;background-position:40% 75%}.route-card--meeting .route-scene{background:linear-gradient(150deg,rgba(200,154,78,.18),rgba(200,154,78,.02)),url("assets/nova-via-hero.png");background-size:175%;background-position:55% 65%}.route-card--development .route-scene{background:linear-gradient(150deg,rgba(158,170,143,.18),rgba(158,170,143,.02)),url("assets/nova-via-hero.png");background-size:175%;background-position:75% 75%}.route-card--trust .route-scene{background:linear-gradient(150deg,rgba(168,115,120,.17),rgba(168,115,120,.02)),url("assets/nova-via-hero.png");background-size:170%;background-position:90% 70%}.route-number{position:absolute;top:1rem;left:1rem;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(251,248,242,.94);font-family:var(--serif);font-size:1.2rem;z-index:2}.route-copy{padding:1.2rem 1.2rem 1.4rem}.route-copy h3{font-family:var(--serif);font-size:1.7rem;margin:0 0 .4rem}.route-copy p{color:var(--muted);line-height:1.55;min-height:74px}.route-copy span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rose-deep)}.hall-lower{max-width:1320px;margin:2rem auto 0;padding:0 2rem 5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.hall-lower button{border:1px solid rgba(40,51,45,.1);background:rgba(255,255,255,.55);padding:1.2rem;text-align:left;cursor:pointer}.hall-lower span{display:block;font-family:var(--serif);font-size:1.5rem}.hall-lower small{color:var(--muted)}
.museum{background:var(--paper)}.museum-rooms{max-width:1280px;margin:0 auto;padding:0 2rem}.museum-room{display:none;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;min-height:64vh}.museum-room.is-active{display:grid;animation:viewIn .6s ease}.room-visual{position:relative;min-height:560px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background-image:url("assets/nova-via-hero.png");background-size:220%;background-repeat:no-repeat}.room-visual--arrival{background-position:5% 62%}.room-visual--search{background-position:30% 63%}.room-visual--meeting{background-position:52% 60%}.room-visual--development{background-position:72% 63%}.room-visual--trust{background-position:95% 63%}.room-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(26,35,30,.28))}.moving-light{position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.35) 48%,transparent 58%);animation:lightMove 9s linear infinite}@keyframes lightMove{from{transform:translateX(-35%)}to{transform:translateX(35%)}}.room-label{position:absolute;top:1.3rem;left:1.5rem;z-index:2;font-family:var(--serif);font-size:4rem;color:white}.room-story h3{font-family:var(--serif);font-size:3.2rem;line-height:1;margin:.5rem 0 1.2rem}.room-story>p{line-height:1.8;color:#4c5852}.dual-perspective{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.dual-perspective div{padding:1.2rem;background:#f1ebe1;border-top:2px solid var(--rose)}.dual-perspective span{text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--rose-deep)}.dual-perspective p{line-height:1.6}.room-story blockquote{font-family:var(--serif);font-size:1.45rem;border-left:2px solid var(--olive);padding-left:1rem;color:var(--forest)}
.room-switcher{position:sticky;bottom:0;z-index:20;display:flex;justify-content:center;gap:.4rem;padding:1rem;background:rgba(251,248,242,.9);backdrop-filter:blur(15px)}.room-switcher button{border:1px solid rgba(40,51,45,.12);background:white;padding:.7rem .9rem;cursor:pointer}.room-switcher button.active{background:var(--ink);color:white}.film-plinth{position:absolute;z-index:3;left:50%;bottom:2rem;transform:translateX(-50%);border:0;background:rgba(251,248,242,.9);padding:1rem 1.2rem;border-radius:999px;cursor:pointer}.film-plinth span{margin-right:.5rem}.model-stage{position:absolute;z-index:3;inset:auto 2rem 2rem;display:flex;flex-direction:column;align-items:center;color:white}.model-object{width:180px;height:120px;position:relative;transform-style:preserve-3d;animation:modelRotate 12s linear infinite}.model-object i{position:absolute;width:90px;height:70px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(0,0,0,.15)}.model-object i:nth-child(1){left:20px;top:35px}.model-object i:nth-child(2){left:70px;top:10px}.model-object i:nth-child(3){left:90px;top:45px}.model-object i:nth-child(4){left:55px;top:65px}@keyframes modelRotate{50%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}.model-stage small{text-shadow:0 2px 10px rgba(0,0,0,.4)}
.library{background:linear-gradient(180deg,#28342e,#19231f);color:white;padding-bottom:6rem}.section-intro--light p,.section-intro--light .micro{color:rgba(255,255,255,.7)}.crumb--light{color:rgba(255,255,255,.65)}.bookcase{max-width:1180px;margin:0 auto;padding:2rem 2rem 0;background:linear-gradient(90deg,#5c412f,#8a6448 10%,#694b36 50%,#8a6448 90%,#5c412f);border:18px solid #4c3628;border-bottom-width:30px;box-shadow:0 35px 90px rgba(0,0,0,.45),inset 0 0 40px rgba(0,0,0,.35)}.bookcase-top{height:22px;background:linear-gradient(#9a7355,#60432f);margin:-2rem -2rem 1.3rem}.shelf-label{font-family:var(--serif);font-size:1.25rem;color:#f2e9dc;margin:.5rem 0 .7rem}.shelf{display:flex;align-items:flex-end;gap:.45rem;min-height:220px;padding:0 1rem}.spine{border:0;color:white;min-width:72px;height:190px;padding:.8rem .5rem;writing-mode:vertical-rl;transform:rotate(180deg);cursor:pointer;box-shadow:5px 4px 10px rgba(0,0,0,.28);transition:.35s}.spine:hover{transform:rotate(180deg) translateY(14px)}.spine span{font-family:var(--serif);font-size:1.15rem}.spine small{font-size:.6rem;opacity:.8;margin-top:.7rem}.spine--wide{min-width:92px}.spine--green{background:#5f725d}.spine--rose{background:#a8787d}.spine--clay{background:#92624d}.spine--gold{background:#a88746}.spine--forest{background:#34483e}.spine--sage{background:#7f9079}.wood-shelf{height:24px;margin:0 -1rem 1.1rem;background:linear-gradient(#936b4d,#503725);box-shadow:0 10px 15px rgba(0,0,0,.45)}
.open-book[hidden]{display:none!important}.open-book{position:fixed;inset:0;z-index:100;display:grid;place-items:center}.open-book__backdrop{position:absolute;inset:0;background:rgba(13,19,16,.78);backdrop-filter:blur(6px)}.open-book__pages{position:relative;z-index:2;width:min(980px,92vw);min-height:560px;display:grid;grid-template-columns:1fr 1fr;background:#f3eadc;box-shadow:0 40px 100px rgba(0,0,0,.5);perspective:1200px}.open-book__pages:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:20px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(255,255,255,.6),rgba(0,0,0,.08))}.page{padding:3.4rem}.page--left{background:linear-gradient(90deg,#eadfce,#f8f1e7)}.page--right{background:linear-gradient(90deg,#f6eee3,#e8dcc9)}.page h3{font-family:var(--serif);font-size:3.6rem;line-height:.95;margin:.6rem 0}.page h4{font-family:var(--serif);font-size:2rem}.page p{line-height:1.8;color:#4b554f}.book-subtitle{font-style:italic}.bookplate{margin-top:5rem;border:1px solid rgba(40,51,45,.25);display:inline-block;padding:1rem;text-align:center;font-family:var(--serif)}.bookplate span{font-size:.65rem;letter-spacing:.2em}.personal-note{border-left:2px solid var(--rose);padding-left:1rem;font-family:var(--serif);font-size:1.25rem}.open-book__close{position:absolute;right:1rem;top:.7rem;z-index:4;border:0;background:none;font-size:2rem;cursor:pointer}
.manifesto{background:radial-gradient(circle at 50% 10%,#f8f2e8,#d9c8b2);padding:8rem 2rem}.manifest-desk{max-width:1180px;margin:auto}.manifest-book{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#f3eadc;box-shadow:var(--shadow);transform:rotateX(2deg)}.manifest-page{padding:4rem;position:relative}.manifest-page--left{background:linear-gradient(90deg,#e9decd,#f9f3e9)}.manifest-page--right{background:linear-gradient(90deg,#f9f3e9,#e9decd)}.manifest-page--left:after{content:"";position:absolute;right:-8px;top:0;bottom:0;width:16px;background:linear-gradient(90deg,rgba(0,0,0,.09),rgba(255,255,255,.5),rgba(0,0,0,.08))}.manifest-page p{font-family:var(--serif);font-size:1.6rem;line-height:1.45}.manifest-page footer{margin-top:3rem;color:var(--muted)}
.atelier{background:#f7f2e9}.atelier-stage{max-width:1180px;margin:0 auto;padding:0 2rem 7rem;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.atelier-film{min-height:560px;border-radius:22px;background:linear-gradient(145deg,#aa8267,#6c4d3d);box-shadow:var(--shadow);display:grid;place-items:center}.atelier-film__poster{text-align:center;color:white}.play-button{width:90px;height:90px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.14);color:white;font-size:2rem;cursor:pointer}.atelier-copy h3{font-family:var(--serif);font-size:3.2rem}.atelier-copy p{line-height:1.8;color:var(--muted)}.atelier-notes{display:flex;flex-wrap:wrap;gap:.6rem}.atelier-notes span{border:1px solid rgba(40,51,45,.15);padding:.6rem .8rem;border-radius:999px;font-size:.75rem}
.about{position:relative;background:linear-gradient(120deg,#f5efe6,#e5d6c3);overflow:hidden}.about-light{position:absolute;right:-10%;top:0;width:60%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 65%)}.about-content{position:relative;z-index:2;max-width:760px;padding:10rem 2rem 7rem;margin-left:10vw}.about-content p{font-size:1.08rem;line-height:1.85}.about-content .lead{font-family:var(--serif);font-size:1.7rem}.primary--link{display:inline-block;text-decoration:none}
.info-panel[hidden],.video-modal[hidden]{display:none!important}.info-panel,.video-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center}.info-panel__backdrop,.video-modal__backdrop{position:absolute;inset:0;background:rgba(22,30,26,.65);backdrop-filter:blur(6px)}.info-panel__content,.video-modal__content{position:relative;z-index:2;background:var(--paper);padding:2.5rem;width:min(620px,90vw);box-shadow:var(--shadow)}.info-panel__content>button,.video-modal__content>button{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem}.video-placeholder{min-height:360px;display:grid;place-items:center;text-align:center;background:#2b3530;color:white}.video-placeholder span{font-family:var(--serif);font-size:3rem}
@media(max-width:1100px){.site-header nav,.header-subtitle{display:none}.route-gallery{grid-template-columns:repeat(2,1fr)}.route-card:last-child{grid-column:span 2}.museum-room,.atelier-stage{grid-template-columns:1fr}.room-visual{min-height:460px}.hall-lower{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.site-header{height:72px;padding:0 1rem}.brand img{width:42px;height:42px}.brand span{font-size:1.25rem}.contact-pill{margin-left:auto}.view{padding-top:72px}.hero-image,.hero-shade{inset:72px 0 0}.hero-quote,.hero-controls{display:none}.hero-center h1{font-size:3.2rem}.route-gallery{grid-template-columns:1fr}.route-card:last-child{grid-column:span 1}.hall-lower{grid-template-columns:1fr}.dual-perspective{grid-template-columns:1fr}.room-story h3{font-size:2.4rem}.room-switcher{overflow-x:auto;justify-content:flex-start}.open-book__pages,.manifest-book{grid-template-columns:1fr;max-height:88vh;overflow:auto}.open-book__pages:after,.manifest-page--left:after{display:none}.page{padding:2rem}.shelf{overflow-x:auto}.about-content{margin:0;padding:8rem 1.2rem 5rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* v7: rustige entree, daarna pas de ontvangsthal */
.hero-image{
  background-image:url("assets/hero-doors.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
}
.hero-center{
  background:rgba(251,248,242,.22);
  backdrop-filter:blur(1.5px);
}
.hero-center h1{ text-shadow:0 2px 22px rgba(251,248,242,.9); }
.hero-center p{ text-shadow:0 1px 12px rgba(251,248,242,.95); }
.hero-shade{
  background:
    linear-gradient(90deg,rgba(28,36,31,.25),transparent 32%,transparent 68%,rgba(28,36,31,.18)),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));
}
.route-card--arrival .route-scene{
  background-image:linear-gradient(180deg,transparent,rgba(68,83,70,.12)),url("assets/room-aankomst.jpg") !important;
  background-size:cover !important;background-position:center !important;
}
.route-card--search .route-scene{
  background-image:linear-gradient(180deg,transparent,rgba(201,149,153,.12)),url("assets/room-zoeken.jpg") !important;
  background-size:cover !important;background-position:center !important;
}
.route-card--meeting .route-scene{
  background-image:linear-gradient(180deg,transparent,rgba(200,154,78,.12)),url("assets/room-ontmoeting.jpg") !important;
  background-size:cover !important;background-position:center !important;
}
.route-card--development .route-scene{
  background-image:linear-gradient(180deg,transparent,rgba(158,170,143,.12)),url("assets/room-ontwikkeling.jpg") !important;
  background-size:cover !important;background-position:center !important;
}
.route-card--trust .route-scene{
  background-image:linear-gradient(180deg,transparent,rgba(168,115,120,.12)),url("assets/room-vertrouwen.jpg") !important;
  background-size:cover !important;background-position:center !important;
}
.room-visual--arrival{background-image:url("assets/room-aankomst.jpg") !important;background-size:cover !important;background-position:center !important}
.room-visual--search{background-image:url("assets/room-zoeken.jpg") !important;background-size:cover !important;background-position:center !important}
.room-visual--meeting{background-image:url("assets/room-ontmoeting.jpg") !important;background-size:cover !important;background-position:center !important}
.room-visual--development{background-image:url("assets/room-ontwikkeling.jpg") !important;background-size:cover !important;background-position:center !important}
.room-visual--trust{background-image:url("assets/room-vertrouwen.jpg") !important;background-size:cover !important;background-position:center !important}
@media(max-width:700px){
  .hero-center{background:rgba(251,248,242,.42);padding:1.5rem;border-radius:18px}
}

/* v8: schone entree en meer museale gelaagdheid */
.hero-image{
  background-image:url("assets/hero-doors-clean.jpg") !important;
  filter:saturate(.92) contrast(.98);
  transform:scale(1.015);
  transition:transform 1.5s cubic-bezier(.2,.8,.2,1),filter 1.2s ease;
}
.hero.is-opening .hero-image{
  transform:scale(1.08);
  filter:saturate(.82) brightness(1.08);
}
.hero-center{
  background:rgba(250,247,240,.38) !important;
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 20px 70px rgba(40,51,45,.10);
  padding:2rem 3.2rem !important;
  border-radius:999px 999px 34px 34px;
}
.hero-center h1{
  font-size:clamp(3.2rem,5.7vw,5.8rem) !important;
  letter-spacing:-.025em;
}
.hero-center .micro{color:#6e7b65}
.hero-center p:not(.micro){font-size:1.02rem}
.hero-quote{
  background:rgba(38,48,42,.10);
  backdrop-filter:blur(5px);
  padding:1.2rem 1.4rem;
  border-left:1px solid rgba(255,255,255,.6);
}
.door-panels{
  position:absolute;inset:90px 0 0;z-index:1;pointer-events:none;
  overflow:hidden;
}
.door-panel{
  position:absolute;top:0;bottom:0;width:50%;
  background-size:cover;background-repeat:no-repeat;
  transition:transform 1.35s cubic-bezier(.22,.75,.18,1);
  will-change:transform;
}
.door-panel--left{
  left:0;background-image:url("assets/door-left.jpg");background-position:left center;
  transform-origin:left center;
}
.door-panel--right{
  right:0;background-image:url("assets/door-right.jpg");background-position:right center;
  transform-origin:right center;
}
.hero.is-opening .door-panel--left{transform:translateX(-104%) perspective(1200px) rotateY(-8deg)}
.hero.is-opening .door-panel--right{transform:translateX(104%) perspective(1200px) rotateY(8deg)}
.hero.is-opening .hero-center,
.hero.is-opening .hero-quote,
.hero.is-opening .hero-controls,
.hero.is-opening .bird-guide{
  opacity:0;transform:translateY(-8px);transition:opacity .45s ease,transform .45s ease;
}
.dust{position:absolute;inset:90px 0 0;z-index:2;pointer-events:none;overflow:hidden}
.dust i{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.72);box-shadow:0 0 10px rgba(255,255,255,.65);
  animation:dustFloat 10s linear infinite;
}
.dust i:nth-child(1){left:12%;top:78%;animation-delay:-2s}
.dust i:nth-child(2){left:25%;top:64%;animation-delay:-6s}
.dust i:nth-child(3){left:39%;top:82%;animation-delay:-4s}
.dust i:nth-child(4){left:53%;top:68%;animation-delay:-8s}
.dust i:nth-child(5){left:66%;top:77%;animation-delay:-1s}
.dust i:nth-child(6){left:78%;top:59%;animation-delay:-7s}
.dust i:nth-child(7){left:88%;top:80%;animation-delay:-5s}
.dust i:nth-child(8){left:47%;top:54%;animation-delay:-3s}
@keyframes dustFloat{
  0%{transform:translateY(70px) scale(.7);opacity:0}
  20%{opacity:.65}
  100%{transform:translateY(-260px) scale(1.25);opacity:0}
}
.route-card{
  transform-style:preserve-3d;
}
.route-card:hover .route-scene{transform:scale(1.04)}
.route-scene{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.route-card:hover .route-copy{transform:translateY(-3px)}
.route-copy{transition:transform .45s ease}
.route-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .9s ease;pointer-events:none;
}
.route-card:hover:after{transform:translateX(120%)}
.hall-lower button{transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.hall-lower button:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(40,51,45,.10);background:white}
@media(max-width:700px){
  .door-panels,.dust{inset:72px 0 0}
  .hero-center{border-radius:24px!important;padding:1.5rem!important}
}

/* v9 · Volledige uitwerking Ruimte van Aankomst */
.museum-room--arrival-full{
  display:none !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  max-width:1280px;
  margin:0 auto;
}
.museum-room--arrival-full.is-active{display:block !important}
.arrival-hero{
  display:grid;grid-template-columns:1.08fr .92fr;gap:4rem;align-items:center;
  min-height:68vh;padding-bottom:5rem;
}
.arrival-hero__image{
  position:relative;min-height:620px;border-radius:22px;overflow:hidden;
  background-image:url("assets/room-aankomst.jpg");background-size:cover;background-position:center;
  box-shadow:var(--shadow);
}
.arrival-hero__image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(26,35,30,.62));
}
.arrival-hero__caption{
  position:absolute;left:2rem;right:2rem;bottom:1.7rem;z-index:3;color:white;
}
.arrival-hero__caption p,.arrival-hero__caption small{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}
.arrival-hero__caption h3{font-family:var(--serif);font-size:2.8rem;margin:.3rem 0}
.arrival-hero__story h3,.arrival-model h3,.arrival-perspectives h3,.arrival-movement h3,
.arrival-analysis h3,.arrival-inspiration h3,.arrival-reflection h3{
  font-family:var(--serif);line-height:1.02;
}
.arrival-hero__story h3{font-size:clamp(3rem,5vw,5rem);margin:.5rem 0 1.1rem}
.arrival-lead{font-family:var(--serif);font-size:1.6rem;color:var(--forest)}
.arrival-hero__story>p{line-height:1.85;color:#4c5852}
.arrival-hero__story blockquote{
  margin:2rem 0 0;border-left:2px solid var(--rose);padding-left:1.2rem;
  font-family:var(--serif);font-size:1.55rem;color:var(--forest)
}
.arrival-model{
  margin:0 -2rem;padding:6rem 2rem;
  display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;
  background:linear-gradient(135deg,#e9dfd0,#f8f3eb 48%,#dfd4c5);
}
.arrival-model__stage{position:relative;min-height:520px;display:grid;place-items:center}
.model-placeholder{
  width:min(580px,94%);min-height:410px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(255,255,255,.52);border:1px solid rgba(40,51,45,.12);box-shadow:0 25px 70px rgba(40,51,45,.13);
  text-align:center;position:relative;overflow:hidden;
}
.model-placeholder:before{
  content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.7) 48%,transparent 70%);
  animation:lightMove 8s linear infinite;
}
.model-placeholder__number{position:absolute;left:1rem;top:.8rem;font-family:var(--serif);font-size:3rem;color:rgba(40,51,45,.22)}
.model-placeholder__building{width:260px;height:170px;position:relative;margin-bottom:1.5rem}
.model-placeholder__building i{position:absolute;background:#c9c5bb;border:1px solid #a9a69e;box-shadow:0 10px 20px rgba(0,0,0,.1)}
.model-placeholder__building i:nth-child(1){width:220px;height:62px;left:20px;bottom:20px}
.model-placeholder__building i:nth-child(2){width:60px;height:110px;left:30px;bottom:20px}
.model-placeholder__building i:nth-child(3){width:60px;height:132px;right:32px;bottom:20px}
.model-placeholder__building i:nth-child(4){width:70px;height:42px;left:95px;bottom:20px;background:#b58c70}
.model-placeholder__building i:nth-child(5){width:240px;height:8px;left:10px;bottom:12px;background:#7d8b70}
.model-placeholder p{font-family:var(--serif);font-size:1.45rem;margin:.4rem 1rem;position:relative}
.model-placeholder small{color:var(--muted);position:relative}
.film-plinth--arrival{bottom:.8rem}
.arrival-model__interpretation>p{line-height:1.8;color:#4c5852}
.arrival-model__interpretation h3{font-size:3rem;margin:.5rem 0 1.3rem}
.museum-label{margin-top:2rem;padding:1.2rem 1.4rem;background:rgba(255,255,255,.55);border-left:3px solid var(--gold)}
.museum-label span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--clay)}
.museum-label p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;margin:.5rem 0}
.arrival-perspectives{
  display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:6rem 0;
}
.arrival-perspectives article{
  position:relative;padding:2.2rem;background:white;border:1px solid rgba(40,51,45,.10);
  box-shadow:0 18px 55px rgba(40,51,45,.07);overflow:hidden;
}
.arrival-perspectives article:after{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-80px;
  background:rgba(201,149,153,.12);
}
.arrival-perspectives article:nth-child(2):after{background:rgba(117,129,104,.13)}
.perspective-icon{
  display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--rose);color:white;font-size:1.8rem;margin-bottom:1.4rem
}
.arrival-perspectives article:nth-child(2) .perspective-icon{background:var(--olive)}
.arrival-perspectives h3{font-size:2.5rem;margin:.5rem 0 1rem}
.arrival-perspectives ul{padding-left:1.2rem;line-height:1.8;color:#4c5852}
.arrival-movement{
  margin:0 -2rem;padding:6rem 2rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center;
  background:#28342e;color:white;
}
.arrival-movement .micro{color:#c6d0be}.arrival-movement h3{font-size:3.2rem;margin:.4rem 0 1rem}
.arrival-movement p{line-height:1.8;color:rgba(255,255,255,.75)}
.movement-visual{min-height:390px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.teacher{padding:.9rem 1.2rem;border:1px solid rgba(255,255,255,.45);border-radius:999px}
.teacher--before{transform:translateY(-35px)}
.teacher--near{transform:translateY(35px);background:rgba(201,149,153,.25)}
.students{display:flex;gap:.6rem}.students i{width:32px;height:48px;border-radius:18px 18px 10px 10px;background:#e6ddd1}
.movement-arrow{font-size:3rem;color:var(--rose);animation:birdFloat 3s ease-in-out infinite}
.arrival-analysis{
  display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;padding:6rem 0;align-items:start;
}
.arrival-analysis h3{font-size:3.2rem;margin:.4rem 0 1rem}
.arrival-analysis p{line-height:1.8;color:#4c5852}
.arrival-analysis aside{padding:2rem;background:#eee4d8;border-top:3px solid var(--rose)}
.arrival-analysis aside blockquote{font-family:var(--serif);font-size:1.7rem;line-height:1.35;margin:1rem 0}
.arrival-inspiration{
  margin:0 -2rem;padding:6rem 2rem;background:linear-gradient(180deg,#efe7dc,#e6dbce);
}
.arrival-inspiration__intro{max-width:760px}
.arrival-inspiration__intro h3{font-size:3.4rem;margin:.4rem 0 1rem}
.arrival-inspiration__intro p{line-height:1.8;color:#4c5852}
.inspiration-books{display:flex;align-items:flex-end;gap:1rem;margin:3rem 0 2rem}
.inspiration-book{
  width:170px;height:280px;border:0;color:white;padding:1rem;cursor:pointer;writing-mode:vertical-rl;
  transform:rotate(180deg);box-shadow:10px 12px 26px rgba(40,51,45,.2);transition:.35s
}
.inspiration-book:hover{transform:rotate(180deg) translateY(14px)}
.inspiration-book span{font-family:var(--serif);font-size:1.6rem}.inspiration-book small{font-size:.68rem;opacity:.84;margin-top:1rem}
.inspiration-book--green{background:#536a58}.inspiration-book--clay{background:#94634e}.inspiration-book--rose{background:#a9787c}
.library-link,.journey-next{
  border:0;background:transparent;color:var(--rose-deep);padding:0;cursor:pointer;
  text-transform:uppercase;letter-spacing:.1em;font-size:.75rem
}
.arrival-reflection{
  padding:8rem 2rem;text-align:center;position:relative;
}
.reflection-bird{display:block;font-size:4rem;color:var(--rose);animation:birdFloat 6s ease-in-out infinite}
.arrival-reflection h3{max-width:900px;margin:.7rem auto 2.5rem;font-size:clamp(2.8rem,5vw,5rem)}
.journey-next{border:1px solid rgba(40,51,45,.15);padding:1rem 1.3rem;background:white}
@media(max-width:900px){
  .arrival-hero,.arrival-model,.arrival-movement,.arrival-analysis{grid-template-columns:1fr}
  .arrival-perspectives{grid-template-columns:1fr}
  .arrival-model,.arrival-movement,.arrival-inspiration{margin-left:-1rem;margin-right:-1rem}
}
@media(max-width:650px){
  .arrival-hero__image{min-height:420px}
  .arrival-hero__story h3,.arrival-model__interpretation h3,.arrival-inspiration__intro h3{font-size:2.5rem}
  .inspiration-books{overflow-x:auto;padding-bottom:1rem}
  .inspiration-book{min-width:140px;height:240px}
}

/* v10 · basis van het volledige digitale pedagogische museum */
.info-panel__content--ritual{width:min(820px,92vw);padding:3rem}
.info-panel__content--ritual h3{font-family:var(--serif);font-size:3.2rem;line-height:1;margin:.5rem 0 1.2rem}
.ritual-intro{font-size:1.1rem;line-height:1.8;color:var(--muted)}
.ritual-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.ritual-grid article{padding:1.2rem;background:#f3ece2;border-top:2px solid var(--rose)}
.ritual-grid span{font-family:var(--serif);font-size:1.6rem}
.ritual-grid p{line-height:1.65;color:#4f5a54}
.bird-quote{margin:2rem 0 0;padding-left:1.2rem;border-left:2px solid var(--olive);font-family:var(--serif);font-size:1.45rem;color:var(--forest)}
.hall-plaque{max-width:480px;margin:0 auto 2.5rem;padding:1rem 1.4rem;text-align:center;border:1px solid rgba(139,103,54,.35);background:linear-gradient(145deg,#d3b77d,#a98648);color:#34291d;box-shadow:0 10px 25px rgba(60,45,28,.16)}
.hall-plaque span{display:block;font-family:var(--serif);font-size:1.5rem}
.hall-plaque small{font-size:.72rem;letter-spacing:.08em}
.atelier-method,.atelier-research,.facilitator-section,.atelier-invitation{max-width:1180px;margin:0 auto;padding:5.5rem 2rem}
.atelier-method{border-top:1px solid rgba(40,51,45,.1)}
.atelier-method__intro{max-width:760px}
.atelier-method__intro h3,.atelier-research h3,.facilitator-card h3,.atelier-invitation h3{font-family:var(--serif);font-size:3.2rem;line-height:1;margin:.4rem 0 1.2rem}
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem}
.method-steps article{padding:1.5rem;background:white;border:1px solid rgba(40,51,45,.1);min-height:220px}
.method-steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--rose);color:white}
.method-steps h4{font-family:var(--serif);font-size:1.8rem;margin:1rem 0 .5rem}
.method-steps p{line-height:1.65;color:var(--muted)}
.atelier-research{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;background:#2b3731;color:white;max-width:none;padding-left:max(2rem,calc((100vw - 1180px)/2 + 2rem));padding-right:max(2rem,calc((100vw - 1180px)/2 + 2rem))}
.atelier-research p{line-height:1.8;color:rgba(255,255,255,.78)}
.atelier-research aside{padding:2rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.atelier-research blockquote{font-family:var(--serif);font-size:2rem;line-height:1.25;margin:0}
.facilitator-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}
.certificate-placeholder{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#eadfce,#f8f2e8);border:1px solid rgba(40,51,45,.12);box-shadow:var(--shadow)}
.certificate-placeholder span{font-family:var(--serif);font-size:2.4rem}
.certificate-placeholder small{margin-top:.5rem;color:var(--muted)}
.facilitator-card p{line-height:1.8;color:var(--muted)}
.text-link{color:var(--rose-deep);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}
.atelier-invitation{text-align:center;background:linear-gradient(180deg,#efe6dc,#f8f3eb);max-width:none;padding-left:max(2rem,calc((100vw - 1180px)/2 + 2rem));padding-right:max(2rem,calc((100vw - 1180px)/2 + 2rem))}
.atelier-invitation p:last-child{max-width:760px;margin:auto;line-height:1.8;color:var(--muted)}
@media(max-width:900px){
  .ritual-grid,.method-steps,.atelier-research,.facilitator-card{grid-template-columns:1fr}
}
@media(max-width:650px){
  .info-panel__content--ritual{padding:2rem}
  .info-panel__content--ritual h3{font-size:2.4rem}
}

/* v11 · complete basis van alle museumvleugels */
.pedagogical-overview{max-width:1380px;margin:0 auto;padding:0 2rem 6rem}
.overview-atrium{
  position:relative;min-height:820px;border-radius:26px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(238,230,219,.9)),
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.95),transparent 40%);
  box-shadow:var(--shadow);border:1px solid rgba(40,51,45,.1)
}
.overview-atrium:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(40,51,45,.04) 1px,transparent 1px),
    linear-gradient(rgba(40,51,45,.04) 1px,transparent 1px);
  background-size:58px 58px;mask-image:linear-gradient(180deg,transparent,black 20%,black 82%,transparent)
}
.overview-school{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(500px,48vw);text-align:center;z-index:2}
.overview-school__label{display:inline-block;padding:.45rem .7rem;background:var(--rose);color:white;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.overview-school__model{position:relative;height:290px;margin:1.2rem auto}
.overview-school__model i{position:absolute;background:#c6c2b8;border:1px solid #a6a399;box-shadow:0 12px 25px rgba(0,0,0,.12)}
.overview-school__model i:nth-child(1){width:420px;height:92px;left:40px;bottom:30px}
.overview-school__model i:nth-child(2){width:100px;height:180px;left:50px;bottom:30px}
.overview-school__model i:nth-child(3){width:100px;height:210px;right:50px;bottom:30px}
.overview-school__model i:nth-child(4){width:120px;height:70px;left:190px;bottom:30px;background:#ae8468}
.overview-school__model i:nth-child(5){width:460px;height:10px;left:20px;bottom:18px;background:#7c896f}
.overview-school__model i:nth-child(6){width:160px;height:30px;left:170px;bottom:105px;background:rgba(201,149,153,.65)}
.overview-school h3{font-family:var(--serif);font-size:2.5rem;margin:.2rem 0}
.overview-school p{color:var(--muted);line-height:1.6}
.overview-compass{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);width:320px;height:320px;border:1px solid rgba(40,51,45,.14);border-radius:50%}
.overview-compass:before,.overview-compass:after{content:"";position:absolute;background:rgba(40,51,45,.12)}
.overview-compass:before{left:50%;top:0;bottom:0;width:1px}.overview-compass:after{top:50%;left:0;right:0;height:1px}
.overview-compass span{position:absolute;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.overview-compass span:nth-child(1){top:-24px;left:50%;transform:translateX(-50%)}
.overview-compass span:nth-child(2){right:-45px;top:50%}
.overview-compass span:nth-child(3){bottom:-24px;left:50%;transform:translateX(-50%)}
.overview-compass span:nth-child(4){left:-35px;top:50%}
.overview-doors{position:absolute;inset:0;z-index:3}
.overview-door{
  position:absolute;width:210px;min-height:150px;padding:1.2rem;border:1px solid rgba(40,51,45,.12);
  background:rgba(255,255,255,.78);backdrop-filter:blur(8px);text-align:left;cursor:pointer;transition:.4s;
  box-shadow:0 18px 45px rgba(40,51,45,.08)
}
.overview-door:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow);border-color:var(--rose)}
.overview-door small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;color:var(--rose-deep)}
.overview-door span{display:block;font-family:var(--serif);font-size:1.9rem;margin:.45rem 0}
.overview-door em{font-size:.72rem;color:var(--muted)}
.overview-door--1{left:6%;top:13%}.overview-door--2{right:6%;top:14%}.overview-door--3{left:4%;bottom:11%}.overview-door--4{right:4%;bottom:12%}.overview-door--5{left:50%;top:7%;transform:translateX(-50%)}
.overview-door--5:hover{transform:translateX(-50%) translateY(-8px) scale(1.02)}
.overview-bird{position:absolute;right:18%;top:37%;font-size:4rem;color:var(--rose);animation:birdFloat 7s ease-in-out infinite}
.overview-note{max-width:760px;margin:2rem auto 0;text-align:center;color:var(--muted);line-height:1.8}
.library-room{position:relative;overflow:hidden}
.library-window-light{position:absolute;right:-10%;top:0;width:55%;height:100%;background:linear-gradient(120deg,rgba(255,255,255,.28),transparent 70%);transform:skewX(-12deg)}
.library-ladder{position:absolute;right:6%;top:180px;width:90px;height:420px;border-left:7px solid #8a6548;border-right:7px solid #8a6548;transform:rotate(5deg);z-index:2}
.library-ladder span{display:block;height:5px;background:#8a6548;margin:55px 0}
.library-reading-corner{max-width:1100px;margin:-1rem auto 3rem;padding:0 2rem;display:flex;align-items:center;gap:2rem}
.reading-chair{width:120px;height:110px;border-radius:55px 55px 18px 18px;background:#8b5f50;box-shadow:0 18px 30px rgba(0,0,0,.22)}
.reading-lamp{width:20px;height:120px;background:#b78f52;position:relative}
.reading-lamp:before{content:"";position:absolute;left:-35px;top:-25px;width:90px;height:45px;background:#d7b77f;border-radius:50% 50% 10% 10%}
.library-reading-corner blockquote{font-family:var(--serif);font-size:1.45rem;color:rgba(255,255,255,.78);max-width:520px}
.living-museum-plaque{max-width:760px;margin:3rem auto 0;padding:1.2rem 1.5rem;text-align:center;border:1px solid rgba(215,183,127,.35);color:#efe5d7;background:rgba(255,255,255,.05)}
.living-museum-plaque span{display:block;font-family:var(--serif);font-size:1.5rem}
.living-museum-plaque small{opacity:.72}
.manifest-cover{width:min(430px,80vw);aspect-ratio:.72;margin:0 auto;background:linear-gradient(145deg,#89705a,#4f4034);box-shadow:0 35px 80px rgba(44,34,26,.3);display:grid;place-items:center;text-align:center;color:#f7efe6;cursor:pointer;transition:.8s;transform-origin:left center}
.manifest-cover__front img{width:150px;border-radius:50%;margin-bottom:1rem}
.manifest-cover__front h2{font-size:4rem;margin:.3rem 0}
.manifest-cover__front small{text-transform:uppercase;letter-spacing:.15em}
.manifest-cover.is-open{transform:perspective(1200px) rotateY(-105deg);opacity:0;pointer-events:none}
.manifest-book--closed{display:none}
.manifest-book--open{display:grid;animation:viewIn .9s ease}
.meeting-room{min-height:calc(100vh - 90px);display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:4rem;max-width:1300px;margin:auto;padding:6rem 2rem}
.meeting-desk{position:relative;min-height:520px;background:linear-gradient(145deg,#e5d5c1,#c7ad91);border-radius:50% 50% 20px 20px;box-shadow:var(--shadow)}
.desk-book{position:absolute;left:18%;top:22%;width:180px;height:240px;background:#d8c6ae;box-shadow:18px 20px 35px rgba(50,35,25,.18);display:grid;place-items:center;font-family:var(--serif);font-size:1.8rem;transform:rotate(-8deg)}
.desk-notes{position:absolute;right:16%;top:18%;width:190px;height:130px;background:#f8f2e9;box-shadow:8px 8px 20px rgba(0,0,0,.12);transform:rotate(6deg)}
.desk-coffee{position:absolute;right:25%;bottom:22%;width:72px;height:72px;border-radius:50%;background:#f1ece5;border:12px solid #d2c2b2;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.desk-bricks{position:absolute;left:25%;bottom:18%;display:flex;gap:.4rem}
.desk-bricks i{width:40px;height:28px;background:var(--rose);box-shadow:inset 0 4px rgba(255,255,255,.28)}
.desk-bricks i:nth-child(2){background:var(--olive)}.desk-bricks i:nth-child(3){background:var(--gold)}.desk-bricks i:nth-child(4){background:var(--clay)}
.personal-route{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:2rem 0}
.personal-route span{padding:.65rem .9rem;border:1px solid rgba(40,51,45,.14);border-radius:999px}
.personal-route i{color:var(--rose)}
.meeting-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.text-button{border:0;background:none;color:var(--rose-deep);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
@media(max-width:1000px){
  .overview-atrium{min-height:1100px}
  .overview-school{top:44%;width:70vw}
  .overview-door--1{left:5%;top:7%}.overview-door--2{right:5%;top:7%}
  .overview-door--3{left:5%;bottom:7%}.overview-door--4{right:5%;bottom:7%}
  .overview-door--5{top:21%}
  .meeting-room{grid-template-columns:1fr}
}
@media(max-width:700px){
  .overview-atrium{min-height:1500px;padding:1rem}
  .overview-school{position:relative;left:auto;top:auto;transform:none;width:auto;margin:480px 1rem 0}
  .overview-school__model{transform:scale(.72)}
  .overview-doors{position:absolute;inset:0}
  .overview-door{width:calc(100% - 2rem);left:1rem!important;right:auto!important;transform:none!important}
  .overview-door--1{top:30px}.overview-door--2{top:200px}.overview-door--5{top:370px}
  .overview-door--3{top:auto;bottom:200px}.overview-door--4{top:auto;bottom:30px}
  .overview-compass{display:none}
  .overview-bird{right:10%;top:55%}
  .library-ladder{display:none}
  .library-reading-corner{flex-direction:column;align-items:flex-start}
  .meeting-desk{min-height:390px}
}

.about--encounter{background:linear-gradient(180deg,#f6f0e7,#eee3d6)}
.encounter-opening{max-width:1080px;margin:auto;padding:7rem 2rem 4rem}
.encounter-opening h2{font-family:var(--serif);font-size:clamp(4rem,8vw,8rem);line-height:.9;margin:.5rem 0 1.5rem}
.encounter-opening__lead{font-family:var(--serif);font-size:1.9rem;line-height:1.4;max-width:900px}
.encounter-opening>p:last-child{max-width:760px;line-height:1.85;color:var(--muted)}
.encounter-portrait{max-width:1280px;margin:auto;padding:0 2rem 7rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.encounter-portrait__image{position:relative;min-height:720px;border-radius:260px 260px 30px 30px;overflow:hidden;box-shadow:var(--shadow)}
.encounter-portrait__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.encounter-bird{position:absolute;right:10%;top:8%;font-size:4rem;color:var(--rose);animation:birdFloat 7s ease-in-out infinite}
.encounter-portrait h3,.encounter-wide h3,.encounter-field h3,.encounter-rhythm h3,.encounter-nova h3,.encounter-between h3{font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.6rem);line-height:1}
.encounter-portrait p,.encounter-wide p,.encounter-field p,.encounter-forms p,.encounter-nova p{line-height:1.9;color:#4d5953}
.encounter-wide,.encounter-field,.encounter-forms{max-width:1180px;margin:auto;padding:6rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.encounter-wide{max-width:none;padding-left:max(2rem,calc((100vw - 1180px)/2 + 2rem));padding-right:max(2rem,calc((100vw - 1180px)/2 + 2rem));background:#e8ddd0}
.encounter-wide aside{padding:2rem;border-left:3px solid var(--rose);background:rgba(255,255,255,.45)}
.encounter-wide blockquote{font-family:var(--serif);font-size:2rem;line-height:1.25;margin:0 0 1rem}
.encounter-field__visual{min-height:420px;border-radius:50%;border:1px solid rgba(40,51,45,.12);display:flex;align-items:center;justify-content:space-around;background:radial-gradient(circle,white,rgba(201,149,153,.08))}
.encounter-field__visual span{font-family:var(--serif);font-size:1.6rem}
.encounter-rhythm{max-width:1100px;margin:auto;padding:7rem 2rem;text-align:center}
.encounter-rhythm div{display:flex;flex-direction:column;gap:1rem}.encounter-rhythm span{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.4rem)}
.encounter-forms__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.encounter-forms__grid article{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:white;font-family:var(--serif);font-size:1.25rem;box-shadow:0 12px 35px rgba(40,51,45,.07)}
.encounter-nova{padding:8rem max(2rem,calc((100vw - 1180px)/2 + 2rem));background:#29352f;color:white}.encounter-nova p{color:rgba(255,255,255,.75);max-width:760px}
.encounter-questions{max-width:1000px;margin:auto;padding:8rem 2rem;text-align:center}.encounter-questions p{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.2}
.encounter-between{text-align:center;padding:8rem 2rem;background:linear-gradient(180deg,#e9dfd3,#f7f2eb)}.encounter-between span{display:block;font-family:var(--serif);font-size:1.75rem;color:var(--muted);margin:.5rem}.encounter-between h3{max-width:900px;margin:3rem auto 0}
.encounter-closing{text-align:center;padding:8rem 2rem 10rem}.encounter-closing>span{display:block;font-size:5rem;color:var(--rose);animation:birdFloat 7s ease-in-out infinite}.encounter-closing p{font-family:var(--serif);font-size:2rem}
@media(max-width:900px){.encounter-portrait,.encounter-wide,.encounter-field,.encounter-forms{grid-template-columns:1fr}.encounter-portrait__image{min-height:600px;max-width:620px;margin:auto}}

/* v13 · modulaire pagina-opbouw */
.site-header nav a,.contact-pill{text-decoration:none}
.site-header nav a{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--ink)}
.site-header nav a:hover{color:var(--rose-deep)}
a.crumb{text-decoration:none;display:inline-block}
.overview-door,.route-card{display:block;text-decoration:none;color:inherit}
.room-switcher a{border:1px solid rgba(40,51,45,.12);background:white;padding:.7rem .9rem;color:var(--ink);text-decoration:none}
body[data-page^="ruimte-"] .museum{padding-bottom:5rem}


/* v14 · abstracte meeuw en dubbele atelierdeuren */
/* De twee deurvleugels zijn bewust gelijk opgebouwd en niet gespiegeld als foto. */
.door-panel{
  background:
    linear-gradient(90deg,rgba(255,255,255,.18),transparent 18%,transparent 82%,rgba(65,43,25,.12)),
    linear-gradient(145deg,#bd946c,#9c724e 52%,#b98d64)!important;
  background-image:none!important;
  border:1px solid rgba(65,43,25,.25);
  box-shadow:inset 0 0 0 12px rgba(84,57,34,.11),inset 0 0 42px rgba(58,39,24,.22),0 18px 50px rgba(28,20,14,.22);
  overflow:hidden;
}
.door-panel:before{
  content:"";position:absolute;inset:22px;border:2px solid rgba(73,49,29,.28);box-shadow:inset 0 0 0 5px rgba(255,255,255,.08);
}
.door-frame{position:absolute;left:12%;right:12%;border:2px solid rgba(70,47,29,.32);box-shadow:inset 0 0 0 6px rgba(255,255,255,.07)}
.door-frame--top{top:9%;height:24%}.door-frame--middle{top:38%;height:23%}.door-frame--bottom{bottom:8%;height:24%}
.door-handle{position:absolute;top:51%;width:17px;height:17px;border-radius:50%;background:#4d3827;box-shadow:0 0 0 5px #8b6a4f,0 4px 12px rgba(0,0,0,.35);z-index:5}
.door-handle:after{content:"";position:absolute;top:6px;width:42px;height:7px;border-radius:999px;background:linear-gradient(90deg,#4a3423,#9c7a58);box-shadow:0 3px 5px rgba(0,0,0,.25)}
.door-handle--left{right:28px}.door-handle--left:after{right:4px}
.door-handle--right{left:28px}.door-handle--right:after{left:4px}
.hero-image{
  background-image:url("assets/nova-via-hero.png")!important;
  background-size:cover!important;
  background-position:center 55%!important;
  filter:saturate(.83) brightness(1.04);
}
.hero.is-opening .door-panel--left{transform-origin:left center;transform:perspective(1500px) rotateY(-104deg)}
.hero.is-opening .door-panel--right{transform-origin:right center;transform:perspective(1500px) rotateY(104deg)}

/* De meeuw is abstract, licht en oudroze. */
.seagull{width:118px;height:auto;overflow:visible;filter:drop-shadow(0 7px 12px rgba(112,74,77,.14))}
.seagull-wing,.seagull-body,.seagull-tail{fill:#d3a3a5;stroke:#b98387;stroke-width:1.2;stroke-linejoin:round}
.seagull-body{fill:#ead3d1}.seagull-tail{fill:#c98f93}.seagull-eye{fill:#405048}
.seagull-wing--left{transform-origin:84px 50px;animation:wingLeft 3.8s ease-in-out infinite}
.seagull-wing--right{transform-origin:94px 50px;animation:wingRight 3.8s ease-in-out infinite}
@keyframes wingLeft{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-7deg) translateY(-2px)}}
@keyframes wingRight{0%,100%{transform:rotate(0deg)}50%{transform:rotate(7deg) translateY(-2px)}}
.bird-guide--hero{top:16%;left:47%;animation:seagullFlight 12s ease-in-out infinite}
.bird-guide--hero .bird-trail{width:180px;transform:translate(78px,-35px) rotate(5deg);border-top-color:rgba(201,143,147,.72)}
@keyframes seagullFlight{
  0%,100%{transform:translate(-30px,5px) rotate(-2deg)}
  30%{transform:translate(22px,-16px) rotate(2deg)}
  62%{transform:translate(68px,4px) rotate(-1deg)}
  82%{transform:translate(18px,18px) rotate(1deg)}
}

/* Op elke pagina verschijnt één kleine, bewegende meeuw in de headerzone. */
.global-seagull{position:fixed;z-index:59;top:88px;left:-150px;width:86px;pointer-events:none;animation:crossPage 24s linear infinite;opacity:.78}
.global-seagull svg{width:100%;height:auto}
@keyframes crossPage{0%{left:-150px;transform:translateY(8px) scale(.82)}45%{transform:translateY(-18px) scale(.9)}100%{left:calc(100vw + 150px);transform:translateY(6px) scale(.82)}}
@media(prefers-reduced-motion:reduce){.global-seagull,.bird-guide--hero,.seagull-wing{animation:none!important}}
@media(max-width:700px){.global-seagull{top:70px;width:64px}.door-handle{top:50%}.door-handle--left{right:18px}.door-handle--right{left:18px}}


/* v14.1 entree */
.hero{
  background:linear-gradient(180deg,#f8f4ee,#efe7dc)!important;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:none!important;
}


/* =========================================================
   NOVA VIA ATELIER · VERSIE 15
   Definitieve modulaire entree zonder dubbele achtergrond.
   ========================================================= */
body[data-page="entree"]{
  background:#eee5d9;
}
body[data-page="entree"] .site-header{
  background:rgba(248,244,238,.94);
  border-bottom:1px solid rgba(55,62,57,.09);
}
body[data-page="entree"] .hero{
  isolation:isolate;
  min-height:calc(100vh - 88px);
  background:
    radial-gradient(circle at 50% 22%,rgba(255,255,255,.92),transparent 38%),
    linear-gradient(180deg,#f7f2eb 0%,#eee4d7 58%,#e5d8c9 100%)!important;
  overflow:hidden;
}
body[data-page="entree"] .hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(90deg,transparent 0 49.85%,rgba(74,65,56,.08) 49.9% 50.1%,transparent 50.15%),
    repeating-linear-gradient(90deg,rgba(74,65,56,.025) 0 1px,transparent 1px 118px)!important;
  pointer-events:none;
}
body[data-page="entree"] .hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:20%;
  z-index:-2;
  background:linear-gradient(180deg,transparent,rgba(114,92,70,.08));
  pointer-events:none;
}
body[data-page="entree"] .hero-image{
  display:none!important;
  background:none!important;
  background-image:none!important;
}
body[data-page="entree"] .hero-shade{
  background:radial-gradient(circle at 50% 46%,transparent 0 31%,rgba(42,38,34,.08) 73%,rgba(42,38,34,.16) 100%)!important;
  z-index:2;
  pointer-events:none;
}
body[data-page="entree"] .door-panels{
  position:absolute;
  inset:4.5% 18% 4%;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  perspective:1800px;
  filter:drop-shadow(0 28px 34px rgba(64,48,36,.22));
}
body[data-page="entree"] .door-panel{
  position:relative;
  overflow:hidden;
  transition:transform 1.18s cubic-bezier(.2,.72,.14,1),filter .8s ease;
  backface-visibility:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.09),transparent 17%,rgba(0,0,0,.045) 78%,rgba(255,255,255,.05)),
    repeating-linear-gradient(90deg,#87674f 0 3px,#916f55 3px 9px,#7c5e49 9px 13px,#9a7659 13px 21px);
  border:10px solid #6d513f;
  box-shadow:inset 0 0 0 2px rgba(237,218,191,.16),inset 0 0 35px rgba(33,22,15,.22);
}
body[data-page="entree"] .door-panel--left{border-right-width:5px;transform-origin:left center}
body[data-page="entree"] .door-panel--right{border-left-width:5px;transform-origin:right center}
body[data-page="entree"] .door-frame{
  position:absolute;
  left:10%;right:10%;
  border:3px solid rgba(66,45,32,.58);
  box-shadow:inset 0 0 0 5px rgba(194,159,120,.12),0 2px 4px rgba(39,27,19,.16);
}
body[data-page="entree"] .door-frame--top{top:8%;height:22%}
body[data-page="entree"] .door-frame--middle{top:37%;height:24%}
body[data-page="entree"] .door-frame--bottom{bottom:7%;height:25%}
body[data-page="entree"] .door-handle{
  top:51%;
  width:19px;height:19px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ead6a5,#a87d42 55%,#5f4224 100%);
  box-shadow:0 0 0 5px rgba(112,77,37,.35),0 5px 12px rgba(37,25,15,.28);
}
body[data-page="entree"] .door-handle::after{
  content:"";
  position:absolute;
  top:7px;
  width:43px;height:7px;
  border-radius:999px;
  background:linear-gradient(180deg,#d9bd78,#8c632e);
  box-shadow:0 3px 6px rgba(33,21,12,.25);
}
body[data-page="entree"] .door-handle--left{right:28px}
body[data-page="entree"] .door-handle--left::after{right:0}
body[data-page="entree"] .door-handle--right{left:28px}
body[data-page="entree"] .door-handle--right::after{left:0}
body[data-page="entree"] .hero.is-opening .door-panel--left{
  transform:perspective(1800px) rotateY(-107deg)!important;
  filter:brightness(.84);
}
body[data-page="entree"] .hero.is-opening .door-panel--right{
  transform:perspective(1800px) rotateY(107deg)!important;
  filter:brightness(.84);
}
body[data-page="entree"] .hero-center,
body[data-page="entree"] .hero-quote,
body[data-page="entree"] .hero-controls,
body[data-page="entree"] .bird-guide--hero{
  z-index:5;
}
body[data-page="entree"] .hero-center{
  text-shadow:0 1px 12px rgba(248,244,238,.7);
}
body[data-page="entree"] .bird-guide--hero{
  top:13%;left:43%;
}
body[data-page="entree"] .global-seagull{display:none}
@media(max-width:900px){
  body[data-page="entree"] .door-panels{inset:6% 7% 5%}
}
@media(max-width:650px){
  body[data-page="entree"] .hero{min-height:calc(100vh - 72px)}
  body[data-page="entree"] .door-panels{inset:7% 3% 5%}
  body[data-page="entree"] .door-panel{border-width:7px}
  body[data-page="entree"] .door-panel--left{border-right-width:3px}
  body[data-page="entree"] .door-panel--right{border-left-width:3px}
  body[data-page="entree"] .door-handle--left{right:16px}
  body[data-page="entree"] .door-handle--right{left:16px}
}


/* v16 · stille entree zonder deuren */
.hero--quiet{
  min-height:100vh;
  padding-top:90px;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,255,255,.96),rgba(248,243,236,.88) 42%,rgba(235,224,211,.94) 100%);
  color:var(--ink);
}
.hero--quiet::before{
  content:"";
  position:absolute;
  inset:90px 0 0;
  background:
    linear-gradient(115deg,transparent 20%,rgba(255,255,255,.58) 45%,transparent 70%),
    radial-gradient(circle at 25% 80%,rgba(201,149,153,.12),transparent 30%);
  animation:entryLight 11s ease-in-out infinite alternate;
}
@keyframes entryLight{
  from{transform:translateX(-2%) scale(1)}
  to{transform:translateX(2%) scale(1.03)}
}
.entry-glow{
  position:absolute;
  left:50%;
  top:49%;
  width:min(760px,80vw);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.86),rgba(255,255,255,0) 68%);
  pointer-events:none;
}
.entry-path{
  position:absolute;
  left:50%;
  bottom:-9vh;
  width:min(760px,80vw);
  height:38vh;
  transform:translateX(-50%);
  border-radius:50% 50% 0 0;
  background:linear-gradient(180deg,rgba(190,155,131,.08),rgba(190,155,131,.24));
  clip-path:polygon(42% 0,58% 0,78% 100%,22% 100%);
  opacity:.65;
}
.hero-center--quiet{
  position:relative;
  z-index:4;
  min-height:calc(100vh - 90px);
  max-width:900px;
  margin:0 auto;
  padding:3.5rem 2rem 5rem;
}
.entry-logo{
  width:128px;
  height:128px;
  object-fit:contain;
  border-radius:50%;
  margin-bottom:1.1rem;
  filter:drop-shadow(0 12px 28px rgba(72,56,44,.10));
}
.hero-center--quiet h1{
  font-size:clamp(4.5rem,9vw,8.5rem);
  margin:.45rem 0 .8rem;
}
.entry-intro{
  max-width:700px;
  margin:.5rem auto 1.5rem;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.2vw,1.9rem);
  line-height:1.45!important;
  color:#4d5852;
}
.entry-bird-quote{
  max-width:610px;
  margin:1.7rem auto .5rem;
  padding:0;
  border:0;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.2rem;
  line-height:1.55;
  color:var(--rose-deep);
}
.entry-button{
  margin-top:1.6rem;
  min-width:190px;
}
.hero-controls--quiet{
  z-index:6;
}
.hero-controls--quiet button{
  color:var(--forest);
  text-shadow:none;
}
.hero-controls--quiet span{
  border:1px solid rgba(40,51,45,.16);
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(7px);
}
.bird-guide--entry{
  position:absolute;
  z-index:5;
  top:18%;
  left:-15%;
  width:190px;
  opacity:.96;
  animation:entrySeagullFlight 13s ease-in-out infinite;
}
.seagull--entry{
  width:118px;
  filter:drop-shadow(0 8px 12px rgba(112,75,80,.12));
}
.seagull--entry .seagull-wing,
.seagull--entry .seagull-body,
.seagull--entry .seagull-tail{
  fill:#c99599;
}
.seagull--entry .seagull-eye{fill:#6d5154}
.bird-trail--entry{
  width:130px;
  border-color:rgba(201,149,153,.42);
}
@keyframes entrySeagullFlight{
  0%{left:-16%;top:27%;transform:rotate(-4deg) scale(.78);opacity:0}
  10%{opacity:.9}
  34%{left:30%;top:16%;transform:rotate(2deg) scale(.98)}
  58%{left:55%;top:22%;transform:rotate(-1deg) scale(1)}
  82%{left:84%;top:13%;transform:rotate(4deg) scale(.88);opacity:.9}
  100%{left:112%;top:7%;transform:rotate(5deg) scale(.72);opacity:0}
}
.hero--quiet.is-opening{
  animation:quietExit 1.5s ease forwards;
}
.hero--quiet.is-opening .bird-guide--entry{
  animation:birdLeadsInside 1.35s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero--quiet.is-opening .hero-center--quiet,
.hero--quiet.is-opening .hero-controls--quiet{
  animation:entryContentFade .85s ease forwards;
}
@keyframes quietExit{
  0%{filter:none}
  65%{filter:brightness(1.05)}
  100%{filter:brightness(1.16);opacity:0}
}
@keyframes birdLeadsInside{
  0%{left:52%;top:20%;opacity:1;transform:scale(1)}
  100%{left:108%;top:9%;opacity:0;transform:scale(.72)}
}
@keyframes entryContentFade{
  to{opacity:0;transform:translateY(12px)}
}
@media(max-width:780px){
  .hero-controls--quiet{top:auto;right:50%;bottom:1.2rem;transform:translateX(50%);flex-direction:row}
  .hero-center--quiet{padding-top:2rem}
  .entry-logo{width:105px;height:105px}
  .bird-guide--entry{top:14%}
}


/* v17 · geluidsbeleving per ruimte */
.global-sound-control{
  position:fixed;
  right:1.35rem;
  bottom:1.35rem;
  z-index:120;
  display:flex;
  align-items:center;
  gap:.7rem;
  border:1px solid rgba(40,51,45,.14);
  border-radius:999px;
  padding:.65rem .9rem .65rem .65rem;
  background:rgba(250,246,240,.84);
  color:var(--forest);
  box-shadow:0 12px 35px rgba(40,51,45,.12);
  backdrop-filter:blur(12px);
  cursor:pointer;
  transition:.3s ease;
}
.global-sound-control:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(40,51,45,.16);
}
.global-sound-control span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(201,149,153,.18);
  color:var(--rose-deep);
  font-size:.9rem;
}
.global-sound-control small{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.62rem;
}
.global-sound-control[aria-pressed="true"] span{
  background:var(--rose);
  color:white;
  animation:soundPulse 2.6s ease-in-out infinite;
}
@keyframes soundPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(201,149,153,.22)}
  50%{box-shadow:0 0 0 9px rgba(201,149,153,0)}
}
body[data-page="entree"] .global-sound-control{
  display:none;
}
@media(max-width:700px){
  .global-sound-control{
    right:1rem;
    bottom:1rem;
  }
  .global-sound-control small{
    display:none;
  }
}


/* ============================================================
   V18 · Nova Via als interactief pedagogisch gebouw
   ============================================================ */

:root{
  --sans:'Manrope','Inter',sans-serif;
}

body{
  font-family:var(--sans);
}

.site-header nav{
  gap:1.05rem;
}
.site-header nav a{
  font-size:.68rem;
  letter-spacing:.075em;
}

/* Entree: één achtergrond, geen dubbele lagen */
.hero--path{
  background:
    linear-gradient(90deg,rgba(248,243,236,.82) 0%,rgba(248,243,236,.60) 35%,rgba(248,243,236,.18) 72%),
    url("assets/entree-pad.jpg") center/cover no-repeat !important;
}
.hero--path::before{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(70,54,42,.08)) !important;
}
.hero--path .entry-glow,
.hero--path .entry-path{
  display:none;
}
.hero--path .hero-center--quiet{
  align-items:flex-start;
  text-align:left;
  margin-left:7vw;
  margin-right:auto;
  max-width:720px;
}
.hero--path .entry-intro,
.hero--path .entry-bird-quote{
  margin-left:0;
  margin-right:0;
}
.entry-logo--subtle{
  width:82px;
  height:82px;
  opacity:.92;
}
.hero--path .pink-line{
  margin-left:0;
}
.hero--path .hero-center--quiet h1{
  font-size:clamp(4rem,8vw,7.2rem);
}

/* Ontvangsthal */
.hall--school{
  min-height:100vh;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.95),transparent 38%),
    linear-gradient(180deg,#fbf8f2,#eee5d8);
}
.hall-intro{
  padding-bottom:2rem;
}
.school-map-section{
  width:min(1460px,94vw);
  margin:0 auto;
  padding:2rem;
  border-radius:30px;
  background:rgba(255,255,255,.72);
  box-shadow:0 28px 80px rgba(53,42,31,.12);
  backdrop-filter:blur(12px);
}
.school-map-heading{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:2rem;
  align-items:end;
  margin:0 auto 1.5rem;
}
.school-map-heading h3{
  margin:.2rem 0 0;
  font-family:var(--serif);
  font-size:clamp(2.1rem,4vw,4rem);
  line-height:1;
}
.school-map-heading>p{
  color:var(--muted);
  line-height:1.7;
}
.school-map{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#f8f5ef;
}
.school-map>img{
  display:block;
  width:100%;
  height:auto;
}
.school-hotspot{
  position:absolute;
  display:block;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(201,149,153,.035);
  transition:.32s ease;
  outline:none;
}
.school-hotspot::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 2px rgba(201,149,153,0);
  transition:.32s ease;
}
.school-hotspot:hover,
.school-hotspot:focus-visible{
  background:rgba(201,149,153,.18);
  backdrop-filter:blur(1px);
}
.school-hotspot:hover::after,
.school-hotspot:focus-visible::after{
  box-shadow:inset 0 0 0 2px rgba(201,149,153,.72),0 12px 32px rgba(80,55,44,.18);
}
.school-hotspot span{
  position:absolute;
  left:50%;
  bottom:calc(100% + 12px);
  transform:translate(-50%,8px);
  width:max-content;
  max-width:210px;
  padding:.75rem .9rem;
  border-radius:12px;
  background:rgba(39,49,43,.94);
  color:white;
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  text-align:left;
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.school-hotspot:hover span,
.school-hotspot:focus-visible span{
  opacity:1;
  transform:translate(-50%,0);
}
.school-hotspot b{
  display:block;
  font-family:var(--serif);
  font-size:1.1rem;
  font-weight:600;
}
.school-hotspot small{
  display:block;
  margin-top:.15rem;
  color:rgba(255,255,255,.74);
  font-size:.68rem;
}
.hotspot--arrival{left:5%;top:29%;width:25%;height:39%}
.hotspot--search{left:25%;top:22%;width:18%;height:34%}
.hotspot--meeting{left:42%;top:16%;width:22%;height:34%}
.hotspot--development{left:63%;top:5%;width:29%;height:35%}
.hotspot--trust{left:60%;top:39%;width:33%;height:30%}
.hotspot--atelier{left:24%;top:54%;width:37%;height:22%}
.hotspot--library{left:8%;top:18%;width:15%;height:15%;border-radius:50%}

.map-legend{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1.1rem .3rem 0;
  font-size:.78rem;
  color:var(--muted);
}
.map-legend span{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.map-legend i{
  width:15px;height:15px;border-radius:4px;
  background:rgba(201,149,153,.25);
  border:1px solid rgba(201,149,153,.7);
}
.map-legend a{
  color:var(--rose-deep);
}
.hall-portals{
  width:min(1320px,92vw);
  margin:2rem auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.hall-portal{
  min-height:250px;
  padding:2rem;
  border-radius:22px;
  color:var(--ink);
  text-decoration:none;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(49,40,31,.09);
  transition:.35s ease;
}
.hall-portal:hover{
  transform:translateY(-7px);
  box-shadow:0 25px 60px rgba(49,40,31,.14);
}
.hall-portal small{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.65rem;
}
.hall-portal h3{
  font-family:var(--serif);
  font-size:2rem;
  line-height:1.02;
  margin:2.8rem 0 .6rem;
}
.hall-portal p{
  max-width:34ch;
  line-height:1.55;
}
.hall-portal span{
  display:block;
  margin-top:1.4rem;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hall-portal--research{background:linear-gradient(145deg,#d9caa7,#f3eadb)}
.hall-portal--library{
  background:
    linear-gradient(145deg,rgba(75,65,47,.45),rgba(38,48,42,.74)),
    url("assets/bibliotheek-nieuw.jpg") center/cover;
  color:white;
}
.hall-portal--manifest{
  background:
    linear-gradient(145deg,rgba(231,216,196,.72),rgba(184,129,132,.28)),
    url("assets/manifest-nieuw.jpg") center/cover;
}
.hall-plaque--quiet{
  margin-top:2.2rem;
}

/* Ruimtekaarten horen op Pedagogische Ruimten */
.room-exhibition{
  width:min(1460px,94vw);
  margin:0 auto 3rem;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1rem;
}
.exhibition-card{
  min-width:0;
  overflow:hidden;
  border-radius:22px;
  background:white;
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 18px 46px rgba(41,48,43,.09);
  transition:.35s ease;
}
.exhibition-card:hover{
  transform:translateY(-9px);
  box-shadow:0 26px 65px rgba(41,48,43,.15);
}
.exhibition-card img{
  display:block;
  width:100%;
  height:270px;
  object-fit:cover;
  filter:saturate(.82) contrast(.96);
  transition:.5s ease;
}
.exhibition-card:hover img{
  transform:scale(1.04);
}
.exhibition-card div{
  padding:1.35rem;
}
.exhibition-card small{
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--rose-deep);
  font-size:.62rem;
}
.exhibition-card h3{
  margin:.35rem 0 .45rem;
  font-family:var(--serif);
  font-size:2rem;
}
.exhibition-card p{
  min-height:84px;
  color:var(--muted);
  line-height:1.55;
  font-size:.9rem;
}
.exhibition-card span{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
}
.overview-return{
  width:min(1180px,92vw);
  margin:0 auto 4rem;
  padding:2rem 2.3rem;
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center;
  border-top:1px solid rgba(40,51,45,.14);
  border-bottom:1px solid rgba(40,51,45,.14);
}
.overview-return h3{
  font-family:var(--serif);
  font-size:2.2rem;
  margin:.35rem 0;
}
.primary-link{
  color:var(--rose-deep);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  text-decoration:none;
}

/* Nieuwe ruimtebeelden */
.room-visual--arrival{background-image:linear-gradient(90deg,rgba(35,43,38,.10),transparent),url("assets/room-aankomst-nieuw.jpg") !important}
.room-visual--search{background-image:linear-gradient(90deg,rgba(35,43,38,.10),transparent),url("assets/room-zoeken-nieuw.jpg") !important}
.room-visual--meeting{background-image:linear-gradient(90deg,rgba(35,43,38,.10),transparent),url("assets/room-ontmoeting-nieuw.jpg") !important}
.room-visual--development{background-image:linear-gradient(90deg,rgba(35,43,38,.10),transparent),url("assets/room-ontwikkeling-nieuw.jpg") !important}
.room-visual--trust{background-image:linear-gradient(90deg,rgba(35,43,38,.10),transparent),url("assets/room-vertrouwen-nieuw.jpg") !important}

/* Onderzoek */
.research-hero{
  width:min(1320px,92vw);
  margin:0 auto;
  padding:8rem 0 4rem;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:4rem;
  align-items:center;
}
.research-hero h1{
  font-family:var(--serif);
  font-size:clamp(3.6rem,6.4vw,7rem);
  line-height:.92;
  margin:.5rem 0 1.5rem;
}
.research-lead{
  font-family:var(--serif);
  font-size:1.45rem;
  line-height:1.55;
  color:var(--muted);
}
.research-hero figure{
  margin:0;
}
.research-hero img{
  display:block;
  width:100%;
  border-radius:28px;
  box-shadow:0 30px 85px rgba(50,41,32,.14);
}
.research-hero figcaption{
  margin-top:1rem;
  color:var(--muted);
  line-height:1.6;
  font-size:.82rem;
}
.research-question{
  width:min(980px,88vw);
  margin:3rem auto 6rem;
  text-align:center;
}
.research-question blockquote{
  margin:1.2rem 0 1.6rem;
  font-family:var(--serif);
  font-size:clamp(2.3rem,4.2vw,4.5rem);
  line-height:1.08;
  color:var(--forest);
}
.research-question>p:last-child{
  max-width:750px;
  margin:0 auto;
  color:var(--muted);
  line-height:1.75;
}
.research-route{
  width:min(1320px,92vw);
  margin:0 auto 6rem;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.research-route article{
  min-height:320px;
  padding:2rem;
  border-radius:22px;
  background:rgba(255,255,255,.72);
  box-shadow:0 17px 44px rgba(44,39,31,.07);
}
.research-route span{
  font-family:var(--serif);
  font-size:3.4rem;
  color:rgba(168,115,120,.45);
}
.research-route h2{
  font-family:var(--serif);
  font-size:2rem;
  margin:2rem 0 .6rem;
}
.research-route p{
  color:var(--muted);
  line-height:1.7;
}
.research-methods{
  padding:6rem max(4vw,2rem);
  background:linear-gradient(145deg,#2f3d35,#455348);
  color:white;
}
.research-methods__intro{
  max-width:900px;
  margin:0 auto 3rem;
  text-align:center;
}
.research-methods__intro .micro{
  color:#d9caa7;
}
.research-methods__intro h2{
  font-family:var(--serif);
  font-size:clamp(3rem,5vw,5.6rem);
  line-height:.95;
  margin:.4rem 0 1rem;
}
.research-methods__intro p:last-child{
  color:rgba(255,255,255,.72);
  line-height:1.7;
}
.method-cards{
  width:min(1240px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.method-cards article{
  padding:2rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:rgba(255,255,255,.06);
}
.method-cards h3{
  font-family:var(--serif);
  font-size:1.7rem;
}
.method-cards p{
  color:rgba(255,255,255,.7);
  line-height:1.65;
}
.research-next{
  width:min(1100px,90vw);
  margin:6rem auto;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:3rem;
}
.research-next h2{
  max-width:780px;
  font-family:var(--serif);
  font-size:clamp(2.8rem,5vw,5.2rem);
  line-height:.96;
  margin:.4rem 0 1rem;
}
.research-next p{
  color:var(--muted);
  line-height:1.7;
}

/* Ontmoeting: rustiger en kleiner letterbeeld */
.about--encounter .about-content h2{
  font-size:clamp(2.6rem,4.5vw,4.8rem);
}
.about--encounter .about-content p,
.about--encounter .about-story p{
  font-size:1rem;
  line-height:1.85;
}


/* Kleine schermen */
@media(max-width:1050px){
  .site-header nav{display:none}
  .school-map-heading,
  .research-hero{grid-template-columns:1fr}
  .room-exhibition{grid-template-columns:repeat(2,1fr)}
  .research-route,
  .method-cards{grid-template-columns:repeat(2,1fr)}
  .hall-portals{grid-template-columns:1fr}
}
@media(max-width:700px){
  .hero--path .hero-center--quiet{
    margin:0;
    align-items:center;
    text-align:center;
  }
  .hero--path .entry-intro,
  .hero--path .entry-bird-quote{margin-left:auto;margin-right:auto}
  .hero--path .pink-line{margin-left:auto}
  .school-map-section{padding:1rem;border-radius:18px}
  .school-hotspot span{display:none}
  .map-legend{align-items:flex-start;flex-direction:column}
  .room-exhibition,
  .research-route,
  .method-cards{grid-template-columns:1fr}
  .overview-return,
  .research-next{display:block}
  .primary-link{display:inline-block;margin-top:1.2rem}
}

.library-page::before{
  background-image:linear-gradient(90deg,rgba(251,248,242,.3),rgba(251,248,242,.75)),url("assets/bibliotheek-nieuw.jpg") !important;
}
.atelier-page::before{
  background-image:linear-gradient(90deg,rgba(251,248,242,.3),rgba(251,248,242,.75)),url("assets/atelier-nieuw.jpg") !important;
}
.manifest-page::before{
  background-image:linear-gradient(90deg,rgba(251,248,242,.3),rgba(251,248,242,.75)),url("assets/manifest-nieuw.jpg") !important;
}


/* ============================================================
   V19 · gecorrigeerde ontvangsthal en entree
   ============================================================ */

/* Entree weer centraal en ceremonieel */
body[data-page="entree"] .site-header{
  opacity:0;
  transform:translateY(-18px);
  animation:entryHeaderAppear 1s ease 2.1s forwards;
}
.hero--path .hero-center--quiet{
  margin:0 auto !important;
  max-width:900px;
  align-items:center !important;
  text-align:center !important;
  justify-content:center;
}
.hero--path .entry-intro,
.hero--path .entry-bird-quote{
  margin-left:auto !important;
  margin-right:auto !important;
}
.hero--path .pink-line{
  margin-left:auto !important;
  margin-right:auto !important;
}
.entry-logo--grand{
  width:clamp(210px,25vw,380px) !important;
  height:clamp(210px,25vw,380px) !important;
  margin-bottom:0 !important;
  opacity:0;
  transform:scale(.86);
  filter:drop-shadow(0 24px 52px rgba(57,45,35,.15));
  animation:grandLogoOpen 1.7s cubic-bezier(.2,.75,.2,1) .15s forwards;
}
.hero--path .micro,
.hero--path h1,
.hero--path .pink-line,
.hero--path .entry-intro,
.hero--path .entry-bird-quote,
.hero--path .entry-button{
  opacity:0;
  transform:translateY(12px);
  animation:entryWordsAppear .8s ease 1.55s forwards;
}
.hero--path h1{
  font-size:clamp(3.6rem,7vw,6.8rem) !important;
  margin-top:-1rem;
}
.hero--path .bird-guide--entry{
  opacity:0;
  animation:entrySeagullFlightV19 12s ease-in-out 2.35s infinite !important;
}
@keyframes grandLogoOpen{
  0%{opacity:0;transform:scale(.82);filter:blur(5px) drop-shadow(0 24px 52px rgba(57,45,35,0))}
  65%{opacity:1;transform:scale(1.035);filter:blur(0) drop-shadow(0 24px 52px rgba(57,45,35,.16))}
  100%{opacity:1;transform:scale(1)}
}
@keyframes entryWordsAppear{
  to{opacity:1;transform:translateY(0)}
}
@keyframes entryHeaderAppear{
  to{opacity:1;transform:translateY(0)}
}
@keyframes entrySeagullFlightV19{
  0%{left:-16%;top:30%;transform:rotate(-4deg) scale(.78);opacity:0}
  8%{opacity:.92}
  34%{left:31%;top:17%;transform:rotate(2deg) scale(.98);opacity:.96}
  58%{left:57%;top:23%;transform:rotate(-1deg) scale(1)}
  83%{left:87%;top:14%;transform:rotate(4deg) scale(.88);opacity:.9}
  100%{left:112%;top:8%;transform:rotate(5deg) scale(.72);opacity:0}
}

/* Ontvangsthal draait uitsluitend om de interactieve LEGO-school */
.hall--school-v19{
  padding-bottom:3rem;
}
.hall-intro--compact{
  padding-bottom:1.4rem;
}
.hall-intro--compact h2{
  max-width:1000px;
}
.school-map-section--v19{
  width:min(1540px,96vw);
  padding:1.4rem;
}
.school-map-heading--compact{
  margin-bottom:1rem;
}
.school-map--v19{
  min-height:420px;
}
.school-map--v19 > img{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain;
  position:relative;
  z-index:1;
}
.school-map--v19 .school-hotspot,
.school-library-marker{
  z-index:4;
}

/* Klikzones passend bij de zes ruimten in de toegevoegde LEGO-school */
.hotspot--arrival-v19{
  left:4%; top:27%; width:25%; height:40%;
}
.hotspot--search-v19{
  left:27%; top:25%; width:18%; height:34%;
}
.hotspot--meeting-v19{
  left:43%; top:17%; width:19%; height:35%;
}
.hotspot--development-v19{
  left:62%; top:5%; width:30%; height:36%;
}
.hotspot--trust-v19{
  left:61%; top:39%; width:32%; height:29%;
}
.hotspot--atelier-v19{
  left:19%; top:53%; width:66%; height:38%;
  clip-path:polygon(0 10%,40% 8%,45% 36%,100% 35%,100% 100%,0 100%);
  border-radius:18px 18px 42px 42px;
}
.school-library-marker{
  position:absolute;
  left:13%;
  top:27%;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(47,61,53,.92);
  color:white;
  text-decoration:none;
  box-shadow:0 12px 30px rgba(37,47,41,.25);
  transition:.3s ease;
}
.school-library-marker::before{
  content:"📚";
  font-size:1.2rem;
}
.school-library-marker span{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translate(-50%,7px);
  padding:.55rem .75rem;
  border-radius:10px;
  background:rgba(47,61,53,.96);
  color:white;
  font-size:.7rem;
  letter-spacing:.05em;
  opacity:0;
  transition:.25s ease;
  white-space:nowrap;
}
.school-library-marker:hover{
  transform:translateY(-4px) scale(1.04);
}
.school-library-marker:hover span{
  opacity:1;
  transform:translate(-50%,0);
}
.map-legend--v19{
  padding:.9rem .2rem .1rem;
}
.hall-plaque--v19{
  margin-top:2rem;
}

/* De verdiepende kaarten staan nu bij Pedagogische Ruimten */
.room-context-portals{
  width:min(1380px,94vw);
  margin:3rem auto 5rem;
  padding-top:4rem;
  border-top:1px solid rgba(40,51,45,.14);
}
.room-context-intro{
  max-width:820px;
  margin:0 auto 2rem;
  text-align:center;
}
.room-context-intro h2{
  font-family:var(--serif);
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.96;
  margin:.45rem 0 1rem;
}
.room-context-intro p:last-child{
  color:var(--muted);
  line-height:1.7;
}
.hall-portals--on-rooms{
  width:100%;
  margin:0;
}

/* Oude foto op Ontmoeting behouden */
.about--encounter .about-portrait img,
.about--encounter img[src="assets/kim-portret.jpg"]{
  content:normal !important;
}

/* Mobiel */
@media(max-width:700px){
  .entry-logo--grand{
    width:190px !important;
    height:190px !important;
  }
  .hero--path h1{
    font-size:3.6rem !important;
  }
  .school-map--v19{
    min-height:0;
  }
  .school-library-marker{
    width:38px;
    height:38px;
  }
}


/* ============================================================
   V20 · echte houten bibliotheek
   ============================================================ */

.library--real{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(180deg,#f5efe5,#e8dccb);
}

.library-real-hero{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(40,32,25,.72),rgba(40,32,25,.28)),
    url("assets/bibliotheek-nieuw.jpg") center/cover no-repeat;
  overflow:hidden;
}

.library-real-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,transparent 30%,rgba(30,24,19,.45)),
    radial-gradient(circle at 72% 30%,rgba(255,225,175,.25),transparent 30%);
}

.library-real-intro{
  position:relative;
  z-index:2;
  width:min(1100px,90vw);
  margin:0 auto;
  padding:7rem 0 4rem;
  text-align:left;
}

.library-real-intro h2{
  max-width:850px;
  font-size:clamp(4rem,7vw,7rem);
}

.library-real-intro>p:last-child{
  max-width:720px;
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.55;
}

.real-bookcase-section{
  width:min(1320px,94vw);
  margin:-1.8rem auto 5rem;
  position:relative;
  z-index:4;
}

.real-bookcase{
  position:relative;
  padding:0 3.2rem 3.6rem;
  border-radius:18px 18px 30px 30px;
  background:
    linear-gradient(90deg,rgba(55,30,15,.28),transparent 10%,transparent 90%,rgba(55,30,15,.28)),
    repeating-linear-gradient(90deg,#6f4327 0 5px,#8a5833 5px 13px,#74462a 13px 20px);
  box-shadow:
    0 40px 90px rgba(54,35,22,.28),
    inset 0 0 0 5px rgba(52,31,17,.45),
    inset 0 0 45px rgba(30,16,7,.35);
}

.bookcase-crown{
  margin:0 -3.2rem 2.2rem;
  padding:1.8rem 2rem 1.6rem;
  border-radius:18px 18px 0 0;
  text-align:center;
  color:#f4e7d4;
  background:
    linear-gradient(180deg,#7d4f2e,#5d351f);
  box-shadow:
    inset 0 -8px 15px rgba(30,14,6,.3),
    0 8px 20px rgba(40,24,13,.22);
}

.bookcase-crown span{
  display:block;
  font-family:var(--serif);
  font-size:2rem;
  letter-spacing:.08em;
}

.bookcase-crown small{
  display:block;
  margin-top:.35rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.62rem;
  color:rgba(255,244,226,.68);
}

.bookcase-bay{
  position:relative;
  min-height:235px;
  padding:3rem 2rem 1rem;
  border-left:10px solid #59331e;
  border-right:10px solid #59331e;
  background:
    radial-gradient(circle at 50% 20%,rgba(255,220,168,.11),transparent 38%),
    linear-gradient(180deg,#2e2118,#211711);
  box-shadow:
    inset 0 0 45px rgba(0,0,0,.55),
    inset 0 0 0 2px rgba(211,159,102,.08);
}

.bookcase-bay__label{
  position:absolute;
  left:50%;
  top:.7rem;
  transform:translateX(-50%);
  padding:.3rem .9rem;
  border-radius:999px;
  background:#b48a59;
  color:#2a1b12;
  font-size:.67rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  box-shadow:0 4px 10px rgba(0,0,0,.28);
  white-space:nowrap;
}

.books-row{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:10px;
  min-height:180px;
  perspective:900px;
}

.real-book{
  position:relative;
  width:88px;
  height:155px;
  padding:12px 8px;
  border:0;
  border-radius:3px 7px 5px 2px;
  cursor:pointer;
  color:#f8eddd;
  box-shadow:
    inset 6px 0 7px rgba(255,255,255,.08),
    inset -8px 0 10px rgba(0,0,0,.24),
    7px 8px 14px rgba(0,0,0,.38);
  transform-origin:bottom center;
  transition:.38s cubic-bezier(.2,.75,.2,1);
  writing-mode:vertical-rl;
  text-orientation:mixed;
}

.real-book::before,
.real-book::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  height:1px;
  background:rgba(245,220,181,.52);
}

.real-book::before{top:13px}
.real-book::after{bottom:13px}

.real-book:hover,
.real-book:focus-visible{
  transform:translateY(-18px) rotateY(-7deg);
  box-shadow:
    inset 6px 0 7px rgba(255,255,255,.1),
    inset -8px 0 10px rgba(0,0,0,.22),
    12px 22px 24px rgba(0,0,0,.42);
}

.real-book span{
  font-family:var(--serif);
  font-size:1rem;
  font-weight:600;
  letter-spacing:.03em;
}

.real-book small{
  margin-top:10px;
  font-size:.59rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(255,244,226,.76);
}

.real-book--tall{height:177px}
.real-book--wide{width:104px}
.real-book--forest{background:linear-gradient(90deg,#253a31,#415b4b)}
.real-book--green{background:linear-gradient(90deg,#445b3f,#718069)}
.real-book--rose{background:linear-gradient(90deg,#7c5558,#a67579)}
.real-book--clay{background:linear-gradient(90deg,#704b39,#9a6b50)}
.real-book--gold{background:linear-gradient(90deg,#80682f,#b0934a)}
.real-book--sage{background:linear-gradient(90deg,#596452,#7f8974)}

.wooden-shelf{
  height:28px;
  margin:0 -1rem;
  background:
    linear-gradient(180deg,#9a653b 0%,#714326 48%,#4f2b18 100%);
  box-shadow:
    0 12px 14px rgba(0,0,0,.38),
    inset 0 4px 5px rgba(255,220,166,.16);
}

.bookcase-base{
  height:48px;
  margin:0 -1rem -1.4rem;
  border-radius:0 0 20px 20px;
  background:linear-gradient(180deg,#80502d,#4d2917);
  box-shadow:0 14px 20px rgba(40,21,10,.28);
}

.bookcase-bay--research{
  min-height:270px;
}

.research-shelf{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2.5rem;
  align-items:center;
  max-width:850px;
  margin:0 auto;
}

.research-volume{
  display:flex;
  align-items:stretch;
  width:320px;
  min-height:190px;
  color:#f8efdf;
  text-decoration:none;
  transform:rotate(-1deg);
  transition:.35s ease;
  filter:drop-shadow(12px 16px 16px rgba(0,0,0,.38));
}

.research-volume:hover{
  transform:translateY(-10px) rotate(0deg);
}

.research-volume__spine{
  width:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 7px;
  writing-mode:vertical-rl;
  font-family:var(--serif);
  font-size:1.15rem;
  background:linear-gradient(90deg,#6f4c4d,#9a6b6d);
  border-radius:5px 0 0 5px;
  box-shadow:inset -5px 0 8px rgba(0,0,0,.22);
}

.research-volume__cover{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.6rem;
  border-radius:0 6px 6px 0;
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),transparent),
    #7f5659;
  box-shadow:inset 0 0 0 1px rgba(255,230,200,.18);
}

.research-volume__cover small{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.6rem;
  color:rgba(255,243,224,.67);
}

.research-volume__cover strong{
  margin:1rem 0;
  font-family:var(--serif);
  font-size:1.7rem;
  line-height:1.04;
  font-weight:600;
}

.research-volume__cover em{
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.65rem;
  color:#ead0ae;
}

.research-shelf-note{
  color:#efe3d2;
}

.research-shelf-note h3{
  margin:.35rem 0 .65rem;
  font-family:var(--serif);
  font-size:2rem;
}

.research-shelf-note p:last-child{
  color:rgba(255,241,220,.72);
  line-height:1.65;
}

.research-shelf-note code{
  padding:.1rem .3rem;
  border-radius:4px;
  background:rgba(255,255,255,.09);
  color:#f2d5b2;
}

@media(max-width:850px){
  .real-bookcase{
    padding-left:1rem;
    padding-right:1rem;
  }
  .bookcase-crown{
    margin-left:-1rem;
    margin-right:-1rem;
  }
  .bookcase-bay{
    padding-left:.7rem;
    padding-right:.7rem;
  }
  .books-row{
    gap:5px;
    overflow-x:auto;
    justify-content:flex-start;
    padding:0 .5rem;
  }
  .real-book{
    flex:0 0 auto;
    width:72px;
  }
  .real-book--wide{width:84px}
  .research-shelf{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .research-volume{
    width:min(320px,86vw);
  }
}


/* V21 · uitgebreidere teksten bij de leermeesters */
.open-book__pages{
  max-height:min(780px,88vh);
  overflow:auto;
}
.open-book__pages .page--right{
  display:flex;
  flex-direction:column;
}
.open-book__pages [data-book-text],
.open-book__pages .personal-note{
  line-height:1.78;
}
.open-book__pages [data-book-text]{
  font-size:1.02rem;
  color:#4f514c;
}
.open-book__pages .personal-note{
  margin-top:1.6rem;
  padding:1.25rem 1.35rem;
  border-left:3px solid var(--rose);
  background:rgba(201,149,153,.10);
  color:var(--forest);
  font-family:var(--serif);
  font-size:1.08rem;
}
.open-book__pages .personal-note:empty{
  display:none;
}


/* ============================================================
   V22 · Nova Via als één doorgaande pedagogische reis
   ============================================================ */

:root{
  --route-gold:#c89a3e;
  --route-gold-soft:rgba(200,154,62,.24);
  --arrival-accent:#8f9d80;
  --search-accent:#bb8a58;
  --meeting-accent:#a36f64;
  --development-accent:#8b9168;
  --trust-accent:#9c8f7f;
}

/* ------------------------------------------------------------
   Entree: zachte aquarelachtergrond, logo en tekst blijven leidend
   ------------------------------------------------------------ */
.hero--path{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(251,247,240,.83),rgba(248,241,231,.91)),
    url("assets/entree-landschap-v22.png") center 55%/cover no-repeat !important;
}
.hero--path::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.93),rgba(255,255,255,.48) 31%,transparent 63%),
    linear-gradient(90deg,rgba(250,247,241,.40),transparent 32%,transparent 68%,rgba(250,247,241,.40));
}
.hero--path::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.32;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 70%,rgba(180,155,115,.12),transparent 22%),
    radial-gradient(circle at 84% 66%,rgba(150,163,125,.12),transparent 24%);
}
.hero--path .hero-center--quiet{
  position:relative;
  padding:2.3rem 3.2rem 2.8rem;
  border-radius:46% 46% 28px 28px / 22% 22% 28px 28px;
  background:rgba(252,248,242,.40);
  box-shadow:0 25px 90px rgba(71,55,40,.05);
  backdrop-filter:blur(1.6px);
}
.hero--path .hero-center--quiet::before{
  display:none !important;
}
.entry-logo--grand{
  width:clamp(235px,27vw,405px) !important;
  height:auto !important;
  max-height:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 22px 34px rgba(56,43,34,.12)) !important;
  object-fit:contain;
}
.hero--path h1{
  margin-top:-.45rem !important;
}
.hero--path .entry-intro{
  max-width:760px;
}
.hero--path .entry-bird-quote{
  max-width:780px;
}

/* ------------------------------------------------------------
   Gouden lijn als terugkerende route
   ------------------------------------------------------------ */
body:not([data-page="entree"])::after{
  content:"";
  position:fixed;
  left:clamp(18px,3.4vw,58px);
  top:92px;
  bottom:0;
  width:2px;
  z-index:3;
  pointer-events:none;
  opacity:.32;
  background:
    linear-gradient(180deg,transparent 0,var(--route-gold) 13%,var(--route-gold) 87%,transparent);
  box-shadow:0 0 15px var(--route-gold-soft);
}
body:not([data-page="entree"]) main::before{
  content:"";
  position:absolute;
  left:clamp(12px,2.95vw,51px);
  top:125px;
  width:14px;
  height:14px;
  z-index:4;
  border-radius:50%;
  background:var(--route-gold);
  box-shadow:0 0 0 6px rgba(200,154,62,.13),0 0 22px rgba(200,154,62,.26);
}
body:not([data-page="entree"]) main{
  position:relative;
}

/* ------------------------------------------------------------
   Ruimtebeelden en eigen kleurkarakter
   ------------------------------------------------------------ */
.room-visual--arrival{
  background-image:
    linear-gradient(90deg,rgba(42,50,43,.07),rgba(255,255,255,.02)),
    url("assets/ruimte-1-v22.png") !important;
}
.room-visual--search{
  background-image:
    linear-gradient(90deg,rgba(62,47,34,.08),rgba(255,255,255,.01)),
    url("assets/ruimte-2-v22.png") !important;
}
.room-visual--meeting{
  background-image:
    linear-gradient(90deg,rgba(65,44,39,.08),rgba(255,255,255,.01)),
    url("assets/ruimte-3-v22.png") !important;
}
.room-visual--development{
  background-image:
    linear-gradient(90deg,rgba(51,53,36,.07),rgba(255,255,255,.01)),
    url("assets/ruimte-4-v22.png") !important;
}
.room-visual--trust{
  background-image:
    linear-gradient(90deg,rgba(52,45,39,.08),rgba(255,255,255,.01)),
    url("assets/ruimte-5-v22.png") !important;
}

/* kleurtoon per pedagogische ruimte */
body:has(.room-visual--arrival){
  --rose:var(--arrival-accent);
  --rose-deep:#718065;
}
body:has(.room-visual--search){
  --rose:var(--search-accent);
  --rose-deep:#95673c;
}
body:has(.room-visual--meeting){
  --rose:var(--meeting-accent);
  --rose-deep:#84554e;
}
body:has(.room-visual--development){
  --rose:var(--development-accent);
  --rose-deep:#6d734e;
}
body:has(.room-visual--trust){
  --rose:var(--trust-accent);
  --rose-deep:#76695d;
}

.exhibition-card--arrival{border-bottom:5px solid var(--arrival-accent)}
.exhibition-card--search{border-bottom:5px solid var(--search-accent)}
.exhibition-card--meeting{border-bottom:5px solid var(--meeting-accent)}
.exhibition-card--development{border-bottom:5px solid var(--development-accent)}
.exhibition-card--trust{border-bottom:5px solid var(--trust-accent)}

.exhibition-card img{
  height:310px;
  object-position:center;
}

/* subtiele doorgang naar volgende ruimte */
.room-page .room-next,
.room-footer-nav,
.next-room{
  position:relative;
}
.room-page .room-next::before,
.room-footer-nav::before,
.next-room::before{
  content:"";
  position:absolute;
  left:-52px;
  top:50%;
  width:42px;
  height:2px;
  background:linear-gradient(90deg,var(--route-gold),transparent);
}

/* ------------------------------------------------------------
   Ontmoeting: rustiger, literair en met kleiner tekstbeeld
   ------------------------------------------------------------ */
.about--encounter{
  background:
    radial-gradient(circle at 72% 12%,rgba(201,149,153,.10),transparent 28%),
    linear-gradient(180deg,#faf7f1,#f1e8dc);
}
.encounter-opening{
  max-width:920px;
}
.encounter-opening h2{
  font-size:clamp(3.8rem,6vw,6.6rem) !important;
}
.encounter-opening__lead{
  font-size:clamp(1.15rem,1.6vw,1.42rem) !important;
  line-height:1.72 !important;
}
.encounter-portrait__image img{
  object-fit:cover;
  object-position:center 28%;
}
.encounter-portrait__text p,
.encounter-wide p,
.encounter-field p,
.encounter-forms p,
.encounter-nova p{
  font-size:1rem !important;
  line-height:1.88 !important;
}
.encounter-portrait__text h3,
.encounter-wide h3,
.encounter-field h3,
.encounter-rhythm h3,
.encounter-nova h3,
.encounter-between h3{
  letter-spacing:-.02em;
}
.encounter-questions{
  width:min(820px,86vw);
  margin:6rem auto;
  padding:4rem 4.4rem;
  border-left:1px solid rgba(164,111,100,.26);
  border-right:1px solid rgba(164,111,100,.26);
  background:rgba(255,255,255,.42);
  box-shadow:0 22px 70px rgba(72,52,39,.06);
}
.encounter-questions p{
  margin:0 0 1.45rem;
  font-family:var(--serif);
  font-size:clamp(1.23rem,1.65vw,1.58rem) !important;
  line-height:1.72 !important;
  font-weight:500;
  color:#3d4942;
}
.encounter-questions p:last-child{
  margin-bottom:0;
}
.encounter-between span{
  font-size:clamp(1rem,1.35vw,1.22rem) !important;
  line-height:1.75;
}

/* Het pad keert terug aan het einde van Ontmoeting */
.encounter-closing{
  position:relative;
  overflow:hidden;
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.encounter-closing::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.18;
  background:
    linear-gradient(180deg,rgba(250,246,239,.52),rgba(250,246,239,.96)),
    url("assets/entree-landschap-v22.png") center/cover;
}
.encounter-closing::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-40px;
  width:2px;
  height:180px;
  z-index:-1;
  background:linear-gradient(180deg,var(--route-gold),transparent);
  transform:rotate(9deg);
}

/* ------------------------------------------------------------
   Taal van bewegen
   ------------------------------------------------------------ */
.primary,
.primary-link,
.primary--link,
.entry-button{
  letter-spacing:.11em;
}
.exhibition-card span::first-letter{
  text-transform:uppercase;
}

/* ------------------------------------------------------------
   Subtiele levendigheid
   ------------------------------------------------------------ */
.hero--path{
  background-attachment:fixed;
}
@media (prefers-reduced-motion:no-preference){
  .hero--path::after{
    animation:softLightMove 14s ease-in-out infinite alternate;
  }
  .room-visual{
    animation:roomBreath 16s ease-in-out infinite alternate;
  }
  body:not([data-page="entree"])::after{
    animation:routeGlow 5s ease-in-out infinite;
  }
}
@keyframes softLightMove{
  from{transform:translate3d(-.5%,0,0);opacity:.26}
  to{transform:translate3d(.7%,-.4%,0);opacity:.38}
}
@keyframes roomBreath{
  from{background-size:100% auto}
  to{background-size:102.5% auto}
}
@keyframes routeGlow{
  0%,100%{opacity:.24}
  50%{opacity:.43}
}

/* ------------------------------------------------------------
   Mobiel
   ------------------------------------------------------------ */
@media(max-width:760px){
  .hero--path{
    background-attachment:scroll;
    background-position:center;
  }
  .hero--path .hero-center--quiet{
    padding:1.8rem 1.1rem 2.2rem;
    border-radius:32px;
  }
  .entry-logo--grand{
    width:210px !important;
  }
  body:not([data-page="entree"])::after,
  body:not([data-page="entree"]) main::before{
    display:none;
  }
  .encounter-questions{
    width:min(92vw,680px);
    padding:2rem 1.4rem;
  }
}


/* ============================================================
   V23 · homepage, pedagogische ruimten en volledig manifest
   ============================================================ */

.hero--v23{
  min-height:100svh;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#f6efe5;
}
.hero-v23__landscape{
  position:absolute; inset:0; z-index:-4;
  background:url("assets/entree-v23.png") center 55%/cover no-repeat;
  opacity:.30;
  transform:scale(1.035);
  filter:saturate(.78) contrast(.89) brightness(1.06);
}
.hero-v23__light{
  position:absolute; inset:0; z-index:-3;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,255,255,.93) 0,rgba(255,255,255,.72) 25%,rgba(250,245,237,.42) 48%,rgba(243,233,220,.25) 72%,rgba(238,226,210,.36) 100%),
    linear-gradient(90deg,rgba(247,240,231,.50),transparent 25%,transparent 75%,rgba(247,240,231,.50));
}
.hero-v23__light::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 36% 18%,rgba(255,244,210,.24),transparent 22%),radial-gradient(circle at 73% 42%,rgba(255,255,255,.28),transparent 18%);
  animation:v23Light 12s ease-in-out infinite alternate;
}
.hero-v23__content{
  width:min(880px,88vw);
  padding:8rem 3rem 4rem;
  text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.entry-logo-v23{
  width:clamp(250px,28vw,430px); height:auto;
  object-fit:contain; background:transparent; border:0; box-shadow:none;
  filter:drop-shadow(0 20px 35px rgba(72,52,39,.10));
  opacity:0; transform:translateY(16px) scale(.94);
  animation:v23Logo 1.45s cubic-bezier(.2,.8,.2,1) .15s forwards;
}
.hero-v23__content .micro,.hero-v23__content h1,.hero-v23__triad,.hero-v23__content .entry-intro,.hero-v23__content .entry-bird-quote,.entry-button--v23{
  opacity:0; transform:translateY(12px); animation:v23Text .8s ease 1.15s forwards;
}
.hero-v23__content h1{font-family:var(--serif);font-size:clamp(4rem,7vw,7.2rem);line-height:.9;margin:-.65rem 0 .5rem;color:#35443c}
.hero-v23__triad{margin:.35rem 0 1.4rem;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:#9a7376}
.hero-v23__content .entry-intro{max-width:700px;font-family:var(--serif);font-size:1.28rem;line-height:1.62;color:#515852}
.hero-v23__content .entry-bird-quote{max-width:650px;margin:1.2rem auto 1.65rem;font-size:.88rem;line-height:1.65;color:#7b7770}
.entry-button--v23{display:inline-flex;align-items:center;gap:1rem;padding:.9rem 1.25rem .9rem 1.5rem;border-radius:999px;box-shadow:0 16px 36px rgba(72,52,39,.12)}
.entry-button--v23 i{font-style:normal;font-size:1.05rem;transition:transform .3s ease}.entry-button--v23:hover i{transform:translateX(5px)}
.hero-v23__threshold{position:absolute;left:50%;bottom:0;width:min(620px,70vw);height:70px;transform:translateX(-50%);opacity:.52;background:linear-gradient(180deg,transparent,rgba(255,255,255,.62));clip-path:polygon(15% 100%,30% 0,70% 0,85% 100%)}
.hero--v23.is-opening .hero-v23__content{animation:v23Open 1.35s ease forwards}.hero--v23.is-opening .hero-v23__threshold{animation:v23Threshold 1.25s ease forwards}
@keyframes v23Logo{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes v23Text{to{opacity:1;transform:translateY(0)}}@keyframes v23Light{from{transform:translate(-.7%,.2%);opacity:.72}to{transform:translate(.8%,-.4%);opacity:1}}@keyframes v23Open{to{opacity:0;transform:translateY(-12px) scale(.985)}}@keyframes v23Threshold{to{height:120vh;width:120vw;opacity:1}}

.pedagogical-thesis{max-width:890px!important;margin:1.2rem auto 0!important;font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.65rem)!important;line-height:1.62!important;color:#525b55!important}
.room-visual-v23{min-height:680px;background-position:center!important;background-size:cover!important}
.room-page--v23 .arrival-hero__story{align-self:center}
.room-page--v23 .arrival-analysis h3{font-size:clamp(2rem,3vw,3.4rem)}
.movement-visual--v23 .movement-arrow{font-size:2rem}
.room-page--v23 .inspiration-book small{max-width:17ch}

.manifest-v23{background:linear-gradient(180deg,#eee2d3,#f7f1e8 36%,#eee2d3);min-height:100vh;padding-bottom:7rem}
.manifest-v23__cover{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 5rem;background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.92),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.35),transparent)}
.manifest-v23__cover img{width:clamp(180px,20vw,300px);filter:drop-shadow(0 20px 38px rgba(56,41,28,.12))}
.manifest-v23__cover h1{max-width:1000px;margin:.4rem 0 .8rem;font-family:var(--serif);font-size:clamp(4rem,7.4vw,8rem);line-height:.88;color:#34423b}
.manifest-v23__cover>p:not(.micro){font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.8rem);color:#765d5e}
.manifest-v23__cover a{margin-top:2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:#8b6264;text-decoration:none}
.manifest-v23__book{width:min(1460px,94vw);margin:0 auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start}
.manifest-v23__toc{position:sticky;top:110px;padding:1.6rem;border-radius:18px;background:rgba(255,255,255,.54);box-shadow:0 18px 50px rgba(65,44,28,.07)}
.manifest-v23__toc a{display:block;padding:.55rem 0;border-bottom:1px solid rgba(69,55,42,.08);color:#59605b;text-decoration:none;font-family:var(--serif);font-size:1rem}.manifest-v23__toc a:hover{color:#9a696c}
.manifest-v23__pages{padding:clamp(2rem,5vw,6rem);border-radius:22px;background:#fffdf8;box-shadow:0 35px 100px rgba(63,42,27,.13),inset 0 0 0 1px rgba(99,72,46,.07)}
.manifest-chapter{max-width:850px;margin:0 auto 6rem;scroll-margin-top:120px}.manifest-chapter h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.4rem);line-height:.96;margin:.45rem 0 2rem;color:#34423b}.manifest-chapter__text p{font-size:1rem;line-height:1.9;color:#444b46;margin:0 0 1.35rem}.manifest-chapter__text .manifest-emphasis{font-family:var(--serif);font-size:1.45rem;line-height:1.55;color:#865e61;margin:2rem 0}.manifest-signature{display:flex;flex-direction:column;align-items:flex-end;padding-top:2rem;border-top:1px solid rgba(68,54,41,.14)}.manifest-signature span{font-family:var(--serif);font-size:2rem}.manifest-signature small{letter-spacing:.14em;text-transform:uppercase;color:#8b7d70}

@media(max-width:900px){.manifest-v23__book{grid-template-columns:1fr}.manifest-v23__toc{position:relative;top:auto}.room-visual-v23{min-height:480px}}
@media(max-width:700px){.hero-v23__content{padding:7rem 1rem 4rem}.entry-logo-v23{width:220px}.hero-v23__content h1{font-size:4.1rem}.hero-v23__triad{letter-spacing:.14em}.manifest-v23__pages{padding:2rem 1.3rem}.manifest-chapter h2{font-size:3rem}.manifest-chapter__text p{font-size:.97rem}.room-visual-v23{min-height:360px}}


/* ==============================================================
   V24 · gecureerde basis
   Rust, ritme, open boek en natuurlijke LEGO-school
   ============================================================== */

/* --------------------------------------------------------------
   Pedagogische ruimten: alles onder elkaar en meer adem
   -------------------------------------------------------------- */
.room-curated-v24{
  overflow:visible;
}

.room-curated-v24 > section{
  width:min(1040px,88vw);
  margin-left:auto;
  margin-right:auto;
}

.room-curated-v24 .arrival-hero{
  width:min(1360px,94vw);
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:2.5rem;
  overflow:hidden;
  border-radius:30px;
  background:#f9f5ee;
  box-shadow:0 30px 86px rgba(57,46,36,.11);
}

.room-curated-v24 .arrival-hero__image{
  min-height:clamp(450px,65vw,780px);
  border-radius:0;
  background-position:center;
  background-size:cover !important;
}

.room-curated-v24 .arrival-hero__story{
  width:min(820px,86%);
  margin:0 auto;
  padding:4.6rem 0 5.2rem;
}

.room-curated-v24 .arrival-hero__story h3{
  font-size:clamp(3rem,5.6vw,5.5rem);
  line-height:.98;
  margin:.55rem 0 1.3rem;
}

.room-curated-v24 .arrival-lead{
  max-width:680px;
  margin-bottom:1.6rem;
  font-family:var(--serif);
  font-size:clamp(1.25rem,1.9vw,1.65rem);
  line-height:1.55;
}

.room-curated-v24 .arrival-hero__story > p:not(.micro):not(.arrival-lead){
  max-width:720px;
  font-size:1.02rem;
  line-height:1.9;
}

.room-curated-v24 .arrival-hero__story blockquote{
  margin:2.8rem 0 0;
  padding:1.8rem 0 1.8rem 2rem;
  border-left:2px solid var(--route-gold);
  font-family:var(--serif);
  font-size:clamp(1.45rem,2.3vw,2rem);
  line-height:1.5;
}

.room-curated-v24 .arrival-perspectives{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:5rem !important;
  padding:8rem 0;
}

.room-curated-v24 .arrival-perspectives article{
  width:min(760px,100%);
  padding:0 0 0 3rem;
  border:0;
  border-left:1px solid rgba(50,61,54,.18);
  background:transparent;
  box-shadow:none;
}

.room-curated-v24 .arrival-perspectives article:nth-child(even){
  margin-left:auto;
}

.room-curated-v24 .arrival-perspectives h3{
  max-width:680px;
  font-size:clamp(2.35rem,4vw,4rem);
  line-height:1.04;
}

.room-curated-v24 .arrival-perspectives ul{
  max-width:680px;
  margin-top:1.6rem;
}

.room-curated-v24 .arrival-perspectives li{
  margin:.85rem 0;
  line-height:1.7;
}

.room-curated-v24 .arrival-movement{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:3.5rem !important;
  padding:7rem 0;
  border-top:1px solid rgba(50,61,54,.13);
  border-bottom:1px solid rgba(50,61,54,.13);
}

.room-curated-v24 .movement-visual{
  width:min(620px,100%);
  min-height:320px;
  margin:0 auto;
}

.room-curated-v24 .arrival-movement > div:last-child{
  width:min(760px,100%);
  margin:0 auto;
}

.room-curated-v24 .arrival-movement h3,
.room-curated-v24 .arrival-analysis h3{
  font-size:clamp(2.65rem,4.5vw,4.6rem);
  line-height:1;
}

.room-curated-v24 .arrival-movement p,
.room-curated-v24 .arrival-analysis p{
  line-height:1.88;
}

.room-curated-v24 .arrival-analysis{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4rem !important;
  padding:8rem 0;
}

.room-curated-v24 .arrival-analysis > div,
.room-curated-v24 .arrival-analysis > aside{
  width:min(760px,100%);
}

.room-curated-v24 .arrival-analysis > aside{
  margin-left:auto;
  padding:3rem;
  border-radius:20px;
  background:rgba(255,255,255,.58);
  box-shadow:0 18px 52px rgba(52,43,35,.07);
}

.room-curated-v24 .arrival-analysis aside blockquote{
  font-size:clamp(1.55rem,2.3vw,2.15rem);
  line-height:1.5;
}

.room-curated-v24 .arrival-inspiration{
  width:min(1040px,88vw);
  padding:8rem 0;
  border-top:1px solid rgba(50,61,54,.12);
}

.room-curated-v24 .arrival-inspiration__intro{
  max-width:760px;
  margin:0 auto 4rem;
  text-align:center;
}

.room-curated-v24 .arrival-inspiration__intro h3{
  font-size:clamp(2.8rem,4.8vw,4.8rem);
  line-height:1;
}

.mentor-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
}

.mentor-note{
  position:relative;
  min-height:235px;
  padding:2.5rem 2rem 2rem;
  border:0;
  border-radius:3px;
  background:
    linear-gradient(160deg,rgba(255,255,255,.68),rgba(243,231,207,.86)),
    #eee0c6;
  color:#3e463f;
  text-align:left;
  cursor:pointer;
  box-shadow:
    0 18px 35px rgba(59,46,33,.12),
    inset 0 0 0 1px rgba(118,91,57,.10);
  transform:rotate(-1.2deg);
  transition:.3s ease;
}

.mentor-note:nth-child(2){
  transform:rotate(1deg) translateY(14px);
  background:
    linear-gradient(155deg,rgba(255,255,255,.64),rgba(223,229,210,.88)),
    #dce3d1;
}

.mentor-note:nth-child(3){
  transform:rotate(-.5deg);
  background:
    linear-gradient(150deg,rgba(255,255,255,.66),rgba(235,211,207,.88)),
    #ead3cf;
}

.mentor-note::before{
  content:"";
  position:absolute;
  top:-12px;
  left:50%;
  width:78px;
  height:24px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(220,201,162,.64);
  box-shadow:0 2px 6px rgba(45,35,24,.08);
}

.mentor-note:hover,
.mentor-note:focus-visible{
  transform:translateY(-8px) rotate(0);
  box-shadow:0 28px 56px rgba(59,46,33,.17);
}

.mentor-note__name{
  display:block;
  margin-bottom:1.8rem;
  font-family:var(--serif);
  font-size:1.65rem;
  line-height:1.05;
}

.mentor-note__thought{
  display:block;
  font-family:var(--serif);
  font-size:1.15rem;
  line-height:1.55;
  color:#697069;
}

.room-curated-v24 .library-link{
  display:table;
  margin:4rem auto 0;
}

.room-curated-v24 .arrival-reflection{
  width:min(920px,88vw);
  margin:3rem auto 7rem;
  padding:6rem 5rem;
  border-radius:30px;
}

.room-curated-v24 .arrival-reflection h3{
  font-size:clamp(2.6rem,4.7vw,4.8rem);
  line-height:1.04;
}


/* --------------------------------------------------------------
   Manifest: een open boek in plaats van een gewone tekstpagina
   -------------------------------------------------------------- */
.manifest-v23{
  background:
    radial-gradient(circle at 50% 20%,rgba(255,255,255,.94),transparent 42%),
    linear-gradient(180deg,#eee5d7,#d8c7b3);
}

.manifest-v23__cover{
  min-height:88vh;
}

.manifest-book-v24{
  position:relative;
  width:min(1500px,96vw);
  margin:0 auto 8rem;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:2rem;
  align-items:start;
}

.manifest-book-v24__toc{
  position:sticky;
  top:110px;
  max-height:calc(100vh - 140px);
  overflow:auto;
  padding:1.5rem;
  border-radius:16px;
  background:rgba(250,246,239,.72);
  box-shadow:0 16px 42px rgba(53,40,29,.09);
  backdrop-filter:blur(12px);
}

.manifest-book-v24__toc a{
  display:block;
  padding:.62rem 0;
  color:#59615b;
  text-decoration:none;
  line-height:1.35;
  border-bottom:1px solid rgba(64,74,67,.08);
}

.manifest-toc-toggle{
  display:none;
}

.manifest-book-v24__object{
  position:relative;
  min-height:820px;
  padding:5.5rem clamp(4rem,8vw,9rem) 7rem;
  overflow:hidden;
  border-radius:16px 24px 24px 16px;
  background:
    linear-gradient(90deg,rgba(91,62,39,.12),transparent 4%,transparent 96%,rgba(91,62,39,.09)),
    repeating-linear-gradient(0deg,rgba(110,84,54,.016) 0 1px,transparent 1px 5px),
    #fbf5e8;
  box-shadow:
    0 38px 95px rgba(58,38,24,.25),
    inset 0 0 0 1px rgba(115,83,48,.14),
    inset 34px 0 38px rgba(89,59,38,.08);
}

.manifest-book-v24__object::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(112,80,48,.12);
  border-radius:8px 16px 16px 8px;
  pointer-events:none;
}

.manifest-book-spine{
  position:absolute;
  top:0;
  bottom:0;
  left:20px;
  width:20px;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(72,43,25,.22),rgba(255,255,255,.18),rgba(72,43,25,.08));
  box-shadow:12px 0 30px rgba(62,39,23,.08);
}

.manifest-book-ribbon{
  position:absolute;
  top:0;
  right:12%;
  width:18px;
  height:125px;
  z-index:4;
  background:linear-gradient(90deg,#87565a,#b0797d,#724449);
  box-shadow:0 8px 12px rgba(66,39,35,.18);
}

.manifest-book-ribbon::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-16px;
  border-left:9px solid transparent;
  border-right:9px solid transparent;
  border-top:16px solid #87565a;
}

.manifest-page-v24{
  position:relative;
  width:min(830px,100%);
  min-height:625px;
  margin:0 auto;
  animation:manifestPageIn .65s cubic-bezier(.2,.7,.2,1);
}

.manifest-page-v24[hidden]{
  display:none !important;
}

.manifest-page-v24 .micro{
  color:#936c5c;
}

.manifest-page-v24 h2{
  max-width:760px;
  margin:.5rem 0 2.5rem;
  font-family:var(--serif);
  font-size:clamp(3.1rem,5vw,5.5rem);
  line-height:.95;
}

.manifest-page-v24 .manifest-chapter__text{
  max-width:750px;
  column-count:1 !important;
}

.manifest-page-v24 p{
  font-size:1.02rem;
  line-height:1.9;
  color:#464b46;
}

.manifest-page-v24 p + p{
  margin-top:1.15rem;
}

.manifest-page-v24 .manifest-emphasis{
  padding:1rem 0 1rem 1.4rem;
  border-left:2px solid #a97777;
  font-family:var(--serif);
  font-size:1.35rem;
  color:#614748;
}

.manifest-page-v24--signature{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.manifest-page-v24--signature span{
  font-family:var(--serif);
  font-size:clamp(3rem,6vw,6rem);
}

.manifest-page-v24--signature small{
  margin-top:1rem;
  text-transform:uppercase;
  letter-spacing:.2em;
}

.manifest-book-controls{
  position:absolute;
  left:50%;
  bottom:2rem;
  width:min(720px,80%);
  transform:translateX(-50%);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  z-index:5;
}

.manifest-book-controls button{
  min-width:125px;
  padding:.8rem 1rem;
  border:0;
  border-radius:999px;
  background:#39483f;
  color:white;
  cursor:pointer;
  transition:.25s ease;
}

.manifest-book-controls button:hover:not(:disabled){
  transform:translateY(-2px);
  background:#526357;
}

.manifest-book-controls button:disabled{
  opacity:.35;
  cursor:default;
}

.manifest-page-counter{
  display:flex;
  align-items:center;
  gap:.7rem;
  color:#7a6d61;
  font-family:var(--serif);
}

.manifest-page-counter i{
  width:32px;
  height:1px;
  background:#b7a896;
}

@keyframes manifestPageIn{
  from{opacity:0;transform:translateX(24px) rotateY(-2deg)}
  to{opacity:1;transform:translateX(0) rotateY(0)}
}


/* --------------------------------------------------------------
   LEGO-school: hetzelfde beeld, natuurlijke Nova Via-kleurgrading
   -------------------------------------------------------------- */
.school-map--v19,
.school-map--v19.school-map--v19{
  position:relative;
  background:#e9e1d5;
  isolation:isolate;
}

.school-map--v19 > img{
  filter:
    saturate(.58)
    sepia(.13)
    hue-rotate(-10deg)
    contrast(.92)
    brightness(1.035) !important;
}

.school-map--v19::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  mix-blend-mode:soft-light;
  background:
    linear-gradient(135deg,rgba(147,160,126,.20),rgba(195,151,113,.13) 44%,rgba(235,224,199,.17)),
    radial-gradient(circle at 55% 22%,rgba(255,245,215,.28),transparent 34%);
}

.school-map--v19 .school-hotspot,
.school-map--v19 .school-library-marker{
  z-index:5;
}


/* --------------------------------------------------------------
   Algemene controle: rustiger schaal en consistentie
   -------------------------------------------------------------- */
main{
  overflow:hidden;
}

.section-intro{
  max-width:980px;
}

.site-header{
  box-shadow:0 1px 0 rgba(44,55,48,.06);
}

@media(max-width:1000px){
  .mentor-notes{
    grid-template-columns:1fr;
    width:min(620px,100%);
    margin:0 auto;
  }

  .mentor-note,
  .mentor-note:nth-child(2),
  .mentor-note:nth-child(3){
    transform:none;
  }

  .manifest-book-v24{
    grid-template-columns:1fr;
  }

  .manifest-book-v24__toc{
    position:relative;
    top:auto;
    max-height:none;
    display:none;
  }

  .manifest-book-v24__toc.is-open{
    display:block;
  }

  .manifest-toc-toggle{
    display:block;
    width:100%;
    padding:.8rem;
    margin-bottom:1rem;
    border:0;
    border-radius:999px;
    background:#39483f;
    color:white;
  }

  .manifest-book-v24__object{
    min-height:760px;
    padding:4rem 3rem 7rem;
  }
}

@media(max-width:700px){
  .room-curated-v24 > section{
    width:min(92vw,680px);
  }

  .room-curated-v24 .arrival-hero{
    width:94vw;
  }

  .room-curated-v24 .arrival-hero__image{
    min-height:390px;
  }

  .room-curated-v24 .arrival-hero__story{
    width:84%;
    padding:3.2rem 0 3.7rem;
  }

  .room-curated-v24 .arrival-perspectives{
    gap:3.5rem !important;
    padding:5rem 0;
  }

  .room-curated-v24 .arrival-perspectives article{
    padding-left:1.4rem;
  }

  .room-curated-v24 .arrival-analysis > aside{
    padding:2rem 1.5rem;
  }

  .room-curated-v24 .arrival-reflection{
    padding:4rem 1.6rem;
  }

  .manifest-book-v24{
    width:96vw;
  }

  .manifest-book-v24__object{
    min-height:720px;
    padding:3.5rem 1.8rem 7rem 2.4rem;
  }

  .manifest-book-spine{
    left:7px;
    width:12px;
  }

  .manifest-page-v24 h2{
    font-size:2.9rem;
  }

  .manifest-page-v24 p{
    font-size:.96rem;
    line-height:1.78;
  }

  .manifest-book-controls{
    width:86%;
  }

  .manifest-book-controls button{
    min-width:auto;
    font-size:.72rem;
  }
}


/* V25 · complete opbouw voor Ruimte 2 t/m 5 */
.room-curated-v24 .arrival-model{
  width:min(1120px,90vw);
  margin:7rem auto;
  display:grid;
  grid-template-columns:1fr;
  gap:4.5rem;
  align-items:start;
}

.room-curated-v24 .arrival-model__stage{
  width:min(760px,100%);
  margin:0 auto;
}

.room-curated-v24 .arrival-model__interpretation{
  width:min(760px,100%);
  margin:0 auto;
}

.room-curated-v24 .arrival-model__interpretation h3{
  margin:.55rem 0 1.5rem;
  font-family:var(--serif);
  font-size:clamp(2.8rem,4.8vw,4.8rem);
  line-height:1;
}

.room-curated-v24 .arrival-model__interpretation > p:not(.micro){
  font-size:1.02rem;
  line-height:1.88;
}

.room-curated-v24 .museum-label{
  margin-top:2.5rem;
  padding:1.7rem 1.9rem;
  border-left:3px solid var(--route-gold);
  background:rgba(255,255,255,.48);
}

.room-curated-v24 .museum-label span{
  display:block;
  margin-bottom:.55rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.62rem;
  color:var(--rose-deep);
}

.room-curated-v24 .museum-label p{
  margin:0;
  font-family:var(--serif);
  font-size:1.12rem;
  line-height:1.65;
}


/* ============================================================
   V26 · Manifesttuin
   ============================================================ */

body:has(.manifest-garden-page){
  background:#f5efe5;
}

body:has(.manifest-garden-page) .site-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:linear-gradient(180deg,rgba(248,243,236,.76),transparent);
  box-shadow:none;
  border:0;
  z-index:20;
}

.manifest-garden-page{
  overflow:visible;
  background:#f5efe5;
}

.manifest-garden-hero{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(246,241,232,.35),rgba(246,241,232,.78)),
    url("assets/entree-landschap-v22.png") center/cover no-repeat;
}

.manifest-garden-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 36%,rgba(255,255,255,.84),transparent 38%),
    linear-gradient(180deg,transparent 62%,rgba(244,238,228,.94));
}

.manifest-garden-sky{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 73% 22%,rgba(255,235,189,.28),transparent 28%),
    radial-gradient(circle at 26% 18%,rgba(205,218,199,.18),transparent 25%);
  animation:gardenLight 12s ease-in-out infinite alternate;
}

.manifest-garden-hero__content{
  width:min(900px,88vw);
  padding:9rem 2rem 6rem;
  text-align:center;
}

.manifest-garden-hero__content h1{
  margin:.5rem 0 1.25rem;
  font-family:var(--serif);
  font-size:clamp(4.4rem,9vw,9rem);
  line-height:.82;
  letter-spacing:-.045em;
}

.manifest-garden-hero__content > p:not(.micro){
  max-width:650px;
  margin:0 auto;
  font-family:var(--serif);
  font-size:clamp(1.25rem,2vw,1.65rem);
  line-height:1.55;
  color:#596158;
}

.manifest-garden-start,
.manifest-garden-return{
  display:inline-block;
  margin-top:2.4rem;
  padding:.95rem 1.45rem;
  border:1px solid rgba(50,63,54,.25);
  border-radius:999px;
  color:#344139;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.68rem;
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(8px);
  transition:.3s ease;
}

.manifest-garden-start:hover,
.manifest-garden-return:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.75);
}

.manifest-garden-bird{
  position:absolute;
  left:-12%;
  top:26%;
  font-size:4rem;
  color:#b77783;
  opacity:0;
  animation:manifestBirdFlight 18s ease-in-out 1.4s infinite;
}

.manifest-garden-walk{
  position:relative;
  padding:5rem 0 2rem;
  overflow:hidden;
  background:
    linear-gradient(180deg,#f4ede2,#ece2d3 42%,#f3ece2);
}

.manifest-garden-path{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:4px;
  transform:translateX(-50%);
  background:
    linear-gradient(180deg,transparent,var(--route-gold) 8%,var(--route-gold) 92%,transparent);
  opacity:.24;
  box-shadow:0 0 24px rgba(200,154,62,.18);
}

.manifest-garden-stop{
  position:relative;
  min-height:72vh;
  display:grid;
  align-items:center;
  width:min(1180px,90vw);
  margin:0 auto;
  padding:7rem 0;
}

.manifest-garden-stop:nth-of-type(odd) .manifest-garden-stop__inner{
  margin-left:0;
  margin-right:auto;
}

.manifest-garden-stop:nth-of-type(even) .manifest-garden-stop__inner{
  margin-left:auto;
  margin-right:0;
}

.manifest-garden-stop__inner{
  position:relative;
  width:min(680px,78vw);
  padding:3.5rem 3.8rem;
  border-radius:24px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(245,236,219,.74));
  box-shadow:0 24px 70px rgba(63,49,35,.09);
  backdrop-filter:blur(8px);
}

.manifest-garden-stop__inner::before{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(40px,7vw,95px);
  height:1px;
  background:linear-gradient(90deg,rgba(200,154,62,.5),transparent);
}

.manifest-garden-stop:nth-of-type(odd) .manifest-garden-stop__inner::before{
  right:calc(clamp(40px,7vw,95px) * -1);
}

.manifest-garden-stop:nth-of-type(even) .manifest-garden-stop__inner::before{
  left:calc(clamp(40px,7vw,95px) * -1);
  transform:scaleX(-1);
}

.manifest-garden-stop h2{
  margin:0 0 1.6rem;
  font-family:var(--serif);
  font-size:clamp(2.7rem,4.6vw,4.7rem);
  line-height:.98;
  color:#344139;
}

.manifest-garden-stop p{
  margin:0 0 1.15rem;
  font-size:1.02rem;
  line-height:1.9;
  color:#4c544e;
}

.manifest-garden-stop p:last-child{
  margin-bottom:0;
}

.manifest-garden-stop--emphasis{
  min-height:88vh;
}

.manifest-garden-stop--emphasis .manifest-garden-stop__inner{
  width:min(780px,84vw);
  padding:5rem 4.8rem;
  text-align:center;
  background:rgba(251,246,238,.80);
}

.manifest-garden-stop--emphasis p{
  font-family:var(--serif);
  font-size:clamp(1.55rem,2.7vw,2.45rem);
  line-height:1.55;
  color:#37463c;
}

.manifest-garden-closing{
  min-height:96vh;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(245,239,230,.76),rgba(245,239,230,.42)),
    url("assets/entree-landschap-v22.png") center/cover no-repeat;
}

.manifest-garden-closing::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.74),transparent 40%);
}

.manifest-garden-closing__inner{
  position:relative;
  z-index:2;
  width:min(900px,88vw);
  text-align:center;
}

.manifest-garden-closing blockquote{
  margin:1rem auto;
  font-family:var(--serif);
  font-size:clamp(3.4rem,7vw,7rem);
  line-height:.95;
  color:#334138;
}

.manifest-garden-closing p:not(.micro){
  font-family:var(--serif);
  font-size:1.35rem;
  color:#687066;
}

@keyframes gardenLight{
  from{opacity:.55;transform:translate3d(-.5%,0,0)}
  to{opacity:.95;transform:translate3d(.6%,-.4%,0)}
}

@keyframes manifestBirdFlight{
  0%{left:-12%;top:28%;opacity:0;transform:scale(.75) rotate(-5deg)}
  8%{opacity:.9}
  38%{left:38%;top:18%;opacity:.95;transform:scale(1) rotate(2deg)}
  72%{left:76%;top:24%;opacity:.88;transform:scale(.9) rotate(-2deg)}
  100%{left:112%;top:12%;opacity:0;transform:scale(.7) rotate(5deg)}
}

@media(max-width:850px){
  body:has(.manifest-garden-page) .site-header{
    position:relative;
    background:#f7f1e8;
  }

  .manifest-garden-hero{
    min-height:88vh;
  }

  .manifest-garden-path{
    left:24px;
  }

  .manifest-garden-stop{
    width:min(92vw,720px);
    min-height:auto;
    padding:4.5rem 0 4.5rem 2.2rem;
  }

  .manifest-garden-stop__inner,
  .manifest-garden-stop:nth-of-type(odd) .manifest-garden-stop__inner,
  .manifest-garden-stop:nth-of-type(even) .manifest-garden-stop__inner{
    width:100%;
    margin:0;
    padding:2.4rem 1.6rem;
  }

  .manifest-garden-stop__inner::before{
    display:none;
  }

  .manifest-garden-stop--emphasis .manifest-garden-stop__inner{
    width:100%;
    padding:3.2rem 1.6rem;
  }

  .manifest-garden-hero__content h1{
    font-size:4.2rem;
  }

  .manifest-garden-closing blockquote{
    font-size:3.4rem;
  }
}


/* ============================================================
   V27 · verfijnde manifesttuin, eigen werk en complete ruimten
   ============================================================ */

/* Manifesttuin: minder herhaling, zes duidelijke plekken */
.manifest-garden-stop--curated{
  min-height:82vh;
}

.manifest-garden-stop--curated .micro{
  margin-bottom:.55rem;
  color:#9b6e66;
}

.manifest-garden-stop--curated h2{
  margin-top:0;
}

.manifest-garden-stop--questions p{
  position:relative;
  padding-left:1.6rem;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.1vw,1.9rem);
  line-height:1.55;
}

.manifest-garden-stop--questions p::before{
  content:"?";
  position:absolute;
  left:0;
  top:0;
  color:var(--route-gold);
  font-family:var(--serif);
}

.manifest-garden-download{
  width:min(1120px,90vw);
  margin:5rem auto 10rem;
  padding:4.5rem;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4rem;
  align-items:center;
  border-radius:30px;
  background:rgba(255,255,255,.58);
  box-shadow:0 28px 75px rgba(61,47,35,.10);
  backdrop-filter:blur(10px);
}

.manifest-garden-download__book{
  display:flex;
  width:330px;
  min-height:215px;
  transform:rotate(-1.5deg);
  filter:drop-shadow(13px 18px 18px rgba(47,31,22,.24));
}

.manifest-garden-download__spine{
  width:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 8px;
  writing-mode:vertical-rl;
  font-family:var(--serif);
  font-size:1.03rem;
  color:#f8ecdb;
  background:linear-gradient(90deg,#70484b,#9a686b);
  border-radius:6px 0 0 6px;
}

.manifest-garden-download__cover{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.7rem;
  color:#f9eedf;
  background:linear-gradient(145deg,#85595c,#6f4649);
  border-radius:0 7px 7px 0;
}

.manifest-garden-download__cover small{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.59rem;
  opacity:.72;
}

.manifest-garden-download__cover strong{
  margin-top:1rem;
  font-family:var(--serif);
  font-size:1.65rem;
  line-height:1.08;
}

.manifest-garden-download__text h2{
  margin:.45rem 0 1rem;
  font-family:var(--serif);
  font-size:clamp(2.7rem,4.6vw,4.8rem);
  line-height:.98;
}

.manifest-garden-download__text p{
  max-width:680px;
  line-height:1.8;
  color:#5a625b;
}

.manifest-garden-download__text a{
  display:inline-block;
  margin-top:1.3rem;
  color:#8c5c60;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.7rem;
  text-decoration:none;
}

/* Bibliotheek: onderzoek en volledig manifest naast elkaar */
.own-work-shelf{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2.4rem;
  max-width:900px;
  margin:0 auto;
}

.own-work-volume{
  display:flex;
  min-height:205px;
  color:#f9eedf;
  text-decoration:none;
  transition:.35s ease;
  filter:drop-shadow(11px 15px 15px rgba(0,0,0,.32));
}

.own-work-volume:hover{
  transform:translateY(-10px) rotate(.4deg);
}

.own-work-volume__spine{
  width:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 7px;
  writing-mode:vertical-rl;
  font-family:var(--serif);
  font-size:1rem;
  line-height:1.1;
  border-radius:6px 0 0 6px;
  background:linear-gradient(90deg,#625047,#887064);
  box-shadow:inset -5px 0 8px rgba(0,0,0,.2);
}

.own-work-volume__cover{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.7rem;
  border-radius:0 7px 7px 0;
  background:#78665a;
}

.own-work-volume--manifest .own-work-volume__spine{
  background:linear-gradient(90deg,#70484b,#9a686b);
}

.own-work-volume--manifest .own-work-volume__cover{
  background:linear-gradient(145deg,#875b5e,#71484b);
}

.own-work-volume--research .own-work-volume__spine{
  background:linear-gradient(90deg,#384d42,#627263);
}

.own-work-volume--research .own-work-volume__cover{
  background:linear-gradient(145deg,#4a5f52,#36483f);
}

.own-work-volume small{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.58rem;
  opacity:.68;
}

.own-work-volume strong{
  margin:.9rem 0 1.1rem;
  font-family:var(--serif);
  font-size:1.62rem;
  line-height:1.07;
}

.own-work-volume em{
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.64rem;
  opacity:.82;
}

/* LEGO-secties en leermeesters blijven nadrukkelijk zichtbaar */
[data-section="lego-model"]{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}

.model-placeholder--prominent{
  min-height:520px;
  border:1px solid rgba(54,65,58,.15);
  background:
    radial-gradient(circle at 50% 32%,rgba(255,255,255,.96),rgba(250,246,238,.82)),
    #f6f0e6;
}

[data-section="leermeesters"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

[data-section="leermeesters"] .mentor-notes{
  margin-top:2rem;
}

@media(max-width:850px){
  .manifest-garden-download{
    grid-template-columns:1fr;
    justify-items:center;
    padding:3rem 1.7rem;
    text-align:center;
  }

  .manifest-garden-download__book{
    width:min(330px,84vw);
  }

  .own-work-shelf{
    grid-template-columns:1fr;
  }

  .model-placeholder--prominent{
    min-height:390px;
  }
}


/* ============================================================
   V28 · LEGO en leermeesters expliciet hersteld in ruimte 2 t/m 5
   ============================================================ */

.room-complete-v28 [data-section="lego-model"],
.room-complete-v28 [data-section="leermeesters"]{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.room-complete-v28 [data-section="lego-model"]{
  width:min(1120px,90vw) !important;
  margin:7rem auto !important;
  grid-template-columns:1fr !important;
  gap:4.5rem !important;
}

.room-complete-v28 [data-section="lego-model"] .arrival-model__stage,
.room-complete-v28 [data-section="lego-model"] .arrival-model__interpretation{
  display:block !important;
  width:min(760px,100%) !important;
  margin:0 auto !important;
}

.room-complete-v28 [data-section="lego-model"] .model-placeholder{
  display:flex !important;
  min-height:520px !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.room-complete-v28 [data-section="leermeesters"]{
  width:min(1040px,88vw) !important;
  margin:7rem auto !important;
  padding:7rem 0 !important;
}

.room-complete-v28 [data-section="leermeesters"] .mentor-notes{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.5rem !important;
}

.room-complete-v28 [data-section="leermeesters"] .mentor-note{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.room-section-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:2.2rem;
}

.room-section-shortcuts a{
  display:inline-block;
  padding:.78rem 1rem;
  border:1px solid rgba(56,70,61,.2);
  border-radius:999px;
  color:#3c4a41;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.64rem;
  background:rgba(255,255,255,.5);
}

.room-section-shortcuts a:hover{
  background:rgba(255,255,255,.86);
  transform:translateY(-2px);
}

@media(max-width:800px){
  .room-complete-v28 [data-section="leermeesters"] .mentor-notes{
    grid-template-columns:1fr !important;
  }

  .room-complete-v28 [data-section="lego-model"] .model-placeholder{
    min-height:390px !important;
  }
}


/* V30 · schone installatie */
.room-complete-v30 [data-section="lego-model"],
.room-complete-v30 [data-section="leermeesters"]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.room-complete-v30 [data-section="lego-model"]{
  width:min(1120px,90vw) !important;
  margin:7rem auto !important;
}
.room-complete-v30 [data-section="lego-model"] .arrival-model__stage,
.room-complete-v30 [data-section="lego-model"] .arrival-model__interpretation{
  display:block !important;
  width:min(760px,100%) !important;
  margin:0 auto !important;
}
.room-complete-v30 [data-section="leermeesters"]{
  width:min(1040px,88vw) !important;
  margin:7rem auto !important;
  padding:7rem 0 !important;
}
.room-complete-v30 [data-section="leermeesters"] .mentor-notes{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.5rem !important;
}
@media(max-width:800px){
  .room-complete-v30 [data-section="leermeesters"] .mentor-notes{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   V31 · LEGO en leermeesters altijd zichtbaar
   ============================================================ */
.room-page .museum-room.is-active.room-stack-v31,
.museum .museum-room.is-active.room-stack-v31{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
}

.room-stack-v31 > section{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:min(1120px,90vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.room-stack-v31 [data-section="lego-model"]{
  margin-top:7rem !important;
  margin-bottom:3rem !important;
  padding:0 !important;
}

.room-stack-v31 [data-section="leermeesters"]{
  margin-top:3rem !important;
  margin-bottom:7rem !important;
  padding:6rem 0 !important;
  border-top:1px solid rgba(54,66,59,.12);
  border-bottom:1px solid rgba(54,66,59,.12);
}

.section-marker-v31{
  width:min(760px,100%);
  margin:0 auto 2.2rem;
  padding-bottom:1.3rem;
  border-bottom:1px solid rgba(54,66,59,.14);
}

.section-marker-v31 span{
  display:block;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.67rem;
  color:var(--rose-deep);
}

.section-marker-v31 p{
  margin:.55rem 0 0;
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.5;
  color:#4f5a53;
}

.lego-room-preview{
  width:min(900px,100%);
  margin:0 auto 3rem;
  overflow:hidden;
  border-radius:28px;
  background:#eee6da;
  box-shadow:0 28px 78px rgba(54,42,31,.14);
}

.lego-room-preview img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:saturate(.62) sepia(.12) hue-rotate(-8deg) contrast(.94) brightness(1.03);
}

.lego-room-preview figcaption{
  padding:2rem 2.3rem 2.4rem;
  background:rgba(251,247,240,.94);
}

.lego-room-preview figcaption strong{
  display:block;
  margin:.35rem 0 .5rem;
  font-family:var(--serif);
  font-size:clamp(1.8rem,3vw,2.8rem);
  line-height:1.05;
}

.lego-room-preview figcaption span{
  display:block;
  max-width:700px;
  line-height:1.7;
  color:#657068;
}

.room-stack-v31 [data-section="leermeesters"] .mentor-notes{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.5rem !important;
  width:min(1000px,100%) !important;
  margin:2rem auto 0 !important;
}

.room-stack-v31 [data-section="leermeesters"] .mentor-note{
  display:block !important;
  min-height:230px !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media(max-width:850px){
  .room-stack-v31 > section{
    width:min(92vw,720px) !important;
  }

  .room-stack-v31 [data-section="leermeesters"] .mentor-notes{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   NOVA VIA ATELIER · DEFINITIEVE EDITIE
   ============================================================ */

/* Manifest: één typografische lijn */
.manifest-garden-stop__inner,
.manifest-garden-stop__inner p,
.manifest-garden-stop__inner li,
.manifest-garden-stop__inner h2,
.manifest-garden-stop__inner h3,
.manifest-garden-download__text,
.manifest-garden-download__text p,
.manifest-garden-download__text h2{
  font-family:var(--serif) !important;
}

.manifest-garden-stop__inner p,
.manifest-garden-stop__inner li,
.manifest-garden-download__text p{
  font-size:1.08rem !important;
  line-height:1.82 !important;
  font-weight:400 !important;
}

.manifest-garden-stop__inner h2,
.manifest-garden-stop__inner h3{
  font-size:clamp(2.7rem,4.7vw,4.8rem) !important;
  line-height:1.02 !important;
  font-weight:600 !important;
}

.manifest-garden-stop--plain-questions .manifest-garden-stop__inner,
.manifest-garden-stop--invitation .manifest-garden-stop__inner{
  text-align:left !important;
}

.manifest-garden-stop--plain-questions p::before,
.manifest-garden-stop--plain-questions li::before,
.manifest-garden-stop--questions p::before{
  content:none !important;
  display:none !important;
}

.manifest-section-intro{
  max-width:720px;
  margin-bottom:1.8rem !important;
  color:#59645d !important;
}

.manifest-questions-list{
  list-style:none;
  padding:0;
  margin:2rem 0 0;
}

.manifest-questions-list li{
  position:relative;
  padding:1.1rem 0 1.1rem 1.4rem;
  border-bottom:1px solid rgba(53,66,58,.12);
  color:#3f4a43;
}

.manifest-questions-list li::after{
  content:"";
  position:absolute;
  left:0;
  top:1.75rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--route-gold);
}

.manifest-garden-stop--invitation .manifest-garden-stop__inner p{
  margin-bottom:1rem !important;
}

.manifest-garden-stop--invitation .manifest-garden-stop__inner p:nth-of-type(2),
.manifest-garden-stop--invitation .manifest-garden-stop__inner p:nth-of-type(3),
.manifest-garden-stop--invitation .manifest-garden-stop__inner p:nth-of-type(4){
  font-size:1.15rem !important;
}

.manifest-final-thanks{
  margin:2rem auto 0;
  max-width:760px;
}

.manifest-final-thanks p{
  margin:.45rem 0;
  font-family:var(--serif);
  font-size:1.25rem;
  line-height:1.6;
  color:#5f6a62;
}

/* Definitieve footer */
.nova-final-footer{
  position:relative;
  padding:4.5rem 1.5rem 3.5rem;
  background:
    linear-gradient(180deg,rgba(246,241,233,.55),rgba(236,226,212,.95));
  border-top:1px solid rgba(54,66,59,.10);
}

.nova-final-footer__inner{
  width:min(980px,90vw);
  margin:0 auto;
  text-align:center;
}

.nova-final-footer p{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.8rem,3vw,2.7rem);
  color:#37463d;
}

.nova-final-footer small{
  display:block;
  max-width:760px;
  margin:1rem auto 2rem;
  font-size:.9rem;
  line-height:1.7;
  color:#69736c;
}

.nova-final-footer__signature{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}

.nova-final-footer__signature span{
  font-family:var(--serif);
  font-size:1.15rem;
  color:#8b5e62;
}

.nova-final-footer__signature em{
  font-family:var(--serif);
  font-size:1rem;
  color:#59645c;
}

/* Geen overdreven grote typografie in laatste manifestsecties */
.manifest-garden-stop--plain-questions,
.manifest-garden-stop--invitation{
  min-height:72vh !important;
}

@media(max-width:760px){
  .manifest-garden-stop__inner h2,
  .manifest-garden-stop__inner h3{
    font-size:2.7rem !important;
  }

  .manifest-garden-stop__inner p,
  .manifest-garden-stop__inner li{
    font-size:1rem !important;
  }
}
