@import url('/fonts/fonts.css');
:root{--paper:#f6f3ec;--ink:#292c25;--muted:#75766a;--rust:#a55736;--line:#dcd9cf;--forest:#252e28;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}
a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-.035em}
h2{font-size:clamp(43px,4.5vw,65px)}em{font-weight:400}svg{flex-shrink:0}
::selection{background:#a55736;color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid #ca7e50;outline-offset:6px}
.container{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}
.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;display:flex;align-items:center;gap:14px;line-height:1.4}
.eyebrow.light{color:#e7e5d9}.small-line{width:32px;height:1px;background:currentColor}.number{opacity:.5}
.skip{position:fixed;z-index:100;top:-80px;left:12px;background:white;padding:12px}.skip:focus{top:10px}

/* header + woordmerk */
.site-header{height:102px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}
.wordmark{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:-1px;line-height:1}
.wordmark span{color:var(--rust);margin-left:-10px}
.navigation{display:flex;gap:32px;align-items:center;font-size:12px}
.navigation a{position:relative;padding:8px 0}
.navigation a:after{content:'';height:1px;position:absolute;left:0;right:100%;bottom:2px;background:currentColor;transition:right .2s}
.navigation a:hover:after,.navigation a[aria-current="page"]:after{right:0}

/* section-heading */
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:35px}
.section-heading .eyebrow{margin-bottom:23px}
.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:330px;padding-bottom:5px}
.section-heading h2 em{color:#777567}

/* homepage: hero */
.text-link{display:flex;gap:20px;align-items:center;font-size:12px;padding:5px 0;width:fit-content;border-bottom:1px solid #b2afa2;transition:color .2s}
.text-link:hover{color:var(--rust)}.text-link.light{color:#f6e8d0;border-color:#8a9580}.text-link.light:hover{color:#e8b77a}
.hero{height:calc(94svh - 102px);min-height:560px;max-height:900px;position:relative;color:#fff9eb;isolation:isolate;background:#655548}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-image{object-fit:cover;object-position:center 54%}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(25,27,23,.47),rgba(25,27,23,.05) 78%),linear-gradient(0deg,rgba(21,25,21,.7),transparent 32%,transparent 70%,rgba(21,25,21,.38))}
.hero-content{position:absolute;left:8.3%;bottom:110px;max-width:780px;right:8.3%}
.hero-content h1{font-size:clamp(64px,7.6vw,118px);line-height:.96;margin:28px 0 27px;letter-spacing:-.043em}
.hero-content h1 em{color:#efd1ad}.hero-content p{font-size:14px;line-height:1.9;color:#eee9dd;max-width:480px}
.hero-cta{display:flex;align-items:center;gap:25px;width:max-content;font-size:12px;margin-top:30px}
.hero-cta span{border:1px solid #fff7;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;transition:transform .2s}
.hero-cta:hover span{transform:translateY(4px)}
.hero-side{position:absolute;right:3.8%;top:41%;writing-mode:vertical-rl;letter-spacing:.23em;font-size:9px;color:#eee8df}
.hero-bottom{position:absolute;bottom:0;left:4.6%;right:4.6%;min-height:65px;border-top:1px solid #fff4;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.07em;color:#efe9df;gap:15px}
.hero-bottom>span{display:flex;align-items:center;gap:8px}.hero-bottom>a{display:flex}
.eyebrow.light .small-line{background:#efd1ad}

/* homepage: opening + dagboek */
.opening{text-align:center;padding-top:92px;padding-bottom:90px}
.opening .eyebrow{justify-content:center;color:var(--rust);font-size:9px}
.opening>p{font-family:var(--serif);font-size:clamp(32px,3.6vw,49px);line-height:1.15;letter-spacing:-.025em;margin:23px 0 20px}
.opening-note{font-size:12px;color:var(--muted);line-height:1.9}
.signature{display:block;font-family:var(--serif);font-size:33px;font-style:italic;line-height:1.1;transform:rotate(-6deg);width:max-content;color:var(--rust)}
.opening .signature{margin:25px auto 0}
.journal{padding-bottom:100px}
.journal-empty{border-top:1px solid var(--line);padding:50px 0 10px;max-width:520px}
.journal-empty h3{font-size:40px;margin-bottom:12px}.journal-empty p{font-size:14px;color:var(--muted)}

/* route-section */
.route-section{background:var(--forest);color:#eee8d7;padding:83px 0 64px;position:relative;overflow:hidden}
.route-title{font-size:52px;margin:25px 0 35px}
.route-title em{color:#b5bba4}
.route-layout{display:grid;grid-template-columns:.95fr 1.1fr;gap:40px}
.route-text h2{font-size:52px;margin:25px 0}.route-text h2 em{color:#b5bba4}
.route-intro{font-size:12px;line-height:1.9;color:#b9c0b0;max-width:340px}
.route-tabs{margin-top:30px;margin-bottom:26px;display:flex;flex-direction:column;border-top:1px solid #64705c60;max-width:380px}
.route-tabs button{border-bottom:1px solid #64705c60;text-align:left;padding:15px 0;display:flex;align-items:flex-start;gap:20px;color:#a9b1a0;transition:color .2s;min-height:48px}
.tab-nr{font-size:10px;color:#88917e;padding-top:4px;border-left:3px solid var(--sec);padding-left:10px}
.tab-body{display:flex;flex-direction:column}.tab-body b{font-weight:600;font-size:13px}.tab-body small{font-size:11px;line-height:1.6;color:#88917e}
.route-tabs button.active,.route-tabs button:hover{color:#f6e8d0}.route-tabs button.active .tab-nr{color:#e1b484}
.route-tabs button.active small{color:#b9c0b0}
.route-tabs button:focus-visible{outline-offset:-2px}
.route-more{margin-top:6px}
.route-note{font-size:10px;color:#acb29e;margin-top:25px;max-width:340px;line-height:1.7}
.map-panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0}
.map-kicker{text-align:center;font-size:9px;letter-spacing:.3em;margin-top:18px}.map-kicker span{margin:0 22px;color:#cba680}
.africa-map{width:100%;height:auto;overflow:visible;display:block}
.country{fill:#3a4536;stroke:#75806a;stroke-width:.45;transition:fill .6s}.country.selected{fill:#566048;stroke:#929875}
.route-line{fill:none;stroke:#89917c;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.route-line.selected-line{stroke:#e8b77a;stroke-width:2.8}
.ridden-line{fill:none;stroke:#e8b77a;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.day-pin .day-hit{fill:transparent}.day-pin .day-dot{fill:#efc28c;stroke:#252e28;stroke-width:1}.day-pin:hover .day-dot,.day-pin:focus .day-dot{fill:#fff1d8}
.map-pin .pulse{fill:#e8b77a;opacity:.25}.map-pin .dot{fill:#efc28c;stroke:#252e28;stroke-width:2}.map-pin .pin-t{fill:#fff1d8;font:600 13px var(--sans)}.map-pin .pin-s{fill:#cba680;font:10px var(--sans)}
.flight-line{fill:none;stroke:#75766a;stroke-width:1.3;stroke-dasharray:3 5}
.boat-line{fill:none;stroke:#3f7fae;stroke-width:1.3;stroke-dasharray:1 4;stroke-linecap:round}
.ocean{font-size:8px;letter-spacing:.3em;fill:#8d9a82;opacity:.7}
.map-city circle{fill:#a9b39b;stroke:var(--forest);stroke-width:1.5}.map-city.active circle{fill:#efc28c}
.map-city .city-ring{fill:none;stroke:#e6b87d;stroke-width:.5;opacity:0}.map-city.active .city-ring{opacity:.55}
.map-city text{fill:#c5cbb9;font-size:10px;font-family:var(--sans)}.map-city.active text{fill:#fff1d8}
.map-compass{fill:#a9b39b;stroke:#a9b39b;stroke-width:.5}.map-compass text{stroke:none;font-size:8px}
.map-legend{display:flex;justify-content:center;gap:25px;font-size:10px;color:#bdc3b3;flex-wrap:wrap}
.map-legend>span{display:flex;align-items:center;gap:10px}.map-legend i{width:25px;display:inline-block}
.legend-road{height:2px;background:#e8b77a}.legend-flight{border-top:1px dashed #75766a}.legend-boat{border-top:2px dotted #3f7fae}
.map-caption{text-align:center;color:#a7af9b;font-size:8px;letter-spacing:.15em;margin-top:20px}
.kaart{height:560px;border:1px solid #64705c60;background:#e8e4d8}
.route-list{padding-top:70px;padding-bottom:70px;display:grid;gap:70px}
.route-sec h2{font-size:clamp(36px,4vw,52px);margin:14px 0 10px;border-left:6px solid var(--sec);padding-left:18px}
.route-sec .eyebrow .number{color:var(--sec);opacity:1}
.sec-meta{font-size:12px;color:var(--muted);margin-bottom:22px}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th{text-align:left;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:600}
th,td{padding:9px 14px 9px 0;border-bottom:1px solid var(--line);white-space:nowrap}
.num{text-align:right}
.legend{background:#f6f3ecf2;padding:10px 14px;font-size:12px;line-height:1.9;border:1px solid var(--line)}
.legend i{display:inline-block;width:22px;height:0;border-top:4px solid;margin-right:8px;vertical-align:middle}

/* homepage: citaat + reisbrief */
.quote-section{text-align:center;padding:78px 20px}
.quote-line{width:1px;height:45px;background:#ccc8ba;margin:0 auto 30px}.quote-line:last-child{margin:30px auto 0}
.quote-section .eyebrow{justify-content:center;color:#8d8a7c;font-size:8px}
.quote-section blockquote{font:400 clamp(37px,4.3vw,62px)/1.12 var(--serif);letter-spacing:-.03em;margin:24px 0}
.quote-section blockquote em{color:var(--rust)}
.quote-section .signature{margin:auto;font-size:30px}
.newsletter{background:#e9e5da;padding:65px 0}
.newsletter-inner{display:grid;grid-template-columns:.4fr 1.7fr .6fr;gap:50px;align-items:center}
.letter-icon{align-self:start;padding-top:20px;display:flex;flex-direction:column;gap:15px}
.letter-icon span{font-size:9px;letter-spacing:.15em;color:var(--muted)}
.newsletter h2{font-size:54px;margin:17px 0}.newsletter p{font-size:13px;color:#6e7165;line-height:1.9;max-width:460px}
.primary-button{margin-top:25px;background:var(--forest);color:var(--paper);font-size:12px;padding:15px 20px;display:flex;align-items:center;gap:25px;width:fit-content;min-height:48px;transition:background .2s}
.primary-button:hover{background:#45503e}
.newsletter-note{display:block;font-size:10px;color:#737468;margin-top:13px}
.postmark{border:1px solid #8b8b7199;outline:1px solid #8b8b7155;outline-offset:6px;border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;transform:rotate(16deg);color:#73765e}
.postmark span{font-size:7px;letter-spacing:.15em}

/* footer */
.footer-top{display:flex;align-items:center;gap:35px;padding:50px 0 28px;border-bottom:1px solid var(--line)}
.footer-top .wordmark{font-size:23px}
.footer-top p{font-size:11px;color:#75786a}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#7a7d6f;padding:20px 0 30px}
.footer-bottom>span:last-child{letter-spacing:.15em}

@media(max-width:1050px){.container{padding-left:40px;padding-right:40px}.navigation{gap:20px}.site-header{gap:15px}.hero-content{left:7%;bottom:100px}.route-layout{gap:20px;grid-template-columns:1fr 1fr}.route-text h2{font-size:44px}.newsletter-inner{gap:30px}.postmark{width:120px;height:120px}}
@media(max-width:760px){
.container{padding-left:25px;padding-right:25px}
.site-header{height:78px;padding:0 25px}.wordmark{font-size:23px}
.navigation{gap:16px}
.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:45px}
.route-section{padding:60px 0 45px}.route-title{font-size:46px}
.kaart{height:420px}
.hero{height:calc(88svh - 78px);min-height:520px;max-height:800px}.hero-image{object-position:66% center}
.hero-shade{background:linear-gradient(0deg,#171d18ba,transparent 90%),linear-gradient(90deg,#18201835,transparent)}
.hero-content{left:25px;right:25px;bottom:95px}.hero-content h1{font-size:64px}.hero-side{display:none}.hero-bottom{left:25px;right:25px;font-size:10px}
.opening{padding-top:60px;padding-bottom:60px}.journal{padding-bottom:70px}.journal-empty h3{font-size:34px}
.route-layout{grid-template-columns:1fr;gap:35px}.route-text h2{font-size:44px}.route-tabs{max-width:none}
.quote-section{padding:55px 20px}.quote-section blockquote{font-size:39px}.quote-line{height:30px;margin-bottom:25px}
.newsletter{padding:45px 0}.newsletter-inner{grid-template-columns:1fr;gap:20px;position:relative}.letter-icon{display:none}.newsletter h2{font-size:46px}
.postmark{display:none}
.footer-top{padding-top:35px;flex-wrap:wrap;gap:20px}.footer-top p{order:3;width:100%;font-size:10px}
.footer-bottom{flex-direction:column;gap:12px}.footer-bottom>span:last-child{display:none}}
@media(max-width:380px){.hero-content h1{font-size:54px}.navigation{gap:12px;font-size:11px}.section-heading h2{font-size:40px}.wordmark{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* homepage: volgplatform (Nu-blok en blokken eronder) */
.now{background:var(--forest);color:#eee9dc;padding:46px 0 40px}
.now-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"head map" "facts map";column-gap:56px;row-gap:28px;align-items:start}
.now-head{grid-area:head;align-self:end}.now-map{grid-area:map;min-width:0}.now-facts{grid-area:facts}
.now-label{color:#cba680;text-transform:uppercase}
.live-dot{width:7px;height:7px;border-radius:50%;background:#e8b77a;box-shadow:0 0 0 4px #e8b77a33;flex:none}
.now-title{font-size:clamp(40px,4.6vw,66px);margin:16px 0 12px;color:#fff1d8}
.now-title em{display:block;color:#e8b77a;font-size:.62em;letter-spacing:-.02em;margin-top:8px}
.now-sub{font-size:12px;color:#bdc3b3;line-height:1.7}
.now-stale{margin-top:12px;font-size:12px;color:#252e28;background:#e8b77a;padding:6px 12px;border-radius:999px;width:fit-content}
.now-cta{margin-top:22px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat{border-top:1px solid #4c5747;padding-top:9px;min-width:0}
.stat b{display:block;font:500 26px/1.15 var(--serif);color:#fff1d8;overflow-wrap:anywhere}
.stat span{font-size:9.5px;color:#acb29e;letter-spacing:.12em;text-transform:uppercase}
.progress{display:block;width:100%;height:4px;margin-top:22px}
.progress-track{fill:#3a4536}.progress-fill{fill:#e8b77a}
.ptxt{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#acb29e;margin-top:7px;letter-spacing:.04em}
.now-facts .now-sub{margin-top:16px}

.home-sect{padding-top:56px}
.home-sect>.eyebrow,.sect-head .eyebrow{color:var(--rust);text-transform:uppercase}
.sect-title{font-size:clamp(30px,3vw,40px);margin:10px 0 22px}
.sect-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.sect-head .text-link{margin-bottom:24px}
.latest-card{margin-top:16px;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 var(--line)}
.latest-link{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.latest-photo{width:100%;height:100%;min-height:300px;max-height:460px;object-fit:cover;display:block;background:#655548}
.latest-body{padding:34px 34px 30px;display:flex;flex-direction:column;justify-content:center}
.latest-body .eyebrow{color:var(--muted);text-transform:uppercase}
.latest-body h2{font-size:clamp(28px,2.8vw,38px);font-weight:500;margin:10px 0 12px;line-height:1.1}
.latest-body p{font-size:14px;line-height:1.7;color:#3c3f37}
.latest-more{margin-top:18px;font-size:12px;color:var(--rust)}
.latest-link:hover h2{color:var(--rust)}
.strip{display:flex;gap:12px;overflow-x:auto;padding:0 max(64px,calc((100vw - 1280px)/2 + 64px)) 8px}
.mini{flex:0 0 170px;background:#fff;border-radius:5px;overflow:hidden;font-size:12px;line-height:1.4}
.mini-im{display:block;width:100%;height:106px;object-fit:cover}
.mini-empty{background:linear-gradient(135deg,#d8d2c2,#ece7da)}
.mini-t{display:block;padding:8px 10px 10px}.mini-t b{display:block;font-size:10px;color:var(--rust);font-weight:500;margin-bottom:2px}
.mini:hover .mini-t{color:var(--rust)}
.follow{margin-top:56px;background:var(--rust);color:#fff;border-radius:6px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.follow h2{font-size:clamp(30px,3vw,40px);color:#fff}.follow p{font-size:13px;opacity:.9;margin-top:6px}
.follow-cta{background:#fff;color:var(--rust);font-size:13px;font-weight:500;padding:13px 22px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.follow-cta:hover{background:#fbefe6}
.six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.adv{background:#fff;border-radius:5px;padding:16px;font-size:12.5px;min-height:110px;position:relative;display:block;transition:transform .2s}
.adv:hover{transform:translateY(-2px)}
.adv b{display:block;font:500 21px/1.15 var(--serif);margin:4px 0}
.adv .n{font-size:10px;color:var(--muted)}.adv-t{color:var(--muted)}
.adv.live{background:var(--forest);color:#eee9dc}.adv.live .n,.adv.live .adv-t{color:#cba680}
.adv.wild{border:1px dashed var(--rust)}
.badge{position:absolute;top:12px;right:12px;font-size:9px;background:#e8b77a;color:#252e28;padding:2px 8px;border-radius:999px}
.dream{margin-top:56px;border:1px solid var(--line);border-radius:6px;padding:28px 32px;background:#fbfaf6}
.dream h2{font-size:clamp(30px,3vw,40px)}.dream-sub{font:italic 22px/1.3 var(--serif);color:var(--muted);margin:4px 0 14px}
.dream ul{margin:0;padding-left:18px;font-size:14px;line-height:2}.dream a{color:var(--rust);border-bottom:1px solid #a5573655}
.privacy-note{font-size:11px;color:var(--muted);padding-top:28px;padding-bottom:12px}
.footer-ps{font-size:11px;color:#75786a;padding:18px 0 0;line-height:1.7}.footer-ps a{border-bottom:1px solid #b2afa2}
.steun{font-size:11px;color:var(--rust);border:1px solid #a5573666;border-radius:999px;padding:7px 14px;margin-left:auto}
@media(max-width:1050px){.now-inner{column-gap:28px}.strip{padding-left:40px;padding-right:40px}}
@media(max-width:760px){
.now{padding:26px 0 26px}
.now-inner{grid-template-columns:1fr;grid-template-areas:"head" "map" "facts";row-gap:14px}
.now-title{font-size:38px;margin:10px 0 8px}
.stats{gap:6px}.stat b{font-size:20px}.stat span{font-size:8.5px;letter-spacing:.06em}
.home-sect{padding-top:36px}
.latest-link{grid-template-columns:1fr}.latest-photo{min-height:0;height:220px}
.latest-body{padding:18px 18px 20px}
.strip{padding-left:25px;padding-right:25px}.mini{flex-basis:140px}.mini-im{height:86px}
.follow,.dream{margin-top:36px;padding:22px}
.six{grid-template-columns:1fr 1fr;gap:8px}.adv{padding:12px;min-height:96px}.adv b{font-size:18px}
.steun{margin-left:0}}

/* sectiekleuren (gelijk aan src/lib/sections.ts; CSP staat geen inline style toe) */
.sec-1{--sec:#a55736}.sec-2{--sec:#6f7d4f}.sec-3{--sec:#c08a4a}.sec-4{--sec:#3f6b6a}.sec-5{--sec:#8a5a7a}
.dot{background:var(--sec,#75766a)}
.legend i.sec-1,.legend i.sec-2,.legend i.sec-3,.legend i.sec-4,.legend i.sec-5{border-color:var(--sec)}
.legend i.flight{border-color:#75766a;border-top-style:dashed}
.legend i.boat{border-color:#3f7fae;border-top-style:dotted}

/* PWA-schil (/post) */
.pwa-shell{max-width:480px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 24px max(40px,env(safe-area-inset-bottom));min-height:100svh}
.pwa-wordmark{margin-bottom:44px}
.pwa-view[hidden],.pwa-melding[hidden]{display:none}
.pwa-view h1{font-size:clamp(44px,13vw,60px);margin:18px 0 14px}
.pwa-view h1 em{color:var(--rust)}
.pwa-lead{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:28px}
.pwa-form{display:flex;flex-direction:column;gap:8px}
.pwa-form label{font-size:10px;letter-spacing:.2em;font-weight:600;text-transform:uppercase;margin-top:12px}
.pwa-form input{font-size:18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.pwa-form input:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.pwa-button{display:block;width:100%;margin-top:22px;padding:16px 20px;border-radius:999px;background:var(--forest);color:var(--paper);font-size:15px;font-weight:500;text-align:center}
.pwa-button:active{opacity:.85}
.pwa-status{font-family:var(--serif);font-size:28px;margin-bottom:6px}
.pwa-melding{margin-top:22px;padding:14px 16px;border-radius:10px;background:#e8efe6;color:var(--forest);font-size:15px}
.pwa-melding.is-fout{background:#f3e1d8;color:#7a3a1f}
/* PWA-postscherm */
.pwa [hidden]{display:none!important}
.pwa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pwa-view .pwa-status{font-size:22px}
.pwa-compose{margin-top:20px}
.pwa-form textarea,.pwa-form select{font:inherit;font-size:17px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.pwa-form textarea{line-height:1.55;resize:vertical;min-height:120px}
.pwa-form select{min-height:52px;-webkit-appearance:none;appearance:none}
.pwa-form textarea:focus-visible,.pwa-form select:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.pwa-form input:disabled{opacity:.45}
.pwa-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:999px;padding:4px;margin:0;background:#fff}
.pwa-switch input{position:absolute;opacity:0;pointer-events:none}
.pwa-form .pwa-switch label{margin:0;padding:13px 0;text-align:center;border-radius:999px;font-size:12px}
.pwa-switch input:checked+label{background:var(--forest);color:var(--paper)}
.pwa-switch input:focus-visible+label{outline:2px solid var(--rust);outline-offset:2px}
.pwa-row{display:flex;align-items:center;gap:10px}
.pwa-row>input{flex:1;min-width:0}
.pwa-form .pwa-day{flex:0 0 96px}
.pwa-form .pwa-check{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;letter-spacing:.05em;text-transform:none;font-weight:500;min-height:48px}
.pwa-form .pwa-check input{width:24px;height:24px;flex:0 0 24px;accent-color:var(--forest)}
.pwa-arrow{color:var(--muted)}
.pwa-etappe{display:flex;flex-direction:column;gap:8px}
.pwa-form input[type=file]{font-size:15px;padding:12px}
.pwa-preview{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pwa-preview:empty{display:none}
.pwa-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--line)}
.pwa-button-alt{background:transparent;color:var(--forest);border:1px solid var(--forest);margin-top:10px}
.pwa-link{display:block;margin:18px auto 0;padding:12px 16px;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.pwa-editing{font-size:13px;color:var(--rust);font-weight:500}
.pwa-queue{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.pwa-wakelock{font-size:14px;font-weight:500;color:var(--rust);margin-bottom:8px}
.pwa-queue-list{list-style:none;margin:0;padding:0}
.pwa-queue-item{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.pwa-queue-item:first-child{border-top:0}
.pwa-queue-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pwa-queue-status{font-size:12px;color:var(--muted)}
.pwa-queue-item.is-bezig .pwa-queue-status{color:var(--rust)}
.pwa-queue-item.is-klaar .pwa-queue-status{color:#4f6b45}
.pwa-queue-item.is-mislukt .pwa-queue-status{color:#7a3a1f;font-weight:600}
.pwa-queue-error{flex-basis:100%;font-size:13px;color:#7a3a1f}
.pwa-retry{padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid #7a3a1f;color:#7a3a1f;font-size:13px}
.pwa-mine{margin-top:44px}
.pwa-mine h2{font-size:34px}
.pwa-mine-list{list-style:none;margin:14px 0 0;padding:0}
.pwa-mine-item{display:flex;align-items:stretch;gap:8px;border-top:1px solid var(--line)}
.pwa-mine-open{flex:1;min-width:0;text-align:left;padding:12px 0;min-height:56px;display:flex;flex-direction:column}
.pwa-mine-meta{font-size:11px;color:var(--muted);letter-spacing:.04em}
.pwa-mine-title{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pwa-mine-off{flex:0 0 auto;align-self:center;padding:10px 14px;min-height:44px;border-radius:999px;border:1px solid var(--line);font-size:12px}
.pwa-mine-empty{padding:12px 0;color:var(--muted)}
.admin-code{font-size:3rem;letter-spacing:.2em;font-family:monospace}

/* Dagpagina, dagboek en losse posts */
.day-page{max-width:760px;padding-top:32px;padding-bottom:56px}
.day-head{margin-bottom:20px}
.day-title{font-size:clamp(40px,9vw,64px);margin:8px 0 6px}
.day-title em{display:block;font-size:.5em;color:var(--rust)}
.day-meta{color:var(--muted);font-size:14px}
.day-map{max-width:420px;margin:0 0 28px}
.day-empty{color:var(--muted);margin:24px 0}
.post{margin:32px 0;padding-top:24px;border-top:1px solid var(--line)}
.post-title{font-size:clamp(28px,6vw,40px);margin:6px 0 14px}
.prose p{margin:0 0 1em;line-height:1.75}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin:20px 0}
.gal-item img{display:block;width:100%;height:auto;border-radius:4px;object-fit:cover}
.callout{margin:32px 0 0;padding:20px 22px;border-left:3px solid var(--rust);background:#fff;border-radius:4px}
.callout p{font-family:var(--serif);font-size:20px;margin:0 0 10px}
.day-nav{display:flex;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}
.journal{padding-top:32px;padding-bottom:56px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 28px}
.chip{padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px}
.chip.on{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.entries{display:flex;flex-direction:column;gap:14px}
.entry{display:flex;gap:14px;background:#fff;border-radius:6px;overflow:hidden}
.entry-im{width:120px;height:90px;object-fit:cover;flex:0 0 auto}
.entry-t{display:block;padding:12px 14px}
.entry-t b{display:block;font-size:10px;color:var(--rust);font-weight:500;letter-spacing:.08em}
.entry-h{display:block;font-family:var(--serif);font-size:22px;margin:2px 0}
.entry-x{display:block;font-size:13px;color:var(--muted);line-height:1.5}
.entry:hover .entry-h{color:var(--rust)}
.more{margin-top:24px}

/* statische pagina's: manifest, avonturen, kit, volgen */
.page-title{font-size:clamp(40px,5vw,64px);margin:18px 0 14px}
.page-lead{font-size:16px;line-height:1.8;color:var(--muted);max-width:620px;margin-bottom:28px}
.page-narrow{max-width:820px}
.page-eyebrow{color:var(--rust);text-transform:uppercase;padding-top:64px}
.prose{font-size:16px;line-height:1.85;max-width:680px}
.prose h2{font-size:clamp(28px,3vw,38px);margin:44px 0 12px}
.prose p,.prose ul{margin-bottom:18px}.prose ul{padding-left:20px}.prose li{margin-bottom:8px}
.prose a{color:var(--rust);border-bottom:1px solid #a5573655}
.page-more{padding:30px 0 70px}
.adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:80px}
.adv-tile{background:#fff;border-radius:6px;padding:26px;min-height:220px;position:relative;scroll-margin-top:90px}
.adv-tile h2{font-size:30px;line-height:1.1;margin:8px 0}
.adv-tile .n{font-size:11px;color:var(--muted)}.adv-tile p{font-size:14px;line-height:1.7;color:var(--muted)}
.adv-tile .adv-sub{font:italic 18px/1.3 var(--serif);color:var(--ink)}
.adv-tile.live{background:var(--forest);color:#eee9dc}.adv-tile.live .n,.adv-tile.live p{color:#cba680}
.adv-tile.wild{border:1px dashed var(--rust)}.adv-tile.wild:target{background:#fbefe6}
.adv-note{color:var(--rust)!important;font-weight:500}
.kit-disclosure{font-size:13px;line-height:1.8;max-width:620px;padding:14px 18px;border-left:3px solid var(--rust);background:#fff;border-radius:4px;margin-bottom:36px}
.kit-cat{margin-bottom:44px;scroll-margin-top:90px}.kit-cat h2{font-size:clamp(30px,3.5vw,42px);margin-bottom:14px}
.kit-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kit-item{background:#fff;border-radius:5px;padding:18px 20px}
.kit-item h3{font:500 22px/1.2 var(--serif);margin-bottom:6px}.kit-item p{font-size:14px;line-height:1.7;margin-bottom:6px}
.kit-held{color:var(--forest)}.kit-open{color:var(--muted);font-style:italic}
.kit-link{color:var(--rust);border-bottom:1px solid #a5573655;font-size:13px}
.affiliate-tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;margin-left:6px}
.volg-knop{display:inline-flex;align-items:center;min-height:48px;background:var(--rust);color:#fff;font-size:15px;font-weight:500;padding:0 26px;border-radius:999px}
.volg-knop:hover{background:#8f4a2d}
@media(max-width:1050px){.adv-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.adv-grid,.kit-list{grid-template-columns:1fr}.page-eyebrow{padding-top:40px}}
