/* 66 Adventure. Race Space Accelerator site styles. Values lifted from the approved prototype. */
@font-face{font-family:'OS Black';src:url('../fonts/OpenSauceSans-Black.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'OS XB';src:url('../fonts/OpenSauceSans-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Work Sans';src:url('../fonts/WorkSans.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Staatliches';src:url('../fonts/Staatliches.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Handelson';src:url('../fonts/HandelsonSix.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Macabro';src:url('../fonts/Macabro.woff2') format('woff2');font-display:swap}

:root{
	--navy:#0B2034; --navy-deep:#08192A; --navy-foot:#071623; --navy-tile:#16314B;
	--off:#F4F6F5; --red:#B82038;
	--rule:rgba(244,246,245,.14); --muted:rgba(244,246,245,.86);
	--gutter:clamp(20px,4vw,56px); --max:1440px;
	--g-arctic:linear-gradient(160deg,#0A0A0A,#0B2034 35%,#18ADBF 72%,#3C7A5E);
	--g-aurora:linear-gradient(170deg,#2B6E64,#3F8F6B 35%,#1F3B5C 65%,#5E4B7C);
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--off);font-family:'Work Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:var(--off);text-decoration-color:var(--red);text-underline-offset:4px}
a:hover{color:#fff;text-decoration-color:var(--off)}
::selection{background:var(--red);color:var(--off)}
img{max-width:100%}
button{font:inherit}
[hidden]{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--off);color:var(--navy);padding:10px 14px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--off);outline-offset:3px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important;animation:none !important}}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:900px}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* type */
.eyebrow{font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:24px}
.eyebrow-plain{color:var(--off);margin-bottom:20px}
.h2{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(46px,5.8vw,84px);line-height:.95;text-transform:uppercase;text-wrap:balance}
.h3{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(36px,4vw,56px);line-height:1;padding-right:80px}
.measure-12{max-width:12em}
.lead{margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.5}
.muted{color:var(--muted)}
.red{color:var(--red)}
.small-note{margin-top:10px;font-family:'OS XB';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,246,245,.6)}
.tag{position:absolute;left:10px;bottom:10px;font-family:'OS XB';font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:rgba(11,32,52,.85);padding:5px 8px;margin:0}
.tag-lg{left:20px;bottom:18px;font-size:11px;padding:6px 10px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 22px;border:2px solid var(--off);font-family:'OS XB';font-size:16px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.btn-solid{background:var(--off);color:var(--navy)}
.btn-solid:hover{background:transparent;color:var(--off)}
.btn-ghost{background:transparent;color:var(--off)}
.btn-ghost:hover{background:var(--off);color:var(--navy)}
.btn-lg{height:56px;padding:0 26px;font-size:clamp(16px,1.4vw,20px);letter-spacing:.03em}
.btn-block{display:flex;justify-content:center;height:52px;width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:36px;font-family:'OS XB';font-size:15px;letter-spacing:.06em;text-transform:uppercase}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease}
.site-header.is-solid,.site-header.is-open{background:var(--navy);border-bottom-color:rgba(244,246,245,.12)}
.header-bar{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.header-logo{display:flex;align-items:center}
.header-logo img{height:52px;width:auto;display:block}
.main-nav{display:flex;align-items:center;gap:32px;font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.main-nav a{text-decoration:none}
.races-toggle{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--off)}
.races-toggle svg{transition:transform .25s ease}
.races-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:12px}
.burger{all:unset;cursor:pointer;width:48px;height:48px;display:none;align-items:center;justify-content:center;border:2px solid rgba(244,246,245,.4);box-sizing:border-box}
.races-menu{background:var(--navy);border-top:1px solid rgba(244,246,245,.12);border-bottom:1px solid rgba(244,246,245,.12)}
.races-grid{padding-top:28px;padding-bottom:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px}
.race-tile{display:flex;flex-direction:column;gap:10px;padding:22px;text-decoration:none}
.race-tile-name{font-family:'Staatliches';font-size:32px;line-height:1}
.race-tile-date{font-size:14px;opacity:.85}
.race-tile.theme-amber .race-tile-date{opacity:1}
.race-tile.theme-neutral{border:2px dashed rgba(244,246,245,.35)}
@media (max-width:1079px){
	.main-nav,.races-menu{display:none !important}
	.burger{display:flex}
}
@media (max-width:420px){.header-cta{height:44px;padding:0 14px;font-size:14px}.header-logo img{height:44px}}

/* drawer */
.scrim{position:fixed;inset:0;z-index:60;background:rgba(5,14,24,.6);opacity:0;pointer-events:none;transition:opacity .3s ease}
.scrim.is-open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(88vw,400px);background:var(--navy);border-left:1px solid rgba(244,246,245,.14);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;overflow-y:auto;visibility:hidden}
.drawer.is-open{transform:translateX(0);visibility:visible}
.drawer-head{height:84px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(244,246,245,.12)}
.drawer-head img{height:44px;width:auto}
.drawer-close{all:unset;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.drawer-label{padding:28px 24px 8px;font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,246,245,.6)}
.drawer-races{display:flex;flex-direction:column;padding:0 24px;font-family:'Staatliches';font-size:30px;line-height:1}
.drawer-races a{display:flex;align-items:center;gap:14px;padding:12px 0;text-decoration:none}
.drawer-races a.is-soon{opacity:.7}
.swatch{width:10px;height:10px;flex:none}
.drawer-links{display:flex;flex-direction:column;margin-top:20px;padding:16px 24px;border-top:1px solid rgba(244,246,245,.12);font-family:'OS XB';font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.drawer-links a{padding:12px 0;text-decoration:none}
.drawer-foot{margin-top:auto;padding:24px}

/* themes */
.theme-arctic{background:var(--g-arctic);color:var(--off)}
.theme-aurora{background:var(--g-aurora);color:var(--off)}
.theme-amber{background:#F2A93B;color:#22252A}
.theme-fiji{background:#7C1D1D;color:var(--off)}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:180px;overflow:hidden;background:var(--navy)}
.hero .cover{object-position:50% 60%}
.hero-tint{position:absolute;inset:0;background:rgba(11,32,52,.38)}
.hero-fade{position:absolute;left:0;right:0;bottom:0;height:78%;background:linear-gradient(to top,rgba(11,32,52,.88),rgba(11,32,52,.5) 55%,rgba(11,32,52,0))}
.hero-inner{position:relative;width:100%;padding-bottom:clamp(40px,7vh,88px)}
.hero-title{margin:0;max-width:11.5em;font-family:'OS Black';font-weight:900;font-size:clamp(36px,min(7.6vw,11vh),112px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.hero-intro{margin:24px 0 0;font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:34em}
@media (max-width:1079px){.hero{min-height:90vh}}

/* split sections */
.split{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--navy)}
.split-text{flex:7 1 520px;padding:clamp(72px,10vw,152px) clamp(20px,6vw,112px) clamp(72px,10vw,152px) max(var(--gutter),calc((100vw - 1440px)/2 + 56px))}
.prose{max-width:680px;margin-top:40px;display:flex;flex-direction:column;gap:22px;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.prose p{margin:0}
.mosaic{flex:5 1 380px;min-height:600px;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1.3fr 1fr 1fr;gap:6px;padding:6px 0 6px 6px}
.mosaic figure{margin:0;position:relative;background:var(--navy-tile);overflow:hidden}
.mosaic .m1{grid-column:1/-1}
.mosaic .m2{grid-row:span 2}
@media (max-width:899px){.mosaic{padding:0 6px 6px;min-height:520px}}

/* facts */
.facts{background:var(--navy);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.facts-row{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap}
.fact{flex:1 1 200px;padding:44px clamp(20px,2.4vw,36px);border-right:1px solid var(--rule)}
.fact:last-child{border-right:0}
.fact-wide{flex:1.6 1 300px}
.fact-word{flex:1.4 1 260px}
.fact-value{font-family:'Staatliches';font-size:clamp(50px,5vw,74px);line-height:.9;white-space:nowrap}
.fact-word .fact-value{font-size:clamp(44px,4.2vw,62px);text-transform:uppercase;white-space:normal}
.fact-label{margin-top:14px;font-size:15px;line-height:1.4;color:rgba(244,246,245,.8)}
@media (max-width:640px){.fact{border-right:0;border-bottom:1px solid var(--rule)}.fact:last-child{border-bottom:0}}

/* intro rows */
.intro-row{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,80px);align-items:flex-end}
.intro-head{flex:1 1 560px}
.intro-text{flex:1 1 380px;margin:0;max-width:520px;font-size:clamp(16px,1.25vw,18px);line-height:1.6;color:var(--muted)}
.intro-row-find .intro-head{flex:1.3 1 520px}
.intro-row-find .intro-text{flex:1 1 360px;max-width:500px}

/* where we race */
.where{background:var(--navy);padding:clamp(80px,10vw,160px) 0 clamp(64px,8vw,120px);scroll-margin-top:84px}
.map{position:relative;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.map-canvas{position:relative;max-width:1600px;margin:0 auto;aspect-ratio:1000/394}
.map-land{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9}
.map-lines{position:absolute;inset:0;width:100%;height:100%;display:block}
.arctic-line{stroke-dashoffset:1000;transition:stroke-dashoffset 1.5s cubic-bezier(.6,0,.2,1)}
.map.is-drawn .arctic-line{stroke-dashoffset:0}
.map-label{position:absolute;font-family:'OS XB';font-size:clamp(9px,1vw,11px);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,246,245,.45)}
.map-label-r{right:clamp(12px,2vw,32px)}
.arctic-label{left:clamp(12px,2vw,32px);top:calc(12.3% + 6px);font-size:clamp(9px,1vw,12px);color:var(--red);opacity:0;transition:opacity .6s ease 1.2s}
.map.is-drawn .arctic-label{opacity:1}
.pin{all:unset;cursor:pointer;position:absolute;transform:translate(-8px,-140%);opacity:0;transition-property:opacity,transform;transition-duration:.4s,.5s;transition-timing-function:ease,cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;gap:10px;z-index:3}
.map.is-drawn .pin{opacity:1;transform:translate(-8px,-50%)}
.pin-dot{width:16px;height:16px;background:var(--off);border:2px solid var(--off);flex:none;transform:rotate(45deg);box-shadow:0 0 0 0 rgba(244,246,245,.18);transition:box-shadow .25s ease;box-sizing:border-box}
.pin-soon .pin-dot{width:14px;height:14px;background:transparent;border:2px dashed var(--off)}
.pin.is-active .pin-dot{box-shadow:0 0 0 8px rgba(244,246,245,.18)}
.pin-label{font-family:'OS XB';font-size:clamp(10px,1vw,13px);letter-spacing:.06em;text-transform:uppercase;max-width:min(240px,40vw);line-height:1.3;background:rgba(11,32,52,.85);padding:5px 8px;border:1px solid rgba(244,246,245,.18)}
.inset{position:absolute;top:4%;left:54%;width:min(40%,520px);z-index:5;background:var(--navy);border:1px solid rgba(244,246,245,.3)}
.inset-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule);font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.inset-head button{all:unset;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.inset-map{display:block;width:100%;height:auto;background:#0E2740}
.inset-map .route{cursor:pointer;transition:stroke-width .2s}
.inset-map .route.is-active{stroke-width:5}
.inset-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 14px;font-size:13px}
.inset-legend button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px}
.inset-legend span{width:18px;height:3px}
@media (max-width:1079px){.inset{position:relative;top:0;left:0;width:100%}}
@media (max-width:640px){.pin-label{display:none}.map-label{display:none}.arctic-label{display:block}}
.race-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.race-tab{all:unset;cursor:pointer;padding:10px 14px;font-family:'OS XB';font-size:13px;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--tab);color:var(--off)}
.race-tab[aria-selected="true"]{background:var(--off);border-color:var(--off);color:var(--navy)}
.race-panel{margin-top:20px;display:flex;flex-wrap:wrap}
.race-panel.theme-neutral{background:none;border:2px dashed rgba(244,246,245,.35)}
.race-panel-img{flex:1 1 300px;min-height:280px;position:relative;background:var(--navy)}
.race-panel-body{flex:1.4 1 420px;padding:clamp(28px,4vw,48px);position:relative}
.race-panel.theme-neutral .race-panel-body .h3{padding-right:0}
.race-logo{position:absolute;top:20px;right:20px;width:84px;height:auto}
.race-meta{margin-top:10px;font-family:'OS XB';font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.theme-fiji .race-meta{color:#E8D6A3}
.race-panel p{margin:20px 0 0;max-width:560px;font-size:17px;line-height:1.6}
.race-panel .btn{margin-top:28px;height:52px}
.btn-race{background:var(--off);color:var(--navy);font-family:'Staatliches';font-size:22px;letter-spacing:0;text-transform:none}
.btn-race:hover{background:transparent;color:var(--off)}
.theme-aurora .btn-race{color:#1F3B5C}
.theme-fiji .btn-race{color:#4A1010}
.theme-aurora .btn-race:hover,.theme-fiji .btn-race:hover{color:var(--off)}
.theme-amber .btn-race{background:transparent;color:#22252A;border-color:#22252A}
.theme-amber .btn-race:hover{background:#22252A;color:#F2A93B}
.race-panel.theme-neutral .btn{font-family:'OS XB';font-size:16px}

/* find your race */
.find{background:var(--navy-deep);padding:clamp(80px,10vw,160px) 0}
.cards{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(48px,6vw,88px);align-items:flex-start}
.card{flex:1 1 280px;display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease}
.card:hover{transform:translateY(-4px)}
.card.theme-amber,.card.theme-amber:hover{color:#22252A}
.card-offset{margin-top:clamp(0px,3vw,48px)}
.card-img{aspect-ratio:4/3;position:relative;background:var(--navy);overflow:hidden}
.card-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,14,24,.75) 0%,rgba(5,14,24,.35) 35%,rgba(5,14,24,0) 65%)}
.card-logo{position:absolute;top:12px;right:12px;width:72px;height:auto}
.card-body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.card-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:40px;line-height:.95}
.card-tagline{margin-top:8px;font-family:'OS XB';font-size:17px;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.card.theme-amber .card-tagline{font-family:'Handelson','OS XB';font-size:19px}
.card.theme-fiji .card-tagline{font-family:'Macabro','OS XB';font-size:19px;color:#E8D6A3}
.card-body p{margin:16px 0 0;font-size:16px;line-height:1.55}
.card-foot{margin-top:20px;padding-top:14px;border-top:1px solid rgba(244,246,245,.3);font-size:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.card.theme-amber .card-foot{border-top-color:rgba(34,37,42,.35)}
.card.theme-fiji .card-foot{border-top-color:#A8522A}
.card-explore{font-family:'Staatliches';font-size:20px;display:flex;align-items:center;gap:6px}
.soon-bar{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px;border:2px dashed rgba(244,246,245,.3);text-decoration:none}
.soon-bar:hover{border-color:var(--off)}
.soon-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px}
.soon-name>span:first-child{font-family:'Staatliches';font-size:34px;line-height:1}
.soon-meta{font-family:'OS XB';font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,246,245,.75)}
.soon-cta{font-family:'OS XB';font-size:15px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.compare-toggle{all:unset;cursor:pointer;margin-top:40px;display:inline-flex;align-items:center;gap:12px;font-family:'OS XB';font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding-bottom:6px;border-bottom:2px solid var(--red)}
.compare-toggle svg{transition:transform .25s ease}
.compare-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.compare{margin-top:28px;overflow-x:auto;border-top:1px solid rgba(244,246,245,.2)}
.compare table{width:100%;min-width:900px;border-collapse:collapse;font-size:15px;line-height:1.45}
.compare thead th{text-align:left;padding:18px 16px;font-family:'Staatliches';font-weight:400;font-size:24px;border-bottom:3px solid transparent}
.compare thead th:first-child{width:14%}
.compare tbody th{text-align:left;vertical-align:top;padding:16px 16px 16px 0;font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,246,245,.7);border-bottom:1px solid rgba(244,246,245,.12)}
.compare td{vertical-align:top;padding:16px;border-bottom:1px solid rgba(244,246,245,.12)}

/* dates */
.dates{background:var(--navy);padding:clamp(80px,10vw,160px) 0 clamp(64px,8vw,120px)}
.timeline-scroll{margin-top:clamp(40px,5vw,72px);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:var(--gutter);scroll-padding-right:var(--gutter);padding-bottom:12px}
.timeline{list-style:none;margin:0 auto;padding:0 var(--gutter);display:flex;min-width:min-content;max-width:var(--max);position:relative}
.timeline li{flex:0 0 clamp(250px,22vw,300px);scroll-snap-align:start;position:relative;padding-top:44px;padding-right:16px}
.tl-line{position:absolute;top:12px;left:0;right:0;height:1px;background:rgba(244,246,245,.25)}
.tl-dot{position:absolute;top:6px;left:0;width:13px;height:13px;transform:rotate(45deg)}
.tl-dot-soon{background:transparent;border:1px dashed var(--off)}
.tl-card{padding:22px 20px 24px;min-height:250px;display:flex;flex-direction:column}
.tl-soon{border:2px dashed rgba(244,246,245,.35)}
.tl-dates{font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.tl-name{margin:12px 0 0;font-family:'Staatliches';font-weight:400;font-size:32px;line-height:.95}
.tl-close{margin-top:10px;font-size:14px;opacity:.85}
.tl-btn{margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:8px;color:inherit;font-family:'OS XB';font-size:14px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none}
.theme-amber .tl-btn{color:#22252A}
.tl-days{margin-top:14px;display:flex;align-items:baseline;gap:8px;font-size:14px;color:rgba(244,246,245,.75)}
.tl-num{font-family:'Staatliches';font-size:36px;line-height:1;color:var(--off)}
.tl-num:empty{display:none}

/* roll of honour */
.honour{position:relative;background:var(--navy)}
.honour-photo{position:relative;min-height:clamp(560px,62vw,820px);display:flex;align-items:flex-end;background:var(--navy-tile)}
.honour-photo>.cover{object-position:50% 62%}
.honour-wrap{width:100%;display:flex;justify-content:flex-end;position:relative}
.honour-card{flex:0 1 640px;background:var(--navy);padding:clamp(32px,4.5vw,64px);margin-bottom:-1px}
.honour-card p{margin:28px 0 0;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.honour-card p+p{margin-top:18px}
.honour-links-wrap{padding-bottom:clamp(80px,10vw,140px)}
.honour-links{flex:0 1 640px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2px;background:rgba(244,246,245,.14)}
.honour-links a{background:var(--navy);padding:22px 24px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'OS XB';font-size:14px;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.honour-links a:hover{background:var(--red)}

/* crew */
.crew{flex-wrap:wrap-reverse;background:var(--navy-deep)}
.crew-photo{flex:5 1 380px;margin:0;min-height:600px;position:relative;background:var(--navy-tile)}
.crew-photo .cover{object-position:30% 50%}
.crew-text{flex:6 1 520px;padding:clamp(72px,10vw,152px) max(var(--gutter),calc((100vw - 1440px)/2 + 56px)) clamp(72px,10vw,152px) clamp(20px,6vw,112px)}
.crew-lead{margin-top:36px;max-width:640px}
.people{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}
.person{flex:1 1 220px;display:flex;gap:14px;align-items:center;padding:14px;border:1px dashed rgba(244,246,245,.3)}
.person.has-photo{border-style:solid}
.person-photo{width:56px;height:56px;flex:none;background:var(--navy-tile) repeating-linear-gradient(135deg,rgba(244,246,245,.06) 0 1px,transparent 1px 8px);overflow:hidden}
.person-photo img{width:100%;height:100%;object-fit:cover;display:block}
.person-text{font-size:14px;line-height:1.4}
.person-text strong{font-family:'OS XB';font-weight:800;display:block;text-transform:uppercase;letter-spacing:.04em}
.crew-cta{margin-top:36px;font-size:18px}

/* newsletter */
.dispatches{background:var(--red);scroll-margin-top:84px}
.dispatches-inner{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px);display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,96px);align-items:flex-end}
.dispatches-head{flex:1 1 440px}
.mega{margin:0;font-family:'OS Black';font-weight:900;font-size:clamp(48px,7vw,104px);line-height:.92;text-transform:uppercase}
.dispatches-head p{margin:24px 0 0;max-width:520px;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.news-form{flex:1 1 420px;max-width:620px}
.news-row{display:flex;flex-wrap:wrap;border:2px solid var(--off)}
.news-field{flex:1 1 240px;display:flex}
.news-field input{flex:1;min-width:0;height:60px;padding:0 20px;background:transparent;border:0;outline:none;color:var(--off);font-family:'Work Sans';font-size:17px}
.news-field input::placeholder{color:rgba(244,246,245,.8)}
.news-row button{all:unset;cursor:pointer;height:60px;padding:0 30px;background:var(--off);color:var(--red);font-family:'OS XB';font-size:17px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center}
.news-done{border:2px solid var(--off);padding:18px 20px;font-family:'OS XB';font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.news-small{margin:14px 0 0;font-size:13px;line-height:1.5}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer */
.site-footer{background:var(--navy-foot);border-top:1px solid rgba(244,246,245,.1)}
.footer-top{padding-top:clamp(64px,7vw,96px);padding-bottom:40px;display:flex;flex-wrap:wrap;gap:48px clamp(32px,4vw,72px)}
.footer-brand{flex:1.4 1 260px}
.footer-brand img{width:140px;height:auto;display:block}
.footer-brand p{margin:24px 0 0;max-width:300px;font-size:16px;line-height:1.55;color:rgba(244,246,245,.85)}
.footer-col{flex:1 1 180px;display:flex;flex-direction:column;gap:12px;font-size:15px}
.footer-col a{text-decoration:none}
.footer-col a.muted{color:rgba(244,246,245,.7)}
.footer-label{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,246,245,.6);margin-bottom:6px}
.footer-news{flex:1.4 1 280px}
.footer-news .footer-label{margin-bottom:18px}
.footer-signup{display:flex;justify-content:space-between;align-items:center;height:52px;padding:0 18px;border:2px solid rgba(244,246,245,.5);text-decoration:none;font-size:15px;color:rgba(244,246,245,.8)}
.footer-signup:hover{border-color:var(--off)}
.footer-signup span{font-family:'OS XB';font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--off)}
.social{display:flex;gap:8px;margin-top:24px}
.social a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(244,246,245,.3);transition:background .2s,border-color .2s}
.social a:hover{background:var(--red);border-color:var(--red)}
.footer-bottom{padding-top:24px;padding-bottom:32px;border-top:1px solid rgba(244,246,245,.12);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.footer-legal{flex:1 1 520px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.55;color:rgba(244,246,245,.7)}
.footer-legal p{margin:0}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 20px}
.legal-links a{color:rgba(244,246,245,.85)}
.powered{display:flex;align-items:center;text-decoration:none}
.powered img{height:30px;width:auto;display:block}

/* interim pages */
.page-plain{padding:160px 0 120px;min-height:70vh}
.page-plain .lead{margin-top:28px}
.rte{margin-top:32px;font-size:18px;line-height:1.6}

@media (max-width:480px){.btn-row .btn{white-space:normal;height:auto;min-height:56px;padding-top:12px;padding-bottom:12px;line-height:1.15}}

/* =================== Race pages =================== */
.race-theme-arctic,.race-theme-neutral{--r-bg:#0B2034;--r-panel:linear-gradient(160deg,#0A0A0A,#0B2034 45%,#0f4f5c);--r-ground:var(--g-arctic);--r-ground-ink:#F4F6F5;--r-accent:#18ADBF;--r-accent-ink:#18ADBF;--r-fade:rgba(11,32,52,.9);--r-sub:#F4F6F5;--r-btn-bg:#F4F6F5;--r-btn-ink:#0B2034;--r-sub-font:'OS XB'}
.race-theme-aurora{--r-bg:#1F3B5C;--r-panel:#183049;--r-ground:var(--g-aurora);--r-ground-ink:#F4F6F5;--r-accent:#3F8F6B;--r-accent-ink:#7FD3A8;--r-fade:rgba(31,59,92,.9);--r-sub:#7FD3A8;--r-btn-bg:#F4F6F5;--r-btn-ink:#1F3B5C;--r-sub-font:'OS XB'}
.race-theme-amber{--r-bg:#22252A;--r-panel:#3E525C;--r-ground:#F2A93B;--r-ground-ink:#22252A;--r-accent:#F2A93B;--r-accent-ink:#F2A93B;--r-fade:rgba(34,37,42,.92);--r-sub:#F2A93B;--r-btn-bg:#22252A;--r-btn-ink:#F2A93B;--r-sub-font:'Handelson','OS XB'}
.race-theme-fiji{--r-bg:#4A1010;--r-panel:#7C1D1D;--r-ground:#7C1D1D;--r-ground-ink:#F4F6F5;--r-accent:#A8522A;--r-accent-ink:#E8D6A3;--r-fade:rgba(74,16,16,.9);--r-sub:#E8D6A3;--r-btn-bg:#F4F6F5;--r-btn-ink:#4A1010;--r-sub-font:'Macabro','OS XB'}
body.tpl-race{background:var(--r-bg)}
.tpl-race .site-header.is-solid,.tpl-race .site-header.is-open{background:var(--r-bg)}
.tpl-race .drawer{background:var(--r-bg)}
/* race brand: logo on the left, race name and "66 Adventure" stacked and left aligned beside it */
.race-brand{display:flex;align-items:center;gap:12px;min-width:0}
.race-brand-logo{flex:none;display:block;line-height:0}
.race-brand-logo img{height:40px;width:auto;display:block}
.race-brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.race-brand-name{font-family:'Staatliches';font-size:28px;line-height:1;text-decoration:none}
.race-brand-home{font-family:'OS XB';font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,246,245,.72);text-decoration:none;line-height:1}
.header-cta-race{font-family:'Staatliches';font-size:22px;letter-spacing:0;text-transform:none;padding:0 20px;color:var(--r-bg)}
.race-theme-amber .header-cta-race{color:#22252A}
@media (max-width:600px){.race-brand{gap:10px}.race-brand-name{font-size:20px}.race-brand-home{white-space:nowrap}.race-brand-logo img{height:34px}.header-cta-race{font-size:18px;padding:0 12px}}
@media (max-width:480px){.race-brand-text{display:none}.race-brand-logo img{height:40px}.header-actions{gap:8px}.header-cta-race{font-size:17px;padding:0 14px}.tpl-race .burger{width:44px;height:44px}}
.drawer-sections{padding-top:20px;font-size:28px}
.drawer-sections a{padding:10px 0}
.social-follow{margin-top:0}

.r-label{font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--r-accent-ink);margin-bottom:22px}
.r-label-plain{color:inherit}
.r-h2{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(44px,5.6vw,80px);line-height:.95;text-transform:uppercase;text-wrap:balance}
.race-flagship .r-h2{font-size:clamp(40px,5.4vw,72px);line-height:1}
.r-h2-xl,.race-flagship .r-h2-xl{font-size:clamp(44px,7vw,104px);line-height:.95;max-width:10em}
.r-sub{margin-top:12px;font-family:var(--r-sub-font);font-size:clamp(22px,2.4vw,32px);line-height:1.1;letter-spacing:.02em;text-transform:uppercase;color:var(--r-sub)}
.r-sub-sm{margin-top:14px;font-size:clamp(20px,2.2vw,28px)}
.r-body{margin:28px 0 0;max-width:720px;font-size:clamp(16px,1.3vw,19px);line-height:1.6}
.r-note{margin:24px 0 0;max-width:720px;font-size:14px;line-height:1.5;color:rgba(244,246,245,.8)}
.r-prose{margin-top:32px;max-width:680px;display:flex;flex-direction:column;gap:18px;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.r-prose p{margin:0;color:rgba(244,246,245,.9)}
.r-prose p.lead{color:var(--off)}
.r-prose p.muted{color:var(--muted)}
.stripe{position:absolute;inset:0;background:var(--navy-tile) repeating-linear-gradient(135deg,rgba(244,246,245,.05) 0 1px,transparent 1px 12px)}
.ratio-43,.ratio-32,.ratio-11{position:relative;overflow:hidden;background:var(--navy-tile)}
.ratio-43{aspect-ratio:4/3}.ratio-32{aspect-ratio:3/2}.ratio-11{aspect-ratio:1}

/* buttons */
.r-btn{height:56px;padding:0 26px;font-family:'Staatliches';font-size:22px;letter-spacing:0;text-transform:none}
.race-flagship .r-btn{font-size:clamp(18px,1.6vw,22px)}
.r-btn-solid{background:var(--off);color:var(--r-bg)}
.race-theme-amber .r-btn-solid{color:#22252A}
.r-btn-solid:hover{background:transparent;color:var(--off)}
.r-btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.r-btn-ghost:hover{background:var(--off);color:var(--r-bg);border-color:var(--off)}
.r-btn-sm{height:48px;padding:0 18px;font-size:20px;gap:8px}

/* hero */
.r-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:190px;overflow:hidden;background:var(--r-bg)}
.r-hero .cover{object-position:50% 50%}
.r-hero-tint{position:absolute;inset:0;background:rgba(11,20,30,.35)}
.race-flagship .r-hero-tint{background:rgba(11,32,52,.4)}
.r-hero-mark{position:absolute;top:112px;right:var(--gutter);width:clamp(96px,10vw,148px);height:auto}
.r-hero-fade{position:absolute;left:0;right:0;bottom:0;height:78%;background:linear-gradient(to top,var(--r-fade),rgba(0,0,0,0))}
.r-hero-inner{position:relative;width:100%;padding-bottom:clamp(40px,7vh,88px)}
.r-eyebrow{font-family:'OS XB';font-size:clamp(12px,1vw,14px);letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;max-width:40em;line-height:1.4}
.r-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(52px,min(10vw,14vh),120px);line-height:.95;text-transform:uppercase}
.r-hero-text{margin:22px 0 0;font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:36em;text-wrap:pretty}
.r-hero .btn-row{margin-top:30px}
@media (max-width:1079px){.r-hero{min-height:90vh}}

/* sub nav */
.subnav{position:sticky;top:84px;z-index:40;background:var(--r-bg);border-top:1px solid rgba(244,246,245,.1);border-bottom:1px solid rgba(244,246,245,.12)}
.subnav-inner{height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.subnav-links{display:flex;gap:clamp(16px,2.4vw,36px);overflow-x:auto;font-family:'OS XB';font-size:13px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;scrollbar-width:none}
.subnav-links a{text-decoration:none;padding:18px 0;border-bottom:2px solid transparent;color:rgba(244,246,245,.75)}
.subnav-links a.is-active{color:var(--off);border-bottom-color:var(--r-accent)}
.subnav-cta{flex:none;display:inline-flex;align-items:center;gap:8px;font-family:'Staatliches';font-size:20px;text-decoration:none;color:var(--r-accent-ink)}
.story-progress{height:3px;background:rgba(244,246,245,.1);display:none}
.story-progress div{height:3px;width:0;background:var(--r-accent);transition:width .3s ease}
@media (max-width:1079px){.subnav-cta{display:none}.story-progress.is-on{display:block}}

/* facts */
.r-facts{background:var(--r-bg);border-bottom:1px solid rgba(244,246,245,.12)}
.r-facts-row{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap}
.r-fact{flex:1 1 200px;padding:40px clamp(20px,2.2vw,32px);border-right:1px solid var(--rule)}
.r-fact:last-child{border-right:0}
.r-fact-value{font-family:'Staatliches';font-size:clamp(46px,4.6vw,66px);line-height:.9}
.race-flagship .r-fact-value{font-size:clamp(44px,4.4vw,64px)}
.r-fact-value.accent{color:var(--r-accent)}
.r-fact-label{margin-top:12px;font-size:15px;line-height:1.4;color:rgba(244,246,245,.82)}
@media (max-width:640px){.r-fact{border-right:0;border-bottom:1px solid var(--rule)}}

/* overview */
.r-overview{background:var(--r-bg);scroll-margin-top:140px}
.r-overview-img{flex:5 1 380px;margin:0;min-height:600px;position:relative;background:var(--navy-tile);overflow:hidden}
.r-break{position:relative;height:clamp(420px,62vw,860px);background:#13293f;overflow:hidden}

/* route */
.r-route{background:var(--r-ground);color:var(--r-ground-ink);padding:clamp(80px,10vw,152px) 0;scroll-margin-top:140px}
.r-route-body{max-width:720px}
.stops{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:28px 0}
.stops li{position:relative;padding:40px 20px 0 0}
.stops-line{position:absolute;top:10px;left:0;right:0;height:2px;background:currentColor;opacity:.35}
.stops-dot{position:absolute;top:4px;left:0;width:14px;height:14px;transform:rotate(45deg);background:currentColor}
.stops-tag{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.stops-name{margin-top:8px;font-family:'Staatliches';font-size:clamp(26px,2.4vw,34px);line-height:1}
.r-route-note{margin:32px 0 0;font-size:14px;line-height:1.5;opacity:.9}
.r-route-map{background:var(--r-bg) repeating-radial-gradient(circle at 72% 38%,transparent 0 26px,rgba(24,173,191,.08) 26px 27px);color:var(--off)}
.r-route-grid{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,80px)}
.r-route-text{flex:1 1 380px;max-width:560px}
.r-route-text .r-body{color:rgba(244,246,245,.88);font-size:clamp(16px,1.25vw,18px)}
.stop-card{margin-top:32px;background:var(--r-bg);border:1px solid rgba(24,173,191,.5);padding:24px 26px;min-height:178px}
.stop-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.stop-tag{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--r-accent)}
.stop-miles{font-family:'Staatliches';font-size:30px;line-height:1}
.stop-card h3{margin:10px 0 0;font-family:'Staatliches';font-weight:400;font-size:36px;line-height:1}
.stop-card p{margin:12px 0 0;font-size:16px;line-height:1.55;color:rgba(244,246,245,.88)}
.route-diagram{flex:1.4 1 460px;position:relative}
.route-diagram svg{display:block;width:100%;height:auto}
.stop-pin{all:unset;cursor:pointer;position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--r-bg);color:var(--off);border:2px solid var(--r-accent);font-family:'OS XB';font-size:11px;transition:all .2s ease;box-sizing:border-box}
.stop-pin.is-active{width:34px;height:34px;background:var(--r-accent);color:var(--r-bg)}
.r-route-photos{margin-top:clamp(48px,6vw,88px);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.r-route-photos figure{margin:0}
.r-route-photos figcaption,.chapter figcaption,.history-imgs figcaption{margin-top:10px;font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.r-course-map{margin-top:clamp(40px,5vw,72px)}
.r-course-map figure{margin:0}
.r-course-map img{display:block;width:100%;height:auto;background:#fff}
.r-course-map figcaption{margin-top:10px;font-size:14px;opacity:.85}

/* stages */
.r-stages{background:var(--r-bg);padding:clamp(80px,10vw,152px) 0;scroll-margin-top:140px}
.stage-list{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;border-top:1px solid rgba(244,246,245,.18)}
.stage-list li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;gap:12px clamp(20px,4vw,64px);align-items:baseline;padding:28px 0;border-bottom:1px solid rgba(244,246,245,.18)}
.stage-label{font-family:'OS XB';font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--r-accent-ink)}
.stage-list h3{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1}
.stage-list p{margin:10px 0 0;max-width:640px;font-size:16px;line-height:1.6;color:rgba(244,246,245,.88)}
.stage-dist{font-family:'Staatliches';font-size:clamp(28px,2.6vw,38px);line-height:1;white-space:nowrap}
@media (max-width:700px){.stage-list li{grid-template-columns:1fr auto}.stage-list li>div:nth-child(2){grid-column:1/-1;grid-row:2}}

/* journey chapters */
.r-journey{background:var(--r-bg);scroll-margin-top:140px}
.r-journey-head{padding-top:clamp(80px,10vw,152px);padding-bottom:clamp(40px,5vw,64px)}
.r-journey-intro{display:flex;flex-wrap:wrap;gap:24px clamp(32px,5vw,80px);margin-top:24px;align-items:flex-start}
.r-journey-intro .r-sub{flex:1 1 380px;margin-top:0;color:var(--off)}
.r-journey-intro .lead{flex:1 1 380px;max-width:620px;color:rgba(244,246,245,.9)}
.r-journey-body{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);display:flex;align-items:flex-start}
.chapter-nav{flex:0 0 220px;position:sticky;top:180px;padding:20px 32px 20px 0}
.chapter-nav ol{list-style:none;margin:0;padding:0;position:relative}
.chapter-nav ol::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:rgba(244,246,245,.2)}
.chapter-nav a{position:relative;display:flex;align-items:center;gap:16px;padding:9px 0;text-decoration:none;color:rgba(244,246,245,.45);font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.25;transition:color .3s ease}
.chapter-nav a.is-past{color:rgba(244,246,245,.7)}
.chapter-nav a.is-active{color:var(--off)}
.cn-dot{width:13px;height:13px;flex:none;transform:rotate(45deg);background:var(--r-bg);border:1px solid rgba(244,246,245,.4);transition:background .3s ease}
.chapter-nav a.is-past .cn-dot,.chapter-nav a.is-active .cn-dot{background:var(--r-accent);border-color:var(--r-accent)}
.chapters{flex:1;min-width:0}
.chapter{scroll-margin-top:150px;padding:clamp(48px,6vw,88px) var(--gutter) clamp(48px,6vw,88px) 0;border-top:1px solid rgba(244,246,245,.12)}
.chapter-row{display:flex;flex-wrap:wrap;gap:28px clamp(28px,4vw,64px)}
.chapter-text{flex:1 1 360px;max-width:600px}
.chapter-num{font-family:'OS XB';font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--r-accent-ink)}
.chapter h3{margin:14px 0 0;font-family:'Staatliches';font-weight:400;font-size:clamp(40px,5vw,68px);line-height:.95;text-transform:uppercase}
.chapter-sub{margin-top:12px;font-family:'OS XB';font-size:clamp(18px,1.8vw,24px);line-height:1.1;letter-spacing:.02em;text-transform:uppercase}
.chapter-text p{margin:26px 0 0;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.chapter-text p+p{margin-top:16px}
.chapter-imgs{flex:1 1 320px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.chapter-imgs figure{margin:0}
.chapter-imgs .ci1{grid-column:1/-1}
.chapter-imgs .ci2{grid-column:2}
.chapter figcaption{margin-top:8px;font-size:12px;color:rgba(244,246,245,.7)}
.chapter-break{position:relative;margin-top:clamp(48px,6vw,88px);margin-right:calc(-1 * var(--gutter));height:clamp(360px,48vw,720px);background:#13293f;overflow:hidden}
.chapter-break-tag{position:absolute;left:20px;bottom:20px;display:flex;flex-direction:column;gap:4px;font-family:'OS XB';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,246,245,.8);background:rgba(11,32,52,.7);padding:6px 10px}
.chapter-break-tag span{color:var(--off)}
@media (max-width:1079px){.chapter-nav{display:none}}

/* moment */
.r-moment{position:relative;height:clamp(480px,78vh,880px);display:flex;align-items:flex-end;background:#13293f;overflow:hidden}
.race-flagship .r-moment{height:auto;min-height:clamp(520px,80vh,900px)}
.r-moment-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,14,24,.8),rgba(5,14,24,0) 60%)}
.r-moment p{position:relative;margin:0 auto;width:100%;padding-bottom:clamp(40px,6vw,80px);font-family:'Staatliches';font-size:clamp(36px,4.6vw,68px);line-height:1;text-transform:uppercase;text-wrap:balance}
.race-flagship .r-moment p{font-size:clamp(36px,5.6vw,80px);padding-bottom:clamp(48px,7vw,96px)}
.race-flagship .r-moment p span{display:block;max-width:14em}

/* what it takes */
.r-takes{background:var(--r-bg);padding:clamp(80px,10vw,152px) 0;scroll-margin-top:140px}
.r-takes .intro-text{color:var(--off);font-size:clamp(18px,1.6vw,22px);line-height:1.5}
.takes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(48px,6vw,80px)}
.take{display:flex;flex-direction:column;border-top:3px solid var(--r-accent)}
.take-img{position:relative;aspect-ratio:4/3;background:var(--navy-tile);overflow:hidden}
.race-flagship .take-img{aspect-ratio:4/5}
.race-flagship .take:nth-child(2){margin-top:clamp(0px,4vw,64px)}
.race-flagship .take:nth-child(3){margin-top:clamp(0px,8vw,128px)}
.take-num{font-family:'Staatliches';font-size:20px;margin-top:22px;color:var(--r-accent)}
.take h3{margin:20px 0 0;font-family:'Staatliches';font-weight:400;font-size:34px;line-height:1}
.race-flagship .take h3{margin-top:6px;font-size:36px}
.take p{margin:10px 0 0;font-size:16px;line-height:1.6;color:rgba(244,246,245,.88)}
.race-flagship .take p{margin-top:14px}
.takes-foot{margin-top:clamp(48px,6vw,80px);padding-top:32px;border-top:1px solid rgba(244,246,245,.16);display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:center}
.takes-foot .lead{flex:1 1 480px;max-width:760px}
.resource-btns{display:flex;flex-wrap:wrap;gap:10px}

/* support */
.r-support{background:var(--r-panel);padding:clamp(80px,10vw,152px) 0;scroll-margin-top:140px}
.r-support-split{display:flex;flex-wrap:wrap;align-items:stretch;padding:0}
.r-support-img{flex:5 1 380px;margin:0;min-height:560px;position:relative;overflow:hidden}
.r-support-img .cover{object-position:30% 50%}
.r-support-text{flex:7 1 560px;padding:clamp(72px,9vw,140px) max(var(--gutter),calc((100vw - 1440px)/2 + 56px)) clamp(72px,9vw,140px) clamp(20px,5vw,96px)}
.r-support-body{max-width:680px;font-size:clamp(16px,1.25vw,18px)}
.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(28px,3vw,48px);margin-top:clamp(48px,6vw,80px)}
.support-grid>div{border-top:1px solid rgba(244,246,245,.3);padding-top:20px}
.support-grid h3{margin:0;font-family:'OS XB';font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--r-accent-ink)}
.support-grid p{margin:12px 0 0;font-size:16px;line-height:1.6}
.incl{display:flex;flex-wrap:wrap;gap:32px 48px;margin-top:44px}
.incl-yes{flex:1.4 1 300px}.incl-no{flex:1 1 240px}
.incl h3{margin:0 0 16px;font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.incl-no h3{color:rgba(244,246,245,.75)}
.incl ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.incl li{position:relative;padding-left:22px;font-size:16px;line-height:1.5}
.incl li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--r-accent)}
.incl-no li{color:rgba(244,246,245,.85)}
.incl-no li::before{background:none;border:1px solid rgba(244,246,245,.7)}

/* history */
.r-history{background:var(--r-bg);padding:clamp(80px,10vw,152px) 0}
.r-history .r-sub{color:var(--off)}
.history-scroll{margin-top:clamp(40px,5vw,64px);overflow-x:auto}
.history{list-style:none;margin:0 auto;padding:0 var(--gutter);max-width:var(--max);display:flex;min-width:min-content}
.history li{flex:1 0 190px;position:relative;padding:36px 20px 0 0}
.h-line{position:absolute;top:6px;left:0;right:0;height:1px;background:rgba(244,246,245,.25)}
.h-dot{position:absolute;top:0;left:0;width:13px;height:13px;transform:rotate(45deg);background:var(--off)}
.h-year{font-family:'Staatliches';font-size:44px;line-height:1}
.h-label{margin-top:8px;font-size:15px;line-height:1.45;color:rgba(244,246,245,.85);max-width:14em}
.history li.is-next .h-dot{background:var(--r-accent)}
.history li.is-next .h-year{color:var(--r-accent)}
.history-row{margin-top:clamp(56px,7vw,96px);display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:flex-start}
.history-text{flex:1 1 400px;max-width:620px;margin-top:0}
.history-imgs{flex:1.2 1 420px;display:grid;grid-template-columns:1.3fr 1fr;gap:10px}
.history-imgs figure{margin:0}
.history-imgs .hi1{grid-row:span 2}
.hi-box{position:relative;aspect-ratio:1;overflow:hidden;background:var(--navy-tile)}
.hi1 .hi-box{aspect-ratio:auto;height:calc(100% - 26px);min-height:340px}
.history-imgs figcaption{margin-top:8px;font-size:12px;color:rgba(244,246,245,.7)}
.records{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:rgba(244,246,245,.14)}
.records>div{background:var(--r-bg);padding:32px 28px;display:flex;flex-direction:column}
.rec-value{font-family:'Staatliches';font-size:clamp(44px,4.4vw,64px);line-height:.9}
.rec-label{margin-top:14px;font-family:'OS XB';font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--r-accent)}
.rec-holder{margin-top:6px;font-size:15px;color:rgba(244,246,245,.85)}
.rec-roll .rec-holder{margin-top:14px}
.rec-link{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:'Staatliches';font-size:20px;text-decoration:none;color:var(--r-accent)}
.callout{margin-top:clamp(48px,6vw,80px);display:flex;flex-wrap:wrap;gap:28px 56px;padding:clamp(32px,4.5vw,64px);background:var(--r-bg) repeating-radial-gradient(circle at 90% 20%,transparent 0 22px,rgba(24,173,191,.1) 22px 23px);border:1px solid rgba(24,173,191,.45)}
.callout h3{flex:1 1 280px;margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1}
.callout>div{flex:2 1 420px}
.callout p{margin:0;max-width:680px;font-size:clamp(16px,1.25vw,18px);line-height:1.6}
.callout .btn{margin-top:24px;height:52px;padding:0 22px}

/* gallery */
.r-gallery{background:var(--r-bg);padding:clamp(80px,10vw,140px) 0;scroll-margin-top:140px}
.race-flagship .r-gallery{background:var(--navy-deep)}
.masonry{margin-top:clamp(40px,5vw,64px);column-width:300px;column-gap:12px}
.masonry-item{all:unset;cursor:zoom-in;display:block;width:100%;break-inside:avoid;margin-bottom:12px;box-sizing:border-box}
.masonry-item img{display:block;width:100%;height:auto;background:var(--navy-tile)}
.masonry-item:hover img,.masonry-item:focus-visible img{outline:2px solid var(--r-accent)}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(5,14,24,.94);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,64px)}
.lightbox figure{margin:0;max-width:min(1200px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center}
.lightbox img{max-width:100%;max-height:80vh;display:block}
.lightbox figcaption{margin-top:12px;display:flex;justify-content:space-between;gap:20px;width:100%;font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.lb-btn{all:unset;cursor:pointer;position:absolute;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--off);color:var(--navy)}
.lb-close{top:20px;right:20px}
.lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.lb-next{right:20px;top:50%;transform:translateY(-50%)}

/* watch and follow */
.r-watch{background:var(--r-bg);padding:0 0 clamp(80px,10vw,140px)}
.video{position:relative;aspect-ratio:16/9;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* faq */
.r-faq{background:var(--r-bg);padding:0 0 clamp(80px,10vw,140px);scroll-margin-top:140px}
.race-flagship .r-faq{padding:clamp(80px,10vw,152px) 0}
.r-faq-row{display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px)}
.r-faq-head{flex:1 1 300px}
.race-flagship .r-faq-head{max-width:440px}
.r-faq-img{margin-top:32px;aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--navy-tile)}
.faq-list{flex:2 1 520px;border-top:1px solid rgba(244,246,245,.2)}
.faq{border-bottom:1px solid rgba(244,246,245,.2)}
.faq button{all:unset;cursor:pointer;box-sizing:border-box;width:100%;min-height:64px;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:'OS XB';font-size:clamp(16px,1.3vw,19px)}
.faq-icon{flex:none;position:relative;width:20px;height:20px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;background:var(--r-accent-ink)}
.faq-icon::after{transform:rotate(90deg)}
.faq button[aria-expanded="true"] .faq-icon::after{display:none}
.race-flagship .faq button{padding:24px 0;font-family:'Staatliches';font-size:clamp(24px,2.2vw,30px);line-height:1.1}
.race-flagship .faq-icon{width:36px;height:36px;border:2px solid rgba(244,246,245,.5);transition:all .2s ease}
.race-flagship .faq-icon::before,.race-flagship .faq-icon::after{background:var(--off);width:14px;margin-left:-7px}
.race-flagship .faq button[aria-expanded="true"] .faq-icon{background:var(--r-accent);border-color:var(--r-accent)}
.race-flagship .faq button[aria-expanded="true"] .faq-icon::before{background:var(--r-bg)}
.faq-a{padding:0 0 22px;max-width:720px;font-size:16px;line-height:1.6;color:rgba(244,246,245,.9)}
.race-flagship .faq-a{padding:0 56px 28px 0;font-size:clamp(16px,1.25vw,18px)}
.faq-a p{margin:0}.faq-a p+p{margin-top:12px}

/* sponsors */
.r-sponsors{background:var(--r-bg);padding:0 0 clamp(64px,8vw,112px)}
.sponsors{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px;background:rgba(244,246,245,.14)}
.sponsor{background:var(--r-bg);min-height:110px;display:flex;align-items:center;justify-content:center;padding:20px;text-decoration:none;font-family:'OS XB';text-transform:uppercase;letter-spacing:.06em;font-size:14px}
.sponsor img{max-width:100%;max-height:60px;width:auto;height:auto}

/* enter */
.r-enter{position:relative;background:var(--r-ground);color:var(--r-ground-ink);scroll-margin-top:140px;overflow:hidden}
.r-enter-rings{position:absolute;inset:0;background:repeating-radial-gradient(circle at 78% 30%,transparent 0 30px,rgba(244,246,245,.09) 30px 31px)}
.r-enter-inner{position:relative;padding-top:clamp(88px,11vw,168px);padding-bottom:clamp(88px,11vw,168px)}
.race-flagship .r-enter-inner{display:flex;flex-wrap:wrap;gap:40px clamp(40px,6vw,96px);align-items:flex-end}
.r-enter-main{flex:1.3 1 480px}
.r-enter-mark{width:120px;height:auto;margin-bottom:32px;display:block}
.r-enter-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(64px,10vw,150px);line-height:.88;text-transform:uppercase}
.race-flagship .r-enter-title{font-size:clamp(64px,11vw,160px)}
.r-enter-body{margin:24px 0 0;max-width:640px;font-size:clamp(18px,1.6vw,22px);line-height:1.5;text-wrap:pretty}
.r-enter .btn-row{margin-top:36px}
.r-btn-enter{height:60px;padding:0 28px;font-size:24px;background:var(--r-btn-bg);color:var(--r-btn-ink);border-color:var(--r-ground-ink)}
.race-flagship .r-btn-enter{font-size:clamp(20px,1.8vw,24px);border-color:var(--off)}
.r-btn-enter:hover{background:transparent;color:var(--r-ground-ink)}
.r-enter-list{list-style:none;margin:40px 0 0;padding:20px 0 0;border-top:1px solid currentColor;display:flex;flex-wrap:wrap;gap:10px 32px;font-family:'OS XB';font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.r-enter-dl{flex:1 1 320px;margin:0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid rgba(244,246,245,.4);font-size:15px;line-height:1.45}
.r-enter-dl dt{padding:14px 20px 14px 0;border-bottom:1px solid rgba(244,246,245,.25);font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.r-enter-dl dd{margin:0;padding:14px 0;border-bottom:1px solid rgba(244,246,245,.25)}
.r-enter-dl .r-enter-note{grid-column:1/-1;border:0;padding-top:14px;font-size:13px;opacity:.85}

/* other races */
.r-others{background:var(--navy-deep);padding:clamp(80px,10vw,140px) 0}
.r-others-label{font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#E0475E;margin-bottom:22px}
.race-flagship .r-others-label{color:var(--red)}
.r-others-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(40px,5vw,72px);line-height:.95;text-transform:uppercase}
.race-flagship .r-others-title{font-family:'OS Black';font-size:clamp(36px,4.4vw,60px);line-height:1}
.others{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:clamp(40px,5vw,64px)}
.other{display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease}
.other:hover{transform:translateY(-4px)}
.other.theme-amber,.other.theme-amber:hover{color:#22252A}
.other-soon{border:2px dashed rgba(244,246,245,.35)}
.other-img{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--navy-tile)}
.other-logo{position:absolute;top:10px;right:10px;width:64px;height:auto}
.other-body{padding:22px;display:flex;flex-direction:column;gap:8px}
.other-name{font-family:'Staatliches';font-size:32px;line-height:.95}
.race-flagship .other-name{font-size:34px}
.other-sub{font-family:'OS XB';font-size:16px;text-transform:uppercase}
.other.theme-amber .other-sub{font-family:'Handelson','OS XB'}
.other.theme-fiji .other-sub{font-family:'Macabro','OS XB';color:#E8D6A3}
.other-soon .other-sub{color:rgba(244,246,245,.75)}
.other-sum{font-size:15px;line-height:1.5}
.other-meta{font-size:13px;opacity:.9}

/* =================== News =================== */
.news-head{padding:168px 0 clamp(40px,5vw,64px)}
.news-intro{margin-top:24px;max-width:760px;color:var(--muted)}
.news-list{padding:0 0 clamp(80px,10vw,140px)}
.news-date{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.news-card-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--off)}
.news-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy-tile)}
.news-card-img .cover{transition:transform .5s ease}
.news-card-link:hover .news-card-img .cover{transform:scale(1.03)}
.news-card-blank{position:absolute;inset:0;background:var(--g-arctic);opacity:.6}
.news-card-body{display:flex;flex-direction:column;gap:12px;padding:22px 0 0;flex:1}
.news-card-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(28px,2.4vw,36px);line-height:1;text-transform:uppercase;text-wrap:balance}
.news-card-sum{margin:0;font-size:16px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-more{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:6px;font-family:'OS XB';font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.news-card-link:hover .news-more{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.news-card-lead{margin-bottom:clamp(48px,6vw,80px)}
.news-card-lead .news-card-link{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.news-card-lead .news-card-img{aspect-ratio:3/2}
.news-card-lead .news-card-body{padding:0}
.news-card-lead .news-card-title{font-size:clamp(40px,4.4vw,64px);line-height:.95}
.news-card-lead .news-card-sum{font-size:clamp(17px,1.3vw,19px);-webkit-line-clamp:5}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(40px,4vw,56px) clamp(24px,3vw,40px)}
.news-pager{margin-top:64px}
.pager{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pager a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 16px;border:2px solid var(--rule);font-family:'OS XB';font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.pager a:hover,.pager .is-current a{border-color:var(--off)}
.pager .MarkupPagerNavSeparator{align-self:center;padding:0 6px}
@media (max-width:820px){.news-card-lead .news-card-link{grid-template-columns:1fr}.news-card-lead .news-card-body{padding-top:4px}}
@media (max-width:400px){.news-grid{grid-template-columns:1fr}}

.post-hero{position:relative;padding:150px 0 clamp(40px,5vw,64px)}
.post-hero.has-img{min-height:78vh;display:flex;align-items:flex-end;padding-top:180px;background:var(--navy-tile)}
.post-hero-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,32,52,.97),rgba(11,32,52,.55) 45%,rgba(11,32,52,.15) 80%)}
/* one centred reading column: hero text, article and video share the same axis */
.post-hero-inner{position:relative;width:100%;max-width:calc(760px + 2 * var(--gutter))}
.post-back{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;font-family:'OS XB';font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.post-back:hover{text-decoration:underline;text-decoration-color:var(--red)}
.post-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(46px,6vw,88px);line-height:.92;text-transform:uppercase;text-wrap:balance}
.post-byline{margin-top:22px;color:var(--off);opacity:.85}
.post-body{max-width:760px;margin:clamp(40px,5vw,72px) auto 0;font-size:clamp(17px,1.3vw,19px);line-height:1.7}
.post-body > *{margin:0 0 1.1em}
.post-body h2,.post-body h3,.post-body h4{margin:1.6em 0 .5em;font-family:'Staatliches';font-weight:400;line-height:1;text-transform:uppercase}
.post-body h2{font-size:clamp(34px,3.4vw,46px)}
.post-body h3{font-size:clamp(28px,2.6vw,36px)}
.post-body h4{font-family:'OS XB';font-size:16px;letter-spacing:.06em}
.post-body img{display:block;width:100%;height:auto;margin:1.6em 0}
.post-body p > img:only-child{margin-top:0;margin-bottom:0}
.post-body .post-lead-img{width:auto;max-width:100%;margin:0 auto 1.6em}
@media (min-width:1140px){
	.post-body img:not(.post-lead-img){width:calc(100% + 240px);max-width:none;margin-left:-120px}
}
.post-body blockquote{margin:1.6em 0;padding-left:24px;border-left:3px solid var(--red);font-size:1.1em}
.post-body ul,.post-body ol{padding-left:1.3em}
.post-body li{margin-bottom:.4em}
.post-body a{word-break:break-word}
.post-video{max-width:1000px;margin:clamp(40px,5vw,72px) auto 0}
.post{padding-bottom:clamp(64px,8vw,120px)}
.news-more-section{background:var(--navy-deep);padding:clamp(64px,8vw,120px) 0}
.news-more-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:40px}
.news-more-head .text-link{margin-top:0}
.news-more-head .h3{padding-right:0}

/* =================== Content pages (Our Story, Roll of Honour, Like Award, Contact) =================== */
.page-eyebrow{font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#E0475E;margin-bottom:18px}
.page-title{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(56px,9vw,128px);line-height:.9;text-transform:uppercase;text-wrap:balance}
.page-intro{margin:28px 0 0;max-width:820px;font-size:clamp(19px,1.8vw,26px);line-height:1.45;text-wrap:pretty}
.page-hero{position:relative;display:flex;align-items:flex-end;background:var(--navy-tile);overflow:hidden}
.page-hero-tall{min-height:86vh}
.page-hero-mid{min-height:72vh}
.page-hero.no-img{min-height:0}
.page-hero-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,32,52,.95),rgba(11,32,52,.15) 70%),linear-gradient(to right,rgba(11,32,52,.85),rgba(11,32,52,.35) 55%,rgba(11,32,52,0) 80%)}
.page-hero-inner{position:relative;width:100%;padding-top:180px;padding-bottom:clamp(48px,8vh,96px)}
.page-hero-mid .page-intro{max-width:760px;font-size:clamp(18px,1.6vw,23px);line-height:1.5;margin-top:24px}

.story-block{padding:clamp(80px,10vw,152px) 0}
.story-block.is-flip{background:var(--navy-deep)}
.story-block-row{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px);align-items:center}
.story-block.is-flip .story-block-row{flex-direction:row-reverse;flex-wrap:wrap-reverse}
.story-block-img{position:relative;flex:1 1 380px;aspect-ratio:1/1;background:var(--navy-tile);overflow:hidden}
.story-block-text{flex:1.2 1 420px;display:flex;flex-direction:column;gap:18px;font-size:clamp(16px,1.25vw,18px);line-height:1.65}
.story-block-text p{margin:0;text-wrap:pretty}
.story-block-text.is-statement{font-size:clamp(24px,2.4vw,34px);line-height:1.35}
.story-block-title{margin:0 0 6px;font-family:'Staatliches';font-weight:400;font-size:clamp(40px,4.6vw,64px);line-height:.95;text-transform:uppercase}

.advice{background:var(--red);padding:clamp(80px,10vw,140px) 0}
.advice-eyebrow{font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.advice-title{margin:0;max-width:16em;font-family:'OS Black';font-weight:900;font-size:clamp(36px,4.4vw,64px);line-height:1;text-transform:uppercase}
.advice-list{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.advice-list li{padding:24px 24px 24px 0;border-top:2px solid var(--off)}
.advice-num{font-family:'Staatliches';font-size:24px}
.advice-item{margin-top:8px;font-family:'Staatliches';font-size:clamp(32px,3vw,44px);line-height:1}
.advice-list p{margin:12px 0 0;font-size:16px;line-height:1.5}
.page-cta{display:inline-flex;align-items:center;margin-top:48px;height:60px;padding:0 28px;background:var(--off);color:var(--navy);font-family:'Staatliches';font-size:24px;text-decoration:none;transition:background .2s,color .2s}
.page-cta:hover{background:transparent;color:var(--off);box-shadow:inset 0 0 0 2px var(--off)}
.page-cta-red{color:var(--red)}

/* Roll of Honour */
.records-strip{border-bottom:1px solid var(--rule)}
.records-strip-row{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.records-tile{padding:40px clamp(20px,3vw,40px);border-right:1px solid var(--rule)}
.records-tile:last-child{border-right:0}
.records-label{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#E0475E}
.records-value{margin-top:10px;font-family:'Staatliches';font-size:clamp(44px,4.4vw,64px);line-height:.9}
.records-holder{margin-top:14px;font-family:'OS XB';font-size:15px;text-transform:uppercase}
.records-note{margin-top:4px;font-size:14px;color:rgba(244,246,245,.8)}
@media (max-width:600px){.records-tile{border-right:0;border-bottom:1px solid var(--rule)}.records-tile:last-child{border-bottom:0}}
.edition{padding:clamp(64px,8vw,112px) 0;border-bottom:1px solid rgba(244,246,245,.1)}
.edition-row{display:flex;flex-wrap:wrap;gap:32px clamp(40px,6vw,96px)}
.edition-head{flex:1 1 240px}
.edition-label{font-family:'OS XB';font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#E0475E}
.edition-year{margin:6px 0 0;font-family:'Staatliches';font-weight:400;font-size:clamp(64px,8vw,112px);line-height:.85}
.edition-btn{display:inline-flex;align-items:center;margin-top:20px;height:48px;padding:0 20px;border:2px solid var(--off);font-family:'Staatliches';font-size:20px;text-decoration:none;transition:background .2s,color .2s}
.edition-btn:hover{background:var(--off);color:var(--navy)}
.finishers{flex:3 1 560px;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 24px}
.finishers li{padding:18px 0;border-top:1px solid rgba(244,246,245,.2)}
.finisher-name{font-family:'OS XB';font-size:16px;text-transform:uppercase}
.finisher-meta{margin-top:4px;font-size:14px;line-height:1.45;color:rgba(244,246,245,.82)}
.finisher-time{margin-top:6px;font-family:'Staatliches';font-size:24px;line-height:1}
@media (max-width:640px){.finishers{flex-basis:100%}}
.quote-band{background:var(--red);padding:clamp(72px,9vw,128px) 0}
.quote-inner{max-width:1040px;margin:0 auto}
.quote-inner blockquote{margin:0;font-size:clamp(18px,1.7vw,24px);line-height:1.55;text-wrap:pretty}
.quote-inner figcaption{margin-top:24px;font-family:'OS XB';font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.older{padding:clamp(80px,10vw,140px) 0}
.older-grid{list-style:none;margin:clamp(32px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.older-grid a{display:flex;flex-direction:column;gap:4px;padding:20px;border:1px solid rgba(244,246,245,.25);text-decoration:none;transition:border-color .2s}
.older-grid a:hover{border-color:var(--off)}
.older-label{font-family:'OS XB';font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#E0475E}
.older-year{font-family:'Staatliches';font-size:40px;line-height:1}
.older-note{font-size:13px}
@media (max-width:420px){.older-grid{grid-template-columns:1fr 1fr}}

/* The Like Award */
.cites{padding:clamp(80px,10vw,140px) 0;border-top:1px solid var(--rule)}
.cites-winners{background:var(--navy-deep);border-top:0}
.cites-title{margin-bottom:clamp(32px,4vw,56px)}
.cites-head{display:flex;flex-direction:column;gap:20px;max-width:900px;margin-bottom:clamp(40px,5vw,72px)}
.cites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(40px,4vw,56px) clamp(24px,3vw,40px)}
.cite{display:flex;flex-direction:column;gap:20px}
.cite-photo{position:relative;aspect-ratio:1/1;max-width:200px;width:100%;overflow:hidden;background:var(--navy-tile)}
.cite-body{display:flex;flex-direction:column;gap:8px}
.cite-label{font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#E0475E}
.cite-name{margin:0;font-family:'Staatliches';font-weight:400;font-size:clamp(30px,2.6vw,40px);line-height:1;text-transform:uppercase}
.cite-meta{font-family:'OS XB';font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,246,245,.82)}
.cite-quote{margin:10px 0 0;padding-left:18px;border-left:2px solid var(--red);font-size:16px;line-height:1.6}
.cite-quote p{margin:0 0 .6em}
.cite-feature{display:grid;grid-template-columns:minmax(220px,460px) 1fr;gap:clamp(28px,4vw,64px);align-items:center;max-width:1040px;margin:0 auto}
.cite-feature + .cite-feature{margin-top:56px}
.cite-feature .cite-photo{max-width:none}
.cite-feature .cite-name{font-size:clamp(48px,6vw,88px);line-height:.9}
.cite-feature .cite-meta{font-size:15px}
@media (max-width:700px){.cite-feature{grid-template-columns:1fr}}

/* Contact */
.contact{display:flex;flex-wrap:wrap;min-height:100vh}
.contact-photo{position:relative;flex:1 1 380px;min-height:420px;background:var(--navy-tile);overflow:hidden}
.contact-main{flex:1.3 1 480px;min-width:0;padding:clamp(140px,14vw,200px) clamp(20px,5vw,80px) clamp(64px,8vw,112px)}
.contact-title{font-size:clamp(56px,7vw,104px)}
.contact-intro{margin:24px 0 0;max-width:560px;font-size:clamp(17px,1.4vw,20px);line-height:1.55}
.contact-dl{margin:40px 0 0;display:grid;grid-template-columns:auto 1fr;border-top:1px solid rgba(244,246,245,.25);max-width:600px;font-size:16px;line-height:1.5}
.contact-dl dt{padding:16px 24px 16px 0;border-bottom:1px solid rgba(244,246,245,.25);font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.contact-dl dd{margin:0;padding:16px 0;border-bottom:1px solid rgba(244,246,245,.25);overflow-wrap:anywhere}
.contact-form-title{margin:56px 0 0;font-family:'Staatliches';font-weight:400;font-size:clamp(32px,3vw,44px);line-height:1;text-transform:uppercase;scroll-margin-top:110px}
.contact-form{margin-top:24px;max-width:600px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.contact-form label{display:flex;flex-direction:column;gap:8px;font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.contact-form label.wide{grid-column:1 / -1}
.contact-form input,.contact-form textarea{height:52px;padding:0 16px;background:transparent;border:2px solid rgba(244,246,245,.5);border-radius:0;color:var(--off);font-family:'Work Sans',sans-serif;font-size:16px;letter-spacing:0;text-transform:none;outline:none}
.contact-form textarea{height:auto;padding:14px 16px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--off)}
.contact-form button{justify-self:start;height:56px;padding:0 28px;border:0;background:var(--off);color:var(--navy);font-family:'Staatliches';font-size:22px;cursor:pointer;transition:background .2s,color .2s}
.contact-form button:hover{background:#fff}
.contact-form .hp{position:absolute;left:-9999px}
.contact-done{margin-top:24px;max-width:600px;border:2px solid var(--off);padding:20px;font-family:'OS XB';font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.contact-error{margin:20px 0 0;max-width:600px;padding:14px 16px;background:rgba(184,32,56,.25);border-left:3px solid var(--red)}
@media (max-width:860px){.contact-main{padding-top:56px;flex-basis:100%}.contact-photo{min-height:46vh;flex-basis:100%}}

/* Basic pages: same reading column as news posts */
.reading-col{max-width:calc(760px + 2 * var(--gutter))}
.page-plain .post-body{margin-top:clamp(32px,4vw,56px)}
.post-body table{width:100%;border-collapse:collapse;font-size:.9em}
.post-body th,.post-body td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}

/* =================== Mobile and accessibility pass =================== */
.header-logo{flex:none}
.mega{overflow-wrap:break-word;hyphens:manual}
.stop-pin::before{content:'';position:absolute;inset:-9px} /* 44px touch area, same 26px look */
@media (max-width:860px){
	/* touch targets: at least 44px tall for every stand alone link and button */
	.text-link,.post-back,.rec-link,.compare-toggle,.tl-btn,.powered{min-height:44px}
	.compare-toggle{padding-bottom:0;box-sizing:border-box}
	.tl-btn{padding-top:12px}
	.footer-col{gap:0}
	.footer-col a{display:flex;align-items:center;min-height:44px}
	.footer-col .footer-label{margin-bottom:4px}
	.legal-links{gap:0 20px}
	.legal-links a{display:inline-flex;align-items:center;min-height:44px}
	/* readable small print: nothing under 12px */
	.tag,.small-note,.stop-pin,.chapter-break-tag,.chapter-break-tag span,.older-label,figcaption{font-size:12px}
	.race-brand-home{font-size:11px}
}
@media (max-width:420px){
	.hero-title{font-size:clamp(28px,9.4vw,40px);overflow-wrap:break-word}
	.header-logo img{height:40px}
}
@media (max-width:600px){
	/* Roll of Honour panel: photo on top, text full width underneath instead of a card squeezed over the photo */
	.honour-photo{display:block;min-height:0;background:var(--navy)}
	.honour-photo>.cover{position:relative;inset:auto;height:auto;max-height:110vw}
	.honour-photo .honour-wrap{padding:0}
	.honour-card{padding:32px var(--gutter) 8px}
}
@media (max-width:600px){
	/* photos inside the page flow show whole on phones (no cropping): the box takes the photo's own shape */
	:is(.crew-photo,.r-overview-img,.r-break,.ratio-43,.ratio-32,.chapter-break,.take-img,.r-support-img,.r-faq-img,.other-img,.story-block-img,.card-img){aspect-ratio:auto;height:auto;min-height:0}
	:is(.crew-photo,.r-overview-img,.r-break,.ratio-43,.ratio-32,.chapter-break,.take-img,.r-support-img,.r-faq-img,.other-img,.story-block-img,.card-img)>img.cover{position:relative;inset:auto;height:auto;max-height:125vw}
	.story-block-img{flex-basis:auto;width:100%}
}
@media (max-width:360px){
	.mega{font-size:40px}
	.header-actions{gap:8px}
	.header-cta{padding:0 10px;font-size:13px}
	.header-cta-race{font-size:16px}
	.burger{width:44px;height:44px}
}

/* ===== Amends, 29 Oct 2026 ===== */
/* route timeline: distance line under each place, same style as the label above */
.stops-dist{margin-top:8px}
/* stages: miles big, kilometres underneath, smaller and lighter */
.stage-dist{text-align:right}
.stage-km{display:block;margin-top:6px;font-family:'OS XB';font-size:13px;letter-spacing:.08em;line-height:1.2;opacity:.65}
/* journey chapters: three photos, no tags over them */
.chapter-imgs.has-3 .ci2{grid-column:1}
.chapter-imgs.has-3 .ci3{grid-column:2}
/* support columns with a photo above each (same card style as What it takes) */
.support-grid>div.has-img{border-top:0;padding-top:0}
.support-grid .support-img{border-top:3px solid var(--r-accent);margin-bottom:20px}
.r-support-note{font-family:'OS XB';font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:clamp(40px,5vw,64px)}
/* kit and flagship What it takes: portrait cards staggered downwards */
.takes-stagger .take-img{aspect-ratio:4/5}
.takes-stagger .take:nth-child(2){margin-top:clamp(0px,4vw,64px)}
.takes-stagger .take:nth-child(3){margin-top:clamp(0px,8vw,128px)}
.takes-stagger .take h3{margin-top:6px;font-size:36px}
.takes-stagger .take p{margin-top:14px}
@media (max-width:640px){.takes-stagger .take:nth-child(n){margin-top:0}}
/* history: when one photo is kept it shows larger, on its own */
.history-imgs-one{grid-template-columns:1fr}
.history-imgs-one .hi1 .hi-box{height:auto;aspect-ratio:4/3;min-height:0}
/* race hero video */
.r-hero video.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r-gallery+.r-kit{border-top:1px solid rgba(244,246,245,.12)}
/* home map: pin popup listing the region's races in their colours */
.map-pop{position:absolute;z-index:5;width:min(420px,46%);background:var(--navy);border:1px solid rgba(244,246,245,.3);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.map-pop-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--rule);font-family:'OS XB';font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.map-pop-head button{all:unset;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex:none}
.map-pop-list{list-style:none;margin:0;padding:6px 14px 14px}
.map-pop-list li{padding:14px 0 14px 14px;border-left:3px solid var(--pop);margin-top:8px}
.map-pop-race{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-family:'Staatliches';font-size:22px;line-height:1.05;text-transform:uppercase}
.map-pop-name{color:var(--pop)}
.map-pop-sep{opacity:.4}
.map-pop-date{color:var(--off)}
.map-pop-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-family:'OS XB';font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--off);text-decoration:none}
.map-pop-link:hover{color:var(--pop)}
@media (max-width:1079px){.map-pop{position:relative;left:auto!important;top:auto!important;width:100%;box-shadow:none}}
/* sign-up popup (email capture) */
.signup-pop{position:fixed;inset:0;z-index:200;background:rgba(5,14,24,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.signup-pop[hidden]{display:none}
.signup-pop-box{position:relative;display:flex;width:min(820px,100%);max-height:calc(100vh - 32px);background:#fff;color:#14181d;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.signup-pop-body{flex:1 1 360px;position:relative;padding:clamp(36px,5vw,56px) clamp(24px,4vw,44px);text-align:center;display:flex;flex-direction:column;justify-content:center}
.signup-pop-title{margin:0;font-family:'OS XB';font-size:clamp(26px,3vw,34px);line-height:1.1}
.signup-pop-text{margin:12px auto 0;max-width:30em;font-size:15px;line-height:1.5;color:#3a4048}
.signup-pop form{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.signup-pop input{width:100%;box-sizing:border-box;height:48px;padding:0 14px;border:1px solid #c9ced4;border-radius:4px;font-family:'Work Sans';font-size:16px;color:#14181d;background:#fff}
.signup-pop input:focus{outline:2px solid var(--red);outline-offset:1px}
.signup-pop button[type=submit]{all:unset;cursor:pointer;height:48px;border-radius:4px;background:var(--red);color:#fff;font-family:'OS XB';font-size:16px;letter-spacing:.02em;text-align:center}
.signup-pop button[type=submit]:disabled{opacity:.6}
.signup-pop-done{margin-top:24px;padding:18px;border:2px solid var(--red);font-family:'OS XB';font-size:16px;text-transform:uppercase}
.signup-pop-small{margin:16px auto 0;max-width:30em;font-size:12px;line-height:1.5;color:#5a616a}
.signup-pop-close{all:unset;cursor:pointer;position:absolute;top:12px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#14181d}
.signup-pop-img{flex:1 1 320px;position:relative;min-height:420px;background:var(--navy)}
@media (max-width:640px){.signup-pop-img{display:none}}
html.signup-open{overflow:hidden}
/* 6633 route photos as a mixed size collage */
@media (min-width:768px){
	.race-flagship .r-route-photos{grid-template-columns:1.5fr 1fr;grid-auto-rows:auto}
	.race-flagship .r-route-photos figure:first-child{grid-row:span 2;display:flex;flex-direction:column}
	.race-flagship .r-route-photos figure:first-child .ratio-43{flex:1;aspect-ratio:auto;min-height:420px}
}
@media (min-width:1080px){.map-pop{max-width:calc(100% - 16px)}}
.signup-pop form label{display:block}

/* ===================== Amends round 2, 30 Oct 2026 ===================== */
/* Arctic Circle line: with a non scaling stroke the dash is measured in screen pixels, so 1000 stopped short on wide screens */
.arctic-line{stroke-dasharray:4000;stroke-dashoffset:4000}
.map.is-drawn .arctic-line{stroke-dashoffset:0}
/* no dead space under the Roll of Honour links */
.honour-links-wrap{padding-bottom:0}
/* race header: 66 Adventure logo, links home */
.race-brand-home-logo{flex:none}
.race-brand-home-logo img{display:block;height:40px;width:auto}
/* line over the full width break photo */
.r-break{position:relative}
.r-break-line{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 6vw;text-align:center;font-family:'Staatliches';font-size:clamp(34px,6vw,96px);line-height:.95;letter-spacing:.01em;color:#F4F6F5;text-transform:uppercase;text-shadow:0 2px 30px rgba(6,18,32,.55);background:rgba(6,18,32,.22);pointer-events:none}
/* galleries: even grid, 4 across, every row full */
.masonry{column-width:auto;columns:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.masonry-item{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--navy-tile)}
.masonry-item img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.masonry{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){
	.masonry{grid-template-columns:repeat(2,1fr);gap:8px}
	/* cards show the whole photo on phones (no empty box under landscape photos) */
	.race-flagship .take-img,.takes-stagger .take-img{aspect-ratio:auto}
}
@media (max-width:640px){
	/* compact facts strips, two per row */
	.facts-row,.r-facts-row{display:grid;grid-template-columns:1fr 1fr}
	.fact,.r-fact{padding:18px 16px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
	.fact:nth-child(2n),.r-fact:nth-child(2n){border-right:0}
	.fact-value,.r-fact-value,.race-flagship .r-fact-value{font-size:30px;white-space:normal}
	.fact-wide:not(.fact-word) .fact-value{font-size:24px}
	.fact-word{grid-column:1/-1;border-right:0}
	.fact-word .fact-value{font-size:30px}
	.r-fact:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
	.fact-label,.r-fact-label{margin-top:6px;font-size:13px;line-height:1.35}
	/* race buttons under the map: tidy two column grid */
	.race-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
	.race-tab{box-sizing:border-box;width:100%;margin:0;padding:12px 6px;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center}
	.race-tab:last-child:nth-child(odd){grid-column:1/-1}
	/* clear space under the race logo in the hero */
	.r-hero{padding-top:300px}
}

/* ===================== Amends round 3, 4 Nov 2026 ===================== */
/* crew cards without a portrait: no empty photo box, solid border */
.person{border-style:solid}
/* interactive route maps (partials/route-map-*.php) */
.r-route-custom .r-route-photos{margin-top:clamp(40px,5vw,64px)}

/* Mailchimp opt-in tickbox (contact form), 9 Nov 2026 */
.contact-form label.contact-optin{flex-direction:row;align-items:flex-start;gap:12px;font-family:'Work Sans',sans-serif;font-size:14px;letter-spacing:0;text-transform:none;line-height:1.4;cursor:pointer}
.contact-form .contact-optin input{width:20px;height:20px;padding:0;flex:none;margin:0;accent-color:var(--off)}
