/* Nachtkorridor – cinematic premiere one-pager. Bebas Neue display, Manrope body. Black, red, gold. */
:root{--bk:#0A0A0C;--bk-2:#141317;--bk-3:#1E1C22;--red:#B3122E;--red-deep:#7E0B20;--gold:#D9B25F;--paper:#F2EEE8;--mute:#A39E96;--line:#2B2930;--err:#FF6B6B;--ok:#7FD48A;--box:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font:16px/1.65 Manrope,system-ui,sans-serif;color:var(--paper);background:var(--bk)}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold)}
h1,h2,h3{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.03em;line-height:.95;margin:0 0 .35em}
h1{font-size:clamp(4rem,12vw,11rem)}
.nk-h1s{font-size:clamp(3rem,7vw,5.5rem)}
h2{font-size:clamp(2.6rem,5.5vw,4.4rem)}
h3{font-size:1.6rem;letter-spacing:.05em}
p{margin:0 0 1em}
.nk-box{max-width:var(--box);margin:0 auto;padding:0 24px}
.nk-skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--bk);padding:.6rem 1rem;z-index:99}
.nk-skip:focus{left:8px;top:8px}
.nk-kick{font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.nk-lead{font-size:1.08rem;color:#D6D1C9;max-width:66ch}

/* header */
.nk-top{position:sticky;top:0;z-index:40;background:rgba(10,10,12,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nk-top__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}
.nk-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--paper);font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.08em;line-height:1}
.nk-logo small{display:block;font:500 .66rem/1.2 Manrope,sans-serif;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;margin-top:.2rem}
.nk-nav{display:flex;gap:1.1rem;overflow-x:auto;scrollbar-width:none}
.nk-nav::-webkit-scrollbar{display:none}
.nk-nav a{color:var(--paper);text-decoration:none;font-size:.86rem;font-weight:600;white-space:nowrap;padding:.4rem 0;border-bottom:2px solid transparent;letter-spacing:.02em}
.nk-nav a:hover,.nk-nav a:focus-visible,.nk-nav a.is-current{border-color:var(--red);outline:none}
@media(max-width:960px){.nk-top__in{flex-wrap:wrap;padding-bottom:.4rem}.nk-nav{width:100%;gap:.9rem}}

/* hero */
.nk-hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--bk)}
.nk-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.55}
.nk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.92) 0%,rgba(10,10,12,.55) 55%,rgba(10,10,12,.2) 100%),linear-gradient(0deg,var(--bk) 0%,transparent 35%)}
.nk-hero__in{position:relative;z-index:1;padding:96px 24px 72px;width:100%}
.nk-hero__kick{font-size:.8rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:1rem}
.nk-hero h1 span{display:block}
.nk-hero h1 span:last-child{color:var(--red);-webkit-text-stroke:0;padding-left:.06em}
.nk-hero__meta{font-size:1.05rem;color:#D6D1C9;max-width:60ch;margin:1rem 0 1.6rem}
.nk-hero__meta b{color:var(--paper);font-weight:700}
.nk-count{display:flex;gap:10px;margin:0 0 1.8rem;flex-wrap:wrap}
.nk-count div{background:rgba(20,19,23,.85);border:1px solid var(--line);border-top:2px solid var(--gold);padding:.7rem 1rem;min-width:88px;text-align:center}
.nk-count b{display:block;font-family:'Bebas Neue',sans-serif;font-size:2.4rem;line-height:1;color:var(--paper)}
.nk-count span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.nk-hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:0}
@media(max-width:700px){.nk-hero{min-height:80vh}.nk-hero__in{padding:64px 24px 48px}.nk-count div{min-width:70px;padding:.5rem .6rem}.nk-count b{font-size:1.8rem}}

/* buttons */
.nk-btn{display:inline-block;font:700 .95rem Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;border:1px solid var(--red);padding:.9rem 1.5rem;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.nk-btn:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-1px)}
.nk-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nk-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.nk-btn--line{background:transparent;color:var(--paper);border-color:#5A5560}.nk-btn--line:hover{background:rgba(255,255,255,.06);border-color:var(--paper)}

/* sections */
.nk-sec{padding:104px 0}
.nk-sec--red{background:linear-gradient(180deg,var(--red-deep),#4C0613);color:#fff}
.nk-sec--red .nk-kick{color:var(--gold)}
.nk-sec--dim{background:var(--bk-2)}
.nk-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.nk-split--rev{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media(max-width:900px){.nk-sec{padding:64px 0}.nk-split,.nk-split--rev{grid-template-columns:minmax(0,1fr);gap:32px}}
.nk-fig{margin:0;min-width:0}.nk-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{font-size:.84rem;color:var(--mute);margin-top:.6rem}

/* fact sheet */
.nk-steck{margin:0;border-top:1px solid var(--gold)}
.nk-steck div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.nk-steck dt{color:var(--mute);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700;padding-top:.15rem}
.nk-steck dd{margin:0}
@media(max-width:480px){.nk-steck div{grid-template-columns:1fr;gap:.15rem}}

/* galleries */
.nk-gal{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:64px}
.nk-gal--2{grid-template-columns:1fr 1fr;margin-top:56px}
.nk-gal figure{margin:0;min-width:0}.nk-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85)}
.nk-gal figure:first-child img{aspect-ratio:auto;height:100%}
@media(max-width:760px){.nk-gal,.nk-gal--2{grid-template-columns:1fr}.nk-gal figure:first-child img{aspect-ratio:4/3;height:auto}}

/* evening timeline */
.nk-abend{list-style:none;padding:0;margin:2rem 0 0;position:relative}
.nk-abend::before{content:"";position:absolute;left:7.2rem;top:0;bottom:0;width:1px;background:rgba(255,255,255,.25)}
.nk-abend li{display:grid;grid-template-columns:6rem 1fr;gap:2.4rem;padding:1.2rem 0;position:relative}
.nk-abend li::before{content:"";position:absolute;left:calc(7.2rem - 5px);top:1.75rem;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #4C0613}
.nk-abend time{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;line-height:1;color:var(--gold);letter-spacing:.04em;padding-top:.2rem}
.nk-abend h3{margin-bottom:.2rem}.nk-abend p{margin:0;color:#F1D9DC;font-size:.95rem;max-width:64ch}
.nk-abend--sm{margin:1.4rem 0}.nk-abend--sm::before{left:2.2rem;background:var(--line)}
.nk-abend--sm li{grid-template-columns:2rem 1fr;gap:1.4rem;padding:.8rem 0}.nk-abend--sm li::before{left:calc(2.2rem - 5px);box-shadow:0 0 0 4px var(--bk)}
.nk-abend--sm time{font-size:1.8rem}.nk-abend--sm p{color:var(--mute)}
@media(max-width:560px){.nk-abend::before{left:0}.nk-abend li{grid-template-columns:1fr;gap:.3rem;padding-left:1.4rem}.nk-abend li::before{left:-5px}.nk-abend--sm li{padding-left:1.4rem}.nk-abend--sm li::before{left:-5px}}

/* ticket stubs */
.nk-stubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:2.4rem}
.nk-stub{display:grid;grid-template-rows:1fr auto;background:var(--bk-2);border:1px solid var(--line);position:relative;min-width:0}
.nk-stub--hi{border-color:var(--gold);background:var(--bk-3)}
.nk-stub--hi::after{content:"Meistgewählt";position:absolute;top:-.7rem;right:1rem;background:var(--gold);color:var(--bk);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.25rem .6rem}
.nk-stub__main{padding:1.6rem}
.nk-stub__kat{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:.06em;margin:0 0 .2rem;line-height:1}
.nk-stub__preis{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;color:var(--gold);line-height:1;margin:0 0 1rem}
.nk-stub__preis span{display:block;font:500 .78rem Manrope,sans-serif;color:var(--mute);letter-spacing:.04em;margin-top:.3rem}
.nk-stub ul{list-style:none;padding:0;margin:0}
.nk-stub li{padding:.45rem 0 .45rem 1.2rem;border-top:1px dashed var(--line);font-size:.93rem;position:relative}
.nk-stub li::before{content:"";position:absolute;left:0;top:.95rem;width:6px;height:6px;background:var(--red)}
.nk-stub__tear{border-top:2px dashed #3A3740;padding:1.2rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;flex-wrap:wrap}
.nk-stub__tear::before,.nk-stub__tear::after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--bk)}
.nk-stub__tear::before{left:-11px}.nk-stub__tear::after{right:-11px}
.nk-stub__tear small{color:var(--mute);font-size:.78rem}
@media(max-width:960px){.nk-stubs{grid-template-columns:1fr;max-width:520px}}

/* travel */
.nk-anreise{margin:0 0 2rem}
.nk-anreise div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}
.nk-anreise dt{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.05em;color:var(--gold)}
.nk-anreise dd{margin:0;font-size:.95rem;color:#D6D1C9}
@media(max-width:480px){.nk-anreise div{grid-template-columns:1fr;gap:.2rem}}
.nk-dress{border-left:3px solid var(--red);padding:.2rem 0 .2rem 1.2rem}
.nk-dress p{margin:0;color:#D6D1C9;font-size:.95rem}
.nk-map{aspect-ratio:4/3;overflow:hidden;background:var(--bk-3);position:relative}
.nk-addr{margin-top:1rem;font-size:.95rem;color:#D6D1C9}

/* faq */
.nk-faq{margin:0}
.nk-faq div{border-top:1px solid var(--line);padding:1rem 0}
.nk-faq dt{font-weight:700;font-size:1.02rem;margin-bottom:.3rem}
.nk-faq dd{margin:0;color:var(--mute);font-size:.94rem}

/* forms */
.nk-form{background:var(--bk-2);border:1px solid var(--line);padding:1.8rem;max-width:900px}
.nk-form--press{max-width:none;background:transparent;border-color:#3A3740;padding:1.4rem}
.nk-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.nk-form__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nk-form__row:has(.nk-fld--s){grid-template-columns:1fr 8rem}
@media(max-width:700px){.nk-form__row,.nk-form__row--3,.nk-form__row:has(.nk-fld--s){grid-template-columns:1fr}.nk-form{padding:1.2rem}}
.nk-fld{margin-bottom:1rem;min-width:0}
.nk-fld label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:.35rem}
.nk-fld label span{text-transform:none;letter-spacing:0;font-weight:400}
.nk-fld input,.nk-fld select{width:100%;font:1rem Manrope,sans-serif;color:var(--paper);background:var(--bk);border:1px solid #3A3740;padding:.7rem .8rem}
.nk-fld input:focus,.nk-fld select:focus{outline:2px solid var(--gold);outline-offset:1px}
.nk-fld input[aria-invalid=true]{border-color:var(--err)}
.nk-fs{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.nk-fs legend{width:100%;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:.4rem;padding:0}
.nk-fs label{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem}
.nk-fs input{accent-color:var(--red);width:18px;height:18px}
.nk-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nk-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.85rem;color:var(--mute);margin:.4rem 0 1.2rem}
.nk-consent input{margin-top:.25rem;accent-color:var(--red);flex:none;width:18px;height:18px}
.nk-form__foot{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.nk-status{margin:0;font-size:.92rem}.nk-status.is-err{color:var(--err)}.nk-status.is-ok{color:var(--ok)}
.nk-form__note{font-size:.82rem;color:var(--mute);margin:1rem 0 0}

/* legal */
.nk-legal{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:56px;align-items:start}
.nk-legal__side{background:var(--bk-2);border:1px solid var(--line);padding:1.2rem;position:sticky;top:88px}
.nk-legal__side h2{font-size:1.6rem}.nk-legal__side ul{list-style:none;padding:0;margin:0 0 1rem}.nk-legal__side li{padding:.3rem 0;border-bottom:1px solid var(--line)}
.ldoc{max-width:78ch}
.ldoc h1{font-size:clamp(2.6rem,5vw,4rem)}.ldoc h2{font-size:1.9rem;margin-top:2rem}.ldoc h3{font-size:1.35rem;margin-top:1.4rem}
.ldoc p,.ldoc li{color:#D6D1C9}.ldoc ul,.ldoc ol{padding-left:1.3rem}
.ldoc table{width:100%;border-collapse:collapse;font-size:.92rem;display:block;overflow-x:auto}
.ldoc th,.ldoc td{border:1px solid var(--line);padding:.5rem .6rem;text-align:left;vertical-align:top}.ldoc th{background:var(--bk-2)}
@media(max-width:900px){.nk-legal{grid-template-columns:1fr}.nk-legal__side{position:static}}

/* footer */
.nk-foot{background:#050506;border-top:1px solid var(--line);padding:56px 0 24px;font-size:.9rem;color:var(--mute)}
.nk-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.nk-foot h3{font-size:1.1rem;color:var(--paper);letter-spacing:.14em;margin-bottom:.8rem}
.nk-foot ul{list-style:none;padding:0;margin:0}.nk-foot li{margin:.3rem 0}
.nk-foot a{color:var(--paper);text-decoration:none}.nk-foot a:hover{color:var(--gold)}
.nk-foot__btn{background:none;border:0;padding:0;color:var(--paper);font:inherit;cursor:pointer;text-decoration:underline}
.nk-foot__c{text-align:center;margin:40px 0 0;font-size:.78rem;border-top:1px solid var(--line);padding-top:1.2rem}
@media(max-width:900px){.nk-foot__grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.nk-foot__grid{grid-template-columns:1fr}}

/* e-mail subscription (only field: e-mail) */
.nk-sub{background:var(--bk-2);border:1px solid var(--line);border-radius:0;padding:1.6rem;max-width:640px;min-width:0}
.nk-sub h3{margin:0 0 .4rem}
.nk-sub__txt{color:var(--mute);font-size:.95rem;margin:0 0 1rem}
.nk-sub__lbl{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:.4rem}
.nk-sub__row{display:flex;gap:.6rem;flex-wrap:wrap}
.nk-sub__row input[type=email]{flex:1 1 220px;min-width:0;font:1rem inherit;font-family:inherit;color:var(--paper);background:var(--bk);border:1.5px solid #3A3740;border-radius:0;padding:.8rem .9rem}
.nk-sub__row input[type=email]:focus{outline:3px solid rgba(120,120,120,.35);outline-offset:1px}
.nk-sub__row input[aria-invalid=true]{border-color:var(--err)}
.nk-sub__row button{flex:0 0 auto}
.nk-sub__note{font-size:.78rem;color:var(--mute);margin:.8rem 0 0;line-height:1.5}
.nk-status{margin:.6rem 0 0;font-size:.9rem;min-height:1.2em}
.nk-status[data-state=error]{color:var(--err)}
@media(max-width:480px){.nk-sub{padding:1.2rem}.nk-sub__row button{width:100%}}

.nk-press{border:1px solid #3A3740;padding:1.4rem}
.nk-press p:last-child{margin:0}
.nk-sub h3{font-size:1.8rem}

/* consent manager and map */
.nk-tbl{position:fixed;inset:0;z-index:1300;background:rgba(8,10,14,.62);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem}.nk-tbl[hidden]{display:none}
.nk-tbl__card{width:min(780px,100%);max-height:92svh;overflow:auto;background:var(--cmp-bg,#fff);color:var(--cmp-ink,#111);border-radius:16px;padding:1.6rem clamp(1.1rem,3vw,2rem);box-shadow:0 40px 80px -40px rgba(0,0,0,.7);font-size:.92rem;line-height:1.5}
.nk-tbl__kicker{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.nk-tbl h2{margin:0 0 .6rem;font-size:1.4rem;line-height:1.15}.nk-tbl__intro{margin:0 0 1rem}.nk-tbl a{color:inherit;text-decoration:underline}
.nk-tbl table{width:100%;border-collapse:collapse;font-size:.84rem}.nk-tbl th,.nk-tbl td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--cmp-line,rgba(0,0,0,.15));vertical-align:top}.nk-tbl thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.nk-tbl tbody th{font-weight:700;white-space:nowrap}.nk-tbl td small{opacity:.7}
.nk-tbl th:nth-child(5),.nk-tbl th:nth-child(6),.nk-tbl td:nth-child(5),.nk-tbl td:nth-child(6){text-align:center;width:3.2rem}.nk-tbl input[type=radio]{width:20px;height:20px;accent-color:var(--cmp-accent,#111);cursor:pointer;margin:0}.nk-tbl input:disabled{cursor:default;opacity:.5}
.nk-tbl tfoot td,.nk-tbl tfoot th{border-bottom:0;border-top:2px solid var(--cmp-accent,#111);font-weight:600}.nk-tbl [data-cmp-count]{text-align:center;white-space:nowrap}
.nk-tbl__meta{font-size:.76rem;opacity:.65;margin:.8rem 0}
.nk-tbl__btns{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.nk-tbl__btns button{min-height:46px;padding:0 .6rem;border-radius:8px;border:2px solid var(--cmp-accent,#111);background:var(--cmp-accent,#111);color:var(--cmp-on-accent,#fff);font:inherit;font-weight:700;cursor:pointer}
.nk-tbl__links{display:flex;gap:1.2rem;justify-content:center;margin-top:.8rem}.nk-tbl__links button{background:none;border:0;padding:0;font:inherit;font-size:.84rem;text-decoration:underline;cursor:pointer;color:inherit}
@media(max-width:700px){.nk-tbl__card{padding:1.1rem 1rem}.nk-tbl th:nth-child(3),.nk-tbl th:nth-child(4),.nk-tbl td:nth-child(3),.nk-tbl td:nth-child(4){display:none}.nk-tbl tfoot td[colspan="3"]{display:table-cell}.nk-tbl__btns{grid-template-columns:1fr}.nk-tbl tbody th{white-space:normal}}
[data-consent-map]{position:relative;border-radius:14px;overflow:hidden;background:rgba(127,127,127,.12);margin-top:1.2rem}[data-consent-map].is-loaded{aspect-ratio:4/3;min-height:220px}[data-consent-map] iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
[data-map-placeholder]{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.2rem;background:repeating-linear-gradient(45deg,rgba(127,127,127,.08) 0 12px,transparent 12px 24px)}[data-map-placeholder] p{margin:0!important;display:block!important}[data-map-placeholder] small{font-size:.76rem;opacity:.7;max-width:40ch}
[data-map-placeholder] button{cursor:pointer;border:0;border-radius:8px;padding:.7rem 1.1rem;font:inherit;font-weight:700;background:var(--cmp-accent,#111);color:var(--cmp-on-accent,#fff)}[data-map-placeholder] a{font-size:.9rem;text-decoration:underline;color:inherit}