.kapiti-events h1{font-size:clamp(3.4rem,5.2vw,5.55rem)}
.kapiti-events h2{font-size:clamp(2.7rem,4vw,4.1rem)}
.kapiti-events .calendar-section{padding:82px 0 128px;background:linear-gradient(180deg,#f8fbfe 0,#e8f4fd 100%)}
.kapiti-events .calendar-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:end;margin-bottom:44px}
.kapiti-events .calendar-heading p:last-child{max-width:520px;margin:0 0 5px;color:var(--muted);font-size:1.05rem}
.kapiti-events .week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kapiti-events .day-card{min-width:0;padding:26px;background:rgba(255,255,255,.82);border:1px solid rgba(16,42,66,.12);border-top:5px solid #65b4ef;border-radius:var(--radius);box-shadow:0 14px 32px rgba(16,47,73,.07)}
.kapiti-events .day-card.is-featured{grid-column:span 2;grid-row:span 2;padding:32px;background:#dceefd;border-top-color:var(--yellow)}
.kapiti-events .day-card:nth-child(6),.kapiti-events .day-card:nth-child(7){grid-column:span 2}
.kapiti-events .day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.kapiti-events .day-heading h2{font-size:1.65rem}
.kapiti-events .day-card.is-featured .day-heading h2{font-size:2.35rem}
.kapiti-events .day-count{color:var(--blue);font-size:.72rem;font-weight:800;text-transform:uppercase;white-space:nowrap}
.kapiti-events .day-sessions{display:grid;gap:0}
.kapiti-events .day-card.is-featured .day-sessions{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
.kapiti-events .session{min-width:0;padding:17px 0;border-bottom:1px solid var(--line)}
.kapiti-events .session:last-child,.kapiti-events .day-card.is-featured .session:nth-last-child(-n+2){border-bottom:0}
.kapiti-events .session-time{display:inline-block;margin-bottom:8px;padding:4px 7px;color:var(--navy);background:#c9e5fa;border-radius:3px;font-size:.72rem;font-weight:800;text-transform:uppercase}
.kapiti-events .day-card.is-featured .session-time{background:rgba(255,255,255,.72)}
.kapiti-events .session h3{margin-bottom:7px;font-size:1.05rem}
.kapiti-events .session p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.4}
.kapiti-events .session a{display:inline-block;margin:10px 8px 0 0;color:var(--blue);font-size:.78rem;font-weight:800;text-decoration:none}
.kapiti-events .calendar-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px;margin-top:24px}
.kapiti-events .calendar-booking{display:grid;justify-items:start;gap:10px}
.kapiti-events .calendar-more{margin:0;color:var(--muted);font-size:.88rem}
.kapiti-events .calendar-more a{display:inline-flex;gap:4px;color:var(--blue);font-weight:800;text-decoration:none;white-space:nowrap}
.kapiti-events .calendar-more a:hover{text-decoration:underline}
.kapiti-events .calendar-note{margin:0 0 0 auto;color:var(--muted);font-size:.82rem}
.kapiti-events .events-empty{padding:40px;background:white;color:var(--muted)}
.kapiti-events .posters-section{background:white}
.kapiti-events .section-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end;margin-bottom:42px}
.kapiti-events .section-heading>p{max-width:520px;margin:0;color:var(--muted)}
.kapiti-events .events-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.kapiti-events .events-poster-grid--few{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}
.kapiti-events .events-poster-grid--single{grid-template-columns:minmax(0,1fr);max-width:400px;margin-inline:auto}
.kapiti-events .events-poster-grid figure{margin:0}
.kapiti-events .poster-frame{display:block;overflow:hidden;aspect-ratio:.705;background:#eef4f7;box-shadow:0 18px 40px rgba(16,47,73,.13)}
.kapiti-events .poster-frame img{width:100%;height:100%;object-fit:cover}
.kapiti-events .events-poster-grid figcaption{padding-top:15px}
.kapiti-events .events-poster-grid figcaption strong{display:block;color:var(--navy);font-family:Manrope,sans-serif;font-size:1.05rem}
.kapiti-events .events-poster-grid figcaption span{color:var(--muted);font-size:.87rem}
.kapiti-events .session-guide{background:var(--sky)}
.kapiti-events .guide-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:74px;align-items:start}
.kapiti-events .guide-layout h2{font-size:clamp(2.45rem,4vw,3.5rem)}
.kapiti-events .guide-list{border-top:1px solid var(--line)}
.kapiti-events .guide-item{display:grid;grid-template-columns:42px 1fr auto;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}
.kapiti-events .guide-number{color:var(--blue);font-weight:900}
.kapiti-events .guide-item h3{margin-bottom:4px}
.kapiti-events .guide-item p{margin:0;color:var(--muted);font-size:.9rem}
.kapiti-events .guide-tag{padding:6px 10px;color:var(--navy);background:rgba(255,255,255,.65);border-radius:3px;font-size:.72rem;font-weight:800;text-transform:uppercase}
.kapiti-events .action-band{color:white;background:var(--navy)}
.kapiti-events .action-inner{min-height:310px;display:flex;align-items:center;justify-content:space-between;gap:54px}
.kapiti-events .action-band h2{max-width:720px;color:white}
.kapiti-events .action-band p:not(.eyebrow){max-width:610px;margin-top:16px;color:#c9dce6}
.kapiti-events .action-band .eyebrow{color:#8ec9f5}
.kapiti-events .action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.kapiti-events .action-buttons .button-outline{color:white;background:transparent;border-color:rgba(255,255,255,.7)}
.kapiti-events .action-buttons .button-outline:hover{color:var(--navy);background:white;border-color:white}
@media(max-width:1100px){.kapiti-events .week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kapiti-events .day-card.is-featured{grid-column:span 2;grid-row:auto}.kapiti-events .day-card:nth-child(6),.kapiti-events .day-card:nth-child(7){grid-column:auto}}
@media(max-width:760px){.kapiti-events .calendar-heading,.kapiti-events .section-heading,.kapiti-events .guide-layout{grid-template-columns:1fr;gap:20px}.kapiti-events .events-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kapiti-events .action-inner{padding-block:52px;display:block}.kapiti-events .action-buttons{justify-content:flex-start;margin-top:24px}.kapiti-events .calendar-note{margin-left:0}}
@media(max-width:600px){.kapiti-events h1{font-size:3.74rem}.kapiti-events .calendar-section{padding:58px 0 52px}.kapiti-events .week-grid,.kapiti-events .events-poster-grid,.kapiti-events .events-poster-grid--few{grid-template-columns:1fr}.kapiti-events .day-card,.kapiti-events .day-card.is-featured{grid-column:auto;padding:24px}.kapiti-events .day-card.is-featured .day-heading h2{font-size:1.85rem}.kapiti-events .day-card.is-featured .day-sessions{grid-template-columns:1fr}.kapiti-events .day-card.is-featured .session:nth-last-child(2){border-bottom:1px solid var(--line)}.kapiti-events .events-poster-grid figure{max-width:430px}.kapiti-events .posters-section.section-pad{padding-bottom:32px}.kapiti-events .session-guide.section-pad{padding-top:32px}.kapiti-events .guide-item{grid-template-columns:30px 1fr;gap:14px}.kapiti-events .guide-tag{grid-column:2;justify-self:start}}
