/* ============================================================
   NOT A KINGSDAY PARTY — presents Summer Closing
   ============================================================ */

:root{
  --ink:     #0A0A0A;
  --ink-2:   #0F0F10;
  --steel:   #17181A;
  --steel-2: #1E1F22;
  --bone:    #F2F0EA;
  --haze:    #8B8B84;
  --accent:  #FF6A00;
  --rust:    #FF2D00;
  --line:    rgba(242,240,234,.13);

  --display: 'Anton', 'Arial Narrow', Impact, sans-serif;
  --ui:      'Barlow Condensed', system-ui, -apple-system, sans-serif;
  --mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --pad:     clamp(1.25rem, 5vw, 3rem);
  --bar-h:   64px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--ink);
  color:var(--bone);
  font-family:var(--ui);
  font-weight:600;
  font-size:clamp(1.02rem,.55vw + .9rem,1.28rem);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* korrel over alles heen */
body::after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:9999;
  opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ max-width:1180px; margin-inline:auto; padding-inline:var(--pad); }

.skip{
  position:absolute; left:-9999px; top:0; z-index:10000;
  background:var(--accent); color:var(--ink); padding:.75rem 1.25rem;
  font-family:var(--mono); font-size:.8rem;
}
.skip:focus{ left:0; }

:focus-visible{ outline:3px solid var(--accent); outline-offset:3px; }

/* ---------- KNOPPEN ---------- */
.btn{
  --btn-bg:var(--accent); --btn-fg:var(--ink); --btn-shadow:var(--bone);
  display:inline-flex; align-items:center; justify-content:center;
  padding:.85rem 1.9rem;
  background:var(--btn-bg); color:var(--btn-fg);
  font-family:var(--ui); font-weight:700; font-size:1.02rem;
  letter-spacing:.09em; text-transform:uppercase; text-decoration:none;
  border:2px solid var(--btn-bg);
  transform:skewX(-9deg);
  transition:box-shadow .18s ease, transform .18s ease, background .18s ease, color .18s ease;
  will-change:transform;
}
.btn > span{ display:block; transform:skewX(9deg); }
.btn:hover,.btn:focus-visible{ box-shadow:7px 7px 0 var(--btn-shadow); transform:skewX(-9deg) translate(-2px,-2px); }
.btn:active{ box-shadow:2px 2px 0 var(--btn-shadow); transform:skewX(-9deg) translate(1px,1px); }

.btn--lg{ padding:1.1rem 2.6rem; font-size:clamp(1.05rem,1.4vw,1.3rem); }
.btn--sm{ padding:.55rem 1.15rem; font-size:.88rem; }
.btn--block{ display:flex; width:100%; }
.btn--ghost{ --btn-bg:transparent; --btn-fg:var(--bone); --btn-shadow:var(--accent); border-color:var(--bone); }
.btn--ghost:hover,.btn--ghost:focus-visible{ background:var(--bone); color:var(--ink); }

/* kaartverkoop nog niet open */
.btn.is-pending{
  --btn-bg:transparent; --btn-fg:var(--accent);
  border-style:dashed; border-color:var(--accent);
  cursor:default;
}
.btn.is-pending:hover{ box-shadow:none; transform:skewX(-9deg); }

/* ---------- BALK ---------- */
.bar{
  position:fixed; inset:0 0 auto 0; z-index:900;
  height:var(--bar-h);
  display:flex; align-items:center; gap:1.5rem;
  padding-inline:var(--pad);
  border-bottom:1px solid transparent;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.bar.is-stuck{
  background:rgba(10,10,10,.86);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom-color:var(--line);
}
.bar__logo{ display:flex; align-items:center; gap:.6rem; text-decoration:none; margin-right:auto; }
.bar__mark{
  display:grid; place-items:center; width:30px; height:30px;
  background:var(--accent); color:var(--ink);
  font-family:var(--display); font-size:.92rem; letter-spacing:.02em;
  transform:skewX(-9deg); flex:none;
}
.bar__word{ font-family:var(--display); font-size:1.05rem; letter-spacing:.04em; white-space:nowrap; }
.bar__meta{
  margin:0; font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  color:var(--haze); white-space:nowrap;
}
.bar__meta em{ color:var(--accent); font-style:normal; }
.bar__nav{ display:flex; align-items:center; gap:1.4rem; flex:none; }
.bar__nav > a:not(.btn){
  font-family:var(--mono); font-size:.75rem; letter-spacing:.16em;
  text-decoration:none; color:var(--haze); white-space:nowrap;
  transition:color .2s ease;
}
.bar__nav > a:not(.btn):hover{ color:var(--accent); }

@media (max-width:1100px){ .bar__meta{ display:none; } }
@media (max-width:560px){
  .bar__word{ display:none; }
  .bar__nav > a:not(.btn){ display:none; }
}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:calc(var(--bar-h) + 2rem) var(--pad) 4rem;
  overflow:hidden;
}
.hero__glow{
  position:absolute; inset:auto -20% -35% -20%; height:85%;
  background:
    radial-gradient(60% 60% at 22% 100%, rgba(255,106,0,.20), transparent 70%),
    radial-gradient(50% 55% at 82% 85%, rgba(255,45,0,.12), transparent 72%);
  filter:blur(30px);
  pointer-events:none;
}
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px, transparent 1px);
  background-size:100% 74px;
  opacity:.55;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 45%,transparent);
}
.hero__inner{ position:relative; max-width:1180px; margin-inline:auto; width:100%; }

.kicker{
  margin:0 0 clamp(.8rem,1.8vw,1.3rem);
  font-family:var(--mono); font-weight:500;
  font-size:clamp(.68rem,1.5vw,.82rem);
  letter-spacing:.28em; text-transform:uppercase; color:var(--haze);
}
.kicker em{ color:var(--accent); font-style:normal; }

.hero__title{ margin:0; }
.hero__line{
  display:block;
  font-family:var(--display); font-weight:400;
  font-size:clamp(2.9rem,13.4vw,8.4rem);
  line-height:.86; letter-spacing:-.018em;
  text-transform:uppercase;
}
.hero__line--hollow{
  color:transparent;
  -webkit-text-stroke:clamp(1.4px,.26vw,3px) var(--bone);
}
.hero__line--accent{ color:var(--accent); }

.hero__sub{
  margin:clamp(.9rem,2vw,1.4rem) 0 0;
  font-family:var(--mono); font-weight:700;
  font-size:clamp(.72rem,1.6vw,.9rem);
  letter-spacing:.34em; color:var(--accent);
}

.strip{
  list-style:none; display:flex; flex-wrap:wrap; align-items:center;
  gap:.4rem clamp(.7rem,1.6vw,1.3rem);
  margin:.9rem 0 0; padding:.9rem 0 0;
  border-top:1px solid var(--line);
  font-family:var(--mono); font-size:clamp(.72rem,1.4vw,.95rem);
  letter-spacing:.08em; text-transform:uppercase; color:rgba(242,240,234,.8);
}
.strip li{ display:flex; align-items:center; gap:clamp(.7rem,1.6vw,1.3rem); }
.strip li + li::before{ content:"/"; color:var(--accent); }
.strip b{ color:var(--bone); }
.strip em{ color:var(--accent); font-style:normal; }

.hero__cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:clamp(1.4rem,2.8vw,2rem); }

.count{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.4rem,1.2vw,.85rem); margin-top:clamp(1.4rem,3vw,2.1rem);
  max-width:430px;
}
.count__cell{
  padding:.65rem clamp(.5rem,2vw,.85rem);
  border:1px solid var(--line); background:rgba(23,24,26,.6);
}
.count__cell b{
  display:block; font-family:var(--display); font-weight:400;
  font-size:clamp(1.6rem,3.6vw,2.3rem); line-height:1; color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.count__cell span{
  display:block; margin-top:.3rem;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.24em; color:var(--haze);
}
.count.is-live b{ color:var(--rust); }
.count__done{
  grid-column:1 / -1;
  margin:0; padding:.9rem 1.2rem;
  border:1px solid var(--accent);
  font-family:var(--display); font-size:clamp(1.1rem,2.6vw,1.7rem);
  color:var(--accent); letter-spacing:.02em;
}

.hero__foot{
  position:absolute; left:var(--pad); bottom:1.4rem;
  display:flex; align-items:center; gap:.7rem;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.28em; color:var(--haze);
}
.hero__foot i{ display:block; width:1px; height:30px; background:linear-gradient(var(--accent),transparent); }
@media (max-width:900px){ .hero__foot{ display:none; } }

/* ---------- LOPENDE BAND ---------- */
.ticker{
  position:relative; overflow:hidden;
  margin:clamp(1rem,4vw,3rem) 0;
}
.ticker__rot{
  overflow:hidden;
  background:var(--accent); color:var(--ink);
  padding:.6rem 0;
  transform:rotate(-1.5deg) scale(1.06);
}
.ticker__track{ display:flex; width:max-content; animation:slide 34s linear infinite; }
.ticker__set{ display:flex; align-items:center; gap:1.6rem; padding-right:1.6rem; }
.ticker span{
  font-family:var(--display); font-size:clamp(1.2rem,3.4vw,2.1rem);
  letter-spacing:.02em; white-space:nowrap;
}
.ticker i{ font-style:normal; font-size:clamp(.7rem,1.6vw,1rem); opacity:.55; }
@keyframes slide{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- SECTIES ---------- */
.sec{ padding:clamp(3.5rem,8vw,7rem) 0; position:relative; }

.tag{
  display:flex; align-items:center; gap:.9rem;
  margin:0 0 clamp(1.5rem,3.5vw,2.4rem);
  font-family:var(--mono); font-weight:700;
  font-size:clamp(.66rem,1.4vw,.78rem);
  letter-spacing:.26em; text-transform:uppercase; color:var(--accent);
}
.tag em{ font-style:normal; color:var(--haze); }
.tag::after{ content:""; flex:1; height:1px; background:var(--line); }

.big{
  margin:0 0 clamp(1.4rem,3vw,2.2rem);
  font-family:var(--display); font-weight:400;
  font-size:clamp(2.5rem,8.2vw,6.2rem);
  line-height:.9; letter-spacing:-.015em; text-transform:uppercase;
}
.hl{ color:var(--accent); }

.lead{ max-width:56ch; color:rgba(242,240,234,.82); font-size:clamp(1.08rem,1.5vw,1.35rem); }

.cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(1.5rem,4vw,3.5rem); }
.cols p{ margin:0; color:rgba(242,240,234,.78); max-width:46ch; }

/* gevarenstreep */
.hazard{
  height:14px;
  background:repeating-linear-gradient(45deg,var(--accent) 0 14px,var(--ink) 14px 28px);
  opacity:.85;
}

/* ---------- INFO ---------- */
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.card{
  margin:0; padding:clamp(1.5rem,3vw,2.2rem);
  background:linear-gradient(160deg,var(--steel),var(--ink-2));
  transition:background .3s ease;
}
.card:hover{ background:linear-gradient(160deg,var(--steel-2),var(--steel)); }
.card__k{ margin:0 0 1.2rem; font-family:var(--mono); font-size:.66rem; letter-spacing:.24em; color:var(--haze); }
.card__v{ margin:0; font-family:var(--display); font-size:clamp(1.6rem,3.4vw,2.35rem); line-height:.95; letter-spacing:-.01em; }
.card__v .ar{ font-family:var(--mono); font-size:.62em; color:var(--accent); vertical-align:.14em; }
.card__n{ margin:.9rem 0 0; font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; color:var(--haze); line-height:1.7; }
.card--accent{ background:var(--accent); color:var(--ink); }
.card--accent:hover{ background:#FF8330; }
.card--accent .card__k,.card--accent .card__n{ color:rgba(10,10,10,.68); }

/* ---------- TICKETS ---------- */
.tickets{ background:linear-gradient(180deg,var(--ink),var(--ink-2)); }
.tk{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,4.5rem); align-items:start; }
@media (max-width:840px){ .tk{ grid-template-columns:1fr; } }

.tiers{ list-style:none; margin:clamp(1.8rem,4vw,2.6rem) 0 0; padding:0; }
.tiers li{
  display:flex; align-items:baseline; gap:1rem;
  padding:.95rem 0; border-bottom:1px solid var(--line);
  font-family:var(--mono); font-size:.9rem; letter-spacing:.1em;
}
.tiers b{ font-family:var(--ui); font-size:1.15rem; letter-spacing:.08em; }
.tiers .p{ margin-left:auto; font-family:var(--display); font-size:1.5rem; color:var(--accent); }
.tiers .s{ font-size:.66rem; letter-spacing:.2em; color:var(--rust); }
.tiers li.is-out b,.tiers li.is-out .p{ color:var(--haze); text-decoration:line-through; }
.tiers__note{
  margin:1rem 0 0; font-family:var(--mono);
  font-size:.72rem; letter-spacing:.06em; line-height:1.6; color:var(--haze);
}

.tkbox{
  padding:clamp(1.6rem,3.5vw,2.4rem);
  background:var(--steel); border:1px solid var(--line);
  border-top:4px solid var(--accent);
}
.tkbox__k{ margin:0; font-family:var(--mono); font-size:.66rem; letter-spacing:.26em; color:var(--haze); }
.tkbox__state{
  margin:.7rem 0 1.6rem; font-family:var(--display);
  font-size:clamp(1.5rem,3.2vw,2.1rem); line-height:1; color:var(--accent);
}
.tkbox__note{ margin:1.2rem 0 0; font-size:.98rem; color:var(--haze); line-height:1.55; }
.tkbox__note a{ color:var(--accent); }

/* ---------- LINE-UP ---------- */
.rundown{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.rundown li{
  display:grid; grid-template-columns:minmax(0,10.5rem) 1fr; gap:.4rem clamp(1rem,3vw,2.5rem);
  align-items:center;
  padding:clamp(1rem,2.2vw,1.5rem) 0;
  border-bottom:1px solid var(--line);
  transition:padding-left .25s ease;
}
.rundown li:hover{ padding-left:.7rem; }
.rundown b{
  font-family:var(--mono); font-weight:700;
  font-size:clamp(.78rem,1.5vw,.95rem); letter-spacing:.06em;
  color:var(--accent); white-space:nowrap;
}
.rundown span{
  font-family:var(--display); font-weight:400;
  font-size:clamp(1.5rem,3.6vw,2.6rem); line-height:1;
  letter-spacing:-.01em; text-transform:uppercase;
}
@media (max-width:560px){
  .rundown li{ grid-template-columns:1fr; }
}

/* ---------- ROUTE ---------- */
.travel{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(1.5rem,3.5vw,3rem); margin-top:clamp(2.5rem,6vw,4rem); }
.travel h3{ margin:0 0 .7rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.26em; color:var(--accent); font-weight:700; }
.travel p{ margin:0; color:rgba(242,240,234,.76); padding-top:.9rem; border-top:2px solid var(--line); }
.travel b{ color:var(--bone); }
.loc .btn{ margin-top:.5rem; }

/* ---------- FAQ ---------- */
.faq__list{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; padding:clamp(1rem,2.4vw,1.5rem) 2.5rem clamp(1rem,2.4vw,1.5rem) 0;
  position:relative;
  font-family:var(--ui); font-weight:700; font-size:clamp(1.1rem,2vw,1.4rem);
  letter-spacing:.03em; text-transform:uppercase;
  transition:color .2s ease;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--accent); }
.faq summary::after{
  content:"+"; position:absolute; right:.3rem; top:50%; translate:0 -50%;
  font-family:var(--mono); font-size:1.4rem; color:var(--accent);
  transition:rotate .25s ease;
}
.faq details[open] summary::after{ rotate:45deg; }
.faq details p{ margin:0 0 1.5rem; color:var(--haze); max-width:60ch; }
.faq details p a{ color:var(--accent); }

/* ---------- FOOTER ---------- */
.foot{ padding:clamp(3.5rem,8vw,6rem) 0 2.5rem; border-top:1px solid var(--line); background:var(--ink-2); }
.foot__big{
  margin:0 0 clamp(2rem,5vw,3rem);
  font-family:var(--display); font-size:clamp(2.4rem,9vw,6rem);
  line-height:.97; letter-spacing:-.02em;
}
.foot__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:2rem; }
.foot__k{ margin:0 0 .7rem; font-family:var(--mono); font-size:.66rem; letter-spacing:.24em; color:var(--accent); }
.foot__cols p{ margin:0; color:var(--haze); line-height:1.7; }
.foot__cols a{ color:rgba(242,240,234,.85); text-decoration:none; border-bottom:1px solid var(--line); }
.foot__cols a:hover{ color:var(--accent); border-color:var(--accent); }
.foot__fine{ margin:clamp(2.5rem,6vw,4rem) 0 0; font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; color:#55554F; }

/* ---------- BINNENKOMEN ---------- */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d,0s); }
.reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .ticker__rot{ transform:rotate(-1.5deg); }
  .ticker__track{ animation:none; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .btn{ transition:none; }
}

/* korte laptopschermen: titel iets kleiner zodat de aftelklok meekomt */
@media (min-width:900px) and (max-height:820px){
  .hero__line{ font-size:clamp(2.9rem,10.6vw,6.8rem); }
  .hero{ padding-block:calc(var(--bar-h) + 1rem) 2rem; }
  .count{ margin-top:1.1rem; }
  .count__cell{ padding:.5rem .8rem; }
}
