.event-information {padding:80px 0 64px;scroll-margin-top:100px;}
.information-heading {text-align:center;margin-bottom:40px;}
.information-heading .eyebrow {display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 24px;}
.information-heading .eyebrow::before,.information-heading .eyebrow::after {content:"";width:40px;border-top:1px solid var(--ochre);}
.event-information .information-heading h2 {font:400 clamp(42px,5.2vw,68px)/1.12 Bodoni,Didot,serif;letter-spacing:-.045em;text-transform:none;margin:0;}
/* Since 3 oct only time and photos stay as icons (prizes and kit pickup live in the ticket): two items, icon beside text, as wide as the ticket. */
.information-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;max-width:780px;margin:0 auto;align-items:center;}
.information-item {display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:28px;align-items:center;min-width:0;}
.information-icon {grid-row:1 / span 2;display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0;}
.event-information .information-item h3 {font:400 clamp(27px,2.8vw,37px)/1.12 Bodoni,Didot,serif;letter-spacing:-.035em;margin:0 0 16px;}
.information-item h3::after {content:"";display:block;width:36px;border-top:1px solid var(--ochre);margin-top:18px;}
.information-copy {font-size:17px;line-height:1.45;}
.information-copy p {margin:0 0 10px;}
.information-copy .information-date {display:none;}
.information-copy .information-key {font-size:19px;font-weight:600;line-height:1.35;}
.information-copy .information-caption {font-size:15px;margin-bottom:12px;}
.information-pickup {margin:0;}
.information-pickup>div {display:grid;grid-template-columns:64px 1fr;gap:12px;margin-top:8px;align-items:baseline;}
.information-pickup dt {font-weight:600;font-size:19px;}
.information-pickup dd {margin:0;padding-left:12px;border-left:1px solid var(--line);}
.event-information .information-item details {border:0;margin-top:12px;}
.event-information .information-item summary {display:flex;align-items:center;gap:12px;width:fit-content;min-height:44px;padding:8px 0;font-size:17px;list-style:none;border-bottom:1px solid var(--ink);}
.information-item summary::-webkit-details-marker {display:none;}
.information-item summary:hover {color:var(--ochre);}
.information-item summary span {font-size:22px;line-height:1;}
.information-item details[open] summary span {transform:rotate(45deg);}
.information-detail {margin-top:20px;}
.event-information .information-detail p {margin:0 0 16px;font-size:16px;line-height:1.5;}
@media (max-width:899px) {
  .event-information {padding:56px 0 40px;}
  .information-grid {gap:32px;}
  .information-item {grid-template-columns:112px minmax(0,1fr);column-gap:20px;}
  .event-information .information-item h3 {font-size:30px;}
}
@media (max-width:599px) {
  .information-heading {text-align:left;margin-bottom:32px;}
  .information-heading .eyebrow {justify-content:flex-start;gap:14px;font-size:11px;}
  .information-heading .eyebrow::after {display:none;}
  .event-information .information-heading h2 {font-size:clamp(39px,10.5vw,54px);max-width:12ch;}
  .information-grid {grid-template-columns:1fr;gap:36px;}
  .information-item {grid-template-columns:104px minmax(0,1fr);column-gap:20px;align-items:start;}
  .information-icon {grid-column:1;grid-row:1 / span 3;}
  .event-information .information-item h3 {grid-column:2;font-size:29px;margin-bottom:12px;}
  .information-item h3::after {margin-top:12px;width:28px;}
  .information-copy {grid-column:2;min-height:0;font-size:16px;}
  .information-copy .information-key {font-size:18px;}
  .information-copy .information-date {display:block;font-size:17px;font-weight:600;}
  .information-copy .information-caption {font-size:14px;}
  .information-pickup>div {grid-template-columns:56px 1fr;gap:8px;}
  .information-pickup dd {padding-left:8px;}
  .information-pickup dt {font-size:18px;}
  .event-information .information-item details {grid-column:2;margin-top:4px;}
  .event-information .information-item summary {font-size:16px;}
}
@media (max-width:360px) {
  .information-item {grid-template-columns:80px minmax(0,1fr);column-gap:16px;}
  .event-information .information-item h3 {font-size:27px;}
}
/* Race ticket (Ale chose direction B, 3 oct 2026): the letter's facts as one perforated ticket, like the receipt runners get.
   Subtitles carry the shirt colors so people stop and read each stub. */
.race-ticket {--notch:14px;--card:#fbf6ec;max-width:780px;margin:64px auto 0;background:var(--card);border:1px solid #c7ad88;}
.ticket-stub {position:relative;padding:26px 30px;}
.ticket-stub+.ticket-stub {border-top:1.5px dashed #c7ad88;}
.ticket-stub+.ticket-stub::before,.ticket-stub+.ticket-stub::after {content:"";position:absolute;top:calc(var(--notch) * -1 - 1px);width:calc(var(--notch) * 2);height:calc(var(--notch) * 2);border-radius:50%;background:var(--paper);border:1px solid #c7ad88;}
.ticket-stub+.ticket-stub::before {left:calc(var(--notch) * -1 - 1px);clip-path:inset(0 0 0 50%);}
.ticket-stub+.ticket-stub::after {right:calc(var(--notch) * -1 - 1px);clip-path:inset(0 50% 0 0);}
.ticket-label {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;font:600 12.5px/1.3 Source,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--route);}
.ticket-label span:first-child {display:inline-flex;align-items:center;gap:10px;}
.ticket-label span:first-child::before {content:"";width:18px;height:3px;background:currentColor;flex:none;}
.ticket-label span+span {color:#72553b;text-align:right;}
.ticket-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;margin:0;}
.ticket-facts dt {font:600 11.5px/1.3 Source,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);}
.ticket-facts dd {margin:4px 0 0;font:400 21px/1.2 Newsreader,Georgia,serif;}
.ticket-seal-row {display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;}
.ticket-seal {position:relative;display:grid;place-content:center;width:118px;height:118px;margin:0;border:1.5px solid var(--route);border-radius:50%;color:var(--route);text-align:center;transform:rotate(-8deg);}
.ticket-seal::before {content:"";position:absolute;inset:6px;border:1px dashed var(--route);border-radius:50%;}
.ticket-seal b {font:400 40px/1 Bodoni,Didot,serif;font-weight:400;}
.ticket-seal span {font:600 9px/1.3 Source,sans-serif;letter-spacing:.14em;text-transform:uppercase;}
.ticket-lead {margin:0;font:400 22px/1.3 Newsreader,Georgia,serif;}
.ticket-note {margin:10px 0 0;font-size:15px;line-height:1.5;color:#72553b;}
.ticket-categories {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px;margin:0;border-top:1px solid var(--line);}
.ticket-categories div {display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;}
.ticket-categories dt {font-weight:600;white-space:nowrap;}
.ticket-categories dd {margin:0;color:#72553b;white-space:nowrap;font-variant-numeric:tabular-nums;}
.ticket-kit {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:28px;}
.ticket-kit ol {margin:0;padding:0;list-style:none;counter-reset:kit;}
.ticket-kit li {counter-increment:kit;display:grid;grid-template-columns:28px 1fr;gap:6px;padding:5px 0;font-size:16px;line-height:1.4;}
.ticket-kit li::before {content:counter(kit);font:400 21px/1.15 Bodoni,Didot,serif;color:var(--route);}
.ticket-kit .ticket-facts {grid-template-columns:1fr 1fr;align-content:start;}
.ticket-stores small {display:block;margin-top:4px;font:400 14px/1.45 Source,sans-serif;color:#72553b;}
.ticket-stores small+small {margin-top:2px;}
.ticket-stores small span {white-space:nowrap;}
.ticket-stores .ticket-hours {color:#482b1a;font-weight:600;}
/* Sponsor band (Ale chose direction B without the ribbons, 3 oct 2026): its own strip after registration, before the footer.
   Logos travel slowly across the full width, an ochre lozenge between brands, no boxes. Logos keep their own colors;
   sponsors whose logo has not arrived keep their name in Bodoni until it does. */
.sponsor-band {padding:56px 0 40px;}
.sponsor-band .eyebrow {display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 12px;}
.sponsor-band .eyebrow::before,.sponsor-band .eyebrow::after {content:"";width:40px;border-top:1px solid var(--ochre);}
.sponsor-marquee {overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);}
.sponsor-track {display:flex;width:max-content;animation:sponsor-loop 60s linear infinite;}
.sponsor-marquee:hover .sponsor-track {animation-play-state:paused;}
.sponsor-set {display:flex;align-items:center;margin:0;padding:0;list-style:none;}
.sponsor-set li {position:relative;display:flex;align-items:center;height:132px;padding:0 52px;font:400 25px/1 Bodoni,Didot,serif;letter-spacing:-.01em;white-space:nowrap;}
.sponsor-set li::after {content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--ochre);transform:rotate(45deg);}
.sponsor-logo img {display:block;width:auto;height:44px;}
.sponsor-dogma img {height:50px;}
.sponsor-rosanelo img {height:62px;}
.sponsor-smartfit img {height:50px;}
.sponsor-cercor img {height:88px;}
.sponsor-plabo img {height:62px;}
.sponsor-dinematica img {height:38px;}
@keyframes sponsor-loop {to {transform:translateX(-50%);}}
@media (max-width:760px) {
  .race-ticket {margin-top:44px;}
  .ticket-stub {padding:22px 20px;}
  .ticket-label {font-size:11.5px;letter-spacing:.12em;align-items:flex-start;}
  .ticket-facts {grid-template-columns:1fr 1fr;}
  .ticket-facts dd {font-size:19px;}
  .ticket-seal-row {grid-template-columns:1fr;justify-items:start;gap:18px;}
  .ticket-lead {font-size:20px;}
  .ticket-categories {grid-template-columns:1fr 1fr;}
  .ticket-kit {grid-template-columns:1fr;}
}
@media (max-width:760px) {
  .sponsor-band {padding:40px 0 24px;}
  .sponsor-set li {height:104px;padding:0 34px;font-size:20px;}
  .sponsor-logo img {height:36px;}
  .sponsor-dogma img {height:41px;}
  .sponsor-rosanelo img {height:50px;}
  .sponsor-smartfit img {height:41px;}
  .sponsor-cercor img {height:70px;}
  .sponsor-plabo img {height:50px;}
  .sponsor-dinematica img {height:30px;}
}
@media (prefers-reduced-motion:reduce) {
  .sponsor-marquee {-webkit-mask-image:none;mask-image:none;}
  .sponsor-track {width:auto;animation:none;}
  .sponsor-set {flex-wrap:wrap;justify-content:center;}
  .sponsor-set[aria-hidden=true] {display:none;}
}
@media (max-width:360px) {
  .ticket-categories {column-gap:10px;}
  .ticket-categories div {font-size:13px;}
}
