/* A continuous diagonal joins the blue hero to the pink race ribbon. */
.motion-band-shell{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(1.75vw + 3px);margin-top:-1px;background:#e4f7ff}
.motion-band-shell:before{content:'';position:absolute;inset:0;background:var(--blue);clip-path:polygon(0 0,100% 0,100% calc(50% - 1.746vw),0 calc(50% + 1.746vw));z-index:-1}
.motion-band-shell .motion-band{width:calc(100% + 8px);margin:0 0 0 -4px;transform:rotate(-2deg)}
.hero-tour-mobile{display:none}
.campaign-photo{display:contents}
.campaign-photo-trim{display:none}
.campaign-hero .campaign-corner{display:none}
/* A bold race-poster offer makes the finish-line reward unmistakable. */
.campaign-hero .campaign-copy .campaign-perks{margin:24px 0 18px;max-width:100%;padding:0 7px 5px}
.campaign-hero .hero-offer{display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px;max-width:100%;padding:14px 20px 15px;border:2px solid var(--ink);border-image:none;background:var(--pink);background-image:var(--print-grain);background-size:240px 140px;color:var(--ink);box-shadow:5px 6px 0 var(--ink);transform:rotate(-2deg);margin:0;font:italic 400 clamp(1.875rem,3.4vw,3rem)/1.12 var(--display);text-transform:uppercase;letter-spacing:-.015em}
.hero-donuts{display:block}
.hero-coffee{display:block;font-size:.58em;letter-spacing:.02em}
.campaign-hero .campaign-copy .campaign-rule{font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.35;margin:15px 0 22px}
.campaign-hero .campaign-rule br{display:none}
.campaign-hero .campaign-copy .button{background-color:var(--ink);border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 #fff}
.campaign-hero .campaign-copy .button:hover{background-color:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
/* A race-poster heading and three concise, colorful reasons to show up. */
.intro-section{padding:54px 0 48px}
.intro-section .intro-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:30px}
.intro-section .intro-heading h2{display:flex;align-items:center;gap:28px}
.intro-section .intro-heading h2 .intro-distance{font-size:clamp(130px,15vw,200px);line-height:.9;margin:0;letter-spacing:-.05em}
.intro-section .intro-heading h2 .intro-promise{font-size:clamp(32px,4.4vw,58px);line-height:1.05}
.intro-lede{border-left:4px solid var(--pink);padding:6px 0 6px 26px}
.intro-lede p{font-size:clamp(17px,1.6vw,21px);line-height:1.5;margin:0;color:var(--muted)}
.intro-lede strong{display:block;margin-top:8px;font-size:18px;color:var(--ink)}
.intro-lede .text-link{display:inline-block;margin-top:20px;font-size:14px}
.intro-section .vibe-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.intro-section .vibe-points .vibe-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:252px;padding:27px 25px 25px;border:2px solid var(--ink);box-shadow:5px 6px 0 var(--ink);overflow:hidden;background-image:var(--print-grain);background-size:240px 140px;color:var(--ink)}
.intro-section .vibe-points .vibe-pace{background-color:var(--blue);transform:rotate(-1deg)}
.intro-section .vibe-points .vibe-people{background-color:var(--pink);transform:translateY(7px) rotate(1deg)}
.intro-section .vibe-points .vibe-refill{background-color:var(--ink);border-color:var(--ink);box-shadow:5px 6px 0 var(--blue);color:white;transform:rotate(-1deg)}
.intro-section .vibe-points .num{position:absolute;right:12px;top:7px;font:italic 400 84px/1 var(--display);letter-spacing:-.03em;color:currentColor;opacity:.12}
.vibe-kicker{position:relative;font-size:13px;line-height:1.4;letter-spacing:.045em;font-weight:800;text-transform:uppercase;max-width:85%}
.intro-section .vibe-points h3{position:relative;font-size:clamp(29px,3.15vw,45px);font-style:italic;line-height:1.05;margin:22px 0 17px;letter-spacing:-.015em}
.intro-section .vibe-points p{position:relative;color:inherit;font-size:15px;line-height:1.5;margin:0;padding-right:28px;max-width:260px}
.vibe-card-mark{position:absolute;right:16px;bottom:13px;font:400 34px/1 var(--display)}
.vibe-refill .vibe-kicker,.vibe-refill .vibe-card-mark{color:var(--blue)}
/* One shared ground plane anchors shoes, shadow, and the finish stripe. */
.mascot-runway{--runner-size:166px;--note-size:248px;--finish-gap:28px;--ground-y:56px;position:relative;isolation:isolate;height:208px;margin:26px 0 0}
.mascot-runway .mascot-track{position:absolute;left:0;right:0;bottom:calc(var(--ground-y) - 34px);height:44px;background:var(--ink);border:0;border-top:3px solid var(--blue);transform:none}
.mascot-track:before{content:'';position:absolute;left:12px;right:12px;top:23px;height:2px;background:repeating-linear-gradient(90deg,#ffffffb0 0 28px,transparent 28px 50px)}
.mascot-track:after{content:'';position:absolute;right:calc(var(--note-size) + var(--finish-gap) + var(--runner-size)/2 - 12px);top:0;bottom:0;height:auto;width:24px;background:conic-gradient(#fff 25%,var(--ink) 0 50%,#fff 0 75%,var(--ink) 0) 0 0/12px 12px;transform:none}
.mascot-start{position:absolute;left:12px;top:calc(100% + 5px);font:400 13px/1.2 var(--display);letter-spacing:.08em;color:var(--blue-dark)}
.mascot-runway .mascot-finish{position:absolute;right:calc(var(--note-size) + var(--finish-gap) + var(--runner-size)/2 - 42px);bottom:0;padding:2px 5px;border-bottom:2px solid var(--pink);color:var(--blue-dark);font:400 13px/1.2 var(--display);letter-spacing:.04em;transform:none}
.mascot-runner{position:absolute;left:calc(100% - var(--note-size) - var(--finish-gap) - var(--runner-size));bottom:calc(var(--ground-y) - var(--runner-size)*.0234375);width:var(--runner-size);height:var(--runner-size);z-index:1;pointer-events:none}
.mascot-runner:before{content:'';position:absolute;left:24%;right:19%;bottom:calc(2.34375% - 4px);height:8px;border-radius:50%;background:#0007;filter:blur(2px);z-index:-1;transform:scaleX(var(--shadow-scale,1))}
.mascot-runner img,.mascot-runner canvas{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:1/1}
.mascot-runner .mascot-fallback{transform:translateY(1.8%)}
.mascot-runner [hidden]{display:none}
.mascot-runner.is-animated{left:0;will-change:transform}
.mascot-runner.is-finished{will-change:auto}
.mascot-runway .mascot-note{position:absolute;right:0;bottom:78px;width:var(--note-size);padding:13px 16px;font-size:20px;line-height:1.25;transform:rotate(-2deg);box-shadow:4px 4px 0 var(--pink)}
@media(max-width:850px){
 .intro-section .intro-grid{gap:30px;grid-template-columns:1.2fr 1fr}
 .intro-section .intro-heading h2{gap:17px}
 .intro-section .intro-heading h2 .intro-distance{font-size:124px}
 .intro-section .intro-heading h2 .intro-promise{font-size:32px}
 .intro-lede{padding-left:18px}
 .intro-section .vibe-points{gap:14px}
 .intro-section .vibe-points .vibe-card{padding:22px 17px;min-height:236px}
 .vibe-kicker{font-size:12px}
 .intro-section .vibe-points h3{font-size:30px}
 .mascot-runway{--runner-size:150px;--note-size:220px;height:194px}
 .mascot-runway .mascot-note{font-size:18px;bottom:75px}
}
@media(max-width:600px){
 html{scroll-padding-top:88px}
 .site-header{height:76px}
 .brand,.brand img{width:145px}
 .mobile-nav:not([hidden]){top:76px}
 /* Keep the arch clear, then bring the copy into the lower photo gradient. */
 main .campaign-hero{display:block;position:relative;isolation:isolate;min-height:0;padding:0;overflow:hidden}
 .campaign-hero .campaign-photo{display:contents}
 .campaign-hero .campaign-image{position:absolute;inset:0 0 auto;width:100%;height:clamp(320px,100vw,430px);max-height:none;aspect-ratio:auto;object-fit:cover;object-position:74% top;z-index:0;clip-path:none;transform:none}
 main .campaign-hero:after{content:'';display:block;position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0,transparent clamp(102px,27vw,144px),#4acbfacc clamp(178px,47vw,250px),#4acbfaf5 clamp(235px,62vw,330px),var(--blue) clamp(315px,83vw,440px))}
 .campaign-hero>.wrap{display:block;position:relative;width:calc(100% - 40px);z-index:2}
 .campaign-hero .campaign-inner{display:block;position:relative;min-height:0;padding:clamp(150px,40vw,210px) 0 30px}
 .campaign-hero .campaign-copy{display:block;max-width:none}
 .hero-tour-desktop{display:none}
 .hero-tour-mobile{display:inline}
 .campaign-hero .campaign-copy>.eyebrow{display:block;width:fit-content;max-width:100%;margin:0 0 13px -6px;padding:3px 6px;background:var(--blue);font-size:.875rem;line-height:1.4;letter-spacing:.01em;color:var(--ink)}
 .campaign-hero .campaign-title{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:0 9px;width:100%;max-width:100%;margin:0 0 19px;font-size:clamp(3.25rem,15.9vw,5.5rem);line-height:1;letter-spacing:-.025em;transform:skewX(-5deg);transform-origin:left center}
 .campaign-hero .campaign-title .title-lead,.campaign-hero .campaign-title .title-main,.campaign-hero .campaign-title .title-distance{display:block;flex:0 0 auto;width:auto;max-width:100%;overflow-wrap:anywhere;padding:0;background:none;letter-spacing:inherit}
 .campaign-hero .campaign-title .title-lead{flex:0 0 100%;font-size:.48em;line-height:1.2;letter-spacing:.01em;margin:0 0 4px;color:var(--ink)}
 .campaign-hero .campaign-title .title-main{font-size:1em;line-height:1.1;margin:0;color:var(--ink)}
 .campaign-hero .campaign-title .title-distance{font-size:1.18em;line-height:1;margin:0;color:var(--pink-dark);text-shadow:2px 2px 0 #fff}
 .campaign-hero .campaign-copy .campaign-perks{width:fit-content;max-width:calc(100% - 8px);margin:0 0 18px 3px;padding:0;text-align:left}
 .campaign-hero .hero-offer{display:flex;align-items:flex-start;gap:4px;width:fit-content;max-width:100%;margin:0;font-size:clamp(1.5rem,6.8vw,2rem);line-height:1.12;padding:9px 14px 10px;box-shadow:4px 4px 0 var(--ink)}
 .campaign-hero .hero-coffee{font-size:.63em;line-height:1.2}
 .campaign-hero .campaign-copy .campaign-rule{display:block;max-width:100%;margin:0;font-size:clamp(1.125rem,4.6vw,1.375rem);line-height:1.3;color:var(--ink)}
 .campaign-hero .campaign-rule br{display:none}
 .campaign-hero .campaign-copy .actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:20px 0 0;padding:0;background:none}
 .campaign-hero .campaign-copy .actions>.button{width:auto;min-height:50px;padding:13px 18px;font-size:1.125rem;justify-content:center}
 .campaign-hero .campaign-copy .actions>.text-link{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;font-size:.875rem;line-height:1.4;color:var(--ink)}
 .campaign-hero .campaign-bottom,.campaign-hero .campaign-corner{display:none}
 .campaign-hero .campaign-photo-trim{display:block;position:absolute;inset:0;overflow:hidden;z-index:3;pointer-events:none}
 .campaign-hero .campaign-photo-trim:before{content:'';position:absolute;left:-6px;bottom:8px;width:76px;height:5px;background:var(--blue-dark);transform:skewX(-25deg);box-shadow:18px 5px 0 var(--pink)}
 .campaign-hero .campaign-photo-trim:after{content:'';position:absolute;right:-10px;bottom:14px;width:56px;height:20px;transform:skewX(-22deg);background:linear-gradient(90deg,var(--blue-dark) 0 20%,transparent 20% 32%,var(--pink) 32% 67%,transparent 67% 79%,var(--blue-dark) 79% 100%)}
 /* Carry the blue into the ribbon so the diagonal stays continuous. */
 .motion-band-shell{padding-block:calc(1.75vw + 3px);margin-top:-1px;background:#e4f7ff}
 .motion-band-shell:before{background:var(--blue);clip-path:polygon(0 0,100% 0,100% calc(50% - 1.746vw),0 calc(50% + 1.746vw))}
 .intro-section{padding:30px 0 32px}
 .intro-section .section-index span:last-child{display:none}
 .intro-section .intro-grid{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:27px}
 .intro-section .intro-heading h2{gap:20px}
 .intro-section .intro-heading h2 .intro-distance{font-size:clamp(105px,29vw,156px)}
 .intro-section .intro-heading h2 .intro-promise{font-size:clamp(30px,8vw,42px)}
 .intro-lede{padding:2px 0 2px 18px}
 .intro-lede p{font-size:17px}
 .intro-lede p br{display:none}
 .intro-lede strong{font-size:17px;margin-top:5px}
 .intro-lede .text-link{font-size:14px;margin-top:12px}
 .intro-section .vibe-points{grid-template-columns:minmax(0,1fr);gap:17px;margin-top:28px;padding:0 4px}
 .intro-section .vibe-points .vibe-card{display:block;min-height:0;padding:20px 23px 21px;transform:rotate(-1deg)}
 .intro-section .vibe-points .vibe-people{transform:rotate(1deg)}
 .intro-section .vibe-points .num{font-size:106px;top:20px;right:16px;opacity:.1}
 .vibe-kicker{font-size:12px;max-width:85%}
 .intro-section .vibe-points h3{font-size:clamp(32px,9vw,40px);line-height:1.05;margin:13px 0 9px}
 .intro-section .vibe-points h3 br{display:none}
 .intro-section .vibe-points p{font-size:15px;max-width:none;padding-right:24px}
 .vibe-card-mark{right:16px;bottom:15px;font-size:28px}
 /* Keep the whole lane usable; the finish caption sits beneath it. */
 .mascot-runway{--runner-size:125px;--ground-y:88px;height:216px;margin-top:22px}
 .mascot-runner{left:calc(100% - var(--runner-size))}
 .mascot-runner.is-animated{left:0}
 .mascot-track:after{right:calc(var(--runner-size)/2 - 12px)}
 .mascot-runway .mascot-finish{right:20px;bottom:34px;font-size:12px}
 .mascot-runway .mascot-note{bottom:-8px;width:190px;padding:6px 9px;font-size:16px;line-height:1.2;box-shadow:3px 3px 0 var(--pink)}

}
@media(prefers-reduced-motion:reduce){.campaign-title{transform:none}.mascot-runner{will-change:auto}}

/* A custom mascot illustration makes the awards a visual brand moment. */
.average-section{padding:68px 0 78px}
.average-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(30px,4vw,60px);align-items:center}
.average-copy{min-width:0}
.average-copy h2{font-size:clamp(2.6rem,4.4vw,4.4rem);line-height:1.12;letter-spacing:-.02em;margin:23px 0 0}
.average-copy h2 span{display:block}
.average-copy h2 span+span{margin-top:10px}
.average-copy .text-link{margin-top:28px;font-size:14px}
.awards-art{display:grid;gap:4px;min-width:0;width:100%;max-width:580px;margin:0;padding:0 5px 12px;justify-self:center}
.awards-art-visual{position:relative;width:100%;aspect-ratio:4/3;max-height:410px;min-width:0}
.awards-art-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;padding:6px;object-fit:contain}
.awards-art-caption{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:var(--ink);text-align:left;padding:0 4px}
.awards-art-caption>div{min-width:0;padding:15px 18px;background-image:var(--print-grain);background-size:240px 140px}
.awards-caption-middle{background-color:var(--pink);transform:rotate(-2deg);border-bottom:3px solid var(--blue)}
.awards-caption-top{background-color:var(--blue);transform:translateY(6px) rotate(1deg);border-bottom:3px solid var(--pink)}
.awards-art-caption strong{display:block;font:italic 400 clamp(1.25rem,1.9vw,1.75rem)/1.2 var(--display);letter-spacing:0;text-transform:uppercase}
.awards-art-caption span{display:block;font-size:14px;font-weight:700;line-height:1.4;margin-top:6px}
@media(max-width:850px){
 .average-grid{grid-template-columns:minmax(0,1fr);gap:25px}
 .average-copy{max-width:640px}
 .average-copy h2{font-size:clamp(2.8rem,6.5vw,4rem)}
 .awards-art{max-width:530px}
 .awards-art-caption strong{font-size:1.6rem}
}
@media(max-width:600px){
 .average-section{padding:46px 0 50px}
 .average-grid{gap:19px}
 .average-copy h2{font-size:clamp(2.15rem,8.7vw,3.25rem);line-height:1.16;margin-top:18px}
 .average-copy h2 span+span{margin-top:7px}
 .average-copy .text-link{font-size:14px;margin-top:20px}
 .awards-art{max-width:380px;padding:0 3px 10px;gap:5px}
 .awards-art-visual{max-height:275px}
 .awards-art-caption{gap:9px;padding:0 2px}
 .awards-art-caption>div{padding:12px 10px}
 .awards-art-caption strong{font-size:clamp(1.15rem,4.7vw,1.5rem);line-height:1.2}
 .awards-art-caption span{font-size:14px;line-height:1.4;margin-top:5px}
}
