/* Event additions; existing site colours, fonts and navigation are retained. */
html.ko-dialog-open{overflow:hidden}
.ko-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:22px}
.ko-text-link{color:var(--green);text-underline-offset:5px;text-decoration-thickness:1px;font-weight:600;line-height:1.6}
.ko-home-event{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:28px;align-items:start}
.ko-home-poster{display:block}
.ko-home-poster img{display:block;width:100%;height:auto;border:1px solid var(--ink)}
.ko-home-event .where{font-size:14px;line-height:1.7;margin:12px 0;color:var(--green)}
.ko-home-event .btn{padding:13px 18px;letter-spacing:.08em}
.ko-kicker{font:700 12px/1.6 var(--body);letter-spacing:.16em;text-transform:uppercase}
.ko-contact-event{padding:40px 0;background:var(--paper-warm);border-bottom:1px solid var(--green)}
.ko-contact-event>.wrap{display:flex;gap:28px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ko-contact-event h2{font:700 clamp(1.7rem,4vw,2.5rem)/1.15 var(--head);margin:8px 0 12px;letter-spacing:-.03em}
.ko-contact-event p{line-height:1.6}
.sheet .card{max-height:calc(100dvh - 40px);overflow-y:auto}
.sheet dl{row-gap:8px}
.sheet .acts{flex-wrap:wrap}
.sheet .acts a{max-width:100%}
.ko-events *{box-sizing:border-box}
.ko-events{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased}
.ko-events h1,.ko-events h2,.ko-events h3,.ko-events h4,.ko-events p,.ko-events figure,.ko-events dl,.ko-events dd{margin:0}
.ko-events .wrap{max-width:1140px;margin:0 auto;padding-left:28px;padding-right:28px}
.ko-events a:focus-visible{outline:3px solid var(--turmeric);outline-offset:6px}
.ko-skip{position:fixed;left:20px;top:-100px;padding:12px 18px;background:var(--turmeric);color:var(--ink);z-index:200}
.ko-skip:focus{top:10px}
.ko-events-heading{padding-top:58px;padding-bottom:48px}
.ko-events-heading .ko-kicker{color:var(--green)}
.ko-events-heading h1{font:700 clamp(3.2rem,7.7vw,6rem)/1.02 var(--head);letter-spacing:-.05em;margin:14px 0 18px}
.ko-events-heading>p:not(.ko-kicker){font-size:18px;max-width:52ch}
.ko-events-heading .ko-malayalam{font-family:var(--mal);color:var(--green);margin-top:8px;font-size:16px}
.ko-heading-registration{display:none}
.ko-current{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;align-items:start;padding-top:40px;padding-bottom:76px;border-top:2px solid var(--ink);scroll-margin-top:88px}
.ko-poster img{display:block;width:100%;height:auto;border:1px solid rgba(25,21,16,.4)}
.ko-poster figcaption{font:500 12px/1.6 var(--body);margin-top:12px;letter-spacing:.035em;color:var(--green)}
.ko-edition-line{display:flex;align-items:center;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}
.ko-status{display:inline-block;border:1px solid currentColor;padding:4px 9px;letter-spacing:.05em}
.ko-event-copy h2{font:700 clamp(3rem,5.5vw,4.8rem)/1.03 var(--head);letter-spacing:-.045em;margin-bottom:18px}
.ko-event-copy .ko-deck{font:500 22px/1.45 var(--head);max-width:29ch;margin:0 0 24px}
.ko-facts{padding:18px 0;border-top:1px solid rgba(11,79,58,.3);border-bottom:1px solid rgba(11,79,58,.3);margin:0 0 24px!important}
.ko-facts>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:14px;margin:6px 0}
.ko-facts dt{font-size:13px;font-weight:600;color:var(--green)}
.ko-facts dd{font-size:15px;font-weight:600}
.ko-event-copy>p{font-size:16px;line-height:1.8;margin-bottom:16px}
.ko-registration{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 22px}
.ko-registration .btn-max{padding:16px 22px;letter-spacing:.07em;font-size:14px;line-height:1.4}
.ko-registration .ko-small{font-size:12px;line-height:1.6;max-width:25ch;margin-top:14px;color:#59564c}
.ko-qr{flex:none;width:115px;text-align:center;color:var(--green);text-decoration:none;font-size:12px;line-height:1.5}
.ko-qr img{display:block;width:115px;height:115px;object-fit:contain;background:white;border:6px solid white;margin-bottom:6px}
.ko-event-copy .ko-presenter{font-size:12px;color:#59564c;margin:20px 0 0}
.ko-archive{background:var(--green);color:var(--paper);padding:68px 0 76px;scroll-margin-top:72px}
.ko-archive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:62px;align-items:start}
.ko-archive .ko-edition-line,.ko-archive .ko-facts dt{color:var(--turmeric)}
.ko-archive .ko-event-copy h2{font-size:clamp(2.9rem,4.5vw,4.1rem);margin:22px 0 26px}
.ko-archive .ko-facts{border-color:rgba(244,232,207,.3)}
.ko-archive .ko-programme{border-top:1px solid rgba(244,232,207,.3);padding-top:18px;margin-top:24px;font-size:14px;color:var(--turmeric)}
.ko-archive .ko-text-link{display:inline-block;color:var(--paper);font-size:14px;margin-top:4px}
.ko-archive .ko-poster figcaption{color:rgba(244,232,207,.8);font-size:12px;max-width:45ch}
.ko-events footer .fgrid{grid-template-columns:1.2fr .65fr 1.15fr;padding-right:0}
.ko-events footer .fgrid h4{margin-bottom:12px}
.ko-events footer .fbot{margin-top:40px}
@media(max-width:1000px){
 .ko-current{gap:32px}.ko-registration{gap:14px}.ko-registration .btn-max{padding:15px 16px;font-size:13px}
 .ko-qr{width:100px}.ko-qr img{width:100px;height:100px}.ko-archive-grid{gap:36px}
}
@media(max-width:760px){
 .ko-events .wrap{padding-left:22px;padding-right:22px}
 .ko-events-heading{padding-top:34px;padding-bottom:30px}
 .ko-events-heading h1{font-size:clamp(2.7rem,11vw,4.2rem);letter-spacing:-.045em}
 .ko-events-heading>p:not(.ko-kicker){font-size:16px}
 .ko-heading-registration{display:flex;gap:16px;align-items:flex-start;flex-direction:column;margin-top:24px}
 .ko-heading-registration .btn-max{font-size:13px;padding:12px 20px}
 .ko-heading-registration>span{font-size:12px;color:var(--green)}
 .ko-current{grid-template-columns:1fr;gap:32px;padding-top:28px;padding-bottom:48px}
 .ko-current .ko-poster{max-width:460px;width:100%;margin:auto}
 .ko-event-copy h2{font-size:3.2rem}
 .ko-event-copy .ko-deck{font-size:23px;max-width:none}
 .ko-facts dd{font-size:15px}.ko-registration{justify-content:flex-start;gap:28px}
 .ko-registration .btn-max{font-size:14px;padding:15px 20px}
 .ko-archive{padding:42px 0 48px}
 .ko-archive-grid{grid-template-columns:1fr;gap:30px}
 .ko-archive .ko-poster{max-width:460px;width:100%;margin:auto}
 .ko-events footer .fgrid{grid-template-columns:1fr;gap:28px}
 .ko-home-event{grid-template-columns:1fr;gap:22px}
 .ko-home-poster{max-width:330px}
 .ko-contact-event{padding:30px 0}
}
@media(max-width:380px){.ko-registration{gap:18px;align-items:flex-start}.ko-registration .btn-max{padding:14px 12px;font-size:12px}.ko-qr,.ko-qr img{width:88px}.ko-qr img{height:88px}}
@media(prefers-reduced-motion:reduce){.ko-events *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Event-to-producer links. */
.ko-lineup{padding-top:8px;padding-bottom:64px}
.ko-lineup>.ko-kicker{color:var(--green)}
.ko-lineup-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px;margin:12px 0 16px}
.ko-lineup-heading h2{font:700 clamp(2rem,4.5vw,3.2rem)/1.12 var(--head);letter-spacing:-.04em}
.ko-lineup-heading>a{font-size:13px}
.ko-lineup-deck{font-size:15px;max-width:60ch;line-height:1.7}
.ko-lineup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:28px 0 0;border-top:1px solid rgba(11,79,58,.4)}
.ko-lineup-grid li{min-width:0;border-bottom:1px solid rgba(11,79,58,.25)}
.ko-lineup-grid a{height:100%;box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 38px 22px 0;margin-right:22px;color:var(--ink);text-decoration:none}
.ko-lineup-grid a>span:first-child{font:700 18px/1.25 var(--head);letter-spacing:-.02em}
.ko-lineup-grid small{font:500 11px/1.6 var(--body);color:var(--green)}
.ko-lineup-grid a:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}
.ko-producer-arrow{position:absolute;right:0;top:24px;font-size:20px;color:var(--green)}
.ko-archive .ko-event-copy>p a{color:var(--paper);text-decoration-color:var(--turmeric);text-underline-offset:4px}
@media(max-width:900px){.ko-lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ko-lineup{padding-bottom:44px}.ko-lineup-grid{grid-template-columns:1fr}.ko-lineup-grid a{margin-right:0;padding-top:18px;padding-bottom:18px}.ko-producer-arrow{top:19px}}
