/* Lettertypen staan op de eigen server (map fonts/), er worden geen externe diensten geladen. */
@font-face{font-family:'Pirata One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/pirata-one-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/spectral-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/spectral-latin-600-normal.woff2) format('woff2')}
:root{--diep:#04080d;--zee:#0b2a33;--maan:#cfe3e0;--goud:#e0a43a;--roest:#8a2a1e;
 --kop:'Pirata One',Georgia,serif;--tekst:'Spectral',Georgia,serif}
*{box-sizing:border-box;margin:0}
html{background:var(--diep);color:var(--maan);font:400 1.05rem/1.65 var(--tekst);scroll-behavior:smooth}
body{min-height:100vh}
a{color:var(--goud)}
a:focus-visible,button:focus-visible{outline:2px solid var(--goud);outline-offset:3px}
.wrap{max-width:1000px;margin:0 auto;padding-inline:5vw}
section{padding:4.5rem 0}
h2{font:400 clamp(2rem,5vw,3rem)/1.05 var(--kop);color:var(--goud);margin-bottom:1.2rem}
h1{font:400 clamp(2.4rem,7vw,4rem)/1 var(--kop);color:var(--goud);margin-bottom:1rem}
p+p{margin-top:.8rem}

.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;
 padding:.6rem 4vw;background:rgba(4,8,13,.8);backdrop-filter:blur(6px);border-bottom:1px solid rgba(224,164,58,.3)}
.logo{font:400 1.6rem var(--kop);color:var(--goud);text-decoration:none;white-space:nowrap}
.nav nav{display:flex;gap:.4rem}
.knop{display:inline-block;padding:.4rem 1.1rem;border:1px solid rgba(207,227,224,.45);border-radius:99px;color:var(--maan);
 text-decoration:none;font-size:.95rem;background:none;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}
.knop:hover{background:var(--goud);color:var(--diep);border-color:var(--goud)}
.knop.vol{background:var(--goud);color:var(--diep);border-color:var(--goud);font-weight:600}
.knop.vol:hover{background:#f2c26b}

.hero{position:relative;height:100vh;height:100svh;min-height:520px;overflow:hidden}
.hero svg{position:absolute;inset:0;width:100%;height:100%}
.titel{position:absolute;z-index:5;left:5vw;right:5vw;top:5.5rem;max-width:32rem}
.titel p{margin:0 0 1.3rem;font-size:1.15rem;text-shadow:0 1px 10px #000}
.knoppen{display:flex;gap:.6rem;flex-wrap:wrap}
.golf{animation:deining 9s linear infinite}.g2{animation-duration:6.5s}.g3{animation-duration:5s}
@keyframes deining{to{transform:translateX(200px)}}
.schip{animation:dobber 7s ease-in-out infinite;transform-origin:1050px 600px}
@keyframes dobber{0%,100%{transform:rotate(-1.4deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(10px)}}
.lamp{animation:flikker 3.2s ease-in-out infinite}
@keyframes flikker{0%,100%{opacity:.95}45%{opacity:.6}55%{opacity:1}}
.wolk{animation:drijf 80s linear infinite alternate}
@keyframes drijf{to{transform:translateX(120px)}}

.rol{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem 2.2rem}
.rol div{border-left:2px solid rgba(224,164,58,.55);padding-left:1rem}
.rol h3{font:400 1.55rem/1.1 var(--kop);margin-bottom:.2rem}
.stappen{list-style:none;padding:0;counter-reset:s;display:grid;gap:1.1rem;max-width:44rem}
.stappen li{counter-increment:s;position:relative;padding-left:3rem}
.stappen li:before{content:counter(s);position:absolute;left:0;top:-.35rem;font:400 2.4rem var(--kop);color:var(--goud)}
.band{background:linear-gradient(var(--diep),#06141a);text-align:center}
.band p{max-width:36rem;margin:0 auto 1.4rem}

.pagina{padding-top:6rem;padding-bottom:3rem}
.disc{border:1px solid rgba(224,164,58,.45);border-left:4px solid var(--goud);background:rgba(224,164,58,.06);
 padding:1rem 1.2rem;margin:0 0 2rem;max-width:70ch}
.disc strong{color:var(--goud)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.tegel{position:relative;aspect-ratio:1;overflow:hidden;background:#0a1a20;display:block}
.tegel img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.82);transition:transform .5s,filter .5s}
.tegel span{position:absolute;inset:auto 0 0 0;padding:1.6rem .7rem .6rem;font-size:.85rem;
 background:linear-gradient(transparent,rgba(4,8,13,.92));transform:translateY(100%);transition:transform .3s}
.tegel:hover img,.tegel:focus-visible img{transform:scale(1.07);filter:none}
.tegel:hover span,.tegel:focus-visible span{transform:none}
.leeg{opacity:.8;font-style:italic}

form{display:grid;gap:1.1rem;max-width:36rem}
label{display:grid;gap:.3rem;font-weight:600}
input,textarea{font:inherit;font-weight:400;color:var(--maan);background:#0a1a20;border:1px solid rgba(207,227,224,.35);border-radius:3px;padding:.6rem .7rem}
input:focus,textarea:focus{outline:2px solid var(--goud);outline-offset:1px}
textarea{min-height:9rem;resize:vertical}
.pot{position:absolute;left:-9999px;height:0;overflow:hidden}
.melding{padding:.8rem 1rem;border-left:4px solid var(--goud);background:rgba(224,164,58,.08);max-width:36rem;margin-bottom:1.2rem}
.melding.fout{border-color:#d8624f;background:rgba(138,42,30,.25)}

footer{padding:2.5rem 5vw;text-align:center;background:#030609;font-size:.9rem;color:rgba(207,227,224,.65)}
footer nav{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:.8rem}
footer b{font:400 1.3rem var(--kop);color:var(--maan)}
#lb{display:none;position:fixed;inset:0;z-index:50;background:rgba(2,4,7,.95);align-items:center;justify-content:center;flex-direction:column;cursor:zoom-out}
#lb.aan{display:flex}#lb img{max-width:94vw;max-height:88vh;box-shadow:0 0 60px #000}#lb p{margin-top:.8rem;font-size:.8rem;opacity:.6}

@media (max-width:600px){.logo{font-size:1.3rem}.nav .knop{padding:.35rem .8rem;font-size:.85rem}.grid{grid-template-columns:repeat(2,1fr)}.titel{top:5rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.dag{font:400 1.7rem var(--kop);color:var(--goud);margin:2.2rem 0 .7rem}
.paginas{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}
section[id]{scroll-margin-top:4.5rem}
.thumbs{grid-template-columns:repeat(4,1fr);gap:8px}
@media (min-width:900px){.thumbs{grid-template-columns:repeat(6,1fr)}}
.thumbs .tegel{border-radius:3px;box-shadow:0 0 0 1px rgba(224,164,58,.25)}
.thumbs .tegel img{filter:saturate(.92) brightness(.9)}
@media (max-width:600px){.thumbs{grid-template-columns:repeat(3,1fr);gap:5px}.thumbs .tegel span{display:none}}

.seizoen{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.8rem 2.2rem;margin-top:1.8rem}
.maand{border-left:2px solid rgba(224,164,58,.55);padding-left:1rem}
.maand h3{font:400 1.55rem/1.1 var(--kop);color:var(--goud);margin-bottom:.6rem}
.maand ul{list-style:none;padding:0;display:grid;gap:.7rem}
.maand li strong{display:block;line-height:1.3}
.maand li span{display:block;font-size:.9rem;color:rgba(207,227,224,.65)}

.certs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.certs li{padding:.3rem 1rem;border:1px solid rgba(224,164,58,.55);border-radius:99px;color:var(--goud);font-size:.95rem}
.knoppen.mid{justify-content:center}
.waform{display:inline;max-width:none}

.portret{display:block;width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--goud);box-shadow:0 0 0 5px rgba(4,8,13,.55);margin-bottom:.9rem}
@media (max-width:600px){.portret{width:72px;height:72px}}

#lb:focus{outline:none}
.klein{font-size:.85rem;opacity:.75}
.privacy{max-width:46rem}
.privacy h2{font-size:1.9rem;margin:2.2rem 0 .5rem}
.privacy .disc{margin-top:2.6rem}
.privacy ul{padding-left:1.3rem;margin-top:.6rem}
.privacy li+li{margin-top:.3rem}

.zweefknop{position:fixed;right:1.1rem;bottom:1.1rem;z-index:30;display:inline-flex;align-items:center;gap:.45rem;
 padding:.7rem 1.2rem;border-radius:99px;background:var(--goud);color:var(--diep);font-weight:600;font-size:.95rem;
 line-height:1.2;text-decoration:none;box-shadow:0 6px 22px rgba(0,0,0,.6);transition:background .2s,transform .2s}
.zweefknop:hover{background:#f2c26b;transform:translateY(-2px)}
.zweefknop span{white-space:nowrap}
@media (max-width:600px){.zweefknop{right:.7rem;bottom:.7rem;padding:.6rem .9rem;font-size:.85rem}}

.boekblok{background:#fff;border-radius:4px;padding:.6rem;margin-bottom:2rem;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.boekblok iframe{border:0;display:block;width:100%;min-height:520px}
.boekblok .leeg{color:#050405}
