/* The first direction only: editorial type, a moving ink line, and measured reveals. */
.editorial{background:linear-gradient(135deg,#f1f4fc 0,#f7f8fa 42rem);overflow-x:clip}
.editorial .introduction-bar{background:transparent;color:#526174;border-bottom:1px solid #dce2ec;min-height:53px}
.editorial .motion-toggle{display:flex;align-items:center;gap:9px;border:1px solid #c6cfdf;border-radius:24px;background:transparent;color:#334863;font:inherit;font-size:.75rem;letter-spacing:.03em;padding:6px 13px;cursor:pointer;min-height:32px}
.editorial .motion-toggle[hidden]{display:none}.editorial .motion-toggle:hover{background:#e8edf8}.editorial .motion-toggle:disabled{cursor:default;opacity:.7}
.editorial button:focus-visible{outline:3px solid #ef7448;outline-offset:5px}
.editorial .motion-symbol{font-size:.875rem;line-height:1;width:10px;text-align:center}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:30;pointer-events:none}.reading-progress span{display:block;height:100%;background:#263fd6;transform:scaleX(0);transform-origin:left}
.editorial .header{position:sticky;top:0;z-index:10;background:rgba(247,248,250,.93);backdrop-filter:blur(16px);padding:22px 0}
.editorial .header nav a{position:relative;padding:6px 0}.editorial .header nav a::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.editorial .header nav a:hover::after,.editorial .header nav a[aria-current="location"]::after{transform:scaleX(1)}
.editorial section[id]{scroll-margin-top:115px}
.editorial .hero-one{position:relative;isolation:isolate;padding-top:76px;padding-bottom:90px;min-height:470px}
.hero-atmosphere{position:absolute;z-index:-1;width:min(47vw,640px);height:100%;left:-8%;top:-4%;background:radial-gradient(ellipse at 45% 50%,#dce5ff 0,rgba(225,232,252,.6) 32%,transparent 70%);pointer-events:none}
.editorial .hero-heading{min-width:0}.editorial .hero-one h1{line-height:1.03;letter-spacing:-.055em;margin-top:25px}
.headline-line{display:block;overflow:clip;overflow-clip-margin:10px}.headline-line>span{display:block;padding:0 0 .17em}.headline-line+.headline-line{margin-top:-.12em}
.run-word{display:inline-block;position:relative}.run-underline{position:absolute;width:100%;height:.22em;left:0;bottom:-.075em;overflow:visible}.run-underline path{stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.editorial .intro-one{border-left:1px solid #b8c5e0;padding-left:28px;padding-bottom:4px}
.editorial .text-link{text-decoration:none;position:relative;padding-bottom:7px}.editorial .text-link::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--accent);transform-origin:left;transition:transform .3s ease}.editorial .text-link:hover::after{transform:scaleX(.55)}.link-line{display:none}
.editorial .chapter-band{display:grid;grid-template-columns:repeat(3,1fr);padding:0;gap:0;border-color:#b7c4dd}.editorial .chapter-band a{display:flex;align-items:center;gap:16px;padding:22px 12px;text-decoration:none;transition:background .25s ease}.editorial .chapter-band a+a{border-left:1px solid #c9d2e2;padding-left:28px}.chapter-number{font-family:Georgia,serif;font-size:1rem;font-style:italic;letter-spacing:0;color:#65789b}.editorial .chapter-band a:hover{background:#e6ecfb;opacity:1}
.editorial .section-heading{position:relative;padding-left:24px;border-left:2px solid #263fd6}.editorial .section-heading .small-index{color:#526a99}
.editorial .distance-panel{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#344fe7,#2031ac);box-shadow:0 16px 42px -30px #263fd6;border-radius:3px;min-height:425px}
.editorial .distance-panel::before,.editorial .distance-panel::after{content:"";position:absolute;z-index:-1;inset:48px -75px;border:1px solid #8897ff;border-radius:50%;transform:rotate(-30deg);opacity:.48}
.editorial .distance-panel::after{inset:70px -55px}.editorial .distance-panel strong{font-variant-numeric:tabular-nums;text-shadow:0 8px 36px #1426a5}
.editorial .race-list article{transition:background .25s ease,padding .25s ease}.editorial .race-list article:hover{background:#eaf0fe;padding-left:12px}.editorial .race-list article>strong{position:relative}
.editorial .service-grid{gap:22px}.editorial .service-grid article{padding:24px 22px;background:#edf1fa;border-top:2px solid #263fd6;position:relative;transition:transform .3s ease,box-shadow .3s ease,background .3s ease}
.editorial .service-grid article:nth-child(2){background:#f0f3f7}.editorial .service-grid article:nth-child(3){background:#e8eef8}
.editorial .recognition{border-radius:3px;background:#e4eafa}.editorial .award-list>div{transition:border-color .3s ease}.editorial .award-list>div:hover{border-color:#263fd6}
.editorial .sqzy-one figure{overflow:hidden;box-shadow:12px 12px 0 #e4eafa;transform:rotate(1.5deg);transition:transform .5s ease,box-shadow .5s ease}.editorial .sqzy-one figure img{transition:transform .65s ease}
.editorial .closing-one{position:relative}.editorial .closing-one .small-index{color:#526a99}
/* Add real photographs directly inside their section when supplied; no empty image boxes. */
.editorial .life-photo{margin:0;overflow:hidden;background:#e6ebf4;border-radius:3px}.editorial .life-photo img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .65s ease}.editorial .life-photo figcaption{padding:15px;font-size:.75rem}
.editorial .life-photo--running{grid-column:1/-1}.editorial .life-photo--running img{aspect-ratio:16/9}.editorial .life-photo--community{margin-bottom:22px}.editorial .life-photo--community img{aspect-ratio:4/3}
.motion-enabled .hero-heading .eyebrow{animation:intro-rise .75s .08s both}.motion-enabled .headline-line>span{animation:headline-arrive 1.05s cubic-bezier(.22,1,.36,1) both}.motion-enabled .headline-line:nth-child(2)>span{animation-delay:.13s}.motion-enabled .intro-one{animation:intro-rise 1s .3s both}.motion-enabled .hero-atmosphere{animation:atmosphere-arrive 1.6s ease-out both}.motion-enabled .run-underline path{animation:ink-line .95s .65s cubic-bezier(.35,0,.2,1) both}
.motion-enabled [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.motion-enabled .distance-panel.is-visible::before{animation:course-arrive 1.4s ease-out both}.motion-enabled .distance-panel.is-visible::after{animation:course-arrive 1.4s .15s ease-out both}
.motion-enabled .distance-panel.is-visible strong{animation:milestone-arrive 1s .15s cubic-bezier(.22,1,.36,1) both}
.motion-enabled .sqzy-one figure.is-visible{transform:rotate(1.5deg)}
@keyframes headline-arrive{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes intro-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes ink-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes atmosphere-arrive{from{opacity:0;transform:translate(-30px,15px) scale(.9)}to{opacity:1;transform:none}}
@keyframes course-arrive{from{opacity:0;transform:rotate(-50deg) scale(1.2)}to{opacity:.48;transform:rotate(-30deg) scale(1)}}
@keyframes milestone-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.motion-enabled .service-grid article.is-visible:hover{transform:translateY(-6px);box-shadow:0 16px 30px -22px #556c99}.motion-enabled .sqzy-one figure.is-visible:hover{transform:rotate(0);box-shadow:5px 5px 0 #e4eafa}.motion-enabled .sqzy-one figure:hover img,.motion-enabled .life-photo:hover img{transform:scale(1.035)}}
@media(max-width:1000px){.editorial .chapter-band a{gap:9px;padding:18px 8px;font-size:.75rem;letter-spacing:.06em}.editorial .chapter-band a+a{padding-left:16px}.editorial .intro-one{padding-left:22px}.editorial .hero-one{padding-top:60px;padding-bottom:65px}.editorial .service-grid article{padding:20px 17px}}
@media(max-width:700px){.editorial .introduction-bar{flex-direction:row;align-items:center;gap:10px;font-size:.75rem;padding:10px 6%;letter-spacing:.07em}.introduction-bar>span{max-width:190px}.editorial .motion-toggle{font-size:.75rem;padding:5px 10px;white-space:nowrap}.editorial .header{padding:17px 0;gap:12px}.editorial .hero-one{min-height:0;padding:43px 0 45px;gap:28px}.editorial .hero-one h1{font-size:clamp(54px,11.7vw,82px);letter-spacing:-.05em;line-height:1.06}.hero-atmosphere{width:110%;height:65%;left:-8%}.editorial .intro-one{padding-left:20px}.editorial .intro-one h2{margin-top:0}.editorial .chapter-band{grid-template-columns:1fr;padding:5px 0}.editorial .chapter-band a{font-size:.75rem;padding:13px 4px;gap:16px}.editorial .chapter-band a+a{border-left:0;border-top:1px solid #d4dceb;padding-left:4px}.editorial .chapter-band span:last-child{display:inline}.editorial .section-heading{padding-left:17px}.editorial .section-heading h2{font-size:36px}.editorial .distance-panel{min-height:330px}.editorial .service-grid article{padding:22px}.editorial .service-grid{gap:20px}.editorial .sqzy-one figure{margin:0 6px 12px 0;box-shadow:8px 8px 0 #e4eafa}.editorial section[id]{scroll-margin-top:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.editorial *, .editorial *::before, .editorial *::after{animation:none!important;transition:none!important}.editorial [data-reveal]{opacity:1;transform:none}}
html:not(.motion-enabled) .editorial *{scroll-behavior:auto}html:not(.motion-enabled){scroll-behavior:auto}html:not(.motion-enabled) .editorial *,.editorial:not(.motion-enabled) .reading-progress span{transition:none}
