/* Current edition tickets. Scoped so archived editions keep their own layout. */
.ticket-page{background:white;color:#260c2d}
.ticket-hero{background:#f3eaf6;padding:38px 0 46px;border-bottom:1px solid #e4d5eb}
.ticket-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.85fr);gap:72px;align-items:center}
.ticket-intro .breadcrumbs{font-size:12px;margin:0 0 32px;color:#76598c}
.ticket-intro .eyebrow{font-size:11px;color:#9c2769;margin-bottom:14px}
.ticket-intro h1{font-size:clamp(36px,4.2vw,54px);line-height:1.08;color:#532a80;margin:0 0 22px;max-width:620px}
.ticket-intro-copy{font-size:18px;line-height:1.65;color:#67566f;max-width:540px;margin:0 0 24px}
.ticket-venue{display:flex;flex-wrap:wrap;gap:14px 28px;margin:24px 0;font-size:14px;color:#532a80}
.ticket-venue p{margin:0;line-height:1.6;font-weight:600}
.ticket-venue span{display:block;font-size:13px;font-weight:400;color:#67566f}
.ticket-intro>.textlink{font-size:13px;color:#532a80}
.primary-ticket{background:white;border-radius:14px;border:1px solid #e4d5eb;border-top:4px solid #bc3d80;padding:30px 34px;box-shadow:0 12px 36px #532a800b}
.primary-ticket .offer-label{display:inline-block;border-radius:20px;background:#f8dfec;color:#9c2769;font-size:11px;font-weight:700;padding:6px 11px;margin:0 0 18px}
.primary-ticket h2{color:#532a80;font-size:25px;line-height:1.25;margin:0 0 18px}
.primary-price{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;color:#532a80}
.primary-price strong{font-size:clamp(54px,5.8vw,76px);font-weight:800;line-height:.95;letter-spacing:-.055em}
.primary-price>span{font-size:15px;line-height:1.45;padding-bottom:3px}
.primary-price small{display:block;font-size:13px;color:#67566f}
.primary-ticket .per-ticket{font-size:12px;color:#67566f;margin:10px 0 22px}
.offer-deadline{border-top:1px solid #eadfec;padding-top:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#532a80}
.offer-deadline span{font-size:13px;color:#9c2769}
.primary-ticket .offer-saving{font-size:13px;color:#67566f;margin:16px 0 22px}
.primary-ticket .btn{display:block;text-align:center;padding:15px 20px;font-size:15px;background:#bc3d80;color:white}
.primary-ticket .btn:hover{background:#9c2769;color:white}
.primary-ticket .offer-note{font-size:11px;color:#67566f;line-height:1.6;margin:12px 0 0}
.ticket-body{padding-bottom:76px}
.ticket-benefits{padding:36px 0 32px}
.ticket-benefits h2{font-size:19px;color:#532a80;margin:0 0 25px}
.ticket-benefits ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ticket-benefits li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.45;color:#67566f}
.ticket-benefits svg{width:28px;height:28px;flex-shrink:0;color:#9c2769}
.ticket-team{padding:24px 30px;background:#532a80;border-radius:10px;display:flex;align-items:center;gap:28px;color:white}
.ticket-team>strong{font-size:46px;line-height:1;color:#f5a9cf;white-space:nowrap}
.ticket-team h2{font-size:23px;line-height:1.3;color:white;margin:0 0 8px}
.ticket-team p{font-size:14px;line-height:1.6;color:#f2e8f6;margin:0}
.ticket-timeline{margin-top:64px;scroll-margin-top:150px}
.ticket-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.ticket-section-heading .eyebrow{font-size:11px;color:#87519a;margin-bottom:10px}
.ticket-section-heading h2{font-size:30px;line-height:1.2;color:#532a80;margin:0}
.ticket-section-heading>p{font-size:14px;color:#67566f;max-width:250px;line-height:1.6;margin:0}
.ticket-timeline ol{list-style:none;padding:0;margin:0;border-top:1px solid #e4d5eb}
.ticket-phase{display:grid;grid-template-columns:38px minmax(0,1fr) 160px 180px;gap:24px;align-items:center;padding:23px 24px;border-bottom:1px solid #e4d5eb;border-left:3px solid transparent}
.ticket-phase.is-current{background:#faf4fb;border-left-color:#bc3d80}
.phase-number{font-size:13px;color:#87519a;align-self:start;padding-top:5px}
.ticket-phase .phase-name>p{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#67566f;margin:0 0 7px}
.ticket-phase.is-current .phase-name>p{color:#9c2769;font-weight:700}
.ticket-phase .phase-name h3{font-size:21px;line-height:1.3;color:#532a80;margin:0 0 7px}
.ticket-phase .phase-name>span{font-size:13px;color:#67566f;line-height:1.5}
.ticket-phase .phase-amount{margin:0;color:#67566f}
.ticket-phase .phase-amount strong{display:block;font-size:27px;line-height:1.2;font-weight:600;letter-spacing:-.025em}
.ticket-phase.is-current .phase-amount strong{color:#532a80;font-weight:700}
.ticket-phase .phase-amount>span{font-size:11px}
.ticket-phase .phase-allocation{font-size:12px;color:#67566f;margin:0;text-align:right}
.ticket-timeline>.topic-note{font-size:11px;margin-top:15px;line-height:1.6;color:#67566f}
.ticket-page .student-ticket{background:#f6f0f8;border-radius:12px;border:1px solid #e7dceb;border-top:3px solid #de5ba0;padding:34px 36px;margin-top:64px;gap:38px;align-items:center}
.ticket-page .student-ticket .eyebrow{font-size:11px;color:#87519a;margin:0 0 12px}
.ticket-page .student-ticket h2{font-size:31px;line-height:1.25;margin:0 0 18px;max-width:400px}
.ticket-page .student-ticket p{font-size:14px;line-height:1.7}
.ticket-page .student-ticket .student-price{font-size:40px;margin:0 0 15px}
.ticket-page .student-ticket .quota-label{background:none;border-radius:0;padding:0;margin:0;color:#9c2769;font-size:13px}
.ticket-page .student-ticket .textlink{display:inline-block;color:#532a80;font-size:14px;margin-top:10px}
.ticket-page .purchase-options{border-top:1px solid #e4d5eb;padding-top:48px;margin-top:64px}
.ticket-page .purchase-options>h2{font-size:30px;margin:0 0 30px}
.ticket-page .purchase-grid{grid-template-columns:1.15fr 1fr;gap:38px}
.ticket-page .purchase-grid article{border:0;border-radius:0;background:none;padding:0}
.ticket-page .purchase-grid article+article{border-left:1px solid #e4d5eb;padding-left:38px}
.ticket-page .purchase-grid h3{font-size:21px;line-height:1.35;margin:0 0 14px}
.ticket-page .purchase-grid p{font-size:14px}
.ticket-page .purchase-ticketing{min-height:70px;justify-content:flex-start;gap:18px;margin:0 0 22px}
.ticket-page .purchase-ticketing img{width:100px;height:auto}
.ticket-page .purchase-grid .eyebrow{font-size:10px;color:#87519a;margin-bottom:22px}
.ticket-page .purchase-ticketing .eyebrow{margin:0}
.ticket-page .purchase-grid .purchase-status{font-size:12px;font-weight:500;color:#67566f;margin-top:15px}
.ticket-page .purchase-grid .textlink{font-size:13px;color:#532a80}
.ticket-page .enquiry-panel{background:#faf7fb;border:1px solid #eadfec;border-radius:10px;margin-top:32px;padding:28px 32px}
.ticket-page .enquiry-panel h2{font-size:25px;margin:0 0 16px}
.ticket-page .enquiry-panel p{font-size:14px;max-width:870px;margin:12px 0;line-height:1.7}
.ticket-page .enquiry-panel .btn{font-size:14px;margin:8px 0}
.ticket-page .enquiry-panel .topic-note{font-size:11px;margin-bottom:0}
.ticket-page .ticket-faq{margin-top:56px;max-width:900px}
.ticket-page .ticket-faq h2{font-size:27px;margin-bottom:20px}
.ticket-page .ticket-faq details{padding:17px 0}
.ticket-page .ticket-faq summary{font-size:16px;line-height:1.5;font-weight:500}
.ticket-page .ticket-faq p{font-size:14px;line-height:1.7}
@media(max-width:1000px){.ticket-hero-grid{gap:36px;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.ticket-phase{grid-template-columns:25px minmax(0,1fr) 130px;gap:16px}.ticket-phase .phase-allocation{grid-column:2/4;text-align:left}.ticket-benefits ul{gap:16px}.ticket-benefits li{font-size:13px}.primary-ticket{padding:28px}}
@media(max-width:680px){.ticket-hero{padding:24px 0 32px}.ticket-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}.ticket-intro .breadcrumbs{margin-bottom:22px}.ticket-intro h1{font-size:35px;line-height:1.1;margin-bottom:16px}.ticket-intro-copy{font-size:15px;line-height:1.6;margin-bottom:16px}.ticket-venue{margin:16px 0;gap:8px 20px;font-size:13px}.ticket-venue span{font-size:12px}.ticket-intro>.textlink{font-size:12px}.primary-ticket{padding:24px}.primary-ticket h2{font-size:24px;margin-bottom:15px}.primary-price strong{font-size:clamp(48px,15vw,64px)}.primary-ticket .offer-label{margin-bottom:15px}.ticket-benefits{padding:30px 0}.ticket-benefits ul{grid-template-columns:1fr 1fr;gap:22px 18px}.ticket-benefits li{font-size:13px;align-items:flex-start}.ticket-benefits svg{width:24px;height:24px}.ticket-team{padding:24px;flex-direction:column;align-items:flex-start;gap:14px}.ticket-team>strong{font-size:32px}.ticket-team h2{font-size:20px}.ticket-team p{font-size:13px}.ticket-timeline{margin-top:42px}.ticket-section-heading{display:block}.ticket-section-heading h2{font-size:27px}.ticket-section-heading>p{margin-top:12px;max-width:none;font-size:13px}.ticket-phase{padding:20px 15px;grid-template-columns:minmax(0,1fr) 100px;gap:12px 18px}.phase-number{display:none}.ticket-phase .phase-name h3{font-size:18px}.ticket-phase .phase-name>span{font-size:12px}.ticket-phase .phase-amount strong{font-size:24px}.ticket-phase .phase-amount>span{font-size:10px}.ticket-phase .phase-allocation{grid-column:1/-1;font-size:12px}.ticket-page .student-ticket{margin-top:44px;gap:24px;padding:26px 24px}.ticket-page .student-ticket h2{font-size:27px}.ticket-page .student-ticket .student-price{font-size:35px}.ticket-page .purchase-options{margin-top:44px;padding-top:32px}.ticket-page .purchase-options>h2{font-size:27px}.ticket-page .purchase-grid{grid-template-columns:1fr;gap:28px}.ticket-page .purchase-grid article+article{padding-left:0;border-left:0;border-top:1px solid #e4d5eb;padding-top:26px}.ticket-page .enquiry-panel{padding:24px;margin-top:26px}.ticket-page .ticket-faq{margin-top:40px}.ticket-page .ticket-faq summary{font-size:15px}.ticket-body{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.ticket-page *{scroll-behavior:auto}}

.ticket-page .student-ticket .student-offer{border-left:1px solid #dcc9e5;padding-left:32px}
.ticket-page .purchase-infostud img{width:135px;height:auto}
@media(max-width:680px){.ticket-page .student-ticket .student-offer{border-left:0;border-top:1px solid #dcc9e5;padding-left:0;padding-top:24px}}

.ticket-page .student-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#eadcf1;color:#532a80;margin-bottom:18px}
.ticket-page .student-icon svg{display:block;width:34px;height:34px}
.ticket-page .purchase-infostud .eyebrow{max-width:150px;line-height:1.6}
@media(max-width:680px){.ticket-page .student-icon{width:46px;height:46px;margin-bottom:16px}.ticket-page .student-icon svg{width:30px;height:30px}}

.ticket-page .student-offer>.btn+.textlink{display:table;margin-top:16px}
