/* Attendee surfaces share the CIF palette and type, with a photographic opening. */
:root {
  --a-navy: #071f34;
  --a-blue: #006399;
  --a-accent: #ffd15a;
  --a-paper: #fafbf9;
  --a-soft: #edf3f6;
  --a-line: #ced8df;
  --a-muted: #4d606e;
  --a-gutter: clamp(1.25rem, 4.3vw, 4.5rem);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; background: var(--a-paper); color: var(--a-navy); font-family: Manrope, system-ui, sans-serif; font-size: 1rem; line-height: 1.65; caret-color: var(--a-blue); scrollbar-color: #8094a2 var(--a-soft); }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .23em; }
button, input { font: inherit; }
button, summary { cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: 'Barlow Condensed', Impact, sans-serif; font-weight: 600; line-height: 1.02; letter-spacing: -.018em; }
h1 { font-size: clamp(3.4rem, 6.6vw, 6rem); }
h2 { font-size: clamp(2.8rem, 4.3vw, 4.25rem); }
h3 { font-size: 1.95rem; }
p + p { margin-top: 1rem; }
::selection { background: var(--a-accent); color: var(--a-navy); }
:focus-visible { outline: 3px solid var(--a-blue); outline-offset: 5px; }
.a-hero :focus-visible, .a-close :focus-visible { outline-color: var(--a-accent); }
.a-wrap { width: min(calc(100% - var(--a-gutter) * 2), 80rem); margin-inline: auto; }
.a-section { padding-block: clamp(4rem, 6.8vw, 6.5rem); }
.a-kicker { color: var(--a-blue); font-size: .73rem; font-weight: 800; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem; }
.a-kicker-light { color: var(--a-accent); }
.a-note { font-size: .82rem; line-height: 1.65; color: var(--a-muted); }
.a-link { display: inline-flex; gap: .75rem; align-items: center; font-size: .85rem; font-weight: 800; min-height: 44px; }
.a-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: .85rem 1.35rem; min-height: 52px; border: 1px solid transparent; border-radius: 3px; background: var(--a-accent); color: var(--a-navy); font-size: .9rem; font-weight: 800; line-height: 1.45; text-decoration: none; transition: background-color 160ms, box-shadow 160ms; }
.a-button:hover { background: #ffe292; }
.a-button span { font-size: 1.3rem; line-height: 1; }
.a-icon { width: 1.1rem; height: 1.1rem; display: inline-block; vertical-align: -.16em; flex-shrink: 0; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.a-button-dark { background: var(--a-navy); color: white; }
.a-button-dark:hover { background: #153e5d; }
.a-skip { position: fixed; top: .5rem; left: 1rem; z-index: 100; padding: .6rem 1rem; background: var(--a-accent); transform: translateY(-200%); }
.a-skip:focus { transform: none; }
.a-header { position: sticky; top: 0; z-index: 20; background: var(--a-paper); border-bottom: 1px solid var(--a-line); }
.a-header-inner { display: flex; align-items: center; gap: 1.75rem; min-height: 90px; }
.a-brand { display: block; flex-shrink: 0; width: 182px; }
.a-brand img { width: 100%; height: auto; }
.a-nav { display: flex; justify-content: flex-end; align-items: center; gap: 1.55rem; flex: 1; }
.a-nav a { display: flex; align-items: center; min-height: 44px; font-size: .78rem; font-weight: 700; text-decoration: none; }
.a-nav a:hover { text-decoration: underline; }
.a-header-cta { font-size: .8rem; min-height: 45px; padding: .65rem 1rem; gap: .8rem; }
.a-menu { display: none; }
.a-hero { position: relative; isolation: isolate; background: var(--a-navy); color: white; }
.a-hero-photo { position: absolute; inset: 0; z-index: -2; }
.a-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.a-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(3 22 38 / .72), rgb(3 22 38 / .36) 55%, rgb(3 22 38 / .03)); }
.a-hero-inner { padding-block: 4.4rem 4.2rem; }
.a-hero h1 { max-width: 18ch; }
.a-hero h1 span { color: var(--a-accent); }
.a-hero-intro { max-width: 34rem; margin-top: 1.5rem; font-size: 1.05rem; color: #ecf3f7; line-height: 1.7; }
.a-hero-date { margin-block: 1.5rem 1.35rem; font-size: .88rem; font-weight: 700; }
.a-hero-date span { color: var(--a-accent); margin-inline: .5rem; }
.a-hero-note { margin-top: .8rem; color: #dbe6ed; font-size: .73rem; }
.a-hero-caption { position: absolute; right: var(--a-gutter); bottom: 3.2rem; border-left: 1px solid var(--a-accent); padding-left: 1rem; color: #f1f6f8; font-size: .85rem; }
.a-proof { background: white; padding-block: 1.7rem 2rem; border-bottom: 1px solid var(--a-line); }
.a-proof-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.a-proof h2 { font-family: Manrope, sans-serif; font-size: .85rem; font-weight: 500; line-height: 1.5; letter-spacing: 0; color: var(--a-muted); }
.a-proof strong { color: var(--a-navy); }
.a-roster { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); column-gap: 1.5rem; row-gap: .65rem; }
.a-roster a { min-height: 94px; padding: .5rem; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 800; font-size: .83rem; text-align: center; overflow-wrap: anywhere; border-radius: 3px; transition: background-color 160ms; }
.a-roster a:hover { background: var(--a-soft); }
.a-roster img { display: block; width: 100%; height: 76px; object-fit: contain; }
.a-roster img[src="/assets/vendors/cricviz.svg"] { transform: translateX(.75rem); }
.a-roster img[src="/assets/vendors/nvplay.svg"] { max-width: 8rem; }
/* These official assets are white monochrome marks, shown in black on this light surface. */
.a-roster img[src="/assets/vendors/nvplay.svg"],
.a-roster img[src="/assets/vendors/fulltrackai.png"] { filter: brightness(0); }
.a-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 3rem; margin-bottom: 3rem; }
.a-section-heading > p { max-width: 25rem; color: var(--a-muted); }
.a-benefits { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 3rem; }
.a-benefits article { padding-top: 1.5rem; border-top: 2px solid var(--a-navy); }
.a-number { display: block; color: var(--a-blue); font-size: .8rem; font-weight: 800; margin-bottom: 1.8rem; }
.a-benefits h3 { max-width: 15ch; margin-bottom: 1rem; font-size: 2.15rem; }
.a-benefits p { color: var(--a-muted); font-size: .93rem; }
.a-audience { display: grid; grid-template-columns: minmax(15rem, .7fr) 1.3fr; gap: 3rem; align-items: start; margin-top: 3.25rem; padding-top: 1.8rem; border-top: 1px solid var(--a-line); }
.a-audience-heading { max-width: 22rem; }
.a-audience-heading h3 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.a-audience-heading p { margin-top: .9rem; color: var(--a-muted); }
.a-audience-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin: 0; }
.a-audience-list span { display: block; padding: .75rem 0; border-bottom: 1px solid var(--a-line); color: var(--a-navy); font-size: .9rem; font-weight: 800; }
.a-speakers-section { background: var(--a-soft); }
.a-speakers { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1.35rem; }
.a-portrait { background: #d5e1e8; aspect-ratio: 480 / 607; overflow: hidden; margin-bottom: 1.25rem; }
.a-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.a-speaker h3 { font-size: 1.78rem; margin-bottom: .6rem; }
.a-speaker p { min-height: 0; margin-block: 0; font-size: .79rem; line-height: 1.6; color: var(--a-muted); }
.a-speaker p strong { color: var(--a-navy); font-weight: 700; }
.a-speaker-link > .a-speaker-pillar { display: block; margin-top: .3rem; padding-top: .3rem; border-top: 1px solid #bacbd7; color: var(--a-blue); font-size: .71rem; line-height: 1.4; font-weight: 700; }
.a-section-footnote { color: var(--a-muted); font-size: .75rem; margin-top: 2rem; }
.a-programme { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; }
.a-programme-intro > p:not(.a-kicker) { margin-top: 1.3rem; }
.a-programme-intro .a-link { margin-top: 1.5rem; }
.a-formats article { border-bottom: 1px solid var(--a-line); padding-bottom: 1.4rem; margin-bottom: 1.4rem; }
.a-formats h3 { font-size: 2rem; margin-bottom: .65rem; }
.a-formats p { color: var(--a-muted); font-size: .9rem; }
.a-pillars { margin-top: 2.2rem; }
.a-pillars ul { list-style: none; margin: 0; padding: 0; }
.a-pillars li { border-bottom: 1px solid var(--a-line); padding-block: .65rem; font-size: .83rem; }
.a-pillars li::before { content: '/'; color: var(--a-blue); font-weight: 800; margin-right: 1rem; }
.a-vendors-section { background: #e0edf4; padding-block: 4.5rem; }
.a-vendor-feature { display: grid; grid-template-columns: 1.15fr .85fr; gap: 6rem; align-items: center; }
.a-vendor-feature h2 + p { margin-top: 1.3rem; max-width: 32rem; }
.a-vendor-feature .a-button { margin-block: 1.8rem 1.25rem; }
.a-vendor-feature .a-note { max-width: 32rem; }
.a-vendor-marks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #bbcdd8; border: 1px solid #bbcdd8; }
.a-vendor-mark { display: flex; background: var(--a-paper); align-items: center; justify-content: center; aspect-ratio: 1.5; padding: 1.5rem; transition: background-color 160ms; }
.a-vendor-mark:hover { background: white; }
.a-vendor-mark img { width: 100%; max-height: 5rem; height: auto; object-fit: contain; }
.a-venue { display: grid; grid-template-columns: 1.1fr 1fr; gap: 5rem; align-items: center; }
.a-venue figure > img { width: 100%; aspect-ratio: 1.12; object-fit: cover; }
.a-venue figcaption { font-size: .72rem; color: var(--a-muted); margin-top: .7rem; }
.a-venue h2 + p { margin-top: 1.3rem; }
.a-venue address { font-style: normal; font-size: .9rem; margin-block: 1.7rem 1rem; }
.a-venue .a-note { margin-top: 1rem; }
.a-faq-section { padding-top: 0; }
.a-faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7rem; padding-top: 3rem; border-top: 1px solid var(--a-line); }
.a-faq-layout h2 + p { margin-top: 1.5rem; font-size: .85rem; color: var(--a-muted); max-width: 21rem; }
.a-faq details { border-bottom: 1px solid var(--a-line); }
.a-faq summary { padding: 1.35rem 1.7rem 1.35rem 0; font-weight: 700; font-size: .91rem; }
.a-faq details p { padding-bottom: 1.5rem; color: var(--a-muted); font-size: .87rem; }
.a-close { background: var(--a-navy); color: white; padding-block: 4.8rem; border-top: 5px solid var(--a-accent); }
.a-close-inner { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.a-close h2 { font-size: clamp(3.5rem, 5.5vw, 5.5rem); }
.a-close h2 + p { margin-top: 1.4rem; color: #dbe6ed; }
.a-close .a-note { color: #dbe6ed; font-size: .75rem; max-width: 17rem; margin-top: 1rem; }
.a-footer { background: white; }
.a-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 2.8rem; }
.a-footer-top p, .a-footer-top > a:last-child { font-size: .79rem; }
.a-footer-bottom { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; border-top: 1px solid var(--a-line); padding-block: 1.2rem; font-size: .7rem; color: var(--a-muted); }
.a-footer-bottom > span { margin-right: auto; }
.a-site-credit { display: inline-flex; align-items: center; gap: .65rem; font-size: .75rem; white-space: nowrap; }
.a-site-credit a { display: inline-flex; align-items: center; min-height: 44px; }
.a-site-credit img { width: 126px; height: auto; }
/* A short form with its offer and outcome in the same reading column. */
.a-register-layout { display: grid; grid-template-columns: .8fr 1fr; gap: 7rem; padding-block: 4rem 5rem; align-items: start; }
.a-register-intro h1 { color: var(--a-navy); }
.a-register-intro h1 + p { margin-top: 1.25rem; max-width: 25rem; }
.a-register-date { margin-block: 1.4rem 2rem; font-size: .9rem; }
.a-register-intro > img { width: 100%; aspect-ratio: 1.65; object-fit: cover; object-position: 35% 62%; }
.a-register-intro .a-note { margin-top: 1rem; }
.a-form-panel { background: white; padding: 2.5rem; border: 1px solid var(--a-line); }
.a-form-panel h2 { font-size: clamp(2.6rem, 3.4vw, 3.5rem); }
.a-form-lead { margin-top: .75rem; font-size: .88rem; color: var(--a-muted); }
.a-admission-note { padding: 1rem 1.2rem; background: var(--a-soft); margin-block: 1.5rem; font-size: .8rem; line-height: 1.7; }
.a-admission-note p { margin-top: .4rem; }
.a-field { margin-block: 1.2rem; }
.a-field label { display: block; font-weight: 700; font-size: .85rem; margin-bottom: .45rem; }
.a-field label span, .a-optional-fields summary span { font-weight: 400; color: var(--a-muted); font-size: .75rem; }
.a-field input { display: block; width: 100%; min-height: 48px; border: 1px solid #728896; border-radius: 2px; background: white; color: var(--a-navy); padding: .65rem .8rem; }
.a-field input[aria-invalid="true"] { border: 2px solid #a12525; }
.a-field-error, .a-form-error { color: #a12525; font-size: .8rem; }
.a-field-error:empty, .a-form-error:empty { display: none; }
.a-field-error { margin-top: .35rem; }
.a-optional-fields { margin-block: 1rem 1.6rem; border-block: 1px solid var(--a-line); font-size: .84rem; }
.a-optional-fields summary { position: relative; padding: .85rem 2rem .85rem 0; min-height: 48px; list-style: none; font-weight: 700; }
.a-optional-fields summary::-webkit-details-marker { display: none; }
.a-optional-fields summary::after { content: ""; position: absolute; right: .4rem; top: 50%; width: .5rem; height: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-70%) rotate(45deg); }
.a-optional-fields[open] summary::after { transform: translateY(-25%) rotate(225deg); }
.a-optional-fields summary:hover { color: var(--a-blue); }
.a-interest-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .4rem; min-width: 0; margin: 0; padding: 0 0 .85rem; border: 0; }
.a-interest-option { display: flex; align-items: center; gap: .65rem; min-height: 48px; padding: .65rem .75rem; border: 1px solid var(--a-line); border-radius: 2px; font-size: .81rem; line-height: 1.5; cursor: pointer; }
.a-interest-option input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--a-blue); }
.a-interest-option:hover, .a-interest-option:has(input:checked) { background: var(--a-soft); border-color: var(--a-blue); }
.a-interest-option:has(input:checked) { color: var(--a-blue); }
.a-interest-options > .a-field-error { grid-column: 1 / -1; }
.a-consent { display: flex; align-items: flex-start; gap: .75rem; font-size: .81rem; line-height: 1.65; cursor: pointer; }
.a-consent input { flex-shrink: 0; width: 20px; height: 20px; margin: .2rem 0 0; accent-color: var(--a-blue); }
.a-consent small { display: block; margin-top: .45rem; color: var(--a-muted); font-size: .73rem; }
.a-form-privacy { font-size: .73rem; color: var(--a-muted); margin-top: 1.5rem; }
.a-submit { width: 100%; margin-top: 1.5rem; }
.a-form-error:not(:empty) { margin-block: 1rem; }
.a-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#interest-success > p:not(.a-kicker), #interest-closed > p:not(.a-kicker) { margin-top: 1.25rem; }
#interest-closed .a-button { margin-top: 2rem; }
.a-confirm { max-width: 46rem; padding-block: 5rem 6rem; min-height: 65vh; }
.a-confirm h1 { font-size: clamp(3.6rem, 6vw, 5rem); margin-bottom: 1.5rem; }
.a-confirm .a-button { margin-block: 2rem 1rem; }
.a-privacy { max-width: 48rem; padding-block: 4rem; }
.a-privacy h1 { margin-bottom: 1.5rem; }
.a-privacy h2 { font-size: 2rem; margin: 2rem 0 1rem; }
.a-privacy p { font-size: .95rem; }
@media (max-width: 1100px) {
  .a-header-inner { gap: 1rem; }
  .a-brand { width: 158px; }
  .a-nav { gap: 1rem; }
  .a-hero-caption { display: none; }
  .a-programme, .a-faq-layout, .a-vendor-feature, .a-register-layout { gap: 3rem; }
  .a-venue { gap: 3rem; }
  .a-speakers { gap: 1rem; }
  .a-roster { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .a-form-panel { padding: 1.8rem; }
}
@media (max-width: 850px) {
  .a-header-inner { flex-wrap: wrap; min-height: 80px; padding-block: .9rem; }
  .a-menu { display: inline-flex; align-items: center; gap: .5rem; margin-left: auto; min-height: 44px; border: 0; background: none; font-size: .8rem; font-weight: 700; color: var(--a-navy); }
  .a-nav { display: none; flex-basis: 100%; order: 4; }
  .a-nav[data-open="true"] { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: .4rem 1.6rem; border-top: 1px solid var(--a-line); padding-top: .7rem; }
  .a-hero-inner { padding-block: 3.7rem; }
  .a-hero h1 { font-size: 4.6rem; }
  .a-section-heading { align-items: start; flex-direction: column; gap: 1.5rem; }
  .a-section-heading > p { max-width: 36rem; }
  .a-benefits { gap: 1.6rem; }
  .a-speakers { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem 1.2rem; }
  .a-audience { grid-template-columns: 1fr; gap: 1.3rem; }
  .a-audience-list { gap: 0 1.5rem; }
  .a-vendor-feature, .a-venue { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .a-programme, .a-faq-layout { grid-template-columns: .8fr 1fr; gap: 2rem; }
  .a-close-inner { gap: 2rem; }
  .a-footer-top { flex-wrap: wrap; }
  .a-register-layout { gap: 2rem; grid-template-columns: .7fr 1fr; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 9rem; }
  .a-header-inner { display: grid; grid-template-columns: 1fr auto; gap: .45rem 1rem; padding-block: .65rem; }
  .a-brand { width: 151px; }
  .a-menu { margin: 0; }
  .a-header-cta { grid-column: 1 / -1; justify-content: center; min-height: 42px; padding-block: .6rem; font-size: .78rem; }
  .a-nav { grid-column: 1 / -1; }
  .a-hero-inner { padding-block: 2.7rem 2.5rem; }
  .a-hero h1 { font-size: clamp(3.1rem, 12.7vw, 4.4rem); max-width: 14ch; }
  .a-hero-photo img { object-position: 36% center; }
  .a-hero::before { background: rgb(3 22 38 / .44); }
  .a-hero .a-kicker { font-size: .65rem; letter-spacing: .1em; }
  .a-hero-intro { font-size: .91rem; line-height: 1.7; margin-top: 1.3rem; }
  .a-hero-date { font-size: .8rem; margin-block: 1.3rem 1.25rem; max-width: 24rem; }
  .a-hero-date time { display: block; }
  .a-hero-date span { display: none; }
  .a-hero .a-button { width: 100%; }
  .a-hero-note { font-size: .69rem; }
  .a-proof { padding-block: 1.4rem 1.7rem; }
  .a-proof-heading { align-items: start; flex-direction: column; gap: .3rem; }
  .a-proof h2 { font-size: .8rem; }
  .a-roster { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem 1rem; margin-top: 1rem; }
  .a-roster a { font-size: .77rem; min-height: 88px; }
  .a-roster img { height: 70px; }
  .a-section-heading { margin-bottom: 2rem; }
  .a-section-heading > p { font-size: .93rem; }
  .a-benefits { grid-template-columns: 1fr; gap: 2rem; }
  .a-benefits article { position: relative; }
  .a-number { position: absolute; top: 1.55rem; left: 0; margin: 0; }
  .a-benefits h3 { max-width: none; font-size: 1.9rem; }
  .a-benefits p { font-size: .89rem; }
  .a-audience { margin-top: 2.2rem; }
  .a-audience-list { grid-template-columns: 1fr; }
  .a-speakers { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; }
  .a-speaker h3 { font-size: 1.6rem; line-height: 1.1; }
  .a-speaker p { font-size: .73rem; min-height: 0; }
  .a-speaker-link > .a-speaker-pillar { margin-top: .25rem; padding-top: .25rem; font-size: .67rem; }
  .a-programme, .a-vendor-feature, .a-venue, .a-faq-layout, .a-register-layout { grid-template-columns: 1fr; gap: 2.4rem; }
  .a-programme-intro > p:not(.a-kicker) { max-width: 32rem; }
  .a-programme-intro .a-link { margin-top: 1rem; }
  .a-pillars li { font-size: .78rem; }
  .a-vendors-section { padding-block: 3.5rem; }
  .a-vendor-feature .a-button { width: 100%; font-size: .81rem; gap: .8rem; }
  .a-vendor-mark { aspect-ratio: 1.5; }
  .a-venue figure > img { aspect-ratio: 1.25; }
  .a-venue figure { order: 2; }
  .a-close { padding-block: 3.5rem; }
  .a-close-inner { flex-direction: column; align-items: stretch; }
  .a-close h2 { font-size: 3.7rem; }
  .a-close .a-button { width: 100%; }
  .a-close .a-note { max-width: none; }
  .a-footer-top { flex-direction: column; align-items: start; padding-block: 2rem; gap: 1.5rem; }
  .a-footer-bottom { flex-direction: column; align-items: flex-start; gap: .8rem; }
  .a-register-layout { padding-block: 2.3rem 3.5rem; }
  .a-register-intro h1 { font-size: 3.5rem; }
  .a-register-intro h1 br { display: none; }
  .a-register-intro > img, .a-register-intro > .a-note { display: none; }
  .a-register-intro h1 + p { font-size: .9rem; margin-top: .85rem; }
  .a-register-date { margin: 1rem 0 0; font-size: .82rem; }
  .a-form-panel { padding: 1.3rem; }
  .a-form-panel h2 { font-size: 2.5rem; }
  .a-confirm { padding-block: 3rem 4rem; }
  .a-confirm h1 { font-size: 3.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* V2 editorial extensions: the same measured CIF world carries the new public sequence. */
.a-pillars-section { background: white; border-block: 1px solid var(--a-line); }
.a-pillars-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--a-line); border: 1px solid var(--a-line); }
.a-pillar { min-height: 17rem; padding: 1.4rem; background: var(--a-paper); display: flex; flex-direction: column; }
.a-pillar-number { color: var(--a-blue); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.a-pillar h3 { margin-top: 2.8rem; font-size: clamp(1.45rem, 2.1vw, 2rem); }
.a-pillar > p:not(.a-pillar-number) { margin-top: .8rem; color: var(--a-muted); font-size: .82rem; line-height: 1.6; }
.a-pillar-sponsor { display: flex; align-items: center; gap: .55rem; margin-top: auto; padding-top: 1rem; color: var(--a-blue); text-decoration: none; font-size: .68rem; font-weight: 800; }
.a-pillar-sponsor span { white-space: nowrap; }
.a-pillar-sponsor img { width: auto; max-width: 6.5rem; max-height: 2rem; object-fit: contain; }
.a-pillar-sponsor strong { color: var(--a-navy); }
.a-speaker-link { display: block; color: inherit; text-decoration: none; }
.a-speaker-link:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.a-programme-link { margin-top: 1.3rem; }
.a-timeline-item { display: grid; grid-template-columns: 3rem 1fr; gap: 1.2rem; border-bottom: 1px solid var(--a-line); padding-block: 1.2rem; }
.a-timeline-index { color: var(--a-blue); font-size: .73rem; font-weight: 800; padding-top: .3rem; }
.a-timeline-item h3 { font-size: clamp(1.45rem, 2.2vw, 2.1rem); }
.a-timeline-item p { margin-top: .45rem; color: var(--a-muted); font-size: .85rem; }
.a-footer-links { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; margin-left: auto; }
.a-footer-links a { color: var(--a-navy); font-size: .78rem; font-weight: 800; text-decoration: none; }
.a-footer-links a:hover { text-decoration: underline; }
@media (max-width: 1100px) {
  .a-pillars-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .a-pillars-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-pillar { min-height: 15rem; padding: 1.1rem; }
  .a-pillar h3 { margin-top: 1.9rem; font-size: 1.55rem; }
  .a-pillar > p:not(.a-pillar-number) { font-size: .78rem; }
  .a-footer-links { margin-left: 0; }
}
@media (max-width: 430px) {
  .a-pillars-grid { grid-template-columns: 1fr; }
  .a-pillar { min-height: 0; }
}
