@scope (.artrose-story) {
/* Lokale NTvG-variant: een doorlopend, scrollgestuurd SVG-toneel. */
html:has(:scope){scroll-behavior:auto}
:scope{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.7;color-scheme:light dark}
:scope *{box-sizing:border-box}
:scope a{color:var(--green);text-underline-offset:.22em}
:scope button,:scope select{font:inherit;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:2rem;padding:.5rem .85rem}
:scope button{cursor:pointer}:scope [hidden]{display:none!important}
:scope :focus-visible{outline:3px solid var(--clay);outline-offset:5px}
:scope .skip-link{position:fixed;top:-120px;left:1rem;z-index:20;background:var(--white);padding:1rem}:scope .skip-link:focus{top:1rem}
.story-header{max-width:1140px;margin:auto;padding:24px 36px;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;border-bottom:1px solid var(--line);position:relative}
:scope .wordmark{font-size:1.15rem;text-decoration:none;font-weight:600;line-height:1.25;letter-spacing:-.035em}.wordmark span{font-weight:400}.wordmark small{display:block;margin-top:7px;letter-spacing:.03em;font-size:.6rem;font-weight:400;color:var(--muted)}
.concept-badge{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:.35rem .6rem;border-radius:2rem;white-space:nowrap;margin-left:auto}
.story-menu-toggle{font-size:.72rem!important;padding:.35rem .65rem!important}
.story-site-nav{display:flex;gap:1.5rem;font-size:.8rem}:scope.has-js .story-site-nav{position:absolute;right:36px;top:calc(100% - 8px);z-index:10;background:var(--white);border:1px solid var(--line);padding:1rem 1.5rem}
.story-intro{position:relative;max-width:1140px;margin:auto;padding:70px 36px 60px;min-height:690px;overflow:hidden}
:scope .eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:600;color:var(--green);margin:0 0 1.4rem}
.story-intro .eyebrow>span{padding:0 .5rem}
:scope h1{font:400 clamp(3.6rem,7vw,6rem)/1.02 Georgia,serif;letter-spacing:-.055em;margin:0 0 1.5rem;position:relative;z-index:1;max-width:650px}
:scope h1 em{font-weight:400;color:var(--green)}
:scope .subtitle{font:400 1.6rem/1.35 Georgia,serif;max-width:440px;margin:1.6rem 0 1.2rem;position:relative;z-index:1}
.intro-copy{max-width:395px;font-size:.92rem;position:relative;z-index:1}
.start-link{display:inline-flex;gap:2rem;align-items:center;margin-top:1rem;font-size:.78rem;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:.45rem}.start-link span{font-size:1.5rem}
.intro-art{position:absolute;width:54%;right:-2%;bottom:58px;pointer-events:none}.intro-art svg{width:100%;display:block;background:#f7f4ed;border-radius:45% 45% 8% 8%}
.reading-tools{border-block:1px solid var(--line);padding:12px 0;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;max-width:1068px;width:calc(100% - 72px);margin:0 auto;font-size:.73rem;position:relative;z-index:3;background:var(--paper)}
.reading-tools label{display:none;align-items:center;gap:.5rem}:scope.has-js .reading-tools label{display:flex}.reading-tools select{padding:.4rem .55rem;max-width:125px}
.chapter-menu{margin-left:auto}.chapter-menu summary{cursor:pointer;padding:.6rem 0}.chapter-menu nav{position:absolute;right:0;top:100%;background:var(--white);padding:1rem 1.5rem;border:1px solid var(--line);box-shadow:0 12px 24px #17201c12;min-width:230px;display:grid;gap:.4rem}.chapter-menu nav a{padding:.4rem;text-decoration:none}.chapter-menu nav span{margin-right:.6rem;font-size:.7rem;color:var(--muted)}
.story-after{max-width:740px;margin:0 auto;padding:100px 36px}.story-after>p{font-size:.94rem}.story-after details{border-top:1px solid var(--line);margin-top:2rem;padding:1.2rem 0}.story-after summary{cursor:pointer;font-size:.94rem}.story-after details p,.story-after details a{font-size:.88rem}
.original-link{display:inline-flex;align-items:center;gap:2rem;margin:1.3rem 0 .5rem;border-bottom:1px solid var(--green);padding-bottom:.45rem;text-decoration:none;font-size:.94rem}.publication-line{font-size:.68rem!important;color:var(--muted)}
.medical-note{border-left:2px solid var(--green);padding-left:1.3rem;margin-top:2rem}.back-top{font-size:.8rem;display:inline-block;margin-top:2rem}
.story-footer{max-width:1140px;margin:auto;padding:2rem 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:.8rem;gap:1rem}.story-footer span{color:var(--muted)}
@media(max-width:849px){
 .story-header{padding:20px 6vw;gap:.7rem}.story-header small{font-size:.52rem}.concept-badge{font-size:.55rem;padding:.3rem .45rem}.story-site-nav{right:6vw!important}
 .story-intro{padding:3rem 6vw 0;min-height:0}:scope h1{font-size:clamp(3.5rem,10vw,5.8rem)}.story-intro .subtitle{font-size:1.35rem;max-width:440px}.intro-copy{max-width:460px}.intro-art{position:relative;width:100%;right:auto;bottom:auto;max-width:530px;margin:-1rem auto 0}
 .reading-tools{width:88%;gap:.6rem}.chapter-menu{margin-left:0;flex-basis:100%}.chapter-menu nav{left:0;right:0}.chapter-menu summary{padding:.3rem 0}
 .story-after{padding:4rem 6vw}.story-footer{padding:2rem 6vw;flex-direction:column}
}

/* A single world, rendered once; ordinary document flow remains the reading source. */
.scroll-story{position:relative;isolation:isolate}
.journey-stage{display:none;pointer-events:none;background:var(--paper)}
.journey-canvas{position:absolute;inset:0;overflow:hidden}
.journey-canvas svg{width:100%;height:100%;display:block;background:var(--paper)}
.stage-label{background:var(--paper);padding:.35rem .8rem;border-radius:.5rem;position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:var(--muted);font-size:.67rem;letter-spacing:.04em}
.journey-text{position:relative;z-index:2;max-width:1140px;margin:auto;padding:0 36px}
.journey-moment{padding:3rem 0 5rem;scroll-margin-top:2rem}
.journey-copy{max-width:470px;margin:auto}
:scope h2{font:400 clamp(2.1rem,3.8vw,3.1rem)/1.13 Georgia,serif;letter-spacing:-.04em;margin:0 0 1.5rem}
.journey-copy p:not(.eyebrow){font-size:1rem;line-height:1.85;margin:0 0 1.4rem}
.journey-still{max-width:680px;margin:0 auto 2rem}.journey-still img{width:100%;height:auto;aspect-ratio:690/565;display:block;background:#f7f4ed;border-radius:1rem}.journey-still figcaption{font-size:.75rem;color:var(--muted);margin-top:1rem;text-align:center}
:scope.has-motion .journey-stage{display:block;position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0}
:scope.has-motion .journey-moment{min-height:155svh;display:flex;align-items:center;padding:14vh 0 28vh}
:scope.has-motion .journey-copy{width:36%;max-width:420px;margin:0;position:relative}
:scope.has-motion [data-text-side="right"] .journey-copy{margin-left:auto}
:scope.has-motion [data-scene="6"]{min-height:190svh}
:scope.has-motion .journey-still{display:none}
/* SVG pivots are specified once in transform attributes, never again in CSS. */
.network-links{stroke-dasharray:1;stroke-dashoffset:var(--network-reveal,0)}
@media(min-width:850px){:scope.has-motion .journey-copy{padding:1.5rem 0;background:var(--paper);box-shadow:0 0 45px 35px var(--paper)}}
@media(max-width:849px){
 .journey-text{padding:0 6vw}.journey-copy{max-width:560px}:scope h2{font-size:2.15rem}
 :scope.has-motion .journey-stage{height:40svh;margin-bottom:-40svh;z-index:3}
 .journey-canvas{inset:0}.stage-label{bottom:.3rem;font-size:.75rem;line-height:1.35;letter-spacing:0;padding:0 1rem;text-wrap:balance}
 :scope.has-motion .journey-moment{min-height:160svh;padding:48svh 0 18svh;align-items:flex-start;scroll-margin-top:0}
 :scope.has-motion .journey-copy{width:100%;max-width:560px;margin:0 auto}
 .journey-canvas svg{border-bottom:1px solid var(--line)}
 :scope.has-motion [data-text-side="right"] .journey-copy{margin:0 auto}
}
@media(prefers-reduced-motion:reduce){:scope *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.journey-stage,.reading-tools,.intro-art,.start-link{display:none!important}.journey-still{display:block!important;max-width:350px}.journey-moment{display:block!important;min-height:0!important;padding:1rem 0!important;break-inside:avoid}.journey-copy{width:100%!important;max-width:none!important}:scope{background:white;color:#17201c}.story-intro{min-height:0}}

/* The stage caption supplies the regional name at readable mobile size. */
@media (max-width: 849px) {
  .journey-canvas .country-map text, .journey-canvas .scene-pill { display: none; }
}

/* Paginaspecifiek slot: vier duidelijke vervolgroutes, buiten het scrolltoneel. */
.story-after{max-width:1140px;padding-top:70px}
.closing-intro{max-width:620px;margin-bottom:2.5rem}
.closing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:2.5rem 0 3rem}
.closing-card{padding:2rem;border:1px solid var(--line);border-radius:1rem;background:var(--white);scroll-margin-top:2rem}
.closing-card:first-child{border-top:3px solid var(--green)}
.closing-card .eyebrow{margin-bottom:1rem}
.closing-card h3{font:400 1.8rem/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 1rem}
.closing-card>p:not(.eyebrow){font-size:.9rem;line-height:1.7;margin:0 0 1.2rem}
.closing-card .closing-citation{font-size:.77rem!important;color:var(--muted)}
.closing-links{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.65rem}
.closing-links a{display:inline-block;font-size:.86rem;padding:.25rem 0;text-decoration-thickness:1px}
.closing-links span{white-space:nowrap}
.story-after>details,.story-after>.medical-note{max-width:740px;margin-left:auto;margin-right:auto}
:scope.has-motion .journey-moment:last-child{min-height:120svh;padding-bottom:12vh}
@media(max-width:849px){
 .closing-grid{grid-template-columns:1fr;gap:1rem}
 .closing-card{padding:1.5rem}
 .closing-card h3{font-size:1.65rem}
 :scope.has-motion .journey-moment:last-child{min-height:0;padding-bottom:8svh}
}
@media print{.closing-grid{display:block}.closing-card{break-inside:avoid;margin-bottom:1rem}}
/* Het toneel eindigt bij de reis en mag de vervolgroutes niet bedekken. */
.scroll-story{overflow:clip}

/* Compacte aansluiting van de bediening op het eerste verhaalmoment. */
@media(min-width:850px){
 :scope.has-motion .journey-moment:first-child{align-items:flex-start;padding-top:4rem;min-height:130svh}
}
/* Newsletter invitation within the personal contribution card. */
.closing-newsletter{margin:1.5rem 0;padding:1.25rem;text-align:center;border-radius:.75rem;background:color-mix(in srgb,var(--ochre) 15%,var(--white));border:1px solid color-mix(in srgb,var(--ochre) 45%,var(--line))}
.closing-newsletter strong{display:block;font-size:.94rem;line-height:1.45;color:var(--ink)}
.closing-newsletter p{font-size:.84rem;line-height:1.65;margin:.6rem 0 .85rem}
.closing-newsletter a{font-size:.84rem;font-weight:600;text-decoration:underline;text-underline-offset:.22em}
.closing-newsletter strong+a{display:inline-block;margin-top:.7rem}
/* Compacte tekstopening; het eerste beeld verschijnt in de reis zelf. */
:scope .story-intro{min-height:0;padding:2.5rem 36px 2rem}
:scope .story-intro h1,:scope .story-intro .feature-title{font-size:clamp(2.8rem,5vw,4.5rem);max-width:none;margin:0 0 1rem}
:scope .story-intro .subtitle{max-width:900px;margin:.5rem 0 1rem;font-size:clamp(1.3rem,2.3vw,1.65rem)}
:scope .story-intro .intro-copy{max-width:960px;margin:0;line-height:1.75}
:scope .story-intro .start-link{margin-top:.9rem;gap:1.2rem}
:scope .story-intro .eyebrow{margin-bottom:1rem}
@media(max-width:849px){:scope .story-intro{padding:1.75rem 6vw 1.5rem}:scope .story-intro h1,:scope .story-intro .feature-title{font-size:clamp(2.5rem,9vw,3.5rem)}}

/* A longer final landing lets the same person gather the three ideas together. */
:scope.has-motion .journey-moment[data-scene="7"] { min-height: 160svh; padding-bottom: 24svh; }
@media (max-width: 849px) {
  :scope.has-motion .journey-moment[data-scene="7"] { min-height: 155svh; padding-bottom: 12svh; }
}

}


.placement-notice{padding:.45rem 1rem;text-align:center;font-size:.75rem;background:var(--green-soft);color:var(--ink)}
.artrose-story{border-top:1px solid var(--line);margin:3rem auto 0;max-width:none;width:100%}
.artrose-story .feature-title{font:400 clamp(3.6rem,7vw,6rem)/1.02 Georgia,serif;letter-spacing:-.055em;max-width:650px;position:relative;z-index:1}
.artrose-story .feature-title em{color:var(--green);font-weight:400}
.artrose-teaser{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:1rem;border-block:1px solid var(--line);padding-block:3.5rem;margin-block:2rem;background:var(--paper)}
.teaser-copy{position:relative;z-index:1;max-width:440px}.teaser-copy h2{font:400 clamp(2.8rem,4.7vw,4.6rem)/1.05 Georgia,serif;letter-spacing:-.045em;margin:1rem 0 1.5rem}.teaser-copy em{color:var(--green);font-weight:400}.teaser-copy p{line-height:1.8}.teaser-copy .article-link{margin-top:1rem}.teaser-eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.teaser-art{min-width:0}.teaser-art svg{width:100%;height:auto;display:block;overflow:visible}.teaser-art .scene-detail{opacity:1}
@media(max-width:849px){.artrose-teaser{grid-template-columns:1fr;gap:0;padding-block:2rem}.teaser-copy{max-width:600px}.teaser-art{max-width:550px;margin:-1rem auto 0;width:100%}.artrose-story .feature-title{font-size:clamp(3rem,10vw,5rem)}}
.placement-articles .site-header{position:sticky;top:0}
@media(max-width:849px){.teaser-copy{display:contents}.teaser-copy>*{order:3}.teaser-copy .teaser-eyebrow{order:0;font-size:.7rem}.teaser-copy h2{order:1;margin-bottom:0}.teaser-art{order:2;margin:0 auto}.teaser-copy .article-link{order:4}.teaser-art .scene-pill{display:none}}
/* Homepage: de echte reis tot en met de hele persoon, vóór de vakgroep. */
.home-story .artrose-teaser{border:0;margin-block:0}.home-story .teaser-art svg{background:transparent;border-radius:0}
.home-story-continue{max-width:1068px;width:calc(100% - 72px);margin:0 auto;padding:2rem 0 4rem;border-bottom:1px solid var(--line)}
.home-story-continue p{max-width:550px;font:400 1.5rem/1.5 Georgia,serif}
.home-story.has-motion .journey-moment:last-child{min-height:100svh;padding-bottom:8vh}
body:has(.home-story) .site-header{position:sticky;top:0}
@media(max-width:849px){.home-story-continue{width:88%}.home-story.has-motion .journey-moment:last-child{min-height:0;padding-bottom:8vh}}
.home-story .teaser-copy h2{font:400 clamp(2.8rem,4.7vw,4.6rem)/1.05 Georgia,serif;letter-spacing:-.045em;margin:1rem 0 1.5rem}
html:has(.home-story){scroll-behavior:auto}
.home-story-farewell{position:relative;isolation:isolate;background:var(--paper);max-width:680px;margin:0 auto;padding:0 1rem 2rem}
.home-story-farewell svg{display:block;width:100%;height:auto;overflow:visible}
.home-story-farewell a{cursor:pointer}.home-story-farewell a:hover .farewell-board,.home-story-farewell a:focus-visible .farewell-board{fill:#35644e;stroke:var(--clay);stroke-width:4}
.home-story-farewell a:focus-visible{outline:none}
@media(max-width:849px){.home-story-farewell{padding:0 0 1rem}}
/* The sign belongs to the same world and actor, not a separate closing scene. */
.home-story #journey-sign a{pointer-events:all;cursor:pointer}
.home-story #journey-sign a:hover .farewell-board,.home-story #journey-sign a:focus-visible .farewell-board{fill:#35644e;stroke:var(--clay);stroke-width:4}
.home-story #journey-sign a:focus-visible{outline:none}
.home-story .journey-text,.home-story .journey-copy{pointer-events:none}.home-story .journey-copy a{pointer-events:auto}
.home-story .story-read-link a{font:inherit;color:var(--green);text-decoration:underline;text-underline-offset:.16em}
.home-story .story-read-link a:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.home-static-continue{text-align:center;padding:1rem 0 3rem}.home-static-continue a{display:inline-block;background:#244c3d!important;color:#fffdf8!important;padding:1rem 2rem;border-radius:.5rem;text-decoration:none}
.home-story.has-motion .home-static-continue{display:none}
.home-story.has-motion .journey-moment:last-child{min-height:155svh;padding-bottom:40vh}
@media(max-width:849px){.home-story.has-motion .journey-moment:last-child{min-height:160svh;padding-bottom:60vh}}
/* Compacte homepage-opening over de contentbreedte; de illustratie begint in de reis. */
.home-story .artrose-teaser{display:block;max-width:1140px;width:100%;padding:2rem 36px 1rem;margin:0 auto;box-sizing:border-box}
.home-story .teaser-copy{display:block;max-width:none}
.home-story .teaser-copy h2{font-size:clamp(2.4rem,4.2vw,3.8rem);margin:.7rem 0 1.2rem}
.home-story .teaser-copy p{max-width:none;margin:0 0 .85rem;line-height:1.65}
.home-story .teaser-copy .teaser-eyebrow{font-size:.7rem;margin:0 0 .7rem}
.home-story.has-motion .journey-moment:first-child{padding-top:2rem}
@media(max-width:849px){.home-story .artrose-teaser{padding:1.7rem 6vw .6rem}.home-story.has-motion .journey-moment:first-child{padding-top:46svh}}
/* Kortere aansluiting van de homepage-inleiding op het eerste verhaalmoment. */
@media(min-width:850px){#artrose-voorproef.has-motion .journey-moment:first-child{padding-top:.5rem}#artrose-voorproef.has-motion .journey-moment:first-child .journey-copy{padding-top:.5rem}}
@media(max-width:849px){#artrose-voorproef.has-motion .journey-moment:first-child{padding-top:42svh}}
/* De eerste homepage-scène start hoger en heeft minder lege uitloop. */
@media(min-width:850px){
 #artrose-voorproef.has-motion .journey-moment:first-child{min-height:105svh;padding-bottom:12vh}
 #artrose-voorproef.has-motion .journey-moment:nth-child(2){align-items:flex-start;padding-top:8vh}
}

/* Keep the site menu available while the story has its own sticky stage. */
:root { --story-header-height: 76px; }
body .artrose-story { scroll-margin-top: calc(var(--story-header-height) + 1rem); }
body .artrose-story.has-motion .journey-stage {
  top: var(--story-header-height);
  height: calc(100svh - var(--story-header-height));
  margin-bottom: calc(var(--story-header-height) - 100svh);
}
body .artrose-story .journey-moment { scroll-margin-top: calc(var(--story-header-height) + 1rem); }
@media(max-width:849px) {
  body .artrose-story.has-motion .journey-stage { height:40svh; margin-bottom:-40svh; }
  body .artrose-story.has-motion .journey-moment { scroll-margin-top: calc(var(--story-header-height) + 40svh); }
  body .artrose-story.has-motion .journey-copy { position:relative; }
}
