/* Stichting Keti Koti Connect | one fullwidth Connect Music Events design */
:root{--brand:#10BA26;--brand-deep:#0A3818;--brand-dark:#082611;--brand-soft:#EFFAF1;--header-height:106px}
html{scroll-padding-top:calc(var(--header-height) + 88px);text-size-adjust:100%;-webkit-text-size-adjust:100%}
body.unified{min-width:320px}
body.unified[data-theme="connect-green"]{--ink:#12271a;--muted:#5b6c61;--line:#d7e7db;--paper:#f8fdf9;--purple:#08751c;--plum:#0a3818;--accent:#d8f5df;--lime:#d8f5df}
.unified .header{background:rgba(255,255,255,.98);border-bottom:1px solid #d9eadf;z-index:80;box-shadow:0 4px 24px #08261105}
.unified .header-inner{height:106px;gap:28px}
.unified .brand{flex:0 0 auto}
.unified .brand img{width:304px;height:84px;max-width:none;object-fit:contain;object-position:left center}
.unified .nav{gap:20px;font-size:12px;line-height:1.5;font-weight:600}
.unified .nav> a:not(.btn),.unified .nav>.dropdown>summary{min-height:48px;display:flex;align-items:center;white-space:nowrap}
.unified .nav .btn{font-size:11px;min-height:46px;gap:9px;margin-left:0;padding:12px 16px;white-space:nowrap;background:#10BA26;color:#fff;border-color:#10BA26}
.unified .nav .btn:hover{background:#078c1b;border-color:#078c1b}
.unified .nav .btn .icon{width:17px;height:17px}
.unified .nav a:not(.btn):hover,.unified .dropdown summary:hover,.unified .dropdown.is-current>summary{color:#08751c}
.unified .topbar{background:linear-gradient(90deg,#082611,#0a3818 65%,#08751c);padding-block:7px;font-size:9px;line-height:1.5;letter-spacing:.13em}
.unified .topbar>a{display:flex;align-items:center;gap:14px;color:#d8f5df;font-size:10px;letter-spacing:0}
.unified .topbar .icon{width:16px;height:16px}
.unified .dropdown-panel{top:calc(100% - 2px);z-index:85;border-color:#d7e7db;box-shadow:0 22px 60px #0826111a;max-height:calc(100dvh - 180px);overflow-y:auto}
.unified .dropdown-panel a{font-size:12px;padding:11px 12px;white-space:normal}
.unified .dropdown-panel a:hover{background:#effaf1;color:#08751c}
.unified .dropdown-panel a[aria-current="page"]{background:#effaf1;color:#08751c}
.unified .dropdown-mega{position:static}
.unified .dropdown-mega>.mega-panel{left:var(--pad);right:var(--pad);top:100%;width:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:26px;gap:25px;border-radius:0 0 16px 16px}
.unified .dropdown-mega:not([open])>.mega-panel{display:none}
.mega-column{display:flex;flex-direction:column;gap:3px;min-width:0}
.mega-label{display:block;color:#08751c;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:750;padding:8px 12px 14px}
.unified .menu-toggle{background:#10BA26;color:#fff;flex-shrink:0}
.unified [hidden]{display:none!important}
.unified .btn{border-radius:8px;font-weight:650}
.unified .section-top p{font-size:14px;line-height:1.85}
.unified .card-body h3{line-height:1.15}
.unified .card-body p{font-size:13px}
.unified .card-info{font-size:12px;line-height:1.55}
.unified .card-footer a{min-height:34px;line-height:1.6}
.unified .card-footer a:last-child{color:#10BA26}
.unified .card-footer a:last-child:hover{color:#078c1b}
.unified .event-card{border-radius:16px}
.unified .event-card[data-category="festival"] .badge-lime{background:#10BA26;color:#fff}
.unified .contact-block{border-top:1px solid var(--line);padding-top:23px;margin-top:23px}
.unified .contact-block h3{font-size:19px;line-height:1.3;margin-bottom:9px}
.unified .contact-block p{font-size:13px;color:var(--muted);margin-top:12px}
.unified .contact-block .text-link{overflow-wrap:anywhere;font-size:14px}
.unified .field input,.unified .field select,.unified .field textarea{min-width:0;width:100%}
.unified .contact-grid{gap:7vw}
.unified .prose{max-width:1060px}
.unified .prose p,.unified .prose li{font-size:16px;line-height:1.9}
.unified .prose h2{font-size:32px;line-height:1.2}
/* Shared footer: existing transparent, light-lettered footer logo from the supplied site. */
.unified .unified-footer{background:linear-gradient(125deg,#061c0d,#0a3818);padding-top:64px;color:#dcefe1}
.unified-footer .footer-grid{grid-template-columns:1.4fr .88fr 1.05fr 1.06fr 1.15fr;gap:34px;padding-bottom:48px}
.footer-brand{display:block;position:relative;width:270px;max-width:100%;padding:0;background:transparent;border-radius:0;margin-bottom:22px}
.footer-brand img{display:block;width:100%;height:auto;margin:0}
/* Lift the grey ROTTERDAM and bottom motto to white without changing the
   multicolour mark, the lettering shapes, or the transparent image itself. */
@supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
  .unified-footer .footer-brand::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: #fff;
    -webkit-mask: url("../kkc/images/footer-logo-keti-koti-connect-transparent.png") center / 100% 100% no-repeat;
    mask: url("../kkc/images/footer-logo-keti-koti-connect-transparent.png") center / 100% 100% no-repeat;
    mask-mode: alpha;
    clip-path: polygon(16% 76%, 29% 76%, 29% 85%, 100% 85%, 100% 100%, 16% 100%);
  }
}

.unified-footer .footer-about p{max-width:290px;font-size:13px;color:#c2d9c9;line-height:1.9}
.footer-location{font-size:9px;letter-spacing:.16em;color:#8fbc9d;font-weight:650}
.unified-footer h3{font-size:12px;line-height:1.5;color:#fff;margin:5px 0 22px;letter-spacing:0}
.unified-footer .footer-links{font-size:12px;line-height:1.65;gap:12px}
.unified-footer .footer-links a:hover,.unified-footer .footer-contact a:hover,.unified-footer .footer-legal a:hover{color:#90e6a0}
.unified-footer .footer-contact{font-size:12px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;overflow-wrap:anywhere}
.unified-footer .footer-contact h3{margin-bottom:5px}
.unified-footer .footer-contact .text-link{color:#b6e7c0;font-size:12px}
.footer-social{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:10px;color:#b0d2bb}
.unified-footer .footer-bottom{font-size:10px;color:#aac7b3;flex-wrap:wrap}
.unified-footer .footer-legal{flex-wrap:wrap;gap:17px}
.footer-help{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
/* CME home art direction: wide photography, green glass card, original event visuals. */
.home-page.unified .home-hero{min-height:680px;display:flex;background:#082611}
.home-page.unified .hero-content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr);gap:7vw;align-items:center;padding-top:68px;padding-bottom:128px}
.home-page.unified .hero-copy{width:auto;max-width:880px}
.home-page.unified .hero-copy h1{font-size:clamp(50px,5.5vw,88px);line-height:1.06;letter-spacing:-.055em;font-weight:800;max-width:900px;text-wrap:balance;margin-bottom:28px}
.home-page.unified .hero-copy h1 span{color:#d8f5df}
.home-page.unified .hero-copy .lead{max-width:600px;font-size:16px;line-height:1.9;color:#e0ece3;margin-bottom:32px}
.home-page.unified .hero-copy .eyebrow{font-size:10px;letter-spacing:.16em;color:#c8e9d0}
.home-page.unified .hero-shade{background:linear-gradient(90deg,rgba(4,25,12,.95),rgba(7,35,18,.69) 47%,rgba(4,24,12,.24)),linear-gradient(0deg,rgba(5,26,13,.7),transparent 45%)}
.home-page.unified .hero-luxe-card{justify-self:end;margin:0;max-width:360px;width:100%;padding:30px 29px;border-radius:18px;background:linear-gradient(145deg,#ffffff1c,#ffffff09);border:1px solid #ffffff3a;box-shadow:0 22px 60px #0002;backdrop-filter:blur(16px)}
.home-page.unified .hero-luxe-card .eyebrow{font-size:9px;margin-bottom:28px;color:#d8f5df}
.hero-event-date{display:flex;align-items:center;gap:17px;margin-bottom:25px}
.hero-event-date>strong{font-size:88px;font-weight:750;letter-spacing:-.065em;line-height:.9;color:#fff}
.hero-event-date>span{font-size:14px;line-height:1.45;font-weight:600;letter-spacing:.08em;color:#c9e7d1}
.home-page.unified .hero-luxe-card h3{max-width:none;font-size:25px;letter-spacing:-.04em;margin:0 0 14px}
.home-page.unified .hero-luxe-card p{font-size:12px;color:#d4e7d8;line-height:1.8;margin-bottom:20px}
.hero-card-tag{display:block;font-size:10px;font-weight:600;color:#b7e9c2;border-top:1px solid #ffffff24;padding-top:18px;margin-top:22px}
.home-page.unified .hero-bottom{min-height:90px;background:none;backdrop-filter:none}
.home-page.unified .hero-bottom-note{font-size:10px;color:#b0c6b7}
.home-page.unified .hero-bottom>.small{font-size:11px;color:#d0e3d5}
.home-page.unified .hero-copy .btn-lime{background:#10BA26;color:#fff}
.home-page.unified .hero-copy .btn-lime:hover{background:#098c1c}
.unified .luxury-shell{gap:42px;padding:38px;border-radius:22px}
.unified .luxury-copy h2{font-size:clamp(31px,3.1vw,49px);line-height:1.15}
.unified .luxury-metric strong{font-size:38px}
.unified .luxury-metric span{font-size:11px;line-height:1.6}
.unified .luxury-metric small{font-size:10px;line-height:1.6}
/* Local navigation for the festival and all of its related pages. */
.festival-subnav{position:sticky;top:var(--header-height);z-index:45;background:#fff;border-bottom:1px solid #d7e7db;box-shadow:0 5px 18px #08261105;color:#143f23}
.festival-subnav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:66px}
.section-brand{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.4;font-weight:750;white-space:nowrap}
.section-brand>span{font-size:10px;color:#08751c;background:#e4f8e9;padding:4px 8px;border-radius:5px;font-weight:650}
.local-desktop{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:550}
.local-overview{padding:17px 0;display:inline-block}
.local-dropdown{position:relative}
.local-dropdown>summary,.local-mobile>summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none;font-size:12px;font-weight:600;padding:21px 0;line-height:1.8}
.local-dropdown>summary::-webkit-details-marker,.local-mobile>summary::-webkit-details-marker{display:none}
.local-dropdown>summary .icon,.local-mobile>summary .icon{width:13px;height:13px}
.local-panel{position:absolute;top:100%;left:-18px;width:264px;max-height:65vh;overflow:auto;display:grid;gap:3px;padding:12px;background:#fff;border:1px solid #d7e7db;border-radius:0 0 12px 12px;box-shadow:0 20px 40px #08261114}
.local-dropdown:not([open])>.local-panel{display:none}
.local-panel>a{font-size:12px;line-height:1.5;padding:11px 12px;white-space:normal;border-radius:6px;min-height:42px}
.local-panel>a:hover,.local-panel>a[aria-current=page]{color:#08751c;background:#effaf1}
.local-desktop>.local-dropdown:last-child .local-panel{left:auto;right:-15px}
.local-mobile{display:none}
/* KKC original content adopts the same typography, green palette, cards and spacing. */
.kkc-content{--green-950:#082611;--green-900:#0a3818;--green-800:#08751c;--green-700:#10ba26;--green-600:#b4edc0;--green-100:#e3f8e8;--green-050:#f8fdf9;--cream:#effaf1;--paper:#f8fdf9;--white:#fff;--ink:#12271a;--muted:#5b6c61;--black:#082611;--line:#d7e7db;--page-pad:var(--pad);--section-space:clamp(58px,6vw,96px);--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--font-sans:'Poppins',Arial,sans-serif;--font-serif:'Poppins',Arial,sans-serif;--shadow-sm:0 12px 34px #08261108;--shadow-md:0 24px 60px #08261110;font-family:var(--font-sans);font-size:16px;line-height:1.75;min-width:0;background:transparent;overflow:visible}
.kkc-content h1,.kkc-content h2,.kkc-content h3,.kkc-content h4{font-family:var(--font-sans);letter-spacing:-.04em;line-height:1.14;font-weight:750}
.kkc-content h1 em,.kkc-content h2 em,.kkc-content h3 em{font-style:normal;font-family:inherit;font-weight:inherit}
.kkc-content h2,.kkc-content .split__content h2,.kkc-content .section-heading h2,.kkc-content .faq-intro h2{font-size:clamp(30px,3.35vw,54px)}
.kkc-content h3{font-size:24px}
.kkc-content p{font-size:15px;line-height:1.9}
.kkc-content .section-kicker,.kkc-content .eyebrow{font-family:inherit;font-size:10px;letter-spacing:.16em;font-weight:700;line-height:1.7;color:#08751c}
.kkc-content .eyebrow:before{width:6px;height:6px;flex-shrink:0}
.kkc-content .section{padding-block:var(--section-space)}
.kkc-content .section--cream{background:#effaf1}
.kkc-content .section--black{background:linear-gradient(135deg,#082611,#0a3818);color:#fff}
.kkc-content .section--green{background:#0a3818;color:#fff}
.kkc-content .section--black .section-kicker,.kkc-content .section--green .section-kicker{color:#b8e8c3}
.kkc-content .section--black p,.kkc-content .section--green p{color:#d3e8da}
.kkc-content .button{font-size:13px;font-weight:650;line-height:1.4;padding:14px 22px;min-height:50px;border-radius:8px;gap:12px;white-space:normal;text-align:center;font-family:inherit}
.kkc-content .button--primary{background:#10ba26;color:#fff;border-color:#10ba26}
.kkc-content .button--primary:hover{background:#078b1b;color:#fff}
.kkc-content .button--white{background:white;color:#0a3818;border-color:#fff}
.kkc-content .button--dark{background:#0a3818;color:#fff;border-color:#0a3818}
.kkc-content .page-hero,.kkc-content .page-hero--compact{min-height:510px;background:#082611;display:flex;align-items:center}
.kkc-content .page-hero .page-hero__content,.kkc-content .page-hero--compact .page-hero__content{width:100%;max-width:none;margin:0;text-align:left;display:block;align-items:flex-start;padding:65px var(--pad) 70px}
.kkc-content .page-hero h1,.kkc-content .page-hero--compact h1,.kkc-content .page-hero--document h1{font-size:clamp(42px,5.25vw,80px);max-width:1070px;line-height:1.06;letter-spacing:-.05em;color:#fff;margin-bottom:23px}
.kkc-content .page-hero h1 em{color:#d8f5df}
.kkc-content .page-hero__lead{font-size:17px;line-height:1.85;max-width:760px;color:#e0ede4}
.kkc-content .page-hero .eyebrow{color:#c3e7ce;margin-bottom:20px}
.kkc-content .page-hero .button-row,.kkc-content .page-hero .breadcrumbs{justify-content:flex-start;text-align:left}
.kkc-content .page-hero__media::after{background:linear-gradient(90deg,#041a0be8,#062c11a1 52%,#062c1133),linear-gradient(0deg,#0826117a,transparent 65%)}
.kkc-content .breadcrumbs{font-size:11px;margin-bottom:28px;color:#d3e9da;line-height:1.7}
.kkc-content .breadcrumbs a{color:#d3e9da}
.kkc-content .split{gap:7vw}
.kkc-content .split__media img{min-height:0;height:450px;object-fit:cover;border-radius:16px}
.kkc-content .split__media:before{border-radius:18px;background:#e4f5e9;inset:25px -16px -20px 28px}
.kkc-content .split__content{max-width:850px}
.kkc-content .split__content .lead{font-size:17px;line-height:1.9}
.kkc-content .media-label{border-radius:10px;background:#10ba26;color:#fff;box-shadow:none}
.kkc-content .media-label strong{font-size:24px}
.kkc-content .directory-grid{gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.kkc-content .directory-card{border:1px solid #d7e7db;border-radius:14px;padding:28px 24px;background:#fff;box-shadow:none;min-width:0}
.kkc-content .directory-card>span{font-size:11px;color:#08751c}
.kkc-content .directory-card h3{font-size:21px;line-height:1.25;margin-bottom:14px}
.kkc-content .directory-card p{font-size:13px;line-height:1.8}
.kkc-content .directory-card>strong{font-size:12px;color:#08751c}
.kkc-content .directory-card:hover{border-color:#10ba26;box-shadow:0 15px 35px #08261109}
.kkc-content .feature-card,.kkc-content .value-card{border-radius:14px;box-shadow:none;padding:28px}
.kkc-content .feature-card h3,.kkc-content .value-card h3{font-size:23px;line-height:1.2}
.kkc-content .feature-card p,.kkc-content .value-card p{font-size:14px}
.kkc-content .info-strip{border-radius:16px}
.kkc-content .info-strip article{min-height:155px;padding:25px 28px}
.kkc-content .info-strip strong{font-size:24px;letter-spacing:-.03em}
.kkc-content .info-strip p{font-size:13px}
.kkc-content .info-strip span{color:#08751c}
.kkc-content .notice-banner{margin-top:30px;border-radius:12px;background:#e3f8e8;border:1px solid #c2eacb;padding-block:26px;gap:28px}
.kkc-content .notice-banner p{font-size:14px}
.kkc-content .fullbleed-feature{min-height:520px}
.kkc-content .fullbleed-feature h2{font-size:clamp(36px,4.2vw,68px)}
.kkc-content .fullbleed-feature .section-kicker,.kkc-content .fullbleed-feature .section-kicker--light{color:#c8e9d2}
.kkc-content .fullbleed-feature p{color:#e4eee7;max-width:620px}
.kkc-content .cta-band{margin:0;padding:46px 0;border-radius:0;background:linear-gradient(110deg,#082611,#08751c);color:#fff;display:block}
.kkc-content .cta-band h2{font-size:clamp(30px,3.2vw,49px);line-height:1.15}
.kkc-content .cta-band h2 em{color:#d8f5df}
.kkc-content .cta-band .container{width:100%;max-width:none}
.kkc-content .accordion details{border-color:#d7e7db;background:#fff;border-radius:10px;overflow:hidden}
.kkc-content .accordion summary{font-size:15px;line-height:1.6;font-weight:600;padding:20px 22px}
.kkc-content .accordion details>div{padding:0 22px 15px}
.kkc-content .accordion p{font-size:14px}
.kkc-content .timeline article{border-radius:14px}
.kkc-content .timeline article h3{font-size:23px;line-height:1.25}
.kkc-content .timeline time{color:#08751c}
.kkc-content .leader-card{border-radius:16px}
.kkc-content .leader-card__content h3{font-size:25px;line-height:1.25}
.kkc-content .leader-card__content p{font-size:14px}
.kkc-content .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kkc-content .partner-card{border:1px solid #d7e7db;border-radius:12px;background:#fff;box-shadow:none;min-height:165px;padding:22px}
.kkc-content .partner-card img{height:72px;max-width:175px;object-fit:contain}
.kkc-content .partner-card strong{font-size:12px}
.kkc-content .review-card{border-color:#d7e7db;box-shadow:none;border-radius:16px}
.kkc-content .review-card p{font-size:14px}
.kkc-content .review-slider__button{background:#0a3818;color:#fff;border-color:#0a3818}
.kkc-content .review-slider__dot.is-active{background:#10ba26}
.kkc-content .gallery-item{border-radius:12px}
.kkc-content .gallery-item span{font-size:12px;line-height:1.6}
.kkc-content .document-layout,.kkc-content .document-layout>*{min-width:0}
.kkc-content .document-article p,.kkc-content .document-article li{font-size:15px;line-height:1.85}
.kkc-content .contact-form{border-radius:14px}
.kkc-content .form-row input,.kkc-content .form-row select,.kkc-content .contact-form textarea{font-size:16px;min-width:0}
.kkc-content .text-link{color:#08751c;font-size:13px;line-height:1.6}
.kkc-content .festival-subnav{font-family:var(--font-sans)}
.kkc-content .section-brand{font-size:14px}
.kkc-content .local-panel a{font-size:12px}
/* Canonical Festival Wijkpark lead keeps the original CME split composition. */
.unified.festival-page .detail-hero{background:#082611;grid-template-columns:1.12fr 1fr;min-height:580px}
.unified.festival-page .detail-copy{padding-top:65px;padding-bottom:65px}
.unified.festival-page .festival-title{font-size:clamp(44px,5.2vw,82px);line-height:1.04;letter-spacing:-.055em;max-width:780px}
.festival-title>span{color:#d8f5df}
.unified.festival-page .detail-copy .lead{color:#d8e9df;font-size:16px;line-height:1.9;max-width:620px}
.unified.festival-page .detail-art{min-height:580px}
.unified.festival-page .facts-strip{background:#fff;border-color:#d7e7db}
.unified.festival-page .booking-box{top:calc(var(--header-height) + 85px)}
.festival-overview-label{margin-bottom:30px}
.unified .article-copy p{font-size:15px;line-height:1.9}
.unified .article-copy h2{font-size:clamp(30px,3vw,46px);line-height:1.2}
.connect-heading{background:#effaf1}
.connect-heading p{max-width:760px;color:var(--muted)}
/* Kabra Neti: midnight blue and pearl, using the CME page and card language. */
.kabra-page{--kabra:#005c97;--kabra-deep:#041b34;--kabra-light:#e9f4fa}
.kabra-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 35%,#0c5480 0,transparent 56%),linear-gradient(130deg,#031b32,#073857 75%,#082c49);color:#fff}
.kabra-orbit{position:absolute;width:880px;height:880px;border:1px solid #ffffff0e;border-radius:50%;left:-490px;top:-430px;box-shadow:0 0 0 90px #ffffff03,0 0 0 180px #ffffff02;z-index:-1}
.kabra-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8vw;align-items:center;padding-top:58px;padding-bottom:60px}
.kabra-copy{max-width:780px}
.kabra-copy .breadcrumb{color:#b7d5e7;font-size:11px;margin-bottom:34px}
.kabra-copy .eyebrow{color:#8acbe9;font-size:10px;letter-spacing:.17em;margin-bottom:25px}
.kabra-copy h1{font-size:clamp(92px,9.3vw,145px);letter-spacing:-.065em;line-height:.89;margin-bottom:30px;text-transform:none}
.kabra-copy h1>span{color:#d0ecfa}
.kabra-theme{font-size:clamp(22px,2.05vw,34px);font-weight:450;line-height:1.3;letter-spacing:-.035em;margin-bottom:23px;color:#d4e9f3}
.kabra-theme strong{color:#fff;font-weight:650}
.kabra-copy .lead{font-size:14px;line-height:1.9;color:#c8dee9;max-width:510px;margin-bottom:26px}
.kabra-copy .lead strong{font-weight:600;color:#e1eef6}
.btn-kabra{background:#d4ecf8;color:#063654;border-color:#d4ecf8}
.btn-kabra:hover{background:#fff}
.kabra-copy .button-row{gap:11px}
.kabra-copy .btn{font-size:12px;gap:14px;min-height:50px}
.edition-note{margin-top:24px;max-width:520px}
.edition-note .badge{color:#c0e3f5;border:1px solid #b9dced4d;background:#ffffff05;font-size:10px;padding:4px 11px}
.edition-note p{font-size:11px;line-height:1.8;color:#b6d2e3;max-width:460px;margin:9px 0 0}
.kabra-poster-frame{margin:0 auto;width:100%;max-width:438px;background:#ffffff08;padding:12px;border:1px solid #ffffff24;border-radius:14px;box-shadow:0 35px 80px #00132655;transform:rotate(2deg)}
.flyer-zoom{display:block;background:transparent;border:0;padding:0;width:100%;cursor:zoom-in;text-align:left;color:inherit}
.flyer-zoom>img{display:block;width:100%;height:auto;border-radius:6px}
.kabra-poster-frame figcaption{font-size:9px;color:#bdd6e4;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;line-height:1.6;margin:12px 3px 1px}
.kabra-subnav{background:#fff;border-bottom:1px solid #d7e7ef}
.kabra-subnav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:20px}
.kabra-subnav a{font-size:12px;color:#21506b;font-weight:600;line-height:1.8}
.kabra-subnav a:hover{color:#007bb4}
.kabra-facts{background:#f4f9fc;gap:24px;border-bottom-color:#dceaf1;align-items:start}
.kabra-facts .fact{gap:12px;min-width:0;display:flex;align-items:flex-start}
.kabra-facts .fact .icon{color:#1a668e;margin-top:4px;width:19px;height:19px}
.kabra-facts .fact span{font-size:9px;font-weight:600;letter-spacing:.05em;color:#647a89;display:block;line-height:1.5;margin-bottom:7px}
.kabra-facts .fact strong{font-size:13px;line-height:1.6;font-weight:650;color:#12364c;display:block}
.kabra-page .section-top h2{font-size:clamp(34px,3.8vw,59px);line-height:1.1;letter-spacing:-.045em}
.kabra-page main .section .eyebrow{color:#17688d}
.kabra-page .section-top>p{max-width:440px;color:#637782}
.kabra-intro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:43px}
.kabra-intro-cards article{border-top:1px solid #d4e4ed;padding:27px 18px 4px 0}
.kabra-num{font-size:11px;color:#357da1;font-weight:650;letter-spacing:.06em;display:block;margin-bottom:26px}
.kabra-intro-cards h3{font-size:24px;margin-bottom:15px}
.kabra-intro-cards p{font-size:14px;line-height:1.9;color:#637782;max-width:390px}
.kabra-program-section{background:#071f36;color:#fff}
.kabra-page .kabra-program-section .section-top>p{color:#bbd1df}
.kabra-page main .kabra-program-section .eyebrow{color:#8bbbd4}
.kabra-schedule{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:48px 0 32px}
.kabra-schedule article{padding:28px;border-radius:14px;background:#ffffff07;border:1px solid #ffffff18}
.kabra-schedule time{display:block;font-size:50px;line-height:1.1;font-weight:700;letter-spacing:-.04em;color:#d4ecf8;margin-bottom:21px}
.kabra-schedule h3{font-size:23px;margin-bottom:12px}
.kabra-schedule p{font-size:13px;line-height:1.8;color:#b8d0df;margin:0}
.kabra-program-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff24;border-left:1px solid #ffffff24}
.kabra-program-list>div{display:flex;gap:20px;align-items:center;padding:24px;border-right:1px solid #ffffff24;border-bottom:1px solid #ffffff24}
.kabra-program-list span{font-size:10px;letter-spacing:.08em;color:#80b4d1}
.kabra-program-list strong{font-weight:500;font-size:17px}
.music-callout{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:22px;margin-top:30px;padding:30px 0 0}
.music-callout>span{font-size:10px;letter-spacing:.18em;color:#9fc5db}
.music-callout>strong{font-size:clamp(30px,3.5vw,52px);line-height:1.2;letter-spacing:-.04em;font-weight:700}
.music-callout p{font-size:12px;line-height:1.8;color:#b2cbda;margin:0}
.participant-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:38px}
.participant-grid article{padding:25px 22px;border:1px solid #d9e8ef;border-radius:12px;background:#fff;min-width:0}
.participant-grid span{display:block;font-size:10px;color:#6e95aa;margin-bottom:28px}
.participant-grid h3{font-size:16px;line-height:1.5;letter-spacing:-.02em;font-weight:600;margin:0;overflow-wrap:break-word}
.kabra-practical{background:#eef6fa}
.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.practical-card{background:#fff;padding:31px;border-radius:14px;border:1px solid #d7e7ef}
.practical-card h3{font-size:30px;line-height:1.15;margin-bottom:24px}
.practical-card p{font-size:14px;color:#667a87;line-height:1.9}
.practical-card .text-link{color:#19688e;font-size:12px}
.practical-card .small{font-size:11px;line-height:1.8;margin-top:17px}
.archive-price{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;border-bottom:1px solid #e1ebf1;font-size:13px;color:#516d7e}
.archive-price strong{font-size:22px;color:#0a354f;white-space:nowrap}
.dresscode-swatches{display:flex;margin:6px 0 22px}
.dresscode-swatches span{width:52px;height:52px;border-radius:50%;border:1px solid #d9e4eb;box-shadow:0 3px 10px #001f3810;margin-right:-6px;background:white}
.dresscode-swatches span:nth-child(2){background:#0969ab;border-color:#0969ab}
.dresscode-swatches span:nth-child(3){background:#aeb9c1;border-color:#aeb9c1}
.respect-note{padding:34px;border:1px solid #c5dfe9;border-left:4px solid #297697;border-radius:12px;background:#e4f1f7;margin-top:28px;display:block}
.respect-note .eyebrow{margin-bottom:15px}
.respect-note h3{font-size:27px;line-height:1.2;margin-bottom:14px}
.respect-note p{font-size:14px;line-height:1.9;color:#496b7c;max-width:1060px;margin:0}
.kabra-flyer-section{background:#fff}
.kabra-flyer-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10vw;align-items:center}
.kabra-flyer-grid>figure{max-width:410px;width:100%;margin:0 auto}
.kabra-flyer-grid .flyer-zoom{box-shadow:0 15px 55px #05243f1c;border:8px solid #fff;border-radius:10px}
.kabra-flyer-grid figcaption{font-size:11px;line-height:1.8;margin-top:18px;color:#6b818d}
.kabra-flyer-grid h2{font-size:clamp(34px,3.8vw,59px);line-height:1.12;letter-spacing:-.05em}
.kabra-flyer-grid p{font-size:15px;line-height:1.95;color:#657a87}
.kabra-flyer-grid .archive-disclaimer{font-size:11px;margin-top:24px;line-height:1.8}
.kabra-contact-highlight{display:flex;justify-content:space-between;gap:40px;align-items:center;background:#eef6fa;padding:32px;border-radius:12px;border:1px solid #d3e5ee;margin-bottom:35px}
.kabra-contact-highlight>div{display:flex;flex-wrap:wrap;gap:10px 28px}
.kabra-contact-highlight span{flex-basis:100%;font-size:12px;color:#647f90;margin-bottom:6px}
.kabra-contact-highlight a{font-size:25px;font-weight:650;letter-spacing:-.025em;white-space:nowrap}
.kabra-contact-highlight p{font-size:13px;color:#4e6e81;line-height:1.9;margin:0}
.contacts-subtitle{font-size:24px;margin-bottom:24px}
.contact-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:22px}
.contact-person-grid article{padding:25px;border:1px solid #d7e7ef;border-radius:12px;background:#fff}
.contact-person-grid h4{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 13px;letter-spacing:-.01em}
.contact-person-grid a{font-size:16px;color:#216c93;white-space:nowrap}
/* A Kabra card complements, rather than replaces, the original CME event posters. */
.kabra-art{background:radial-gradient(ellipse at 95% 30%,#08699d,transparent 60%),#062943;color:#fff}
.kabra-card-type{position:absolute;inset:64px 0 0 23px;z-index:2;pointer-events:none;width:65%}
.kabra-card-type>span{font-size:7px;font-weight:600;letter-spacing:.12em;display:block;color:#b3d7ea;margin-bottom:10px}
.kabra-card-type>strong{font-size:clamp(42px,3.8vw,65px);line-height:.92;letter-spacing:-.055em;display:block;color:#f5fbff;font-weight:800}
.kabra-card-type>small{font-size:10px;line-height:1.4;display:block;margin-top:14px;color:#b9d7e8;max-width:180px}
.kabra-card-flyer{position:absolute;right:-22px;bottom:-51px;width:42%;transform:rotate(10deg);opacity:.75;box-shadow:0 10px 30px #0005}
.kabra-card .card-art .kabra-card-flyer img{width:100%;height:auto;object-fit:contain}
.kabra-card .art-tags{top:17px;left:20px;right:20px}
.archive-badge{background:#e7eff6;color:#0f4a70;border:1px solid #c6dcea}
.kabra-art .archive-badge{background:#d9eaf4;color:#124968;border:none}
.kabra-card .card-body .category{color:#276887}
.kabra-ticket .ticket-thumb img{object-fit:contain;background:#082d49}
.kabra-ticket .ticket-title h2{font-size:22px;line-height:1.2;margin:0 0 7px}
.kabra-ticket .ticket-title p{font-size:12px;line-height:1.7;margin:0;color:var(--muted)}
/* Universal image and help dialogs: keyboard accessible, no automatic third-party load. */
.media-lightbox{position:fixed;max-width:min(94vw,1400px);max-height:94dvh;width:fit-content;padding:24px 24px 15px;border:0;border-radius:14px;background:#071f16;color:#fff;box-shadow:0 30px 100px #0006;overflow:visible}
.media-lightbox::backdrop,.help-dialog::backdrop{background:#001309dc;backdrop-filter:blur(6px)}
.media-lightbox>img{max-width:min(88vw,1320px);max-height:82dvh;width:auto;height:auto;object-fit:contain;display:block;margin:auto;border-radius:6px}
.lightbox-close,.help-close{position:absolute;right:10px;top:10px;border-radius:50%;border:1px solid #ffffff55;background:#0a251dde;color:#fff;display:flex;align-items:center;justify-content:center;width:44px;height:44px;z-index:1}
.lightbox-caption{font-size:12px;line-height:1.6;margin:13px 0 0;color:#d8e8df;text-align:center;max-width:90vw}
.help-dialog{max-width:calc(100vw - 34px);width:600px;max-height:90dvh;overflow-y:auto;border:1px solid #d7e7db;border-radius:16px;padding:45px;background:#fff;box-shadow:0 30px 100px #0004;color:#12331f}
.help-close{background:#effaf1;border-color:#d7e7db;color:#133e23}
.help-dialog h2{font-size:32px;line-height:1.2;margin:0 0 20px;letter-spacing:-.04em;max-width:450px}
.help-dialog p{font-size:14px;line-height:1.9;color:#5b7263}
.help-dialog .eyebrow{color:#08751c;font-size:10px;margin-right:35px}
.back-top{position:fixed;bottom:22px;right:22px;width:44px;height:44px;border:1px solid #fff8;background:#0a3818;color:#fff;border-radius:50%;z-index:40;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 22px #0002}
.back-top .icon{transform:rotate(-90deg);width:20px;height:20px}
.feedback-draft{padding:24px;border-radius:12px;border:1px solid #c8e6d1;background:#f2fcf5;margin-top:20px}
.feedback-draft p{font-size:14px!important}
.feedback-draft textarea{width:100%;min-height:170px;resize:vertical;font:inherit;font-size:14px;padding:16px;background:#fff;border:1px solid #c8e6d1;border-radius:8px;margin-bottom:15px}
/* Responsive, including small devices and landscape navigation. */
@media(min-width:1181px){.unified .menu-toggle{display:none}.unified .nav{display:flex;position:static;visibility:visible;height:auto!important;inset:auto!important;max-height:none;overflow:visible;background:transparent;padding:0;box-shadow:none;flex-direction:row}.unified .dropdown>summary{padding-block:20px}}
@media(max-width:1370px) and (min-width:1181px){.unified .brand img{width:265px;height:75px}.unified .header-inner{gap:20px;height:94px}.unified .nav{gap:15px;font-size:11px}.unified .nav .btn{padding-inline:12px;font-size:10px;gap:6px}.unified .nav .btn .icon{width:16px}}
@media(max-width:1180px){
.unified .header-inner{height:94px;gap:20px}.unified .brand img{width:285px;height:78px}.unified .menu-toggle{display:flex;width:46px;height:46px}.unified .nav{font-size:14px}
.js .unified .header .nav{display:none;position:fixed;left:0;right:0;top:var(--header-height);height:calc(100dvh - var(--header-height));max-height:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:18px var(--pad) max(30px,env(safe-area-inset-bottom));box-shadow:0 10px 35px #08261112;visibility:visible}
.js .unified .header .nav.is-open{display:flex;flex-wrap:nowrap}.unified .nav>a:not(.btn){padding:15px 0;border-bottom:1px solid #edf3ef;min-height:51px}.unified .nav>.dropdown>summary{padding:15px 0;font-size:14px;justify-content:space-between;min-height:52px;border-bottom:1px solid #edf3ef}.unified .nav>.dropdown>summary .icon{width:15px;height:15px}
.unified .dropdown-panel,.unified .dropdown-mega>.mega-panel{position:static;left:auto;right:auto;top:auto;width:100%;padding:8px 12px 16px;background:#f7fcf8;border:0;border-radius:8px;box-shadow:none;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr;gap:12px}
.unified .dropdown:not([open])>.dropdown-panel{display:none}.unified .mega-label{padding:14px 10px 5px;font-size:10px}.unified .dropdown-panel a{font-size:13px;padding:12px 10px;min-height:44px}.unified .nav .btn{margin:24px 0 0;min-height:52px;font-size:13px;gap:13px;align-self:stretch}
.no-js .unified .header-inner{height:auto;flex-wrap:wrap;padding-block:12px}.no-js .unified .menu-toggle{display:none}.no-js .unified .nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;padding-bottom:14px}.no-js .unified .header{position:relative}
.unified-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.unified-footer .footer-about{grid-row:span 2}.unified-footer .footer-contact{grid-column:3}.unified .home-hero .hero-content{gap:35px;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr)}.home-page.unified .hero-copy h1{font-size:clamp(47px,5.5vw,72px)}.home-page.unified .hero-luxe-card{padding:25px}.home-page.unified .hero-copy .lead{font-size:15px}.home-page.unified .hero-bottom>.small{display:none}.unified .luxury-shell{grid-template-columns:1fr}.kkc-content .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kkc-content .feature-grid,.kkc-content .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-desktop{gap:20px}.kabra-hero-grid{gap:6vw}.kabra-copy h1{font-size:110px}.kabra-poster-frame{max-width:380px}.kabra-copy .lead{font-size:13px}.participant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practical-card{padding:25px}.practical-card h3{font-size:25px}.kabra-card-type>strong{font-size:44px}.kabra-card-type>small{font-size:9px}.kabra-card-type>span{font-size:6px}.kabra-card-type{inset:60px 0 0 19px}
}
@media(max-width:900px){
.home-page.unified .home-hero{min-height:0}.home-page.unified .hero-content{grid-template-columns:1fr;padding-top:48px;padding-bottom:36px;gap:34px}.home-page.unified .hero-copy{width:100%;max-width:700px}.home-page.unified .hero-copy h1{font-size:clamp(47px,7.7vw,70px);max-width:750px}.home-page.unified .hero-luxe-card{justify-self:start;width:100%;max-width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 28px;padding:25px}.hero-luxe-card>.eyebrow{grid-column:1/-1;margin-bottom:7px!important}.hero-event-date{grid-column:1;grid-row:2/5;margin:0}.hero-event-date>strong{font-size:74px}.hero-event-date>span{font-size:12px}.home-page.unified .hero-luxe-card h3{grid-column:2;margin:0}.home-page.unified .hero-luxe-card p{grid-column:2;margin:0;font-size:12px}.hero-luxe-card>.text-link{grid-column:2;justify-self:start;font-size:12px}.hero-card-tag{grid-column:1/-1;margin-top:8px;padding-top:12px}.home-page.unified .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin-inline:var(--pad);padding:20px 0}.home-page.unified .hero-bottom-note{font-size:9px}.home-page.unified .hero-copy .button-row{gap:12px}.home-page.unified .hero-photo{object-position:57% 50%}
.festival-subnav{position:relative;top:auto;z-index:35}.local-desktop{display:none}.local-mobile{display:block;position:relative}.local-mobile>summary{padding:18px 0;font-size:12px}.local-mobile-panel{position:absolute;right:0;top:100%;width:min(340px,88vw);padding:14px 20px;background:#fff;border:1px solid #d7e7db;border-radius:0 0 12px 12px;box-shadow:0 20px 45px #0826111c;max-height:70dvh;overflow:auto;z-index:45}.local-mobile:not([open])>.local-mobile-panel{display:none}.local-mobile-panel>.local-overview{display:block;border-bottom:1px solid #e2eee6;font-size:13px;padding:12px 0}.local-mobile-panel .local-dropdown>summary{padding:13px 0;justify-content:space-between}.local-mobile-panel .local-panel{position:static;width:100%;border:0;box-shadow:none;background:#effaf1;padding:8px;border-radius:8px;max-height:none}.festival-subnav>.wrap{min-height:60px}.section-brand{font-size:12px}.section-brand>span{font-size:9px}.kkc-content .section-brand{font-size:12px}
.kkc-content .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kkc-content .section-heading p{max-width:760px}.kkc-content .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kkc-content .page-hero,.kkc-content .page-hero--compact{min-height:480px}.kkc-content .split__media img{height:430px}.kkc-content .notice-banner{flex-direction:column;align-items:flex-start}.kkc-content .cta-band__inner{align-items:flex-start;gap:25px}.kkc-content .fullbleed-feature{min-height:470px}
.unified.festival-page .detail-hero{grid-template-columns:1fr}.unified.festival-page .detail-copy{padding:47px var(--pad)}.unified.festival-page .festival-title{font-size:clamp(45px,7vw,70px);max-width:900px}.unified.festival-page .detail-art{min-height:370px;height:370px}.unified.festival-page .booking-box{position:static}.unified.festival-page .detail-aside{grid-row:auto}.unified.festival-page .facts-strip{gap:22px}.unified .article-copy p{font-size:15px}.unified .contact-grid{gap:44px}
.kabra-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:30px;padding-block:44px}.kabra-copy h1{font-size:92px}.kabra-copy .eyebrow{font-size:8px}.kabra-copy .breadcrumb{font-size:10px;margin-bottom:24px}.kabra-theme{font-size:23px}.kabra-copy .btn{padding:12px 14px;font-size:11px}.kabra-poster-frame{padding:8px;transform:rotate(1.5deg)}.kabra-poster-frame figcaption{font-size:8px}.kabra-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.kabra-subnav>.wrap{gap:14px 25px;justify-content:flex-start}.kabra-subnav a{font-size:11px}.kabra-intro-cards{gap:20px}.kabra-schedule{gap:15px}.kabra-schedule article{padding:24px}.kabra-schedule time{font-size:42px}.kabra-schedule h3{font-size:20px}.practical-grid{grid-template-columns:1fr}.practical-card{padding:30px}.practical-card h3{font-size:30px}.practical-card .small{max-width:550px}.archive-price{max-width:440px}.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-callout{grid-template-columns:1fr 2fr}.music-callout p{grid-column:2}.kabra-flyer-grid{gap:5vw}.kabra-flyer-grid h2{font-size:34px}.kabra-flyer-grid .button-row{gap:11px}.kabra-flyer-grid .btn{font-size:11px;padding-inline:15px;gap:10px}.contact-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kabra-contact-highlight{flex-direction:column;align-items:flex-start;gap:24px}.kabra-contact-highlight a{font-size:23px}.kabra-card-type>strong{font-size:56px}.kabra-card-type>span{font-size:7px}.kabra-card-type>small{font-size:10px}
}
@media(max-width:640px){
:root{--pad:max(20px,5vw,env(safe-area-inset-left),env(safe-area-inset-right))}
.unified .header-inner{height:86px;gap:16px}.unified .brand img{width:240px;height:68px}.unified .menu-toggle{width:43px;height:43px;border-radius:8px}.unified .topbar{font-size:7px;letter-spacing:.09em;padding-block:7px;justify-content:center;line-height:1.65}.unified .topbar>a{display:none}.unified .nav>.dropdown>summary{font-size:14px}.unified .section{padding-block:48px}.unified .section-top{gap:20px}.unified .section-top p{font-size:14px;line-height:1.85}.unified .eyebrow{font-size:10px;letter-spacing:.12em}.unified .page-top h1{font-size:39px;line-height:1.1;letter-spacing:-.045em;overflow-wrap:break-word}.unified .page-top p{font-size:15px;line-height:1.9}.unified .btn{font-size:13px;min-height:48px;padding:13px 19px}.unified .event-grid{gap:26px}.unified .event-card{border-radius:14px}.unified .card-body{padding:25px 22px}.unified .card-body h3{font-size:25px;min-height:0}.unified .card-body p{font-size:14px;line-height:1.85}.unified .card-info{font-size:12px}.unified .card-footer a{font-size:11px;gap:6px}.unified .card-footer .icon{width:15px;height:15px}.unified .filter-row{gap:7px}.unified .filter-btn{font-size:11px;padding:10px 14px;min-height:41px}.unified .filter-count{font-size:11px;line-height:1.8}.unified .cta-band{padding:30px 25px;gap:23px;border-radius:14px;margin-bottom:45px}.unified .cta-band h2{font-size:31px;line-height:1.15}.unified .cta-band p{font-size:13px}.unified .prose h2{font-size:27px}.unified .prose p,.unified .prose li{font-size:15px}.unified .contact-block .text-link{font-size:13px}.unified .contact-form{padding:25px 22px}.unified .contact-form h2{font-size:30px}.unified .form-grid{gap:18px}
.home-page.unified .hero-content{padding-top:37px;gap:30px;padding-bottom:28px}.home-page.unified .hero-copy h1{font-size:clamp(38px,9.5vw,58px);line-height:1.08;letter-spacing:-.048em;margin-bottom:23px;text-wrap:initial;max-width:100%}.home-page.unified .hero-copy .lead{font-size:14px;line-height:1.9;max-width:none;margin-bottom:25px}.home-page.unified .hero-copy .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:20px;line-height:1.8}.home-page.unified .hero-copy .button-row{display:grid;grid-template-columns:1fr}.home-page.unified .hero-copy .btn{width:100%;justify-content:space-between;font-size:12px;padding-inline:19px;min-height:49px}.home-page.unified .hero-luxe-card{grid-template-columns:auto minmax(0,1fr);gap:8px 22px;padding:23px}.home-page.unified .hero-luxe-card .eyebrow{font-size:8px}.hero-event-date{gap:11px;flex-direction:column;align-items:flex-start}.hero-event-date>strong{font-size:59px}.hero-event-date>span{font-size:10px;letter-spacing:.07em}.hero-event-date>span br{display:none}.home-page.unified .hero-luxe-card h3{font-size:21px;line-height:1.15;align-self:end;margin:0}.home-page.unified .hero-luxe-card p{font-size:11px;line-height:1.7}.home-page.unified .hero-luxe-card .text-link{font-size:11px;line-height:1.6;padding-block:5px}.hero-card-tag{font-size:9px;margin-top:9px;padding-top:13px}.home-page.unified .hero-bottom{padding-block:17px;display:block}.home-page.unified .next-event{grid-template-columns:auto minmax(0,1fr) 38px;gap:12px}.home-page.unified .next-event .date{font-size:24px}.home-page.unified .next-event strong{font-size:11px;line-height:1.5}.home-page.unified .next-event .small{font-size:10px}.home-page.unified .next-event a{width:38px;height:38px}.home-page.unified .hero-bottom-note{display:block;margin-top:12px;font-size:8px;opacity:.8}.unified .ticker{font-size:10px;gap:22px;padding:15px 20px;justify-content:flex-start}.unified .luxury-shell{padding:25px 23px;gap:27px}.unified .luxury-copy h2{font-size:31px}.unified .luxury-copy p{font-size:14px;line-height:1.85}.unified .luxury-pills span{font-size:9px;white-space:normal}.unified .luxury-metrics{grid-template-columns:1fr;gap:12px}.unified .luxury-metric{display:grid;grid-template-columns:100px minmax(0,1fr);padding:19px;gap:0 12px;align-items:center}.unified .luxury-metric strong{grid-row:1/3;margin:0;font-size:30px}.unified .luxury-metric span{font-size:11px}.unified .luxury-metric small{font-size:9px}
.unified .unified-footer{padding-top:42px}.unified-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 24px;padding-bottom:35px}.unified-footer .footer-about{grid-column:1/-1;grid-row:auto}.footer-brand{width:290px;padding:12px}.unified-footer .footer-about p{max-width:320px;font-size:14px}.unified-footer .footer-contact{grid-column:auto;gap:11px;font-size:11px}.unified-footer h3{font-size:11px;margin-bottom:18px}.unified-footer .footer-links{font-size:11px;gap:10px;line-height:1.8}.footer-social{font-size:11px;gap:19px}.unified-footer .footer-bottom{font-size:10px;gap:16px}.unified-footer .footer-legal{gap:12px 18px;font-size:10px}
.kkc-content{--section-space:48px}.kkc-content .section{padding-block:48px}.kkc-content .page-hero,.kkc-content .page-hero--compact{min-height:460px}.kkc-content .page-hero .page-hero__content,.kkc-content .page-hero--compact .page-hero__content{padding-top:35px;padding-bottom:44px}.kkc-content .page-hero h1,.kkc-content .page-hero--compact h1,.kkc-content .page-hero--document h1{font-size:clamp(37px,9.8vw,58px);line-height:1.1;max-width:100%;overflow-wrap:break-word}.kkc-content .page-hero .eyebrow{font-size:9px}.kkc-content .page-hero__lead{font-size:15px;line-height:1.85;max-width:none}.kkc-content .breadcrumbs{font-size:10px;margin-bottom:25px}.kkc-content .button{font-size:12px;padding:14px 18px;min-height:48px}.kkc-content .page-hero .button-row{display:grid;grid-template-columns:1fr;width:100%}.kkc-content h2,.kkc-content .split__content h2,.kkc-content .section-heading h2,.kkc-content .faq-intro h2{font-size:31px;line-height:1.16;letter-spacing:-.04em}.kkc-content p{font-size:14px;line-height:1.9}.kkc-content .split__content .lead{font-size:15px}.kkc-content .section-heading{gap:20px;margin-bottom:28px}.kkc-content .section-heading>p{font-size:14px}.kkc-content .split{gap:38px}.kkc-content .split__media img{height:330px;min-height:0;border-radius:14px}.kkc-content .split__media::before{inset:16px -6px -13px 20px}.kkc-content .media-label{right:9px;bottom:15px;padding:15px 18px}.kkc-content .media-label strong{font-size:22px}.kkc-content .directory-grid{grid-template-columns:1fr;gap:14px}.kkc-content .directory-card{padding:25px 23px;border-radius:12px}.kkc-content .directory-card h3{font-size:22px;line-height:1.2;margin-bottom:11px}.kkc-content .directory-card>span{font-size:10px}.kkc-content .directory-card p{font-size:14px}.kkc-content .feature-grid,.kkc-content .value-grid{grid-template-columns:1fr;gap:17px}.kkc-content .feature-card,.kkc-content .value-card{padding:28px}.kkc-content .feature-card h3{font-size:24px}.kkc-content .info-strip{padding-inline:var(--pad);background:transparent;border:0;border-radius:0}.kkc-content .info-strip article{padding:26px 22px;min-height:0;border:1px solid #d7e7db;border-bottom:0;border-radius:0}.kkc-content .info-strip article:first-child{border-radius:12px 12px 0 0}.kkc-content .info-strip article:last-child{border-bottom:1px solid #d7e7db;border-radius:0 0 12px 12px}.kkc-content .info-strip strong{font-size:22px}.kkc-content .info-strip p{font-size:13px}.kkc-content .notice-banner{margin-top:28px;padding-block:26px;gap:20px;max-width:100%;border-radius:0;border-inline:0}.kkc-content .notice-banner p{font-size:13px}.kkc-content .fullbleed-feature{min-height:470px}.kkc-content .fullbleed-feature__content{padding-block:55px}.kkc-content .fullbleed-feature h2{font-size:35px}.kkc-content .fullbleed-feature p{font-size:14px}.kkc-content .cta-band{padding:35px 0;margin:0;border-radius:0}.kkc-content .cta-band__inner{flex-direction:column;align-items:flex-start;gap:25px}.kkc-content .cta-band h2{font-size:31px}.kkc-content .accordion summary{font-size:14px;padding:19px 20px}.kkc-content .accordion details>div{padding:0 20px 13px}.kkc-content .accordion p{font-size:14px}.kkc-content .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.kkc-content .partner-card{padding:18px 12px;min-height:145px;gap:13px}.kkc-content .partner-card img{max-width:100%;height:63px}.kkc-content .partner-card strong{font-size:10px;line-height:1.5}.kkc-content .timeline article h3{font-size:24px}.kkc-content .timeline article p{font-size:14px}.kkc-content .leader-card__content h3{font-size:24px}.kkc-content .review-card p{font-size:14px}.kkc-content .gallery-item span{font-size:11px}.kkc-content .contact-layout{gap:32px}.kkc-content .check-list li{font-size:14px}.kkc-content .document-article p,.kkc-content .document-article li{font-size:14px;line-height:1.9}.festival-subnav>.wrap{gap:12px}.section-brand,.kkc-content .section-brand{font-size:11px;gap:7px}.local-mobile>summary{font-size:11px;gap:7px}.local-mobile>summary .icon{width:12px}
.unified.festival-page .detail-copy{padding-top:35px;padding-bottom:38px}.unified.festival-page .festival-title{font-size:clamp(40px,10.5vw,60px);line-height:1.06;letter-spacing:-.05em}.unified.festival-page .detail-copy .lead{font-size:14px;line-height:1.9}.unified.festival-page .detail-copy .eyebrow{font-size:8px}.unified.festival-page .detail-art{min-height:275px;height:275px}.unified.festival-page .facts-strip{padding-block:25px;gap:21px 12px}.unified.festival-page .fact strong{font-size:12px;line-height:1.6}.unified.festival-page .fact{gap:9px}.unified.festival-page .fact .icon{width:17px;height:17px}.unified.festival-page .fact span{font-size:9px}.unified .article-copy h2{font-size:31px}.unified .article-copy p{font-size:14px}.festival-overview-label{margin-bottom:24px}
.kabra-hero-grid{grid-template-columns:1fr;gap:38px;padding-top:32px;padding-bottom:39px}.kabra-copy h1{font-size:94px;line-height:.88;letter-spacing:-.06em;margin-bottom:25px}.kabra-copy .breadcrumb{font-size:9px;margin-bottom:27px}.kabra-copy .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:23px}.kabra-theme{font-size:25px;line-height:1.28;margin-bottom:20px}.kabra-copy .lead{font-size:14px;line-height:1.9;max-width:none}.kabra-copy .button-row{display:grid;grid-template-columns:1fr;gap:11px}.kabra-copy .btn{justify-content:space-between;padding:14px 19px;min-height:49px;font-size:12px}.edition-note{margin-top:24px}.edition-note p{font-size:11px;line-height:1.8}.kabra-poster-frame{max-width:350px;transform:rotate(1deg);padding:10px}.kabra-poster-frame figcaption{font-size:8px;line-height:1.6}.kabra-subnav>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 13px;padding-block:19px}.kabra-subnav a{font-size:10px;line-height:1.6;min-height:30px;display:flex;align-items:center}.kabra-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:25px;gap:25px 15px}.kabra-facts .fact{gap:9px}.kabra-facts .fact .icon{width:16px;height:16px}.kabra-facts .fact strong{font-size:11px;line-height:1.6}.kabra-facts .fact span{font-size:8px;line-height:1.5}.kabra-page .section-top h2{font-size:33px;line-height:1.12}.kabra-page .section-top>p{font-size:14px;line-height:1.9}.kabra-intro-cards{grid-template-columns:1fr;gap:10px;margin-top:28px}.kabra-intro-cards article{padding:22px 0 8px}.kabra-num{margin-bottom:19px}.kabra-intro-cards h3{font-size:25px}.kabra-intro-cards p{font-size:14px;max-width:none}.kabra-schedule{grid-template-columns:1fr;gap:15px;margin-top:32px}.kabra-schedule article{display:grid;grid-template-columns:88px minmax(0,1fr);gap:6px 18px;padding:24px}.kabra-schedule time{grid-row:1/3;font-size:34px;letter-spacing:-.03em;line-height:1.2;margin:0}.kabra-schedule h3{font-size:20px;line-height:1.3;margin:0}.kabra-schedule p{font-size:12px;line-height:1.8;margin:0}.kabra-program-list{grid-template-columns:1fr}.kabra-program-list>div{padding:20px 23px;gap:25px}.kabra-program-list strong{font-size:17px}.music-callout{display:block;margin-top:25px;padding-top:15px}.music-callout>span{display:block;margin-bottom:15px;font-size:9px}.music-callout>strong{font-size:36px;display:block;margin-bottom:14px}.music-callout p{font-size:12px}.participant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:27px}.participant-grid article{padding:23px 18px;min-height:145px}.participant-grid h3{font-size:14px;line-height:1.5}.participant-grid span{margin-bottom:20px}.practical-grid{gap:18px;margin-top:28px}.practical-card{padding:28px 25px}.practical-card h3{font-size:29px}.practical-card .eyebrow{font-size:9px}.practical-card p{font-size:14px}.respect-note{padding:26px 23px;margin-top:22px}.respect-note h3{font-size:26px;line-height:1.2}.respect-note p{font-size:13px;line-height:1.9}.kabra-flyer-grid{grid-template-columns:1fr;gap:36px}.kabra-flyer-grid>figure{max-width:320px}.kabra-flyer-grid>div{grid-row:1}.kabra-flyer-grid h2{font-size:33px}.kabra-flyer-grid p{font-size:14px}.kabra-flyer-grid .btn{font-size:12px;padding:13px 16px;gap:12px}.kabra-contact-highlight{padding:27px 23px;gap:22px;margin-bottom:28px}.kabra-contact-highlight>div{gap:10px 20px}.kabra-contact-highlight span{font-size:11px}.kabra-contact-highlight a{font-size:24px}.kabra-contact-highlight p{font-size:12px}.contacts-subtitle{font-size:23px;line-height:1.2}.contact-person-grid{grid-template-columns:1fr;gap:13px}.contact-person-grid article{padding:23px}.contact-person-grid h4{font-size:15px}.contact-person-grid a{font-size:16px}.kabra-card-type{inset:63px 0 0 21px}.kabra-card-type>strong{font-size:clamp(47px,15vw,70px)}.kabra-card-type>span{font-size:6px;margin-bottom:8px}.kabra-card-type>small{font-size:9px;margin-top:12px}.kabra-card-flyer{width:44%;bottom:-56px}.kabra-ticket .ticket-title h2{font-size:22px}
.media-lightbox{max-width:96vw;padding:10px 10px 12px;border-radius:10px}.media-lightbox>img{max-width:90vw;max-height:80dvh;border-radius:4px}.lightbox-caption{font-size:10px;max-width:88vw;margin-top:11px}.lightbox-close{top:7px;right:7px;width:42px;height:42px}.help-dialog{padding:48px 25px 30px}.help-dialog h2{font-size:28px}.help-dialog p{font-size:14px}.help-dialog .button-row{display:grid;grid-template-columns:1fr;gap:13px}.back-top{width:40px;height:40px;bottom:17px;right:17px}
}
@media(max-width:360px){.unified .brand img{width:204px;height:61px}.unified .header-inner{height:78px;gap:13px}.unified .menu-toggle{width:41px;height:41px}.unified .topbar{font-size:6.5px;letter-spacing:.05em}.home-page.unified .hero-copy h1{font-size:36px}.home-page.unified .hero-luxe-card{padding:21px;gap:7px 17px}.home-page.unified .hero-luxe-card h3{font-size:19px}.hero-event-date>strong{font-size:54px}.hero-event-date>span{font-size:9px}.unified .card-footer a{font-size:10px}.kabra-card-type>strong{font-size:45px}.kabra-card-type>small{margin-top:9px;font-size:8px}.kabra-card-type{inset:58px 0 0 18px}.unified .kabra-card .badge{font-size:8px;min-height:25px;padding:4px 8px}.kabra-card .art-tags{left:18px;right:17px}.participant-grid{grid-template-columns:1fr}.kabra-subnav>.wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.unified-footer .footer-grid{grid-template-columns:1fr}.unified-footer .footer-contact{grid-column:auto}.section-brand>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.event-card:hover{transform:none}}
@media print{.unified .header,.unified .topbar,.unified-footer,.festival-subnav,.kabra-subnav,.back-top,.media-lightbox,.help-dialog{display:none!important}body.unified{background:#fff;color:#000}.kabra-hero,.kabra-program-section{color:#000;background:#fff}.kabra-copy h1,.kabra-copy h1 span,.kabra-theme,.kabra-theme strong,.kabra-copy .lead,.kabra-copy .lead strong{color:#000}.kabra-poster-frame{transform:none}.kkc-content .page-hero{background:#fff;min-height:0}.kkc-content .page-hero__media{display:none}.kkc-content .page-hero h1,.kkc-content .page-hero h1 em,.kkc-content .page-hero__lead{color:#000}.section{break-inside:auto}.practical-card,.participant-grid article{break-inside:avoid}.button-row{display:none!important}}

/* Final cross-theme safeguards for the shared navigation and festival actions. */
body.unified .topbar{background:linear-gradient(90deg,#082611,#0a3818 65%,#08751c)!important}
body.unified .unified-footer{background:linear-gradient(125deg,#061c0d,#0a3818)!important}
body.unified.festival-page .detail-copy .btn-lime{background:#10BA26!important;color:#fff!important;border-color:#10BA26!important}
body.unified.festival-page .detail-copy .btn-lime:hover{background:#08751c!important;border-color:#08751c!important}
body.unified.festival-page .detail-copy .btn-light-outline{background:transparent!important;color:#fff!important;border-color:#ffffff88!important}
body.unified.festival-page .detail-copy .btn-light-outline:hover{background:#ffffff16!important;border-color:#fff!important}
/* Permit long Dutch legal terms to wrap within narrow phone viewports. */
body.unified .kkc-content .legal-document{grid-template-columns:minmax(0,1fr);min-width:0}
body.unified .kkc-content .legal-document>section{min-width:0;overflow-wrap:anywhere}

.feedback-fields{margin:0;padding:0;border:0;min-width:0;display:grid;gap:20px}
.no-js [data-help-open],.no-js .back-top{display:none!important}

/* KKC v14: black shared-header ticket button only.
   Homepage hero ticket button and other page actions keep their own colours. */
body.unified .header .nav > a.btn[href="tickets.html"],
body.unified .header .nav > a.btn[href="tickets.html"]:is(:link, :visited, :hover, :focus, :focus-visible, :active) {
  background: #000;
  border-color: #000;
  color: #fff;
}
body.unified .header .nav > a.btn[href="tickets.html"] .icon {
  color: #fff;
}
body.unified .header .nav > a.btn[href="tickets.html"]:focus-visible {
  outline: 2px solid #10BA26;
  outline-offset: 4px;
}

/* v16: temporarily hidden event cards/navigation remain in inert templates.
   No scripts are needed to hide them, including when JavaScript is disabled. */
template[data-kkc-hidden-event],
template[data-kkc-hidden-group],
template[data-kkc-hidden-filter] { display: none !important; }
/* Let the remaining tiles fill the overview without empty grid columns. */
.unified .event-grid.kkc-events-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.unified .event-grid.kkc-events-one { grid-template-columns: minmax(0, 1fr); max-width: 740px; }
@media (max-width: 640px) {
  .unified .event-grid.kkc-events-two { grid-template-columns: minmax(0, 1fr); }
}
