
:root{
  --night:#030616;--night2:#07152e;--night3:#0a2240;--ice:#ecf9ff;
  --gold:#f3c75b;--gold2:#ffe8a0;--red:#b90f25;--red2:#e31c3a;
  --white:#fff;--muted:#b7c7dc;--card:rgba(9,24,50,.84);--line:rgba(255,255,255,.15)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:
radial-gradient(circle at 10% 0%,rgba(42,118,255,.2),transparent 30%),
radial-gradient(circle at 92% 12%,rgba(255,206,81,.08),transparent 25%),
linear-gradient(180deg,var(--night),var(--night2) 55%,#02040c)}
img{max-width:100%;display:block;height:auto}
a{color:var(--gold2)}
.container{width:min(1180px,92%);margin:auto}
.topbar{background:#02040d;border-bottom:1px solid var(--line)}
.topwrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:13px 0}
.brand{font:700 clamp(29px,4vw,46px)/1 Georgia,serif;color:#fff;text-decoration:none;text-shadow:0 0 20px #7ab7ff88}
.brand span{color:var(--gold)}
.brand small{display:block;font:700 12px Arial;margin-top:8px;color:#bdd2ef;letter-spacing:.08em}
.topcontact{text-align:right;font-weight:800}
nav{position:sticky;top:0;z-index:40;background:rgba(3,6,22,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:center;flex-wrap:wrap}
.nav a{padding:14px 17px;color:#fff;text-decoration:none;font-weight:800}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(243,199,91,.16);color:var(--gold)}
.hero{position:relative;min-height:620px;display:grid;align-items:center;overflow:hidden;background-position:center;background-size:cover}
.hero.home{background-image:linear-gradient(90deg,rgba(2,5,15,.95),rgba(2,5,15,.48) 57%,rgba(2,5,15,.12)),url('../images/kerstentertainment.jpg')}
.hero.music{min-height:440px;background-image:linear-gradient(90deg,rgba(2,5,15,.96),rgba(2,5,15,.5)),url('../images/kerstmanslee-sneeuw.png')}
.hero.photos{min-height:440px;background-image:linear-gradient(90deg,rgba(2,5,15,.96),rgba(2,5,15,.45)),url('../images/kerstman-uitrusten.png')}
.hero.price,.hero.partners{min-height:420px;background-image:linear-gradient(90deg,rgba(2,5,15,.96),rgba(2,5,15,.5)),url('../images/kerstentertainment.jpg')}
.hero:after{content:"";position:absolute;inset:-10% 0 0;pointer-events:none;opacity:.38;background-image:
radial-gradient(circle,#fff 0 2px,transparent 2.6px),
radial-gradient(circle,#fff 0 1.3px,transparent 2px);
background-size:86px 86px,136px 136px;background-position:0 0,42px 25px;animation:snow 17s linear infinite}
@keyframes snow{to{background-position:0 700px,42px 560px}}
.hero .container{position:relative;z-index:2;padding:72px 0}
.hero-copy{max-width:720px}
.kicker{text-transform:uppercase;font-weight:900;letter-spacing:.15em;color:var(--gold)}
h1{font:700 clamp(47px,7vw,82px)/1.02 Georgia,serif;margin:.12em 0;text-shadow:0 4px 25px #000}
h2{font:700 clamp(30px,4vw,47px)/1.14 Georgia,serif;color:var(--ice);margin:.15em 0 .55em}
h3{font-size:22px;color:var(--gold2);margin:.1em 0 .4em}
.lead{font-size:clamp(19px,2.2vw,25px);max-width:62ch}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;padding:14px 21px;border-radius:9px;text-decoration:none;font-weight:900;background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;box-shadow:0 8px 28px #0005}
.btn.gold{background:linear-gradient(135deg,#ffe7a1,#c89025);color:#12213c}
section{padding:68px 0}
.alt{background:rgba(255,255,255,.035);border-block:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 12px 34px #0004}
.featureimg{border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 60px #0008;width:100%}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gallery img{width:100%;height:520px;object-fit:cover;border-radius:16px;border:1px solid var(--line);box-shadow:0 15px 40px #0005}
.media-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
video{width:100%;border-radius:16px;background:#000;box-shadow:0 16px 55px #0008}
.track{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin:10px 0}
.track strong{color:var(--gold2)}
audio{width:100%;margin-top:8px}
.album-list{columns:2;column-gap:28px}
.album-list a{display:block;padding:8px 0;break-inside:avoid;text-decoration:none}
.pricebox,.contact{padding:32px;border-radius:19px;background:linear-gradient(135deg,rgba(128,13,31,.92),rgba(178,14,40,.9));box-shadow:0 18px 55px #0007}
.partnergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.partner{background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:12px;padding:17px}
.partner a{font-weight:800;text-decoration:none}
.partner:hover{border-color:var(--gold);transform:translateY(-2px)}
.breadcrumb{padding:12px 0;color:var(--muted);font-size:14px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.badge{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:800}
.quote{font-size:21px;padding:28px;border-radius:16px;background:linear-gradient(135deg,rgba(189,16,39,.19),rgba(243,200,92,.07));border:1px solid rgba(243,200,92,.3)}
footer{background:#01030a;border-top:1px solid var(--line);padding:36px 0;color:#c5d3e7}
.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.small{font-size:14px;color:#9eb1ca}
.sparkle{color:var(--gold);text-shadow:0 0 14px var(--gold)}
@media(max-width:900px){
 .topwrap{display:block;text-align:center}.topcontact{text-align:center;margin-top:9px}
 .grid2,.media-grid,.footergrid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}
 .partnergrid{grid-template-columns:repeat(2,1fr)}.gallery img{height:auto}.album-list{columns:1}
}
@media(max-width:580px){
 .cards,.partnergrid,.gallery{grid-template-columns:1fr}
 .nav a{padding:11px 9px;font-size:14px}
 section{padding:48px 0}.hero{min-height:560px}.hero .container{padding:54px 0}
 h1{font-size:45px}
}
