/*
Theme Name: LLRR
Description: LONG LEGS RYDERS RUN 2026 — official event theme.
Version: 1.0.0
Text Domain: llrr
Requires PHP: 8.0
*/

:root{--red:#d43830;--ink:#15191a;--paper:#fcfcfb;--blue:#3089c7;--line:#d3d4d3;--condensed:'Impact','Arial Narrow',sans-serif;--body:'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:600;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}button{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}p,h1,h2,h3{margin:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:14px}.skip-link:focus{top:15px}.wrap{width:min(90%,1320px);margin-inline:auto}
.hero{position:relative;min-height:640px;height:min(760px,60vw);isolation:isolate;background:#162024;color:white;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,12,15,.8),rgba(5,12,15,.48) 47%,rgba(5,12,15,.12)),linear-gradient(0deg,rgba(5,12,15,.32),transparent 65%,rgba(5,12,15,.35))}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 3.5%;z-index:5}.brand{display:block;flex:none}.brand strong{display:block;font:25px/.98 var(--condensed);letter-spacing:.2px}.brand small{display:block;font-size:9px;font-weight:700;letter-spacing:1.2px;margin-top:8px}.desktop-nav{display:flex;gap:clamp(14px,2vw,33px);align-items:center;margin-left:auto}.desktop-nav a{font-size:11px;letter-spacing:.04em;white-space:nowrap}.desktop-nav a:hover{color:#ff786d}.header-actions{display:flex;align-items:center;gap:25px}.button{border-radius:100px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:17px 25px;min-height:52px;border:1px solid transparent;font-size:12px;font-weight:800;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:white}.button-primary:hover{background:#b72520}.header-cta{font-size:10px;padding:12px 18px;min-height:40px;white-space:nowrap}.button-outline{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.04);color:white}.button-outline:hover{background:rgba(255,255,255,.13)}.menu-toggle{border:0;background:none;width:34px;height:40px;display:grid;place-content:center;gap:6px;padding:4px}.menu-toggle span{display:block;width:27px;height:2px;background:white}.hero-content{position:absolute;left:5%;right:5%;top:27%;}.eyebrow{color:#ff5145;font:clamp(15px,1.45vw,20px)/1.3 var(--condensed);letter-spacing:1.4px;margin-bottom:22px}.hero h1{font-size:clamp(32px,3.65vw,53px);font-weight:900;letter-spacing:.025em;line-height:1.55;text-shadow:0 2px 18px #0004}.hero h1 em{font-style:normal;color:#ef4b40}.hero-lead{margin-top:20px;font-size:clamp(13px,1.3vw,18px);letter-spacing:.075em}.event-meta{display:flex;align-items:center;gap:22px;margin-top:35px}.event-meta p{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.8}.event-meta svg{color:#f35043;width:25px;height:25px}.event-meta time{font-size:18px;font-weight:900;white-space:nowrap}.event-meta time span{font-size:12px}.hero-ctas{display:flex;gap:14px;margin-top:20px}.hero-ctas .button{min-width:265px}.scroll-cue{position:absolute;bottom:0;left:4%;display:flex;flex-direction:column;align-items:center;font:9px var(--condensed);gap:10px;letter-spacing:.7px}.scroll-cue:after{content:'';width:1px;height:32px;background:var(--red)}.video-control{position:absolute;right:3.5%;bottom:24px;border:1px solid #ffffff70;border-radius:50%;background:#0005;color:white;display:grid;place-items:center;width:38px;height:38px}.video-control svg{width:16px;height:16px}
.impact{background:linear-gradient(110deg,#f5f5f3,#fff 50%,#f4f4f2);padding:25px 0}.impact-inner{display:grid;grid-template-columns:1fr 1fr;gap:52px;max-width:1150px;align-items:center}.donation{display:flex;gap:18px;align-items:center}.impact-icon{color:var(--red);width:44px;height:44px}.small-label{font-size:10px;letter-spacing:.08em}.donation-main{display:flex;align-items:baseline;gap:6px;margin-top:2px}.donation-main strong{font:46px/1.15 var(--condensed);letter-spacing:.3px}.donation-main span{font-size:14px}.donation-history{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:#5a5c5b;margin-top:7px}.countdown{display:flex;align-items:center;gap:20px}.countdown-content{flex:1}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:5px}.countdown-unit{display:flex;flex-direction:column;align-items:center}.countdown-unit b{font:42px/1.1 var(--condensed);color:var(--red)}.countdown-unit span{font-size:10px;margin-top:4px}.countdown-ended{font-size:20px;color:var(--red);padding:12px 0}
.overview{position:relative;isolation:isolate;overflow:hidden;padding:60px 0 30px;min-height:365px;background:#fff}.overview:before{content:'';position:absolute;z-index:-1;right:0;top:0;bottom:0;width:36%;background:var(--blue);clip-path:polygon(89% 0,100% 0,100% 100%,0 100%)}.overview-top{display:grid;grid-template-columns:31% 1fr;gap:25px;align-items:center;width:85%}.overview-heading .year{font:34px/1.1 var(--condensed);color:var(--red)}.overview-heading .year span{font:800 25px var(--body)}.heading-row{display:flex;align-items:flex-end;gap:18px;margin-top:4px}.overview-heading h2{font:48px/.98 var(--condensed);letter-spacing:-.5px}.heading-row>span{color:var(--red);font-size:11px;white-space:nowrap;padding-bottom:5px}.overview-cards{display:grid;grid-template-columns:.9fr 1.2fr;gap:10px;align-items:stretch}.info-card{background:#f6f6f4;padding:24px 20px;display:flex;gap:14px}.info-card>svg{color:var(--red);width:30px;height:30px}.info-card h3{font-size:10px;letter-spacing:.05em;margin:4px 0 15px}.info-card strong{display:block;font-size:14px;line-height:1.65}.info-card p{font-size:10px;line-height:1.8;margin-top:7px}.map-link{display:inline-flex;align-items:center;gap:5px;color:#bb2923;font-size:11px;margin-top:7px}.map-link svg{width:15px;height:15px}.overview-bottom{width:72%;margin-top:28px}.detail-nav{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:11px 0}.detail-nav button{border:0;border-right:1px solid #b9bcbd;background:transparent;font-size:11px;padding:3px 6px}.detail-nav button:last-child{border-right:0}.detail-nav button:hover{color:var(--red)}.overview-more{display:flex;justify-content:center;margin-top:17px}.more-button{border:1px solid #93999b;background:#fff;min-height:38px;padding:9px 24px;gap:30px}.more-button svg{width:18px;height:18px}
dialog{border:0;padding:0;background:#fcfcfb;color:var(--ink);max-width:690px;width:calc(100% - 36px);max-height:85dvh;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#081217b8;backdrop-filter:blur(6px)}.dialog-content{padding:45px 40px}.dialog-close{position:absolute;right:13px;top:12px;display:grid;place-items:center;width:36px;height:36px;background:transparent;border:0}.dialog-content h2{font-size:25px;margin-bottom:25px}.dialog-content h3{font-size:17px;margin:22px 0 12px}.dialog-content p{font-size:14px;line-height:1.9;margin-bottom:14px}.dialog-content a:not(.button){text-decoration:underline;text-underline-offset:4px;color:#b72520}.dialog-content section+section{border-top:1px solid var(--line);padding-top:5px;margin-top:24px}.menu-dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;max-width:420px;background:#121c20;color:white}.menu-links{display:flex;flex-direction:column;gap:0}.menu-links a{padding:18px 0;border-bottom:1px solid #ffffff25;font:24px var(--condensed);letter-spacing:1px}.menu-links a:hover{color:#f55045}.entry-content{padding:70px 0;min-height:60vh}.entry-content h1{margin-bottom:30px}
.impact-icon svg{width:100%;height:100%}
.impact-inner{grid-template-columns:.7fr 1fr 1.4fr;gap:30px;max-width:1250px}.impact .donation{gap:12px}.impact .donation-main strong{font-size:40px}.impact .countdown-grid{gap:18px}
@media(max-width:1100px){.impact-inner{gap:22px}.impact .donation-main strong{font-size:34px}.impact .impact-icon{width:32px;height:32px}.impact .countdown-grid{gap:12px}}
@media(max-width:850px){.impact .impact-inner{grid-template-columns:1fr 1fr;max-width:610px}.impact .countdown{grid-column:1/-1}.impact .donation{justify-content:flex-start}.impact .donation-main strong{font-size:38px}}
@media(max-width:540px){.impact .impact-inner{gap:20px 14px}.impact .donation{gap:8px}.impact .impact-icon{width:25px;height:25px}.impact .donation-main strong{font-size:30px}.impact .donation-main span{font-size:12px}.impact .small-label{font-size:9px}}
.site-footer{background:#11191c;color:#fff;border-top:4px solid var(--red);padding:60px 0 22px}.footer-top{display:grid;grid-template-columns:1fr 1.5fr 65px;gap:55px;align-items:start;padding-bottom:48px}.footer-identity .brand strong{font-size:34px}.footer-identity .brand small{font-size:10px}.footer-identity>p{font:17px/1.35 var(--condensed);letter-spacing:1px;color:#aab3b7;margin-top:25px}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 25px;padding-top:5px}.footer-menu-item{display:flex;flex-direction:column;gap:8px;cursor:default}.footer-menu-item strong{font:18px/1.1 var(--condensed);letter-spacing:.6px}.footer-menu-item>span{color:#aab3b7;font-size:10px}.footer-back{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-back>span{border:1px solid #647074;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:25px;transition:background .2s,border-color .2s}.footer-back:hover>span{background:var(--red);border-color:var(--red)}.footer-back small{font:10px var(--condensed);letter-spacing:1px;white-space:nowrap}.footer-bottom{border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#aab3b7}.footer-bottom>small{font-size:10px;letter-spacing:.06em}.footer-bottom nav{display:flex;gap:25px;font-size:10px}.footer-bottom [aria-disabled]{cursor:default}
@media(max-width:850px){.footer-top{grid-template-columns:1fr 1.5fr;gap:35px;position:relative}.footer-back{position:absolute;right:0;top:0}.footer-nav{grid-template-columns:repeat(2,1fr);padding-right:60px;gap:25px 20px}}
@media(max-width:540px){.site-footer{padding-top:36px}.footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:30px}.footer-identity .brand strong{font-size:30px}.footer-identity>p{font-size:15px;margin-top:19px}.footer-nav{padding:0;gap:25px 20px}.footer-menu-item strong{font-size:18px}.footer-bottom{align-items:flex-start;flex-direction:column-reverse;gap:24px}.footer-bottom nav{gap:20px}}
.overview-panel{overflow:hidden;background:#f6f6f4;position:relative}.overview-panel[hidden]{display:none}.overview-panel-inner{padding:28px 30px;border-bottom:2px solid var(--red)}.overview-panel h3{font-size:18px;margin:0 0 16px}.overview-panel p{font-size:13px;line-height:1.9;margin:0 0 12px}.overview-panel p:last-child{margin-bottom:0}.overview-panel .button{margin-top:8px}.detail-nav button[aria-expanded="true"]{color:var(--red);font-weight:900}.detail-nav button[aria-expanded="true"]:after{content:' −';}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.5s ease var(--reveal-delay,0ms),transform 1.5s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal.is-revealed{opacity:1;transform:translateY(0)}.donation-main strong,.countdown-unit b{font-variant-numeric:tabular-nums}.countdown-unit b{display:inline-block;min-width:2ch;text-align:center}
.reveal{--reveal-from:translateY(28px);transition:none}
.reveal.reveal-from-top{--reveal-from:translateY(-34px);transform:var(--reveal-from)}
.reveal.reveal-from-left{--reveal-from:translate(-42px,18px);transform:var(--reveal-from)}
.reveal.is-revealed{transform:translate(0,0);animation:llrr-reveal-enter 1.5s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms) both}
@keyframes llrr-reveal-enter{from{opacity:0;transform:var(--reveal-from)}to{opacity:1;transform:translate(0,0)}}
.hero video{animation:hero-video-enter 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-video-enter{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
@media(min-width:1500px){.hero-content{left:calc((100% - 1320px)/2);right:calc((100% - 1320px)/2)}}
@media(max-width:1100px){.desktop-nav{gap:14px}.desktop-nav a{font-size:9px}.header-actions{gap:15px}.site-header{gap:15px}.header-cta{font-size:9px;padding-inline:13px}.hero{min-height:580px}.hero h1{font-size:39px}.hero-content{top:27%}.impact-inner{gap:25px}.donation-history{gap:6px}.donation-main strong{font-size:38px}.countdown-grid{gap:17px}.countdown-unit b{font-size:37px}.overview-top{width:90%;grid-template-columns:32% 1fr;gap:20px}.overview-heading h2{font-size:42px}.info-card{padding:19px 14px;gap:10px}.info-card strong{font-size:12px}.heading-row{gap:12px}.overview-bottom{width:76%}}
@media(max-width:850px){.desktop-nav{display:none}.header-actions{margin-left:auto}.hero{height:660px}.hero h1{font-size:38px}.hero-content{top:29%}.impact-inner{grid-template-columns:1fr;max-width:610px;gap:22px}.donation{justify-content:center}.countdown{border-top:1px solid #dedfdd;padding-top:18px;justify-content:center}.countdown-content{flex:0 1 370px}.countdown-grid{gap:25px}.overview{padding-top:40px}.overview-top{width:100%;grid-template-columns:1fr;gap:24px}.heading-row{align-items:center}.overview-heading h2 br{display:none}.overview-heading h2{font-size:40px;word-spacing:4px}.overview-heading .year{font-size:28px}.overview-cards{max-width:620px}.overview-bottom{width:100%;max-width:620px}.overview:before{width:40%;opacity:.9}}
@media(max-width:540px){.site-header{padding:22px 5%}.brand strong{font-size:22px}.brand small{font-size:8px;letter-spacing:.7px}.header-cta{display:none}.hero{height:720px;min-height:680px;max-height:none}.hero video{object-position:60% center}.hero:after{background:linear-gradient(0deg,rgba(6,13,16,.88),rgba(6,13,16,.35) 65%,rgba(6,13,16,.35)),linear-gradient(90deg,#06101470,transparent)}.hero-content{top:auto;bottom:92px;left:6%;right:6%}.eyebrow{font-size:15px;letter-spacing:1px;margin-bottom:18px}.hero h1{font-size:clamp(26px,6.8vw,36px);line-height:1.65;letter-spacing:0}.hero-lead{font-size:12px;letter-spacing:.01em;margin-top:15px}.event-meta{flex-direction:column;align-items:flex-start;gap:9px;margin-top:26px}.event-meta time{font-size:18px}.event-meta p{font-size:11px}.event-meta svg{width:22px;height:22px}.hero-ctas{display:grid;gap:10px;margin-top:23px}.hero-ctas .button{width:100%;min-width:0;min-height:47px;padding:13px 15px;font-size:11px;justify-content:space-between}.scroll-cue{left:6%}.impact{padding:25px 0}.impact-inner{width:88%;gap:20px}.donation{gap:14px;justify-content:flex-start}.donation-main strong{font-size:39px}.donation-history{font-size:9px;gap:4px 10px}.impact-icon{width:34px;height:34px}.countdown{gap:14px}.countdown-grid{gap:15px}.countdown-unit b{font-size:37px}.countdown-unit span{font-size:10px}.overview{padding:33px 0 28px}.overview-heading h2{font-size:35px}.heading-row>span{font-size:10px}.overview-cards{grid-template-columns:1fr;gap:8px}.info-card{padding:20px;gap:16px}.info-card h3{margin-top:3px;margin-bottom:9px}.info-card strong{font-size:14px}.info-card p{font-size:11px}.overview:before{width:65%;clip-path:polygon(100% 15%,100% 100%,0 100%);opacity:1}.overview-bottom{margin-top:21px}.detail-nav{background:#ffffffed;grid-template-columns:1fr 1fr;gap:15px 0;padding:13px 0}.detail-nav button{font-size:11px;min-height:27px}.detail-nav button:nth-child(2){border:0}.dialog-content{padding:45px 24px 30px}.dialog-content h2{font-size:22px}.dialog-content p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Readability pass */
body{font-size:16px}
.desktop-nav a{font-size:13px}
.button{font-size:14px}
.header-cta{font-size:12px}
.eyebrow{font-size:clamp(18px,1.6vw,23px)}
.hero h1{font-size:clamp(35px,3.8vw,56px)}
.hero-lead{font-size:clamp(16px,1.45vw,21px)}
.event-meta p{font-size:14px}
.event-meta time{font-size:20px}
.event-meta time span{font-size:14px}
.small-label,.countdown-unit span{font-size:12px}
.donation-main span{font-size:16px}
.scroll-cue{font-size:12px}
.brand small,.info-card h3,.info-card p,.map-link,.heading-row>span,.detail-nav button,.footer-identity .brand small,.footer-menu-item>span,.footer-back small,.footer-bottom>small,.footer-bottom nav{font-size:12px}
.hero-ctas .button{min-width:300px}

@media(max-width:1100px){
  .desktop-nav a{font-size:11px}
  .header-cta{font-size:11px}
  .hero h1{font-size:42px}
}
@media(max-width:540px){
  .eyebrow{font-size:17px}
  .hero h1{font-size:clamp(29px,7.4vw,39px)}
  .hero-lead{font-size:15px}
  .event-meta p{font-size:14px}
  .event-meta time{font-size:20px}
  .event-meta time span{font-size:14px}
  .hero-ctas .button{font-size:13px;min-width:0}
  .impact .small-label,.countdown-unit span{font-size:12px}
}

/* Requested type scale refinement */
.hero h1{font-size:clamp(37px,3.95vw,58px);line-height:1.42}
.desktop-nav a{font-size:15px}
.small-label{font-size:14px}
.info-card h3,.info-card strong,.info-card p,.map-link{font-size:16px}
.info-card h3{line-height:1.5;margin-bottom:12px}
.info-card p{line-height:1.7}

@media(max-width:1100px){
  .desktop-nav a{font-size:13px}
  .hero h1{font-size:44px}
}
@media(max-width:540px){
  .hero h1{font-size:clamp(31px,7.8vw,41px);line-height:1.5}
  .impact .small-label{font-size:14px}
  .info-card h3,.info-card strong,.info-card p,.map-link{font-size:16px}
}

/* Hero video area: approximately 10% taller */
/* Increase impact figures by 3px at each existing breakpoint. */
.impact .donation-main strong{font-size:43px}
.impact .countdown-unit b{font-size:45px}
@media(max-width:1100px){.impact .donation-main strong{font-size:37px}.impact .countdown-unit b{font-size:40px}}
@media(max-width:850px){.impact .donation-main strong{font-size:41px}}
@media(max-width:540px){.impact .donation-main strong{font-size:33px}}
.parade-course-image{display:block;width:70%;height:auto;margin-inline:auto}
#parade .overview-panel-inner{padding-block:12px}
#parade h3{margin-bottom:4px}
.overview > .wrap{max-width:1250px}
.overview .overview-top,.overview .overview-bottom{width:100%;max-width:none}
.overview .overview-cards{max-width:none;min-width:0}
.hero{min-height:704px;height:min(836px,66vw)}
@media(max-width:1100px){.hero{min-height:638px}}
@media(max-width:850px){.hero{height:726px}}
@media(max-width:540px){.hero{height:792px;min-height:748px}}
