@font-face{font-family:'Bebas Neue';src:url('../fonts/bebas-neue.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#000000;--dark:#000000;--lime:#e9552e;--paper:#ffffff;--line:#dedede;--muted:#595959;--orange:#e9552e;--green:#a9c81f;--purple:#6758a2;--pink:#db2486}
body{background:#fff}
h1,h2,h3,.brand,.countdown b,.day b,.year-buttons button,.symbol{font-family:'Bebas Neue','Arial Narrow',Arial,sans-serif;font-weight:400;letter-spacing:.2px}
h1{font-size:clamp(62px,7.7vw,110px);line-height:.98;letter-spacing:.2px;text-transform:uppercase}
h2{font-size:clamp(40px,4.6vw,60px);line-height:1.04;letter-spacing:.2px;text-transform:uppercase}
h3{font-size:29px;line-height:1.1;letter-spacing:.2px}
.eyebrow{font-size:14px;letter-spacing:1.6px}
header{padding-top:18px;padding-bottom:18px;border-bottom:2px solid #000}
header .brand{font-size:24px;min-width:180px}
.brand-icon{display:none}
.brand small{font:700 12px Arial,sans-serif;letter-spacing:2.4px}
.brand sup{vertical-align:super}
.announcement{background:#000;font-size:12px}
.announcement a{color:#fff}
nav a.active{border-color:var(--orange)}
.button{background:var(--orange);color:#000;border-radius:0;font-size:15px;border-color:var(--orange);min-height:46px}
.button:hover{background:#fff;color:#000;border-color:#000}
.button.dark{background:#000;border-color:#000;color:#fff}
.button.dark:hover{background:var(--orange);color:#000;border-color:var(--orange)}
.button.outline{border-color:#fff;color:#fff}
.button.outline:hover{background:#fff;color:#000}
.hero{background:#000;min-height:680px}
.hero img{filter:grayscale(1);object-position:center}
.hero:after{background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.76) 57%,rgba(0,0,0,.12))}
.hero .eyebrow{color:#fff;border-left:4px solid var(--orange);padding-left:14px}
.hero h1 em{color:var(--orange)}
.hero p,.event-facts span{color:#e0e0e0}
.event-facts strong{font-size:18px}
.countdown{border-color:var(--orange)}
.countdown b{color:var(--orange);font-size:72px}
.countdown span{font-size:14px;letter-spacing:1px}
.partner-strip{background:#fff;border-bottom:2px solid #000}
.partner-strip span{font-size:12px;color:#555}
.partner-strip strong{font-size:18px}
.card,.feature-card,.timeline-panel,.programme,dialog,.wide-callout{border-radius:0}
.card{border-color:#ccc;border-top:4px solid #000}
.card .number{font-size:14px;color:#555}
.feature-card{background:#fff;border:1px solid #d6d6d6;border-top:6px solid var(--orange)}
.feature-card:nth-child(2){border-top-color:var(--purple)}
.feature-card:nth-child(3){border-top-color:var(--pink)}
.feature-card .symbol{font-size:38px;color:var(--orange)}
.feature-card:nth-child(2) .symbol{color:var(--purple)}
.feature-card:nth-child(3) .symbol{color:var(--pink)}
.feature-card:hover{background:#fafafa}
.card-link{font-size:15px}
.section.dark{background:#000;border-top:8px solid var(--orange)}
.dark .eyebrow{color:var(--orange)}
.dark .section-head p,.wide-callout p,.timeline-panel p{color:#dedede}
.page-head{background:#fff;color:#000;border-bottom:2px solid #000;position:relative;overflow:hidden}
.page-head:before{content:'';position:absolute;right:-110px;top:-220px;width:500px;height:500px;border:35px solid rgba(233,85,46,.10);border-radius:50%;pointer-events:none}
.page-head>*{position:relative}
.page-head .eyebrow{color:#a63317}
.page-head h1{font-size:clamp(50px,6vw,82px);letter-spacing:.2px}
.page-head p{color:#555}
.filters button{border-radius:0;font-size:15px}
.filters button.active{background:var(--orange);color:#000;border-color:var(--orange)}
.challenge:nth-child(3n+1){border-top-color:var(--orange)}
.challenge:nth-child(3n+2){border-top-color:var(--purple)}
.challenge:nth-child(3n){border-top-color:var(--pink)}
.challenge p{font-size:16px}
.tagline{font-size:14px}
.note{border-left:5px solid var(--green);background:#f5f8e7;color:#354008;font-size:15px}
.year-buttons button{font-size:30px;border-radius:0}
.year-buttons button.active{background:var(--orange);border-color:var(--orange);color:#000}
.timeline-panel{border-top:7px solid var(--orange);background:#000}
.timeline-panel .eyebrow{color:#fff}
.day b{font-size:54px;letter-spacing:.2px}
.day:nth-child(1){border-top:6px solid var(--orange)}
.day:nth-child(2){border-top:6px solid var(--purple)}
.day:nth-child(3){border-top:6px solid var(--pink)}
.check-list input{accent-color:#000}
.check-list label{display:flex;gap:12px}
.news-label{font-size:13px}
.wide-callout{border-left:7px solid var(--orange)}
footer{background:#000;border-top:8px solid var(--orange)}
.footer-top .brand{font-size:32px}
.footer-top a{color:#fff;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.footer-bottom{border-color:#555;color:#ccc;font-size:13px}
dialog h2{font-size:40px;line-height:1.05;letter-spacing:.2px}
dialog::backdrop{background:#000b}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--purple)}
@media(max-width:1100px){header .brand{font-size:21px;min-width:160px}.hero{min-height:680px}}
@media(max-width:800px){header .brand{font-size:24px}.hero{min-height:770px}.hero h1{font-size:66px;letter-spacing:.2px}.hero:after{background:linear-gradient(90deg,#000f,#0009)}.hero-content{padding-top:44px}.hero .eyebrow{font-size:12px}.event-facts strong{font-size:16px}.countdown b{font-size:58px}.page-head h1{font-size:54px;letter-spacing:.2px}.year-buttons button{font-size:24px}.partner-strip strong{font-size:16px}.partner-strip span{font-size:12px}dialog h2{font-size:34px}.footer-top .brand{font-size:30px}}

#detail{max-width:800px;max-height:90dvh;overflow-y:auto}#detail h2{font-size:clamp(30px,4vw,43px);overflow-wrap:anywhere}.challenge-owner{font-size:14px!important}.challenge h3{overflow-wrap:anywhere}.challenge .card-link{margin-top:20px}.filters{margin-top:26px}


.winner-photo{display:block;width:100%;height:240px;object-fit:contain;background:#151515;margin-top:22px}.edition-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.edition-photo{margin:0}.edition-photo.featured-photo{grid-column:1/-1}.edition-photo img{width:100%;height:auto;display:block;max-height:470px;object-fit:contain;background:#141414}.edition-photo figcaption{font-size:13px;color:#ddd;line-height:1.5;padding-top:8px}.edition-photo a:focus-visible{display:block}.community-photo{margin:0 0 50px;max-width:850px}.community-photo img{width:100%;max-height:450px;object-fit:contain;display:block;background:#000}.community-photo figcaption{font-size:14px;color:var(--muted);padding-top:10px}@media(max-width:800px){.edition-photos{grid-template-columns:1fr}.winner-photo{height:auto;max-height:340px}.edition-photo img{max-height:none}.timeline-panel{padding:25px 20px}.community-photo{margin-bottom:35px}}

.participant-notice{padding:26px 30px;border:1px solid #ddd;border-left:6px solid var(--orange);margin-bottom:30px;background:#fff}.participant-notice h3{margin:8px 0 12px}.participant-notice p{margin:0;max-width:900px}.participant-notice .eyebrow{margin:0;font-size:12px}@media(max-width:800px){.participant-notice{padding:22px}}

@media (max-width: 800px) {
  .hero-content {
    padding-bottom: 160px;
  }

  .countdown {
    bottom: 38px;
  }
}