:root{
  --bg:#141010; --bg2:#1d1715; --bg3:#261e1a; --ink:#f3e9d8; --muted:#bfae95;
  --gold:#c9a24a; --gold2:#e6c878; --brass:#8a6a2c; --red:#a3302a;
  --serif:'Playfair Display',Georgia,serif; --deco:'Limelight','Playfair Display',serif; --sans:'Josefin Sans',system-ui,sans-serif;
  --radius:4px; --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:1.06rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--gold2);text-decoration:none}
.container{width:min(var(--max),92%);margin:0 auto}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.15}
h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:1rem}
h3{font-size:1.45rem;margin-bottom:.5rem}
p+p{margin-top:1rem}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.35em;font-size:.78rem;color:var(--gold);font-weight:600;margin-bottom:.8rem}
.placeholder-note{color:#e8a87c;font-style:italic;font-size:.92rem;background:rgba(232,168,124,.08);border-left:2px dashed #e8a87c;padding:.3rem .7rem;margin-top:1rem;display:block}
.placeholder-note.inline{display:inline;padding:.1rem .4rem;border:none}
.placeholder-link{color:#e8a87c!important;border-bottom:1px dashed #e8a87c}

/* nav */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s}
.site-header.scrolled{background:rgba(20,16,16,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(201,162,74,.3)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font-family:var(--deco);font-size:1.6rem;color:var(--ink);letter-spacing:.06em}
.logo span{color:var(--gold)}
.nav-menu{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-menu a{color:var(--ink);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:400;position:relative;padding:.3rem 0}
.nav-menu a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--gold);transition:width .3s}
.nav-menu a:hover::after,.nav-menu a.active::after{width:100%}
.nav-cta{border:1px solid var(--gold);padding:.55rem 1.1rem!important;color:var(--gold2)!important}
.nav-cta:hover{background:var(--gold);color:var(--bg)!important}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:34px;height:26px;position:relative}
.nav-toggle span{display:block;height:2px;background:var(--gold);margin:6px 0;transition:.3s}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(20,16,16,.45) 0%,rgba(20,16,16,.85) 75%),linear-gradient(180deg,rgba(20,16,16,.5),rgba(20,16,16,.2) 40%,var(--bg) 100%)}
.hero-content{position:relative;z-index:2;padding:7rem 0 4rem;border:1px solid rgba(201,162,74,.45);outline:1px solid rgba(201,162,74,.2);outline-offset:10px;max-width:820px;padding-left:2rem;padding-right:2rem;background:rgba(20,16,16,.35)}
.hero h1{font-family:var(--deco);font-weight:400;font-size:clamp(3.4rem,10vw,7rem);letter-spacing:.06em;color:var(--gold2);text-shadow:0 2px 30px rgba(0,0,0,.6)}
.lead{font-size:1.2rem;max-width:600px;margin:0 auto 2.2rem;color:var(--ink)}
.deco-divider{display:flex;align-items:center;justify-content:center;gap:.9rem;margin:1rem auto 1.6rem;color:var(--gold)}
.deco-divider span{height:1px;width:80px;background:linear-gradient(90deg,transparent,var(--gold))}
.deco-divider span:last-child{transform:scaleX(-1)}
.deco-divider i{font-style:normal;font-size:.8rem}
.deco-divider.small span{width:40px}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.9rem 2.1rem;font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:.82rem;font-weight:600;border:1px solid var(--gold);cursor:pointer;transition:.3s;border-radius:var(--radius)}
.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold) 50%,var(--brass));color:#1a1310}
.btn-gold:hover{filter:brightness(1.12);transform:translateY(-2px)}
.btn-outline{color:var(--gold2);background:transparent}
.btn-outline:hover{background:rgba(201,162,74,.12)}

/* sections */
.section{padding:6.5rem 0;position:relative}
.section-alt{background:var(--bg2)}
.section-alt::before,.section-alt::after{content:"";position:absolute;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(201,162,74,.35) 14px 15px)}
.section-alt::before{top:0}.section-alt::after{bottom:0}
.section-head{text-align:center;max-width:680px;margin:0 auto 3.5rem}
.section-head p:not(.eyebrow){color:var(--muted)}

/* bio */
.bio-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:4rem;align-items:start}
.bio-text p:not(.eyebrow){color:#e6dac6}
.photo{position:relative;border:1px solid rgba(201,162,74,.5);padding:8px;background:var(--bg2)}
.photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.photo figcaption,.g-item figcaption{font-size:.72rem;letter-spacing:.08em;color:var(--muted);padding-top:.4rem}
.facts{list-style:none;margin-top:1.8rem;border-top:1px solid rgba(201,162,74,.3)}
.facts li{padding:.8rem 0;border-bottom:1px solid rgba(201,162,74,.3);color:#e6dac6}
.facts strong{display:block;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}

/* quotes */
.quotes{background:linear-gradient(180deg,var(--bg3),var(--bg2));padding:4.5rem 0;border-top:1px solid rgba(201,162,74,.25);border-bottom:1px solid rgba(201,162,74,.25)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
blockquote p{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.55}
blockquote cite{display:block;margin-top:1rem;font-style:normal;color:var(--gold);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}

/* projects */
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.2rem}
.project{background:var(--bg2);border:1px solid rgba(201,162,74,.3);position:relative;display:flex;flex-direction:column;transition:transform .35s,border-color .35s}
.project:hover{transform:translateY(-4px);border-color:var(--gold)}
.project::before,.project::after{content:"";position:absolute;width:22px;height:22px;border:2px solid var(--gold);z-index:2}
.project::before{top:-6px;left:-6px;border-right:0;border-bottom:0}
.project::after{bottom:-6px;right:-6px;border-left:0;border-top:0}
.project-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.project-body{padding:1.8rem 2rem 2.2rem}
.project-body p{color:#e6dac6}
.project-tag{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:.6rem}
.small{font-size:.92rem;color:var(--muted)!important}
.show-title{font-family:var(--serif);font-style:italic;color:var(--gold2)!important;margin-bottom:.6rem}
.mini-dates{list-style:none;margin:1.1rem 0 .8rem;border-top:1px solid rgba(201,162,74,.25)}
.mini-dates li{padding:.45rem 0;border-bottom:1px solid rgba(201,162,74,.25);font-size:.95rem}
.mini-dates span{display:inline-block;min-width:7.5rem;color:var(--gold);font-weight:600}
.text-link{display:inline-block;margin-top:.8rem;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}

/* placeholder slots */
.photo-slot{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;
  background:repeating-linear-gradient(45deg,#221b17 0 18px,#2a211c 18px 36px);border-bottom:1px dashed rgba(201,162,74,.6)}
.photo-slot::before{content:"";position:absolute;inset:14px;border:1px dashed rgba(201,162,74,.5)}
.slot-label{position:relative;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);background:rgba(20,16,16,.8);padding:.5rem .9rem}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px;grid-auto-flow:dense}
.g-item{position:relative;overflow:hidden;border:1px solid rgba(201,162,74,.3)}
.g-item picture,.g-item img{width:100%;height:100%}
.g-item img{object-fit:cover;transition:transform .6s}
.g-item:hover img{transform:scale(1.04)}
.g-item.wide{grid-column:span 2}
.g-item.tall{grid-row:span 2}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:.4rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#ddd}
.credit-line{text-align:center;margin-top:1.5rem;font-size:.8rem;color:var(--muted);letter-spacing:.08em}

/* listen */
.listen-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.embed-card{background:var(--bg3);border:1px solid rgba(201,162,74,.3);padding:1.5rem}
.embed-card h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.25em;font-size:.85rem;color:var(--gold);margin-bottom:1rem}
.embed-card.wide{grid-column:1/-1}
.video-wrap{position:relative;aspect-ratio:16/9}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}

/* agenda */
.gigs{list-style:none;max-width:860px;margin:0 auto}
.gig{display:grid;grid-template-columns:110px 1fr auto;gap:1.5rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid rgba(201,162,74,.3)}
.gig:first-child{border-top:1px solid rgba(201,162,74,.3)}
.gig-date{text-align:center;border:1px solid var(--gold);padding:.5rem .3rem}
.gig-date .d{display:block;font-family:var(--deco);font-size:2rem;color:var(--gold2);line-height:1}
.gig-date .m{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.gig-info h3{font-size:1.25rem;margin:0}
.gig-info p{color:var(--muted);margin:0}
.gig-status{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);border:1px solid rgba(201,162,74,.5);padding:.45rem .9rem;white-space:nowrap}
.past{max-width:860px;margin:3rem auto 0;text-align:center}
.past h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;color:var(--gold)}
.past p{color:#e6dac6;font-family:var(--serif);font-style:italic;font-size:1.1rem}

/* booking */
.booking{background:radial-gradient(ellipse at top left,rgba(201,162,74,.12),transparent 60%),var(--bg2)}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.booking-text p:not(.eyebrow){color:#e6dac6}
.checks{list-style:none;margin:1.5rem 0}
.checks li{padding-left:1.8rem;position:relative;margin:.5rem 0}
.checks li::before{content:"◆";position:absolute;left:0;color:var(--gold);font-size:.75rem;top:.25rem}
.contact-direct{margin-top:1.5rem}
.contact-form{background:var(--bg);border:1px solid var(--gold);padding:2.2rem;outline:1px solid rgba(201,162,74,.25);outline-offset:8px}
.contact-form h3{margin-bottom:1.3rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:1rem}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:.4rem;background:var(--bg2);border:1px solid rgba(201,162,74,.35);color:var(--ink);font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;padding:.7rem .8rem;border-radius:var(--radius)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold2)}
.form-note{font-size:.8rem;color:var(--muted);margin-top:.8rem}
.form-status{font-size:.9rem;color:#e8a87c}

/* footer */
.site-footer{padding:3.5rem 0 2.5rem;text-align:center;border-top:1px solid rgba(201,162,74,.35)}
.socials{list-style:none;display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.socials a{text-transform:uppercase;letter-spacing:.2em;font-size:.8rem}
.copy{color:var(--muted);font-size:.85rem}
.photo-credit{font-size:.75rem}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* responsive */
@media (max-width:900px){
  .bio-grid,.booking-grid,.listen-grid,.project-grid{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr;gap:2rem}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .section{padding:4.5rem 0}
}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav-menu{position:fixed;top:74px;left:0;right:0;flex-direction:column;gap:0;background:rgba(20,16,16,.98);border-bottom:1px solid var(--gold);max-height:0;overflow:hidden;transition:max-height .35s}
  .nav-menu.open{max-height:420px}
  .nav-menu li{width:100%;text-align:center}
  .nav-menu a{display:block;padding:1rem}
  .nav-cta{margin:.8rem auto 1.2rem;display:inline-block!important}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .hero-content{padding:5rem 1.2rem 3rem;margin-top:3rem}
  .field-row{grid-template-columns:1fr}
  .gig{grid-template-columns:84px 1fr;gap:1rem}
  .gig-status{grid-column:2;justify-self:start}
  .contact-form{padding:1.5rem}
  .g-item.wide{grid-column:span 2}
}
/* ticket links */
.gig-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.gig-status.link{transition:.3s}
.gig-status.link:hover{background:var(--gold);color:var(--bg)}
.tag-volzet{display:inline-block;font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:#f3e9d8;background:var(--red);padding:.2rem .5rem;border-radius:2px;vertical-align:middle}
.mini-ticket{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;border:1px solid rgba(201,162,74,.5);padding:.1rem .45rem;margin-left:.4rem}
.mini-ticket:hover{background:var(--gold);color:var(--bg)}
@media (max-width:760px){.gig-actions{grid-column:2}}
.mini-dates .tag-volzet{min-width:0;color:#f3e9d8;font-weight:400;margin-left:.3rem}
/* featured project */
.project.featured{grid-column:1/-1;flex-direction:row;border-color:var(--gold)}
.project.featured .project-img{flex:0 0 46%}
.project.featured .project-img picture,.project.featured .project-img img{height:100%}
.project.featured .project-img img{aspect-ratio:auto;min-height:100%;object-position:center 30%}
.project.featured .project-body{padding:2.4rem 2.6rem;display:flex;flex-direction:column;justify-content:center}
.project.featured h3{font-size:2rem}
.project-badge{align-self:flex-start;font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1310;padding:.25rem .7rem;margin-bottom:.8rem;font-weight:600}
.btn-small{padding:.65rem 1.4rem;font-size:.75rem;margin-top:1.2rem;align-self:flex-start}
@media (max-width:900px){.project.featured{flex-direction:column}.project.featured .project-img img{aspect-ratio:16/10}}
.project.row{grid-column:1/-1;flex-direction:row}
.project.row .photo-slot{flex:0 0 46%;aspect-ratio:auto;min-height:260px;border-bottom:0;border-right:1px dashed rgba(201,162,74,.6)}
.project.row .project-body{display:flex;flex-direction:column;justify-content:center}
@media (max-width:900px){.project.row{flex-direction:column}.project.row .photo-slot{aspect-ratio:16/10;border-right:0}}
/* bio quote */
.since{margin-top:1.6rem}
.since span{font-family:var(--deco);color:var(--gold2);font-size:1.1rem;letter-spacing:.12em;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:.35rem 0}
.bio-quote{margin-top:1.8rem;padding:1.4rem 1.6rem;position:relative;background:linear-gradient(90deg,rgba(201,162,74,.10),transparent);border-left:2px solid var(--gold)}
/* (grote decoratieve aanhalingstekens verwijderd) */
.bio-quote p{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--ink)!important}
.bio-quote cite{display:block;margin-top:.6rem;font-style:normal;color:var(--gold);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}
.bio-quote cite::before{content:"— "}
/* featured ella: landscape photo */
.project.featured .project-img img{object-position:center}
/* vertical youtube */
.yt-feature{display:flex;gap:2.2rem;align-items:center}
.video-wrap.vertical{flex:0 0 320px;aspect-ratio:9/16}
.yt-text p:not(.show-title){color:#e6dac6}
@media (max-width:760px){.yt-feature{flex-direction:column;align-items:stretch}.video-wrap.vertical{flex:none;width:100%;max-width:340px;margin:0 auto}}
/* background groups pricing */
.project.bg-groups{grid-column:1/-1}
.bg-top{display:flex}
.bg-top .photo-slot{flex:0 0 46%;aspect-ratio:auto;min-height:260px;border-bottom:0;border-right:1px dashed rgba(201,162,74,.6)}
.bg-top .project-body{display:flex;flex-direction:column;justify-content:center}
.pricing{border-top:1px solid rgba(201,162,74,.3);padding:2.4rem 2rem 2.6rem;background:linear-gradient(180deg,rgba(201,162,74,.05),transparent)}
.pricing-title{font-family:var(--sans);text-align:center;text-transform:uppercase;letter-spacing:.35em;font-size:.8rem;color:var(--gold);font-weight:600;margin-bottom:1.6rem}
.price-grid{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.price-card{position:relative;text-align:center;padding:1.8rem 1rem 1.5rem;background:var(--bg);border:1px solid rgba(201,162,74,.4);outline:1px solid rgba(201,162,74,.15);outline-offset:-6px;display:flex;flex-direction:column;align-items:center;transition:transform .3s,border-color .3s}
.price-card::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:40%;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.price-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.price-card.popular{border-color:var(--gold);background:linear-gradient(180deg,rgba(201,162,74,.12),var(--bg) 70%)}
.price-flag{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1310;padding:.2rem .6rem;font-weight:600;white-space:nowrap}
.price-card h4{font-family:var(--deco);font-weight:400;font-size:1.45rem;color:var(--gold2);letter-spacing:.05em}
.price-sub{font-size:.78rem;color:var(--muted);min-height:2.4em;line-height:1.3;margin-top:.3rem}
.price-divider{display:flex;align-items:center;gap:.4rem;color:var(--gold);margin:.5rem 0 .6rem;font-size:.55rem}
.price-divider span{height:1px;width:26px;background:var(--gold);opacity:.6}
.price-divider i{font-style:normal}
.price{font-family:var(--serif);font-weight:700;font-size:1.9rem;color:var(--ink);line-height:1.1}
.price .cur{font-size:1.1rem;color:var(--gold);margin-right:.15rem;vertical-align:.35em}
.price-btn{margin-top:1rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(201,162,74,.6);padding:.45rem .7rem;transition:.3s}
.price-btn:hover{background:var(--gold);color:var(--bg)}
.price-notes{list-style:none;margin:1.8rem auto 0;max-width:720px;text-align:center}
.price-notes li{font-size:.9rem;color:var(--muted);margin:.25rem 0}
.price-notes li::before{content:"◆ ";color:var(--gold);font-size:.6rem;vertical-align:.15em}
.pricing-cta{text-align:center;margin-top:1.6rem}
.formule-field{margin-bottom:0}
@media (max-width:1100px){.price-grid{grid-template-columns:repeat(3,1fr);row-gap:1.6rem}}
@media (max-width:900px){.bg-top{flex-direction:column}.bg-top .photo-slot{aspect-ratio:16/10;border-right:0;min-height:0}}
@media (max-width:600px){.price-grid{grid-template-columns:repeat(2,1fr)}.price-card:last-child{grid-column:1/-1}.pricing{padding:2rem 1.1rem}}
/* vanaf-prijzen */
.from-price{margin-top:1.2rem;display:flex;align-items:baseline;gap:.5rem;padding-top:.9rem;border-top:1px solid rgba(201,162,74,.3)}
.from-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.25em;color:var(--gold)}
.from-amount{font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--gold2);line-height:1}
.from-amount .cur{font-size:1rem;margin-right:.1rem;vertical-align:.3em}
.tech-note{font-size:.8rem;color:var(--muted)!important;line-height:1.5;margin-top:.4rem!important}
/* project card links */
a.project-img{display:block;overflow:hidden}
a.project-img img{transition:transform .6s}
a.project-img:hover img{transform:scale(1.03)}
.card-title-link{color:inherit}
.card-title-link:hover{color:var(--gold2)}
.card-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1.2rem}
.card-actions .text-link{margin-top:0}
.card-actions .btn-small{margin-top:0}

/* detail pages */
.detail-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;overflow:hidden;padding-top:74px}
.detail-hero-bg{position:absolute;inset:0}
.detail-hero-bg picture,.detail-hero-bg img{width:100%;height:100%}
.detail-hero-bg img{object-fit:cover;object-position:center 35%}
.detail-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,16,.55) 0%,rgba(20,16,16,.35) 40%,var(--bg) 100%)}
.detail-hero-content{position:relative;z-index:2;padding:4rem 0 3rem}
.detail-hero h1{font-family:var(--deco);font-weight:400;font-size:clamp(2.6rem,7vw,5rem);color:var(--gold2);letter-spacing:.04em;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.detail-hero .deco-divider{justify-content:flex-start;margin:1rem 0 1.2rem}
.detail-hero .deco-divider span:first-child{display:none}
.detail-hero .lead{margin:0;max-width:640px}
.back-link{display:inline-block;margin-bottom:1.4rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:start}
.detail-text p:not(.eyebrow):not(.placeholder-note){color:#e6dac6}
.detail-h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.25em;font-size:.82rem;color:var(--gold);margin:2.2rem 0 .8rem}
.detail-list{list-style:none}
.detail-list li{padding-left:1.6rem;position:relative;margin:.4rem 0;color:#e6dac6}
.detail-list li::before{content:"◆";position:absolute;left:0;color:var(--gold);font-size:.7rem;top:.3rem}
.repertoire{font-family:var(--serif);font-style:italic;font-size:1.08rem}
.detail-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:1.6rem}
.price-box{background:var(--bg2);border:1px solid var(--gold);outline:1px solid rgba(201,162,74,.25);outline-offset:8px;padding:2rem;text-align:left}
.price-box-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.3em;color:var(--gold);font-weight:600}
.from-price.big{border-top:0;padding-top:.4rem;margin-top:0}
.from-price.big .from-amount{font-size:2.6rem}
.on-request{font-family:var(--serif);font-size:1.8rem;color:var(--gold2);margin:.3rem 0 .2rem}
.price-box .btn{margin-top:1.4rem;width:100%;text-align:center}
.price-box-alt{font-size:.85rem;color:var(--muted);margin-top:1rem}
.side-embed{background:var(--bg2);border:1px solid rgba(201,162,74,.3);padding:1.4rem}
.side-embed iframe{margin-top:.8rem}
.detail-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px;grid-auto-flow:dense}
.dg-item{position:relative;overflow:hidden;border:1px solid rgba(201,162,74,.3);cursor:zoom-in;display:block}
.dg-item picture,.dg-item img{width:100%;height:100%}
.dg-item img{object-fit:cover;transition:transform .6s}
.dg-item:hover img{transform:scale(1.05)}
.dg-item.wide{grid-column:span 2}
.dg-item.tall{grid-row:span 2}
.detail-cta{padding:5rem 0;text-align:center;background:radial-gradient(ellipse at center,rgba(201,162,74,.14),transparent 65%)}
.detail-cta p{color:var(--muted);margin:.6rem 0 1.8rem}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,8,8,.94);display:none;align-items:center;justify-content:center;padding:2rem 4rem}
.lightbox.open{display:flex}
.lightbox figure{max-width:100%;max-height:100%;text-align:center}
.lightbox img{max-width:100%;max-height:82vh;margin:0 auto;border:1px solid rgba(201,162,74,.4)}
.lightbox figcaption{color:var(--muted);font-size:.85rem;margin-top:.8rem}
.lightbox button{position:absolute;background:none;border:1px solid rgba(201,162,74,.5);color:var(--gold2);font-size:2rem;width:48px;height:48px;line-height:1;cursor:pointer}
.lightbox button:hover{background:rgba(201,162,74,.15)}
.lb-close{top:1.2rem;right:1.2rem}
.lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1rem;top:50%;transform:translateY(-50%)}
@media (max-width:900px){
  .detail-grid{grid-template-columns:1fr;gap:2.5rem}
  .detail-side{position:static}
  .detail-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}
}
@media (max-width:600px){.lightbox{padding:1rem}.lb-prev,.lb-next{top:auto;bottom:1rem;transform:none}}
.hero-top .detail-hero-bg img{object-position:center 12%}

/* ===== t28u: gezichten volledig in beeld ===== */
/* foto's in hun natuurlijke verhouding, geen bijsnijding */
.photo img,.project-img img,.project.featured .project-img img{aspect-ratio:auto!important;height:auto!important;min-height:0!important;object-fit:contain}
.project.featured .project-img{align-self:center}
.project.featured .project-img picture{height:auto}
/* masonry-galerijen */
.gallery,.detail-gallery{display:block;columns:3;column-gap:12px}
.g-item,.dg-item{break-inside:avoid;margin:0 0 12px;display:block}
.g-item picture,.g-item img,.dg-item picture,.dg-item img{height:auto;width:100%}
.g-item img,.dg-item img{object-fit:contain}
.g-item:hover img,.dg-item:hover img{transform:none;filter:brightness(1.08)}
.g-item,.dg-item{transition:border-color .3s}
.g-item:hover,.dg-item:hover{border-color:var(--gold)}
@media (max-width:900px){.gallery,.detail-gallery{columns:2;column-gap:10px}.g-item,.dg-item{margin-bottom:10px}}

/* homepage-hero: foto in volle verhouding, tekst onderaan over de benen/het podium */
.hero{min-height:0;display:block;aspect-ratio:var(--ar,1.4);max-height:100vh;width:100%}
.hero-bg img{object-position:center var(--py,15%)}
.hero::after{background:linear-gradient(180deg,rgba(20,16,16,.35) 0,rgba(20,16,16,0) 14%,rgba(20,16,16,0) 50%,rgba(20,16,16,.75) 78%,var(--bg) 100%)}
.hero-content{position:absolute;left:50%;bottom:2.2rem;transform:translateX(-50%);width:min(820px,92%);padding:1.6rem 2rem 1.8rem;background:rgba(20,16,16,.55);backdrop-filter:blur(3px);text-align:center}
.hero h1{font-size:clamp(3rem,7vw,5.6rem)}
.hero .lead{margin-bottom:1.4rem}
.hero .deco-divider{margin:.6rem auto 1rem}
/* detailpagina-hero: foto als blok, tekst eronder */
.detail-hero{display:block;min-height:0;padding-top:0;overflow:visible}
.detail-hero-bg{position:relative;inset:auto;margin-top:74px;aspect-ratio:var(--ar,1.5);max-height:80vh;width:100%;overflow:hidden}
.detail-hero-bg img{object-position:center var(--py,50%)!important}
.detail-hero::after{display:none}
.detail-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,16,.45) 0,rgba(20,16,16,0) 12%,rgba(20,16,16,0) 82%,var(--bg) 100%)}
.detail-hero-content{padding:1.4rem 0 1rem;margin-top:-1rem}
@media (max-width:760px){
  .hero{aspect-ratio:auto;max-height:none}
  .hero-bg{position:relative;aspect-ratio:var(--ar,1.4);margin-top:74px}
  .hero-bg img{object-position:center}
  .hero::after{display:none}
  .hero-content{position:relative;left:auto;bottom:auto;transform:none;margin:-1.5rem auto 0;width:92%;padding:1.8rem 1.2rem 2rem;background:rgba(20,16,16,.85)}
  .detail-hero-bg{margin-top:74px;max-height:none}
  .detail-hero-bg img{object-position:center!important}
}

/* ===== boekingsformulier (t31u) ===== */
.booking-grid-wide{grid-template-columns:1fr 1.5fr;gap:3rem}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-intro{font-size:.88rem;color:var(--muted);margin:-.6rem 0 1.4rem}
.req{color:var(--gold2)}
.opt{color:var(--muted);text-transform:none;letter-spacing:.02em;font-size:.8rem}
.form-step{border:0;border-top:1px solid rgba(201,162,74,.25);padding:1.3rem 0 .4rem;margin:0}
.form-step:first-of-type{border-top:0;padding-top:0}
.form-step>legend{font-family:var(--serif);font-size:1.15rem;color:var(--ink);padding:0;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.step-no{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border:1px solid var(--gold);color:var(--gold2);font-family:var(--sans);font-size:.85rem;border-radius:50%;flex:0 0 auto}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1rem}
.contact-form label.choice-card{margin:0;text-transform:none;letter-spacing:0;color:var(--ink);font-size:1rem;cursor:pointer;position:relative}
.choice-card input,.choice-pill input{position:absolute;opacity:0;width:1px;height:1px}
.cc-body{display:flex;flex-direction:column;gap:.15rem;height:100%;padding:.85rem 1rem .85rem 2.6rem;border:1px solid rgba(201,162,74,.35);background:var(--bg2);border-radius:var(--radius);transition:.2s;position:relative}
.cc-body::before{content:"";position:absolute;left:.95rem;top:1.05rem;width:.95rem;height:.95rem;border:1px solid var(--gold);border-radius:50%}
.cc-title{font-weight:600;font-size:.98rem}
.cc-sub{font-size:.82rem;color:var(--muted)}
.choice-card:hover .cc-body{border-color:var(--gold)}
.choice-card input:checked+.cc-body{border-color:var(--gold2);background:linear-gradient(135deg,rgba(201,162,74,.18),rgba(201,162,74,.05));box-shadow:0 0 0 1px var(--gold2) inset}
.choice-card input:checked+.cc-body::before{background:radial-gradient(circle,var(--gold2) 45%,transparent 50%)}
.choice-card input:focus-visible+.cc-body,.choice-pill input:focus-visible+span{outline:2px solid var(--gold2);outline-offset:2px}
.choice-grid .choice-card:last-child{grid-column:1/-1}
.bezetting-field{margin:.2rem 0 1rem;padding:1rem 1.1rem;border:1px dashed rgba(201,162,74,.55);background:rgba(201,162,74,.06);border-radius:var(--radius)}
.bezetting-field fieldset{border:0;margin:0;padding:0}
.bezetting-field legend{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:600;margin-bottom:.3rem}
.field-hint{font-size:.85rem;color:var(--muted);margin-bottom:.8rem}
.pill-grid{display:flex;flex-wrap:wrap;gap:.5rem}
.contact-form label.choice-pill{margin:0;text-transform:none;letter-spacing:0;color:var(--ink);font-size:.92rem;cursor:pointer;position:relative}
.choice-pill span{display:inline-block;padding:.5rem .95rem;border:1px solid rgba(201,162,74,.45);border-radius:999px;background:var(--bg2);transition:.2s}
.choice-pill:hover span{border-color:var(--gold)}
.choice-pill input:checked+span{background:var(--gold);color:#1a1310;border-color:var(--gold);font-weight:600}
.btn-block{width:100%;margin-top:.8rem}
.btn[disabled]{opacity:.6;cursor:wait}
.contact-form.tried :invalid:not(fieldset){border-color:#e8a87c}
.form-status a{color:var(--gold2);text-decoration:underline}
.form-note{font-size:.85rem;color:var(--muted);margin-top:.6rem}
.thanks{padding-top:10rem;min-height:70vh;text-align:center}
.thanks-box h1{font-family:var(--deco);font-weight:400;color:var(--gold2);font-size:clamp(2.6rem,7vw,4.5rem)}
.thanks-box .btn{margin-top:2rem}
@media (max-width:900px){.booking-grid-wide{grid-template-columns:1fr}}
@media (max-width:520px){.choice-grid{grid-template-columns:1fr}.contact-form{padding:1.2rem}}
.gig-status.muted{color:var(--muted);border-color:rgba(201,162,74,.25)}
.more-gigs{text-align:center;margin:2rem auto 0;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--gold2)}
.more-gigs span{font-style:normal;font-size:.7rem;color:var(--gold);margin:0 .7rem;vertical-align:middle}
.bg-top .bg-photo{flex:0 0 46%;margin:0;border-right:1px solid rgba(201,162,74,.35);display:flex;align-items:center;background:var(--bg)}
.bg-top .bg-photo picture,.bg-top .bg-photo img{width:100%;height:auto}
@media (max-width:900px){.bg-top .bg-photo{border-right:0;border-bottom:1px solid rgba(201,162,74,.35)}}
.gallery .g-item a{display:block;cursor:zoom-in}

/* fix: featured card on mobile (no reserved photo height) */
@media (max-width:900px){.project.featured .project-img{flex:0 0 auto;align-self:stretch}.project.featured .project-body{flex:1 1 auto}}
