/* Motion enriches the existing amber/charcoal identity. */
html.kl-smooth{scroll-behavior:auto!important}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-smooth:not(.lenis-scrolling) iframe{pointer-events:auto}
.kl-title-word{display:inline-block;max-width:100%;vertical-align:bottom}
.kl-stage-light{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.72;mask-image:linear-gradient(90deg,transparent 12%,#000 58%),linear-gradient(#000 55%,transparent);mask-composite:intersect}
.kl-stage-light canvas{width:100%;height:100%;display:block}
.hero-content,.party-content{z-index:3}
.hero-index,.hero-caption{z-index:4}
.party-page-hero .kl-stage-light{opacity:.8}
.subhero{position:relative;overflow:hidden;isolation:isolate}
.subhero:after{content:'';position:absolute;z-index:-1;pointer-events:none;width:min(650px,75vw);height:110%;right:-12%;top:-25%;border-radius:50%;background:radial-gradient(ellipse,#f5a33518 0%,#f5a33505 43%,transparent 70%);transform:rotate(-30deg)}
.subhero:before{content:'';position:absolute;z-index:-1;pointer-events:none;right:7%;top:-60%;height:200%;width:140px;transform:rotate(35deg);background:linear-gradient(90deg,transparent,#f5a33506,transparent);border-right:1px solid #f5a33512}
.kl-spotlight{position:relative;isolation:isolate}
.kl-spotlight:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(400px circle at var(--spot-x,50%) var(--spot-y,50%),#f5a3351b,transparent 65%);box-shadow:inset 0 0 0 1px #f5a33500;opacity:0;transition:opacity .35s,box-shadow .35s;z-index:5}
.kl-spotlight:hover:after{opacity:1;box-shadow:inset 0 0 0 1px #f5a33555}
.btn{position:relative;overflow:hidden}
.btn:before{content:'';position:absolute;inset:-75% -40%;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff38 49%,transparent 63%);transform:translateX(-110%);transition:transform .7s ease}
@media(hover:hover) and (pointer:fine){.btn:hover:before{transform:translateX(110%)}.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(2px,-2px)}.card-photo img,.location img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}.card:hover .card-photo img,.location:hover>img{transform:scale(1.045)}}
@media(max-width:700px){.kl-stage-light{opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 65%)}.subhero:before{right:-5%;opacity:.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.kl-stage-light{display:none}.btn:before{display:none}.card-photo img,.location img,.btn .arrow{transition:none!important;transform:none!important}}
/* A CSS stage light is also available when a browser has no WebGL context. */
.kl-stage-light:before{content:'';position:absolute;inset:-30% -20%;background:conic-gradient(from 142deg at 71% 0%,transparent 0deg,#f5a33504 8deg,#ffd18a40 14deg,transparent 19deg,#f5a33508 24deg,#f5a33538 28deg,transparent 33deg,#ffd18a20 38deg,transparent 43deg);transform-origin:71% 0%;animation:kl-light-sweep 15s ease-in-out infinite alternate;filter:blur(3px)}
.kl-stage-light:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 77% 0%,#f5a33540,transparent 48%);opacity:.7}
.kl-stage-light.has-webgl:before{display:none}
.party-page-hero .kl-stage-light:before{filter:hue-rotate(215deg) blur(3px)}
.party-page-hero .kl-stage-light:after{background:radial-gradient(ellipse at 78% 0%,#b480ff35,transparent 55%)}
@keyframes kl-light-sweep{from{transform:rotate(-9deg);opacity:.65}to{transform:rotate(8deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.kl-stage-light:before{animation:none}}
/* Silvester 2026/2027 */
.silvester-feature .news-feature-image{position:relative;isolation:isolate}
.silvester-feature .news-feature-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111211b8,transparent 80%);z-index:0}
.silvester-year{position:absolute;z-index:1;left:32px;bottom:30px;font-size:clamp(4rem,8vw,8rem);font-weight:800;letter-spacing:-.075em;line-height:.83;color:#f8f7f2}
.silvester-year>span{color:var(--accent)}
.silvester-cta-line{font-weight:700;color:var(--accent);font-size:1.15rem}
.silvester-inclusions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 38px;margin-top:55px}
.silvester-inclusions article{border-top:1px solid #f5a33570;padding-top:20px}
.silvester-inclusions article>span{display:block;color:var(--accent);font-size:.85rem;letter-spacing:.15em;margin-bottom:22px}
.silvester-inclusions h3{font-size:clamp(1.5rem,2.2vw,2.1rem);margin-bottom:16px;line-height:1.1}
.silvester-inclusions p{margin-bottom:0}
.silvester-hero .event-news-content{position:relative;z-index:3}
.silvester-hero>img{object-position:center 40%}
.silvester-ticket-section{background:#191b18;border-top:1px solid var(--line)}
@media(max-width:900px){.silvester-inclusions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.silvester-inclusions{grid-template-columns:1fr;gap:28px;margin-top:35px}.silvester-year{left:25px;bottom:25px}.silvester-hero h1{font-size:clamp(2.8rem,11vw,4.7rem)}}
/* Ticket selection and email request, without online payment. */
.silvester-package-price{display:flex;align-items:baseline;gap:12px;color:var(--ink);margin:22px 0}
.silvester-package-price strong{font-size:2.8rem;line-height:1;color:var(--accent);letter-spacing:-.05em}
.silvester-hero-price{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin:8px 0 30px;color:var(--accent)}
.silvester-hero-price strong{font-size:clamp(2.5rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
.silvester-hero-price span{font-size:.9rem;color:var(--ink)}
.ticket-order-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:48px;align-items:start}
.ticket-order-main{min-width:0}
.ticket-product{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.ticket-product-image{position:relative;overflow:hidden;border-radius:6px;min-height:260px;background:#111211}
.ticket-product-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.65}
.ticket-product-image>span:not(.ai-label){position:absolute;left:20px;bottom:20px;font-size:1.8rem;font-weight:700;line-height:1.1;color:#fff}
.ticket-product-image>span:not(.ai-label) b{color:var(--accent);font-size:2.4rem;letter-spacing:-.05em}
.ticket-product-copy .eyebrow{margin-bottom:15px}
.ticket-product-copy h3{font-size:clamp(1.8rem,2.8vw,2.7rem);margin-bottom:18px}
.ticket-product-copy p{font-size:.9rem}
.ticket-unit-price{display:flex;align-items:baseline;gap:10px;color:var(--accent);font-size:2rem;line-height:1.2}
.ticket-unit-price small{color:var(--muted);font-size:.9rem;font-weight:400}
.ticket-step{display:block;color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-bottom:14px}
.ticket-quantity-section{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:35px 0;border-bottom:1px solid var(--line)}
.ticket-quantity-section h3{font-size:1.7rem;margin-bottom:12px}
.ticket-quantity-section p{font-size:.88rem;margin:0;max-width:350px}
.ticket-quantity-control{flex:0 0 160px}
.ticket-quantity-control label{display:block;font-size:.85rem;margin-bottom:9px;font-weight:bold}
.ticket-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;min-height:50px;border:1px solid #f5a33588;border-radius:4px;overflow:hidden}
.ticket-stepper button{border:0;background:#f5a33518;color:var(--accent);font-size:1.6rem;min-width:0}
.ticket-stepper button:hover:not(:disabled){background:var(--accent);color:#111211}
.ticket-stepper button:disabled{opacity:.3;cursor:default}
.ticket-stepper input{width:100%;min-width:0;text-align:center;font-weight:700;border:0;background:#111211;color:var(--ink);padding:5px 0;appearance:textfield;-moz-appearance:textfield}
.ticket-stepper input::-webkit-inner-spin-button,.ticket-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.ticket-contact-section{padding-top:35px}
.ticket-contact-section>h3{font-size:1.8rem}
.ticket-message{display:flex;flex-direction:column;gap:10px;font-size:.88rem;font-weight:700;margin-top:25px}
.ticket-message textarea{width:100%;border:1px solid #ffffff2e;background:#111211;color:#fff;border-radius:4px;padding:13px 14px;font:inherit;resize:vertical}
.ticket-address{margin-top:24px;padding-block:18px;border-block:1px solid var(--line)}
.ticket-address summary{color:var(--muted);font-size:.9rem;cursor:pointer}
.ticket-order-summary{position:sticky;top:124px;padding:30px;border:1px solid #f5a33565;border-radius:8px;background:linear-gradient(145deg,#29291f,#161815);box-shadow:0 20px 50px #0003}
.ticket-order-summary h3{font-size:2rem;margin-bottom:16px}
.ticket-summary-date{font-size:.88rem;margin-bottom:27px}
.ticket-summary-line{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:12px;font-size:.92rem;color:var(--muted)}
.ticket-summary-line strong{color:var(--ink);white-space:nowrap}
.ticket-subtotal{padding:18px 0;margin-top:18px;border-block:1px solid var(--line)}
.ticket-grand-total{padding-top:22px;display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap}
.ticket-grand-total>span{font-size:1rem;font-weight:700}
.ticket-grand-total output{font-size:clamp(1.9rem,2.9vw,2.8rem);font-weight:800;line-height:1.1;color:var(--accent);letter-spacing:-.04em;overflow-wrap:anywhere}
.ticket-payment-note{font-size:.82rem;margin:20px 0 0;line-height:1.5}
.ticket-order-summary .checkline{font-size:.78rem;line-height:1.5}
.ticket-submit{width:100%;gap:12px}
.ticket-order-summary .form-note{font-size:.77rem;margin-top:17px;line-height:1.6}
@media(max-width:1050px){.ticket-order-layout{gap:28px;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr)}.ticket-product{grid-template-columns:130px minmax(0,1fr);gap:20px}.ticket-quantity-section{flex-wrap:wrap}.ticket-order-summary{padding:24px}}
@media(max-width:800px){.ticket-order-layout{grid-template-columns:1fr;gap:36px}.ticket-order-summary{position:static}.ticket-product{grid-template-columns:150px minmax(0,1fr)}.ticket-quantity-section{flex-wrap:nowrap}}
@media(max-width:500px){.ticket-product{grid-template-columns:105px minmax(0,1fr);gap:18px}.ticket-product-image{min-height:240px}.ticket-product-image>span:not(.ai-label){left:12px;bottom:15px;font-size:1.4rem}.ticket-product-image>span:not(.ai-label) b{font-size:1.8rem}.ticket-product-copy h3{font-size:1.65rem}.ticket-product-copy p{font-size:.82rem;margin-bottom:16px}.ticket-product-copy .eyebrow{font-size:.65rem}.ticket-unit-price{font-size:1.7rem;flex-wrap:wrap;gap:3px}.ticket-quantity-section{flex-wrap:wrap}.ticket-quantity-control{flex-basis:190px}.ticket-order-summary{padding:24px 20px}.silvester-hero-price{gap:12px}}

.silvester-feature .news-feature-image img{object-position:62% center}
.silvester-feature .ai-label{top:16px;right:16px;left:auto;bottom:auto;z-index:3}
.silvester-hero>img{object-position:60% center}
.ticket-product-image img{object-position:62% center}
.ticket-product-image>.ai-label{position:absolute;z-index:2;top:8px;right:8px;bottom:auto;left:auto;font-size:.57rem;padding:4px 6px;line-height:1.3;letter-spacing:.03em;color:white;background:#101210bf;font-weight:600}
/* Alternating event highlights: Martinsgans copy left, image right. */
.martinsgans-feature{margin-top:38px}
.martinsgans-feature .news-feature-image{position:relative;min-height:460px}
.martinsgans-feature .news-feature-image img{object-position:65% center}
.martinsgans-feature .ai-label{z-index:3}
.martinsgans-group-hint{padding:18px 20px;border-left:2px solid var(--accent);background:#f5a3350b;color:var(--ink);font-size:.94rem;line-height:1.6;margin:22px 0}
.martinsgans-times{margin-bottom:28px}
.martinsgans-hero>img{object-position:60% center}
.martinsgans-calculation{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid #f5a33555;margin-top:28px;padding:22px 0}
.martinsgans-calculation small{display:block;color:var(--muted);margin-top:5px;font-size:.78rem}
.martinsgans-calculation output{color:var(--accent);font-weight:800;font-size:clamp(1.8rem,3vw,2.5rem);white-space:nowrap;letter-spacing:-.04em}
.martinsgans-group-note{color:var(--accent);font-size:.86rem;margin:16px 0}
.martinsgans-request .event-details h2{margin-bottom:28px}
@media(max-width:900px){.martinsgans-feature .news-feature-image{min-height:340px}}
@media(max-width:600px){.martinsgans-feature .news-feature-image{min-height:260px}.martinsgans-calculation{align-items:flex-start;flex-direction:column;gap:12px}.martinsgans-feature .news-facts{gap:15px}.martinsgans-hero h1{font-size:clamp(2.2rem,9vw,4rem)}}
