.tickets-heading{position:relative;overflow:hidden;padding:70px 0 58px;background:radial-gradient(ellipse at 86% 0,#315c4a 0,transparent 36%),#14271f;color:#fff}
.tickets-heading:after{position:absolute;right:-45px;bottom:-180px;width:440px;height:440px;border:1px solid #ffffff15;border-radius:50%;box-shadow:0 0 0 34px #ffffff08,0 0 0 68px #ffffff05;content:"";pointer-events:none}
.tickets-heading .container{position:relative;z-index:1}
.tickets-heading h1{margin:10px 0;color:#fff;font-family:Poppins,Inter,sans-serif;font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.05em;line-height:1.04}
.tickets-heading p{margin:0;color:#d2ddd5;font-size:1rem}
.tickets-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#e8bd79;font-size:.72rem;font-weight:800;letter-spacing:.17em}
.tickets-eyebrow span{width:8px;height:8px;border-radius:50%;background:#e8bd79;box-shadow:0 0 0 5px #e8bd792b}
.tickets-section{padding-top:40px}
.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px}
.ticket-card{--ticket-accent:#268358;position:relative;overflow:hidden;border:1px solid #e6e8e2;border-radius:17px;background:#fff;box-shadow:0 12px 34px #15251b12;color:#26332e;transition:transform .22s ease,box-shadow .22s ease}
.ticket-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #15251b1c}
.ticket-theme-1{--ticket-accent:#a97835}
.ticket-theme-2{--ticket-accent:#77649b}
.ticket-topline{display:flex;min-height:49px;align-items:center;gap:9px;padding:0 20px;background:#17291f;color:#f4f0e7;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ticket-theme-1 .ticket-topline{background:#332a20}
.ticket-theme-2 .ticket-topline{background:#292638}
.ticket-brand-mark{color:#e6bd7b;font-size:1rem}
.ticket-topline-year{margin-left:auto;color:#c7bda9;font-size:.67rem}
.ticket-main{padding:21px 22px 18px}
.ticket-type-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ticket-type-label{color:var(--ticket-accent);font-size:.66rem;font-weight:900;letter-spacing:.16em}
.ticket-admit{padding:5px 8px;border:1px solid #e9e7e1;border-radius:5px;color:#69736d;font-size:.59rem;font-weight:700;letter-spacing:.08em}
.ticket-admit b{color:#26332e}
.ticket-main h2{margin:11px 0 3px;color:#1b2b22;font-family:Poppins,Inter,sans-serif;font-size:1.55rem;letter-spacing:-.035em;line-height:1.2}
.ticket-description{min-height:1.5em;margin:0;color:#7c857e;font-size:.88rem}
.ticket-price{display:flex;align-items:baseline;gap:7px;margin-top:20px;padding-top:17px;border-top:1px solid #eeeee9}
.ticket-price>span:first-child{color:var(--ticket-accent);font-size:.78rem;font-weight:900}
.ticket-price strong{color:#1b2b22;font-family:Poppins,Inter,sans-serif;font-size:2rem;letter-spacing:-.04em;line-height:1}
.ticket-price .ticket-price-note{margin-left:auto;color:#838b84;font-size:.7rem}
.ticket-perforation{position:relative;display:flex;align-items:center;justify-content:space-between;height:18px;padding:0 0}
.ticket-perforation span{position:absolute;left:0;width:10px;height:20px;border:1px solid #e6e8e2;border-radius:0 12px 12px 0;border-left:0;background:#f8faf7}
.ticket-perforation span:last-child{right:0;left:auto;border:1px solid #e6e8e2;border-right:0;border-radius:12px 0 0 12px}
.ticket-perforation i{width:100%;border-top:1px dashed #d8ddd6}
.ticket-details{padding:7px 22px 17px}
.ticket-event-details{display:grid;gap:12px}
.ticket-event-details>span{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:start}
.ticket-event-details small{padding-top:2px;color:#8c948e;font-size:.58rem;font-weight:900;letter-spacing:.11em}
.ticket-event-details strong{color:#36453d;font-size:.72rem;font-weight:700;line-height:1.45}
.ticket-availability{display:flex;align-items:center;gap:7px;margin-top:15px;color:#6d786f;font-size:.72rem;font-weight:700}
.ticket-availability i{width:7px;height:7px;border-radius:50%;background:#329260;box-shadow:0 0 0 4px #3292601c}
.ticket-booking{padding:16px 22px 20px;border-top:1px solid #eceee8;background:#fafbf9}
.ticket-booking .stack{gap:10px}
.ticket-booking .stack label{gap:5px;color:#48564d;font-size:.74rem;font-weight:700}
.ticket-booking .stack input{min-height:40px;padding:8px 10px;border-color:#dfe4dd;border-radius:7px;background:#fff;font-size:.85rem}
.ticket-booking .mpesa-pay-button{margin-top:3px}
.ticket-unavailable{margin:0;padding:12px;border:1px dashed #d8ddd6;border-radius:8px;color:#68746b;font-size:.82rem;text-align:center}
.ticket-serial{display:block;margin-top:8px;color:#9aa29a;font-size:.57rem;font-weight:700;letter-spacing:.12em;text-align:right}
@media(max-width:980px){.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tickets-heading{padding:52px 0 42px}.ticket-grid{grid-template-columns:minmax(0,1fr);max-width:480px;margin:0 auto;gap:18px}.ticket-main{padding:20px}.ticket-details{padding-right:20px;padding-left:20px}.ticket-booking{padding:15px 20px 19px}}
@media(prefers-reduced-motion:reduce){.ticket-card{transition:none}}
