@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/barlow-condensed-semibold.ttf') format('truetype')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/barlow-condensed-bold.ttf') format('truetype')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url('assets/fonts/barlow-condensed-bold-italic.ttf') format('truetype')}
:root{--athletic:'Barlow Condensed','Arial Narrow',Arial,sans-serif}
.brand,.site-footer .brand{font-family:var(--athletic);font-weight:700;font-size:28px;letter-spacing:.025em;line-height:1.05}
.brand small,.site-footer .brand small{font-family:var(--sans);font-size:7px;letter-spacing:.17em;margin-top:7px;font-weight:500}
.site-header{isolation:isolate}
.hero{gap:clamp(40px,6vw,85px);padding-top:42px;padding-bottom:58px}
.hero::before{background:linear-gradient(117deg,transparent 68%,rgb(234 247 239 / 80%) 68%,rgb(234 247 239 / 80%) 69%,transparent 69%,transparent 72%,rgb(234 247 239 / 65%) 72%,rgb(234 247 239 / 65%) 73%,transparent 73%),radial-gradient(ellipse at 4% 12%,rgb(234 247 239 / 85%),transparent 55%)}
.hero .eyebrow{border-radius:4px;background:var(--ink);color:var(--lime);letter-spacing:.13em;font-size:8px;padding:9px 12px;border:0;transform:skewX(-5deg);margin-bottom:22px}
.hero-premise{font-size:clamp(23px,2.1vw,30px);font-weight:500;letter-spacing:-.04em;line-height:1.27;margin-bottom:17px;max-width:18em}
.hero h1 em{font-family:var(--athletic);font-weight:700;font-style:italic;font-size:clamp(96px,9.1vw,132px);letter-spacing:-.015em;line-height:.86;text-transform:uppercase;background:none;color:var(--green);-webkit-text-fill-color:currentColor;padding-right:12px;margin-left:-4px}
.hero h1 em>span{display:inline-block;position:relative;isolation:isolate}
.hero h1 em .hero-punch-strong{color:var(--ink);margin-top:4px}
.hero-punch-strong::after{content:'';position:absolute;left:6px;right:0;bottom:2%;height:16%;background:var(--lime);transform:skewX(-12deg);z-index:-1}
.hero-subtitle{margin-top:26px;font-size:20px}
.hero-description{margin-top:16px}
.hero-photo{border-radius:10px 25px 10px 25px;min-height:605px;max-height:730px;aspect-ratio:.76}
.photo-topline{border-radius:3px;font-family:var(--athletic);font-size:12px;font-weight:600;letter-spacing:.1em;padding:8px 12px;transform:skewX(-5deg)}
.photo-bottomline{font-family:var(--athletic);font-size:50px;line-height:.92;font-weight:700;text-transform:uppercase;letter-spacing:.015em;bottom:29px}
.running-route{display:none}
.running-stage{position:absolute;left:24px;right:24px;bottom:145px;background:linear-gradient(120deg,rgb(23 34 28 / 96%),rgb(16 57 34 / 97%));border:1px solid rgb(200 246 90 / 25%);border-radius:12px;padding:10px 17px 11px;box-shadow:0 15px 40px rgb(0 0 0 / 18%);color:#FFFFFF;isolation:isolate}
.running-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.running-stage-heading>span{font-family:var(--athletic);font-size:17px;font-weight:600;letter-spacing:.05em;color:var(--lime)}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:4px 7px;background:transparent;border:0;border-radius:6px;color:var(--mint);font-family:var(--sans);font-size:10px;flex-shrink:0}
.motion-toggle:hover{background:rgb(234 247 239 / 9%)}
.motion-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.motion-icon{font-size:12px;min-width:12px;text-align:center}
.runner-lane{height:100px;position:relative;overflow:hidden;border-top:1px solid rgb(234 247 239 / 16%);border-bottom:1px solid rgb(234 247 239 / 16%)}
.lane-marks{position:absolute;inset:0;background:linear-gradient(transparent 31%,rgb(234 247 239 / 14%) 31%,rgb(234 247 239 / 14%) 32%,transparent 32%,transparent 65%,rgb(234 247 239 / 14%) 65%,rgb(234 247 239 / 14%) 66%,transparent 66%)}
.lane-number{position:absolute;left:0;bottom:7px;font-family:var(--athletic);font-style:italic;font-size:30px;line-height:1;color:rgb(234 247 239 / 23%);font-weight:700}
.lane-finish{position:absolute;right:13px;top:0;bottom:0;width:8px;background:repeating-linear-gradient(180deg,transparent 0 9px,rgb(200 246 90 / 35%) 9px 18px);transform:skewX(-10deg)}
.runner-sweep{position:absolute;top:4px;left:0;width:88px;height:92px;will-change:transform}
.runner-art{width:100%;height:100%;overflow:visible}
.runner-athlete{will-change:transform}
.running-stage-footer{display:flex;justify-content:space-between;gap:10px;color:#C0D0C3;font-size:7px;font-weight:500;letter-spacing:.11em;padding-top:9px}
.principles-strip{font-family:var(--athletic);font-weight:600;font-size:17px;letter-spacing:.09em;text-transform:uppercase;background:var(--ink);color:var(--mint);border:0;padding-block:21px}
.principles-strip>span:nth-child(even){font-size:13px;color:var(--lime)}
h2,.about-heading h2,.section-heading h2,.video-section h2,.faq h2{font-family:var(--athletic);font-weight:700;letter-spacing:0;line-height:.99;text-transform:uppercase;font-size:clamp(49px,5.5vw,77px)}
h2 em{font-style:normal}
.recognition h2{font-family:var(--athletic);font-size:clamp(51px,5.7vw,80px);letter-spacing:0;line-height:.99}
.recognition .eyebrow,.about-heading .eyebrow,.section-heading .eyebrow,.video-section .eyebrow,.faq .eyebrow{position:relative;display:inline-flex;align-items:center;gap:9px}
.recognition .eyebrow::before,.about-heading .eyebrow::before,.section-heading .eyebrow::before,.video-section .eyebrow::before,.faq .eyebrow::before{content:'';width:12px;height:12px;display:block;background:var(--lime);border-left:3px solid var(--green);transform:skewX(-14deg)}
.recognition-list article,.recognition-list article:last-child{border-radius:8px 18px 8px 18px}
.recognition-list h3{font-size:18px}
.about-heading{position:relative;isolation:isolate}
.about-heading::after{content:'02';position:absolute;right:9%;bottom:7px;font-family:var(--athletic);font-weight:700;font-style:italic;font-size:clamp(130px,16vw,220px);line-height:1;color:transparent;-webkit-text-stroke:1px rgb(22 131 75 / 12%);z-index:-1;pointer-events:none}
.about-name{font-family:var(--athletic);font-weight:600;font-size:26px;letter-spacing:.01em;text-transform:uppercase}
.about-name>span{font-family:var(--sans);font-size:8px;letter-spacing:.13em}
.credentials strong{font-family:var(--athletic);font-size:35px;letter-spacing:0;font-weight:600;text-transform:uppercase}
.steps{gap:20px}
.steps article,.steps article+article{border-radius:8px 20px 8px 20px}
.step-number{font-family:var(--athletic);font-size:35px;font-style:italic;line-height:1;letter-spacing:.01em;font-weight:700}
.step-number>span{font-style:normal;font-family:var(--sans);font-size:20px}
.steps h3{font-family:var(--athletic);font-size:28px;font-weight:600;letter-spacing:0;text-transform:uppercase;line-height:1.1}
.program{border-radius:9px 26px 9px 26px}
.program h3{font-family:var(--athletic);font-weight:700;font-style:italic;font-size:clamp(56px,5.3vw,75px);letter-spacing:0;line-height:.98;text-transform:uppercase}
.video-placeholder>p{font-family:var(--athletic);font-size:42px!important;line-height:1;text-transform:uppercase;font-weight:600;letter-spacing:.01em}
.video-placeholder>p strong{font-weight:700;color:var(--green)}
.contact h2{font-family:var(--athletic);font-weight:700;font-size:clamp(47px,5.5vw,78px);letter-spacing:0;line-height:1;text-transform:uppercase}
.button{border-radius:8px 24px 8px 24px}
.button-small{border-radius:7px 18px 7px 18px}
.button>span{position:relative}
.button>span::before{content:'';width:9px;height:1px;background:currentColor;box-shadow:0 -4px 0 currentColor,0 4px 0 currentColor;opacity:0;position:absolute;left:-8px;top:50%;transition:opacity 200ms,transform 350ms var(--ease-stride);transform:translateX(-5px)}
.button:hover>span::before{opacity:.6;transform:translateX(0)}
.reading-track{height:3px;overflow:visible}
.reading-track>span#reading-progress{position:absolute;inset:0;height:3px;overflow:hidden}
.reading-track .reader-runner{position:absolute;bottom:-10px;left:0;width:25px;height:25px;color:var(--green);background:var(--white);border-radius:100%;box-shadow:0 2px 8px rgb(23 34 28 / 10%);border:1px solid rgb(22 131 75 / 15%);display:none;transform-origin:center}
.reading-track .reader-runner.is-running{display:block}
.reader-runner svg{width:100%;height:100%;padding:2px;display:block}

/* El ciclo se dibuja con articulaciones y un solo reloj en app.js. */
.motion-toggle[aria-disabled='true']{opacity:.7;cursor:default}
.touch-hint{display:none}
@media(hover:none){.hover-hint{display:none}.touch-hint{display:inline}}
html[data-motion='reduced'] *,html[data-motion='reduced'] *::before,html[data-motion='reduced'] *::after{animation:none!important;transition:none!important}
html[data-motion='reduced']{scroll-behavior:auto}
html[data-motion='reduced'] .reveal,html[data-motion='reduced'] .hero-visual.reveal{opacity:1;transform:none}
html[data-motion='reduced'] .route-draw{stroke-dashoffset:0}
html[data-motion='reduced'] .steps article::before{transform:scaleX(1)}
html[data-motion='reduced'] .button:hover,html[data-motion='reduced'] .button:hover>span,html[data-motion='reduced'] .button:active,html[data-motion='reduced'] .hero-photo:hover img{transform:none}

@media(min-width:761px){.hero-subtitle br{display:none}.hero-subtitle{font-size:18px}.hero{padding-top:32px}}
@media(min-width:1500px){.hero h1 em{font-size:139px}.hero-photo{max-height:760px}}
@media(max-width:1100px) and (min-width:761px){.hero h1 em{font-size:106px}.hero-premise{font-size:24px}.hero-photo{min-height:635px}.running-stage{left:15px;right:15px;bottom:140px;padding-inline:13px}.running-stage-heading>span{font-size:15px}.motion-toggle{font-size:9px;gap:5px}.runner-sweep{width:80px}.photo-bottomline{font-size:43px}.about-heading h2{font-size:62px}.credentials{gap:18px;padding-inline:17px}.credentials>div+div{padding-left:18px}.credentials strong{font-size:29px}.steps h3{font-size:25px}.program h3{font-size:61px}}
@media(max-width:760px){
  .brand{font-size:25px}.brand small{font-size:6px;margin-top:6px}
  .hero{padding-top:30px;gap:29px;padding-bottom:30px}
  .hero .eyebrow{font-size:7px;letter-spacing:.09em;margin-bottom:22px;padding:9px 10px}
  .hero h1 em{font-size:clamp(83px,21.8vw,120px);line-height:.9;letter-spacing:-.01em;margin-left:-3px;padding-right:9px}
  .hero-premise{font-size:23px;line-height:1.28;margin-bottom:16px;max-width:17em}
  .hero-subtitle{font-size:19px;margin-top:25px}
  .hero-description{font-size:14px}
  .hero-photo{aspect-ratio:.89;min-height:0;max-height:610px;border-radius:8px 22px 8px 22px}
  .photo-topline{font-size:10px;padding:7px 10px;left:17px;top:17px}
  .photo-bottomline{font-size:36px;bottom:22px;left:22px}
  .running-stage{left:14px;right:14px;bottom:120px;padding:6px 12px 9px;border-radius:10px}
  .running-stage-heading>span{font-size:15px;letter-spacing:.04em}
  .motion-toggle{min-height:44px;font-size:9px;padding-inline:3px;gap:5px}
  .runner-lane{height:83px}.runner-sweep{top:-1px;width:78px;height:83px}.lane-number{font-size:27px;bottom:5px}
  .running-stage-footer{font-size:6px;letter-spacing:.07em;padding-top:8px;gap:6px}
  .principles-strip{font-size:14px;letter-spacing:.07em;padding-block:18px;gap:13px 18px}
  h2,.about-heading h2,.section-heading h2,.video-section h2,.faq h2{font-size:50px;line-height:1;letter-spacing:0}
  .recognition h2{font-size:52px;line-height:1}
  .recognition-list h3{font-size:17px}
  .about-heading::after{font-size:160px;bottom:0;right:4%}
  .about-name{font-size:25px;margin-top:25px}
  .about-name>span{font-size:7px}
  .credentials{gap:22px;padding:23px 18px}.credentials>div+div{padding-left:20px}.credentials strong{font-size:31px}.credentials span{font-size:9px}
  .steps h3{font-size:28px}.step-number{font-size:34px}
  .program h3{font-size:59px;line-height:1}
  .program{border-radius:8px 22px 8px 22px}
  .video-placeholder>p{font-size:37px!important;line-height:1.05}
  .contact h2{font-size:45px;line-height:1.05;letter-spacing:0}
  .site-footer .brand{font-size:23px}.site-footer .brand small{font-size:6px}
  .button{border-radius:7px 22px 7px 22px}
  .reading-track .reader-runner{width:23px;height:23px;bottom:-9px}
}
@media(max-width:380px){.hero h1 em{font-size:79px}.hero-premise{font-size:22px}.brand{font-size:23px}.hero .eyebrow{font-size:6px}.running-stage{left:12px;right:12px;padding-inline:10px}.running-stage-heading>span{font-size:14px}.running-stage-footer{font-size:5px}.motion-toggle{font-size:8px}.photo-bottomline{font-size:33px}.credentials{gap:15px;padding-inline:15px}.credentials>div+div{padding-left:15px}.credentials strong{font-size:28px}.credentials span{font-size:8px}.program h3{font-size:53px}.contact h2{font-size:40px}.site-footer .brand{font-size:21px}}
@media print{.running-stage,.reader-runner,.motion-toggle{display:none!important}.hero h1 em{color:var(--green);-webkit-text-fill-color:currentColor}.hero-punch-strong{color:var(--ink)}}
