/* Event pages share the established photo hero, native type and brand gold. */
.event-service-hero{min-height:clamp(600px,82svh,800px)}
.event-service-hero .page-media{z-index:0}
.event-service-hero .page-media::after{background:linear-gradient(0deg,#000c,transparent 95%),linear-gradient(90deg,#0007,transparent 90%)}
.event-service-hero .inner{max-width:940px}
.event-service-hero h1{font-size:clamp(44px,5.7vw,80px);font-weight:600;letter-spacing:-.04em;line-height:1.05;max-width:920px}
.event-hero-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.6;max-width:680px;color:#fff;margin:24px 0 0}
.brand-text-link{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:1.45;letter-spacing:-.01em;text-decoration:none;text-underline-offset:5px}
.brand-text-link:hover{text-decoration:underline;color:#a17c2b}
.brand-secondary-link{font-size:14px;line-height:1.5;text-underline-offset:5px}
.brand-section-heading{display:block;max-width:900px;margin-bottom:36px}
.brand-section-heading h2{margin:0}
.brand-work h2,.brand-karen-story h2,.event-editorial-copy h2,.event-case-copy h2{font-size:clamp(30px,3.2vw,44px);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.brand-section-heading>p{max-width:760px;margin:16px 0 0;color:#626267;font-size:17px;line-height:1.6}
.brand-work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.brand-work-card{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#fff;border:1px solid #1d1d1f0b}
.brand-work-photo{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;flex-shrink:0}
.brand-work-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%;transition:transform .35s ease}
.brand-work-photo--karen img{object-position:50% 23%}
.brand-work-photo:hover img{transform:scale(1.025)}
.brand-work-copy{display:flex;flex-direction:column;align-items:start;flex:1;padding:30px}
.brand-work-type{margin:0 0 12px;font-size:14px;font-weight:500;letter-spacing:0;color:#6e6e73;line-height:1.5}
.brand-work-copy h3{font-size:27px;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0 0 16px}
.brand-work-copy>p:not(.brand-work-type){font-size:17px;line-height:1.65;color:#626267;margin:0 0 28px}
.brand-work-copy>.brand-text-link{margin-top:auto}
.brand-work-copy>.brand-secondary-link{margin-top:18px}
.event-editorial-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,5.4vw,80px);align-items:center}
.event-editorial-copy{min-width:0}
.event-editorial-copy h2{margin:0 0 24px}
.event-editorial-copy p,.event-case-copy p{font-size:18px;line-height:1.7;color:#626267;margin:0 0 22px}
.event-editorial-copy .event-lead{font-size:22px;line-height:1.55;color:#1d1d1f;letter-spacing:-.012em}
.event-editorial-copy>p:last-child{margin-bottom:0}
.event-editorial-photo{position:relative;align-self:stretch;min-height:480px;overflow:hidden;margin:0;border-radius:24px}
.event-editorial-photo>a{display:block;width:100%;height:100%}
.event-editorial-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--event-photo-position,50% 50%)}
.event-editorial-grid--photo-first{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.event-editorial-grid--photo-first>.event-editorial-copy{order:2}
.event-editorial-grid--photo-first>.event-editorial-photo{order:1}
.event-case-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);overflow:hidden;border-radius:26px;background:#fff;border:1px solid #1d1d1f0b}
.event-case-photo{position:relative;display:block;min-height:500px;overflow:hidden}
.event-case-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.event-case-copy{align-self:center;padding:clamp(28px,4vw,52px)}
.event-case-copy h2{margin:0 0 24px}
.event-case-copy .brand-work-type{font-size:14px}
.event-supplier-mark{display:grid;place-items:center;width:200px;max-width:100%;height:112px;padding:22px;margin-top:36px;border-radius:16px;background:#0c7890}
.event-supplier-mark img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
/* Sport London's official marks follow the client wall's monochrome reveal. */
.sport-london-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,5.4vw,80px);align-items:center}
.sport-group-mark{display:grid;place-items:center;align-self:stretch;min-height:400px;padding:40px;border-radius:24px;background:#0c7890}
.sport-group-mark img{display:block;width:min(100%,340px);height:auto;max-height:none;object-fit:contain;filter:none;opacity:1}
.sport-group-mark:hover img,.sport-group-mark:focus-visible img{filter:none;opacity:1}
.sport-venue-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:44px}
.sport-venue-logos>div{min-width:0}
.sport-venue-logo{height:112px;padding:24px 16px;background:#f5f5f7;border-radius:16px;transition:background-color .2s}
.sport-venue-logo img{display:block;width:100%;max-width:180px;height:64px;max-height:64px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.65;transition:filter .2s,opacity .2s}
.sport-venue-logo:hover,.sport-venue-logo:focus-visible{background:var(--venue-colour)}
.sport-venue-logo:hover img,.sport-venue-logo:focus-visible img{filter:none;opacity:1}
.sport-group-mark:focus-visible,.sport-venue-logo:focus-visible{outline:2px solid #a17c2b;outline-offset:4px}
@media(max-width:1000px) and (min-width:761px){.sport-venue-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.event-services dl{margin:28px 0 0}
.event-services dl>div{padding:24px 0;border-bottom:1px solid #1d1d1f14}
.event-services dl>div:first-child{padding-top:0}
.event-services dt{font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.event-services dd{margin:10px 0 0;font-size:17px;line-height:1.7;color:#626267}
.brand-launch-gallery{display:grid;grid-template-columns:1.12fr 1fr .85fr;gap:18px;height:clamp(400px,40vw,560px)}
.brand-launch-gallery figure{margin:0;min-width:0;height:100%;overflow:hidden;border-radius:22px}
.brand-launch-gallery a{display:block;width:100%;height:100%;overflow:hidden}
.brand-launch-gallery img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.brand-launch-gallery figure:nth-child(2) img{object-position:50% 45%}
.brand-launch-story{margin-top:36px;max-width:800px}
.brand-story-links{display:grid;gap:20px;margin-top:28px}
.event-crosslink{padding-block:32px!important}
.event-crosslink p{font-size:17px;line-height:1.7;color:#626267;margin:0;max-width:800px}
.event-crosslink a{text-underline-offset:4px}
.brand-enquiry .btn{white-space:normal}
.brand-related-card{padding:32px 36px;border:1px solid #1d1d1f0d;border-radius:24px;background:#f5f5f7;color:#1d1d1f}
.brand-related-card h2{font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0 0 16px}
.brand-related-card p{margin:0 0 18px;color:#626267;font-size:17px;line-height:1.6}
.brand-related-card p a{text-underline-offset:5px}
.brand-home-discovery{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin:24px 0 0;font-size:15px;line-height:1.5}
.brand-home-discovery a{text-underline-offset:5px}
/* The source landscape exports contain blurred side panels. Zoom only the
   display surface; keep all original full-photo destinations unchanged. */
img.event-photo-crop{transform:scale(1.195);transform-origin:50% 50%}
.brand-work-photo:hover img.event-photo-crop,.colts-photo-grid a:hover img.event-photo-crop{transform:scale(1.215)}
.colts-photo-grid figure:has(.event-photo-crop){aspect-ratio:16/10}
.colts-photo-grid figure:has(.event-photo-crop) a{height:100%;overflow:hidden}
.colts-photo-grid img.event-photo-crop{height:100%;object-fit:cover}
.colts-gallery-heading{display:block;max-width:820px}
.colts-gallery-heading h2{margin-bottom:16px}
.colts-gallery-heading p{max-width:760px;margin:0}
.colts-delivery-grid .event-editorial-copy>p,.colts-feedback-grid .event-editorial-copy>p{max-width:none}
.colts-delivery-grid .colts-delivery-list{margin:28px 0}
.colts-delivery-grid .colts-delivery-list dt{font-size:20px}
.colts-feedback-grid .case-email{margin-top:28px}
.colts-feedback-grid .case-email-header{padding:22px 24px}
.colts-feedback-grid .case-email blockquote{padding:24px}
.colts-feedback-grid .case-email blockquote p{font-size:16px;line-height:1.75;margin-bottom:20px}
.colts-feedback-grid .case-email blockquote p:last-child{margin-bottom:0}
.brand-event-page .editorial-faq h2,.sport-event-page .editorial-faq h2,.launch-event-page .editorial-faq h2{margin-bottom:32px}
@media(max-width:1000px){.event-case-feature{grid-template-columns:1fr 1fr}.event-case-photo{min-height:520px}.event-case-copy{padding:32px}}
@media(max-width:760px){
 .event-service-hero{min-height:640px;padding:160px 0 48px}
 .event-service-hero h1{font-size:clamp(38px,10vw,56px)}
 .event-hero-lead{font-size:18px;margin-top:22px}
 .brand-section-heading{display:block;margin-bottom:28px}
 .brand-section-heading>p{margin-top:18px}
 .brand-work-grid,.event-editorial-grid,.event-case-feature{grid-template-columns:1fr;gap:28px}
 .brand-work-copy{padding:25px}
 .brand-work-copy h3{font-size:25px}
 .event-editorial-copy p,.event-case-copy p{font-size:17px}
 .event-editorial-copy .event-lead{font-size:20px}
 .event-editorial-photo{min-height:0;aspect-ratio:4/3}
 .event-editorial-grid--photo-first>.event-editorial-copy,.event-editorial-grid--photo-first>.event-editorial-photo{order:initial}
 .event-case-feature{gap:0}
 .event-case-photo{min-height:0;aspect-ratio:4/3}
 .event-case-copy{padding:28px 24px}
 .brand-launch-gallery{grid-template-columns:1fr 1fr;gap:12px;height:auto}
 .brand-launch-gallery figure{border-radius:16px;height:auto;aspect-ratio:3/4}
 .brand-launch-gallery figure:last-child{grid-column:1/-1;aspect-ratio:16/9}
 .brand-launch-story{margin-top:32px}
 .brand-related-card{padding:26px 24px}
 .brand-related-card h2{font-size:25px}
 .brand-home-discovery{gap:14px 20px}
 .event-supplier-mark{margin-top:26px}
 .sport-london-heading{grid-template-columns:1fr;gap:28px}
 .sport-group-mark{min-height:0;padding:32px;aspect-ratio:4/3}
 .sport-group-mark img{width:min(72%,280px)}
 .sport-venue-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}
 .sport-venue-logo{height:96px;padding:16px 14px}
}
@media(prefers-reduced-motion:reduce){.brand-work-photo img,.sport-group-mark img,.sport-venue-logo,.sport-venue-logo img{transition:none}}
