/* De Kikkerberg v5: original outdoor layout and native line illustrations.
   No remote fonts, stylesheets, image requests or animation dependencies. */
:root { color-scheme:light; --paper:#fbfaf5; --green:#123d2c; --ink:#102c27; --muted:#53615a; --pollen:#f6ce43; --line:#d8ded1; --pale:#efefdf; --body:Georgia,'Times New Roman',serif; --sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --display:Impact,Haettenschweiler,'Arial Narrow Bold',system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
body { margin:0; background:#f0f1eb; color:var(--ink); font:1.125rem/1.65 var(--body); }
.site-shell { max-width:1500px; margin:0 auto; background:var(--paper); }
img, svg { max-width:100%; }
img { display:block; }
a { color:inherit; text-underline-offset:.2em; text-decoration-thickness:.06em; }
a:hover { color:#39662f; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #3e7845; outline-offset:4px; border-radius:2px; }
button, input, select, textarea { font:inherit; }
input, select, textarea { min-width:0; }
p, ul, ol, figure { margin:0 0 1.1rem; }
h1, h2, h3 { margin:0 0 1rem; line-height:1.08; font-weight:700; letter-spacing:-.025em; text-wrap:balance; }
h1 { font-size:clamp(2.65rem,4.8vw,5.3rem); }
h2 { font-size:clamp(1.9rem,2.8vw,3rem); }
h3 { font-size:1.45rem; }
li { margin-bottom:.7rem; }
.skip-link { position:absolute; top:-10rem; left:1rem; padding:1rem; z-index:50; background:var(--pollen); }
.skip-link:focus { top:1rem; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.masthead { display:flex; align-items:center; justify-content:space-between; gap:3rem; padding:1.3rem clamp(1.2rem,3.8vw,4rem); border-bottom:1px solid var(--line); }
.brand { display:inline-grid; grid-template-columns:auto 26px; align-items:end; text-decoration:none; flex:0 0 auto; color:var(--ink); }
.wordmark { font-family:var(--display); font-size:2.15rem; letter-spacing:-.055em; line-height:.95; white-space:nowrap; }
.brand small { grid-column:1 / -1; font:550 .56rem/1.4 var(--sans); text-transform:uppercase; letter-spacing:.16em; padding-top:.45rem; text-align:center; }
.own-sketch { display:block; width:100%; height:auto; fill:none; stroke:var(--ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.own-sketch .pollen-mark { fill:var(--pollen); stroke:none; opacity:.82; }
.brand .own-sketch { width:31px; height:31px; align-self:start; margin-top:-1rem; }
.brand .own-sketch .pollen-mark { display:none; }
.desktop-nav ul { display:flex; align-items:center; flex-wrap:wrap; justify-content:end; gap:.4rem 1.8rem; padding:0; margin:0; list-style:none; }
.desktop-nav li { margin:0; }
.desktop-nav a { display:block; min-height:44px; padding:.65rem 0; font:550 .85rem/1.7 var(--sans); text-decoration:none; }
.desktop-nav a[aria-current=page] { text-decoration:underline; text-decoration-color:var(--pollen); text-decoration-thickness:3px; text-underline-offset:.5em; }
.mobile-nav { display:none; }
.eyebrow { font:650 .73rem/1.5 var(--sans); text-transform:uppercase; letter-spacing:.1em; color:#315943; }
.outdoor-image { display:block; width:100%; aspect-ratio:1; overflow:hidden; position:relative; background:#d9e4cd; }
.outdoor-image > img { width:100%; height:100%; object-fit:cover; }
.outdoor-image.atlas-image { aspect-ratio:1 !important; }
.atlas-image > img { position:absolute; max-width:none; object-fit:fill; }
.home-hero { position:relative; isolation:isolate; min-height:500px; overflow:hidden; }
.hero-photo { position:absolute; z-index:-2; inset:0; }
.hero-photo .outdoor-image { height:100%; aspect-ratio:auto; }
.hero-photo img { object-position:center 55%; }
.home-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#fbfaf5ed 0%,#fbfaf5cf 28%,#fbfaf500 70%); }
.hero-copy { padding:4.5rem 0 4rem clamp(1.2rem,3.8vw,4rem); max-width:58%; }
.hero-copy h1 { font-family:var(--display); font-weight:400; font-size:clamp(3.6rem,6.4vw,7.5rem); line-height:.96; letter-spacing:-.035em; margin-block:1rem 1.3rem; }
.hero-deck { max-width:25rem; font-size:clamp(1.15rem,1.8vw,1.6rem); line-height:1.35; }
.button-yellow, .button-paper { display:inline-flex; gap:1.1rem; align-items:center; justify-content:center; min-height:46px; padding:.7rem 1.35rem; border-radius:18px; font:650 .95rem/1.5 var(--sans); text-decoration:none; }
.button-yellow { background:var(--pollen); }
.button-paper { background:var(--pale); }
.button-yellow:hover, .button-paper:hover { background:#e9c13c; color:var(--ink); }
.hero-note { position:absolute; top:4.2rem; right:4%; max-width:12rem; transform:rotate(-7deg); font-family:var(--body); font-size:1.15rem; font-style:italic; line-height:1.35; padding:.6rem; background:#fbfaf584; }
.photo-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding-top:5px; }
.photo-path { position:relative; display:block; height:240px; min-width:0; overflow:hidden; color:#fff; }
.photo-path .outdoor-image { width:100%; }
.photo-path::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(0deg,#0a241ccd,transparent); }
.photo-path-label { position:absolute; z-index:1; bottom:1rem; left:1.1rem; right:1.1rem; display:flex; align-items:center; justify-content:space-between; gap:.7rem; font:700 1.08rem/1.25 var(--sans); }
.photo-path-label > span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--paper); color:var(--green); font-size:1.3rem; flex:0 0 auto; }
.photo-path:focus-visible { outline-offset:-6px; outline-color:var(--pollen); }
.illustration-note { margin:.6rem clamp(1.2rem,3.8vw,4rem) 0; font:400 .73rem/1.55 var(--sans); color:var(--muted); }
.guidance-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:2.2rem clamp(1.2rem,3.8vw,4rem); gap:2rem; }
.guidance-cards > article:not(:last-child) { padding-right:2rem; border-right:1px solid var(--line); }
.guidance-heading { display:grid; grid-template-columns:42px minmax(0,1fr); gap:.9rem; align-items:center; }
.guidance-heading .own-sketch { max-width:42px; }
.guidance-heading h2 { font-family:var(--display); font-weight:400; font-size:1.95rem; letter-spacing:-.015em; margin:0; }
.guidance-cards article > p { margin:1rem 0; font-size:1.04rem; color:var(--muted); }
.sketch-panel { margin-top:1rem; height:125px; display:flex; align-items:center; justify-content:center; }
.sketch-panel .own-sketch { height:125px; max-width:155px; stroke-width:1.3; transform:rotate(-5deg); }
.article-header { padding:3rem clamp(1.2rem,3.8vw,4rem); background:#f2f2e8; border-bottom:1px solid var(--line); }
.article-header.has-photo { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:3.5rem; align-items:center; }
.article-header h1 { font-family:var(--display); font-weight:400; font-size:clamp(2.6rem,4.5vw,4.9rem); line-height:1.05; }
.article-header.text-only > div { max-width:65rem; }
.article-description { font-size:1.25rem; line-height:1.55; margin-bottom:0; max-width:55ch; }
.article-header figure { width:min(100%,350px); margin:0; justify-self:end; }
.article-header figcaption { font:400 .73rem/1.5 var(--sans); color:var(--muted); margin-top:.7rem; }
.reading-layout { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,3fr); gap:clamp(2rem,4vw,4rem); padding:3rem clamp(1.2rem,3.8vw,4rem); }
.on-this-page { border-top:3px solid var(--green); padding-top:1rem; }
.on-this-page > p { font:700 .8rem/1.5 var(--sans); text-transform:uppercase; letter-spacing:.07em; }
.on-this-page ol { padding-left:1.3rem; font:450 .94rem/1.6 var(--sans); }
.on-this-page a { text-decoration:none; }
.source-copy { min-width:0; max-width:78ch; }
.original-home-title { font-family:var(--display); font-weight:400; font-size:2.8rem; }
.source-lede { font-size:1.25rem; line-height:1.6; color:#3b5144; margin-bottom:2.2rem; }
.source-section { margin-bottom:3rem; scroll-margin-top:1.5rem; }
.source-section h2 { font-family:var(--sans); font-size:clamp(1.6rem,2.3vw,2.45rem); line-height:1.15; }
.source-section p, .source-section li { overflow-wrap:anywhere; }
.source-section ul { padding-left:1.3rem; }
.source-section li::marker { color:#477344; }
.page-reserveren .source-section ul, .page-tarieven .source-section ul { background:#eff1e7; padding:1.3rem 1.3rem 1.3rem 2.6rem; border-left:3px solid var(--pollen); }
.sources, .archive-sources { margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--line); }
.sources h2, .archive-sources h2 { font-family:var(--sans); font-size:1.5rem; }
.sources ol, .archive-sources ol { padding-left:1.3rem; font-size:.92rem; line-height:1.65; }
.sources a, .archive-sources a { overflow-wrap:anywhere; }
.archive-sources > p { font-size:.96rem; color:var(--muted); }
.related { padding:2rem clamp(1.2rem,3.8vw,4rem) 3rem; border-top:1px solid var(--line); }
.related h2 { font-family:var(--display); font-weight:400; font-size:2.3rem; }
.related ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem 2rem; padding:0; margin:0; list-style:none; }
.related a { display:block; padding:.7rem 0; font-family:var(--sans); font-size:.97rem; }
.faq { margin-block:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.faq details { padding:1rem 0; border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; min-height:44px; font-family:var(--sans); font-weight:600; }
.faq details p { margin-top:1rem; }
.contact-box { margin-block:2rem; padding:1.5rem; background:#eff1e7; border:1px solid var(--line); }
.contact-box h2 { font-family:var(--sans); font-size:1.65rem; }
.contact-notice { color:#285d6d; }
.contact-box fieldset { min-width:0; padding:0; border:0; }
.contact-box legend { font-family:var(--sans); font-size:.9rem; font-weight:600; padding:.5rem 0; }
.contact-box label { display:grid; gap:.35rem; margin:1rem 0; font-family:var(--sans); font-size:.95rem; }
.contact-box input, .contact-box textarea, .contact-box select { width:100%; min-height:48px; padding:.75rem; background:#fff; color:var(--ink); border:1px solid #85957e; border-radius:3px; }
.contact-box textarea { resize:vertical; }
.contact-box fieldset > p { font-size:.92rem; }
.contact-box button { min-height:48px; padding:.8rem 1.2rem; border:0; border-radius:3px; background:var(--green); color:#fff; }
.contact-box button:disabled { background:#667565; cursor:default; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.text-link { display:inline-flex; min-height:44px; align-items:center; gap:.5rem; }
.site-footer { margin-inline:clamp(1.2rem,3.8vw,4rem); padding:1.7rem 0 2rem; border-top:1px solid var(--line); display:grid; grid-template-columns:auto minmax(0,1fr); gap:3rem; }
.site-footer .wordmark { font-size:1.65rem; }
.site-footer .brand { align-self:start; }
.site-footer p { font:400 .85rem/1.6 var(--sans); margin-bottom:.4rem; }
.site-footer nav ul { display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; list-style:none; margin:.7rem 0; padding:0; font:400 .86rem/1.6 var(--sans); }
.site-footer nav li { margin:0; }
.site-footer .preview-note { font-size:.73rem; color:var(--muted); }
@media (max-width:1100px) {
  .masthead { gap:1.5rem; }
  .desktop-nav ul { gap:.3rem 1.1rem; }
  .desktop-nav a { font-size:.8rem; }
  .wordmark { font-size:1.85rem; }
  .hero-copy { max-width:65%; }
  .hero-note { right:2%; max-width:10rem; font-size:1rem; }
  .photo-path { height:200px; }
  .guidance-cards { gap:1.4rem; }
  .guidance-cards > article:not(:last-child) { padding-right:1.4rem; }
  .guidance-heading { grid-template-columns:32px minmax(0,1fr); gap:.6rem; }
  .guidance-heading h2 { font-size:1.7rem; }
}
@media (max-width:760px) {
  body { font-size:1.0625rem; }
  .masthead { padding:1.15rem 1rem; gap:1rem; }
  .brand { grid-template-columns:auto 23px; }
  .wordmark { font-size:1.8rem; }
  .brand small { font-size:.48rem; }
  .brand .own-sketch { width:27px; height:27px; margin-top:-.8rem; }
  .desktop-nav { display:none; }
  .mobile-nav { display:block; position:relative; }
  .mobile-nav summary { display:grid; place-items:center; min-width:44px; min-height:44px; list-style:none; font:400 1.6rem/1 var(--sans); cursor:pointer; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav nav { position:absolute; z-index:25; top:100%; right:0; width:min(18rem,85vw); padding:.7rem 1.1rem; background:var(--paper); border:1px solid var(--line); }
  .mobile-nav ul { list-style:none; margin:0; padding:0; }
  .mobile-nav a { display:block; min-height:44px; padding:.75rem 0; font:550 .94rem/1.55 var(--sans); }
  .home-hero { min-height:470px; }
  .hero-copy { max-width:95%; padding:3rem 1rem 9rem; }
  .hero-copy .eyebrow { font-size:.63rem; }
  .hero-copy h1 { font-size:clamp(2.9rem,10.5vw,4.3rem); }
  .hero-deck { font-size:1.2rem; max-width:22rem; }
  .home-hero::before { background:linear-gradient(180deg,#fbfaf5f0 0%,#fbfaf5b8 40%,#fbfaf51f 100%); }
  .hero-note { display:none; }
  .photo-paths { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  .photo-path { height:150px; }
  .photo-path-label { left:.7rem; right:.7rem; bottom:.6rem; font-size:.9rem; gap:.4rem; }
  .photo-path-label > span { width:30px; height:30px; font-size:1.1rem; }
  .illustration-note { margin-inline:1rem; font-size:.67rem; }
  .guidance-cards { display:block; margin:1.8rem 1rem; }
  .guidance-cards > article, .guidance-cards > article:not(:last-child) { margin-bottom:1.5rem; padding:0 0 1.5rem; border-right:0; border-bottom:1px solid var(--line); }
  .guidance-heading { grid-template-columns:38px minmax(0,1fr); gap:.85rem; }
  .guidance-heading h2 { font-size:1.9rem; }
  .guidance-cards article > p { font-size:1rem; max-width:35rem; }
  .sketch-panel { justify-content:start; padding-left:3rem; height:100px; }
  .sketch-panel .own-sketch { height:100px; }
  .article-header { padding:2.2rem 1rem; }
  .article-header.has-photo { display:flex; flex-direction:column; gap:1.6rem; align-items:start; }
  .article-header h1 { font-size:clamp(2.25rem,8vw,3.3rem); }
  .article-description { font-size:1.15rem; }
  .article-header figure { width:min(100%,290px); }
  .reading-layout { display:block; padding:2rem 1rem; }
  .on-this-page { margin-bottom:2rem; }
  .on-this-page ol { padding-left:1.2rem; font-size:.88rem; }
  .source-copy { max-width:none; }
  .source-lede { font-size:1.15rem; }
  .source-section h2 { font-size:1.65rem; }
  .original-home-title { font-size:2.25rem; }
  .related { padding:1.8rem 1rem; }
  .related ul { grid-template-columns:1fr; gap:0; }
  .related li { border-bottom:1px solid var(--line); margin:0; }
  .contact-box { padding:1rem; }
  .site-footer { display:block; margin-inline:1rem; padding-block:1.6rem; }
  .site-footer .brand { margin-bottom:1.4rem; }
  .site-footer nav ul { display:block; }
  .site-footer nav a { display:inline-block; padding:.5rem 0; }
}
@media (max-width:390px) {
  .wordmark { font-size:1.6rem; }
  .hero-copy h1 { font-size:2.85rem; }
  .hero-copy { padding-top:2.7rem; }
  .photo-path { height:135px; }
  .photo-path-label { font-size:.84rem; }
  .guidance-heading h2 { font-size:1.7rem; }
  .contact-box { padding:.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
@media print {
  body { background:#fff; color:#111; font-size:11pt; }
  .masthead, .site-footer, .home-hero, .photo-paths, .illustration-note, .guidance-cards, .on-this-page, .related, .contact-box { display:none; }
  .reading-layout { display:block; padding:0; }
  .source-copy { max-width:none; }
  .article-header { background:#fff; padding:0 0 1rem; }
  .article-header.has-photo { display:block; }
  .article-header figure { display:none; }
  .sources, .archive-sources { display:block; }
  .faq details:not([open]) > *:not(summary) { display:block !important; }
}

/* Current individual guide illustrations retain their landscape composition. */
.article-header [data-image-role^="article-"] { aspect-ratio:16/9; }

/* Exact legacy inline geometry, external CSS only; no CSP relaxation. */
span.rg-atlas-00 { --atlas-x:0%;--atlas-y:0%; }
span.rg-atlas-10 { --atlas-x:100%;--atlas-y:0%; }
span.rg-atlas-01 { --atlas-x:0%;--atlas-y:50%; }
span.rg-atlas-11 { --atlas-x:100%;--atlas-y:50%; }
span.rg-atlas-02 { --atlas-x:0%;--atlas-y:100%; }
span.rg-atlas-12 { --atlas-x:100%;--atlas-y:100%; }
img.rg-object-center { object-position:50% 50%; }
.atlas-image > img.rg-sheet-12 { width:200%;height:300%;left:-100%;top:-200%; }
.atlas-image > img.rg-sheet-02 { width:200%;height:300%;left:0%;top:-200%; }
