
:root{
  --red:#9f101b;--red2:#d31c2d;--deep:#16090c;--green:#123d2a;
  --gold:#f6c85f;--gold2:#ffe9a7;--cream:#fff8eb;--ink:#241715;--white:#fff
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,233,167,.18) 0 2px,transparent 3px),
    radial-gradient(circle at 80% 14%,rgba(255,255,255,.22) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 35% 28%,rgba(246,200,95,.15) 0 2px,transparent 3px),
    linear-gradient(180deg,#15080b 0,#2c0b10 18%,#fff8eb 45%,#fff8eb 100%);
  background-size:140px 140px,190px 190px,230px 230px,auto;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.8px) 0 0/95px 95px,
    radial-gradient(circle,rgba(246,200,95,.8) 0 1px,transparent 1.8px) 35px 20px/135px 135px;
  opacity:.28;animation:twinkle 5s ease-in-out infinite alternate
}
@keyframes twinkle{from{opacity:.18;filter:brightness(.95)}to{opacity:.42;filter:brightness(1.2)}}
img{max-width:100%;display:block}
a{color:inherit}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
.holly-strip{height:24px;background:#7a0710 url('images/hulst-subtiel.gif') center/auto 22px repeat-x;border-bottom:1px solid #d29c36}
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(88,5,12,.98),rgba(120,8,18,.97));color:#fff;box-shadow:0 4px 22px #0005}
.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-main{font-size:29px;font-weight:900;text-shadow:0 2px 10px #0006}
.brand-sub{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin-top:7px}
.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{text-decoration:none;padding:10px 12px;border-radius:999px;font-weight:700}.nav-links a:hover{background:#ffffff18}
.nav-cta{background:linear-gradient(135deg,var(--gold),#ffdc7c);color:#371b00!important;box-shadow:0 0 18px #ffd56a55}
.menu-btn{display:none;background:transparent;border:0;color:#fff;font-size:28px}
.hero{
  min-height:760px;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden;
  background:
    linear-gradient(90deg,rgba(20,3,6,.82) 0%,rgba(20,3,6,.48) 42%,rgba(20,3,6,.08) 76%),
    url('images/blije-kerstman.png') center 28%/cover no-repeat;
  box-shadow:inset 0 -90px 100px rgba(0,0,0,.35)
}
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,226,140,.9) 0 2px,transparent 5px),
    radial-gradient(circle at 75% 13%,rgba(255,255,255,.95) 0 2px,transparent 5px),
    radial-gradient(circle at 88% 43%,rgba(255,205,88,.8) 0 2px,transparent 6px),
    radial-gradient(circle at 34% 70%,rgba(255,255,255,.7) 0 1px,transparent 4px);
  filter:drop-shadow(0 0 7px #ffd76e);
  opacity:.8
}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,var(--cream))}
.hero-content{position:relative;z-index:2;max-width:720px;padding:100px 0 150px}
.eyebrow{letter-spacing:.15em;font-size:13px;font-weight:900;color:var(--gold);text-transform:uppercase}
.hero h1{font-size:clamp(48px,8vw,94px);line-height:.94;margin:12px 0 20px;text-shadow:0 4px 22px #0008,0 0 25px #b3132055}
.hero p{font-size:clamp(20px,2.4vw,27px);max-width:650px;text-shadow:0 2px 8px #0008}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;text-decoration:none;font-weight:900;padding:14px 22px;border-radius:999px;box-shadow:0 5px 18px #0003;transition:.2s transform,.2s box-shadow}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0004}
.btn.gold{background:linear-gradient(135deg,var(--gold),#ffe191);color:#321c00}
.btn.light{background:#fff;color:var(--red)}
.section{padding:76px 0;position:relative}
.section h1,.section h2{line-height:1.05}
.section h2{font-size:clamp(34px,5vw,54px);color:var(--red);margin:0 0 18px}
.lead{font-size:20px;max-width:850px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.card{background:linear-gradient(180deg,#fff,#fffaf1);border:1px solid #edd8bd;border-radius:22px;padding:26px;box-shadow:0 12px 34px #5b29121b}
.card h3{margin-top:0;color:var(--red)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.split img{border-radius:26px;box-shadow:0 16px 46px #0004}
.dark{
  background:
    radial-gradient(circle at 20% 15%,#ffffff14 0 2px,transparent 3px) 0 0/95px 95px,
    radial-gradient(circle at 80% 35%,#ffd36a1c 0 2px,transparent 4px) 0 0/135px 135px,
    linear-gradient(135deg,#092217,#07120e);
  color:#fff
}
.dark h2{color:#fff}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.gallery a{background:#fff;padding:7px;border-radius:20px;box-shadow:0 10px 28px #0003}
.gallery img{width:100%;height:300px;object-fit:cover;border-radius:15px}
.album{background:linear-gradient(180deg,#fff,#fff8ea);border:1px solid #ead2b1;border-radius:28px;padding:30px;display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:center;box-shadow:0 14px 38px #0002}
.album img{border-radius:18px}.audio-box{background:#f4e6cf;border:1px solid #e7c993;border-radius:16px;padding:18px}.audio-box audio{width:100%}
.booking{background:
radial-gradient(circle at 20% 30%,#ffffff18 0 2px,transparent 3px) 0 0/80px 80px,
linear-gradient(135deg,#8e0a15,#c81728 60%,#8b0712);color:#fff;padding:60px 0;border-top:1px solid #e3a342}
.booking-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.booking h2{font-size:44px;margin:0}.booking-actions{display:flex;flex-direction:column;gap:12px}
footer{background:#25080c;color:#fff;padding:34px 0 14px;border-top:1px solid #d39b35}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid a{color:#fff}.copyright{text-align:center;opacity:.65;margin-top:22px;font-size:13px}
.snow-bg{background:url('images/kerstpagina-groot.jpg') center/cover fixed;position:relative}.snow-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#071326c7,#071326a8)}.snow-bg>.wrap{position:relative;color:#fff}.snow-bg h1,.snow-bg h2{color:#fff}
.photo-feature{background:linear-gradient(145deg,#fff,#fbeed6);border-radius:24px;padding:10px;box-shadow:0 14px 36px #0003}
.sparkle-band{padding:34px 0;text-align:center;background:linear-gradient(90deg,#6d0710,#b01521,#6d0710);color:#fff;border-top:1px solid #d3a13a;border-bottom:1px solid #d3a13a}
.sparkle-band strong{font-size:clamp(24px,4vw,40px);text-shadow:0 0 18px #ffd66888}
@media(max-width:850px){
  .menu-btn{display:block}.nav-links{display:none;position:absolute;top:108px;left:0;right:0;background:#580a10;padding:16px;flex-direction:column}.nav-links.open{display:flex}
  .hero{min-height:650px;background-position:58% center}.grid,.gallery{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.album{grid-template-columns:1fr}.booking-inner,.footer-grid{display:block}.booking-actions{margin-top:20px}
}
@media(max-width:560px){.grid,.gallery{grid-template-columns:1fr}.hero{min-height:600px;background-position:62% center}.hero h1{font-size:52px}.gallery img{height:auto}.brand-main{font-size:24px}}
