/* LOCKED IN — editorial endurance identity. */
:root{--paper:#f1f0ec;--ink:#171817;--muted:#666864;--line:#d7d8d1;--orange:#b1292f;--bright:#bd2f33;--olive:#e7e7e2;--dark:#131514;--white:#fafaf6;--display:DM,Arial,sans-serif;--body:DM,Arial,sans-serif}
html{scroll-padding-top:105px}body{background:var(--paper);letter-spacing:-.015em}::selection{background:#bd2f33;color:#171817}
h1,h2,.display{font-family:var(--display);font-weight:600;letter-spacing:-.065em;line-height:1.04}h2{font-size:clamp(38px,4.6vw,64px)}h3{letter-spacing:-.04em}.wrap{width:min(1400px,calc(100% - 112px))}.section{padding:112px 0}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:400}.eyebrow .dot{width:5px;height:5px;background:currentColor}.section-head{margin-bottom:52px;align-items:end}.section-head p{font-size:15px;max-width:360px;line-height:1.8}.accent{color:var(--orange)}
.btn{min-height:55px;padding:17px 24px;background:var(--ink);color:var(--paper);border-radius:0;letter-spacing:0;font-size:12px;font-weight:600;gap:30px}.btn:hover{background:#333930;transform:none}.btn svg{transition:transform .25s}.btn:hover svg{transform:translateX(4px)}.btn.light{background:var(--bright);color:var(--ink)}.btn.light:hover{background:#96252a}.btn.outline{background:transparent;border-color:#999d92;color:var(--ink)}.btn.outline:hover{background:var(--ink);color:var(--paper)}.text-link{font-size:12px;border-bottom-color:#93958e;font-weight:400}.text-link:hover{color:var(--orange)}
.site-header{height:91px;background:#131514;color:var(--paper);border-bottom:1px solid #ffffff21;backdrop-filter:blur(16px)}.brand{gap:11px}.brand-mark{width:29px;height:29px;color:var(--bright)}.brand-name{font-family:var(--body);font-size:24px;font-weight:600;letter-spacing:-.055em;line-height:1.05}.brand-name span{font-size:6.5px;letter-spacing:.24em;margin-top:7px;font-weight:400}.nav{gap:28px}.nav a{font-size:11px;font-weight:400;letter-spacing:0}.nav a:not(.btn):hover{color:var(--bright)}.nav .btn{background:transparent;border:1px solid #ffffff5c;color:var(--paper);min-height:43px;font-size:10px;padding:12px 17px;margin-left:12px}.nav .btn:hover{background:var(--bright);border-color:var(--bright);color:var(--ink)}.menu-toggle{color:var(--paper)}
.home-page .site-header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(#101710b8,#1017100d);backdrop-filter:none}
.editorial-hero{height:max(720px,100svh);max-height:1080px;position:relative;background:#171817;color:#fafaf6;isolation:isolate;overflow:hidden;display:flex;align-items:end}
.editorial-hero .hero-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%;z-index:-3}
.editorial-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0a100d42 0%,#0a100d10 25%,#0a100d50 50%,#0a100de8 100%),linear-gradient(90deg,#0b110d35,transparent 70%);z-index:-2}
.editorial-hero>.wrap{padding-top:170px;padding-bottom:32px}.hero-edition{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px;color:#e7e7e3}.hero-edition span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.hero-edition .hero-location{font-size:9px;color:#d7d8d2}
.editorial-hero h1{font-size:clamp(60px,8.5vw,132px);line-height:.96;letter-spacing:-.075em;margin:0 0 40px;max-width:1100px;font-weight:600}.editorial-hero h1 span{display:block}.editorial-hero h1 .hero-second-line{color:var(--bright)}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;padding-bottom:43px}.hero-bottom p{max-width:380px;font-size:14px;line-height:1.75;color:#ededeb}.hero-bottom .actions{gap:27px;flex-shrink:0}.hero-bottom .btn{background:var(--bright);color:var(--ink)}.hero-bottom .btn:hover{background:#96252a}.hero-bottom .text-link{color:#fafaf6;border-color:#ffffff60;font-size:11px;gap:15px}
.hero-baseline{border-top:1px solid #ffffff42;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:21px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#d6d8d2}.hero-baseline .hero-response{display:flex;gap:8px;align-items:center;letter-spacing:0;text-transform:none;font-size:10px}.hero-baseline svg{width:14px;height:14px}.hero-baseline .hero-disciplines{display:flex;gap:28px}.hero-baseline .hero-disciplines b{font-weight:400;color:#b5b7b1;margin-right:8px}
.editorial-intro{padding:92px 0 88px;background:var(--paper);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 2.1fr;gap:65px;align-items:start}.intro-grid .eyebrow{max-width:170px;line-height:1.9;margin-top:8px}.intro-statement{font-size:clamp(27px,3.3vw,47px);letter-spacing:-.05em;line-height:1.2;max-width:900px}.intro-statement span{color:#7c7e77}.intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px}.intro-bottom p{font-size:12px;max-width:370px;color:var(--muted);line-height:1.8}.intro-bottom .text-link{white-space:nowrap}
.coach-visual{position:relative;margin:0;overflow:hidden;background:#10110f;min-height:630px}.coach-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}.coach-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#090d08c9)}.coach-visual figcaption{position:absolute;bottom:28px;left:30px;right:30px;color:var(--paper);z-index:1;font-size:11px;display:flex;justify-content:space-between;gap:20px;align-items:end}.coach-visual figcaption strong{display:block;font-size:28px;letter-spacing:-.05em;line-height:1.15;font-weight:400}.coach-signature{display:flex;gap:10px;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.coach-signature strong{font-size:15px;color:var(--ink);font-weight:600;margin-right:4px}
.personal-photo-note{font-size:11px;color:var(--muted);margin-top:18px;max-width:650px;line-height:1.6}.goal-card[href='/course-a-pied/'] .goal-image img{object-position:50% 67%}.goal-card[href='/premier-triathlon/'] .goal-image img{object-position:50% 58%}.detail-hero .hero-photo img[src*='run-road']{object-position:50% 65%}
@media(min-width:1600px){.editorial-hero h1{font-size:132px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:18px}.nav .btn{margin-left:0}.brand-name{font-size:22px}.hero-bottom{gap:30px;align-items:start}.hero-bottom .actions{flex-direction:column;align-items:start;gap:10px}.hero-bottom p{max-width:360px}.editorial-hero h1{font-size:9.1vw}.hero-edition .hero-location{display:none}.intro-grid{grid-template-columns:.7fr 2fr;gap:40px}.coach-visual{min-height:560px}.section{padding:90px 0}}
@media(max-width:800px){.nav{gap:12px}.nav a{font-size:10px}.nav .btn{padding:11px 12px}.brand-name{font-size:20px}.brand-name span{font-size:6px}.brand-mark{width:25px}.hero-bottom p{max-width:300px}.hero-baseline .hero-disciplines{gap:15px}}
@media(max-width:740px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.section{padding:70px 0}.site-header{height:76px}.brand-name{font-size:23px}.brand-name span{font-size:6px}.brand-mark{width:27px}.nav{top:76px;height:calc(100dvh - 76px);background:#131514;color:var(--paper);padding:26px 25px}.nav a:not(.btn){font-family:var(--body);font-size:31px;font-weight:400;letter-spacing:-.05em;border-color:#ffffff26;padding:18px 0}.nav .btn{margin:27px 0 0;border-color:var(--bright);background:var(--bright);color:var(--ink);min-height:53px;font-size:13px}.editorial-hero{height:auto;min-height:max(740px,95svh);max-height:none}.editorial-hero>.wrap{padding-top:235px;padding-bottom:27px}.editorial-hero .hero-background-image{object-position:49% 50%}.editorial-hero:before{background:linear-gradient(180deg,#0a100d35,#0a100d15 22%,#0a100d65 42%,#0a100ded 100%)}.hero-edition{margin-bottom:23px}.hero-edition span{font-size:8px;letter-spacing:.12em}.editorial-hero h1{font-size:clamp(45px,8.85vw,65px);letter-spacing:-.065em;line-height:1.03;margin-bottom:25px}.hero-bottom{display:block;padding-bottom:29px}.hero-bottom p{max-width:365px;font-size:13px;line-height:1.75}.hero-bottom .actions{margin-top:24px;flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.hero-bottom .btn{font-size:11px;min-height:50px;padding:15px 18px;gap:20px}.hero-bottom .text-link{font-size:10px}.hero-baseline{font-size:8px;display:block;padding-top:18px}.hero-baseline .hero-disciplines{justify-content:space-between;gap:10px}.hero-baseline .hero-response{font-size:9px;margin-top:17px;gap:7px}.hero-baseline .hero-response svg{width:13px}.editorial-intro{padding:53px 0}.intro-grid{grid-template-columns:1fr;gap:22px}.intro-grid .eyebrow{max-width:none;font-size:9px;margin:0}.intro-statement{font-size:28px;line-height:1.23;letter-spacing:-.045em}.intro-bottom{display:block;margin-top:22px}.intro-bottom p{font-size:12px;max-width:350px}.intro-bottom .text-link{margin-top:14px;font-size:11px}.section-head{margin-bottom:35px}.section-head h2{font-size:39px;line-height:1.08}.section-head p{font-size:13px}.coach-visual{min-height:520px;order:0}.coach-visual figcaption{left:22px;right:22px;bottom:23px}.coach-visual figcaption strong{font-size:26px}.coach-signature{font-size:10px}.personal-photo-note{font-size:10px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.editorial-hero h1{font-size:39px}.editorial-hero>.wrap{padding-top:215px}.hero-edition span{font-size:7.5px}.hero-bottom .actions{gap:11px}.hero-bottom .btn{padding:14px 15px;font-size:10px;gap:16px}.hero-bottom .text-link{font-size:9px}.hero-baseline .hero-disciplines{font-size:7px;gap:5px}.intro-statement{font-size:26px}.coach-visual{min-height:455px}}
@media(prefers-reduced-motion:reduce){.btn svg{transition:none}}

/* The cap's red, kept as a focused accent. */
.brand-mark{color:#ef6467}.editorial-hero h1 .hero-second-line{color:#f1f0ec}.hero-edition:before{content:'';height:5px;width:5px;background:#ef6467;flex:none}.hero-edition{justify-content:start;gap:12px}.hero-edition .hero-location{margin-left:auto}.btn.light,.hero-bottom .btn{background:#bd2f33;color:#fff}.btn.light:hover,.hero-bottom .btn:hover{background:#96252a;color:#fff}.nav .btn:hover{background:#bd2f33;color:#fff;border-color:#bd2f33}.home-page .site-header{background:linear-gradient(#111614b8,#1116140d)}.hero-baseline .hero-disciplines b{color:#ef6467}
.motion-story{position:relative;isolation:isolate;overflow:hidden;min-height:480px;display:flex;align-items:end;background:#131514;color:#f1f0ec}.motion-poster,.motion-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-3}.motion-video{opacity:0;transition:opacity .3s}.motion-video.is-ready{opacity:1}.motion-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080b09b8,#080b0940 70%),linear-gradient(0deg,#080b09bb,transparent 80%);z-index:-1;pointer-events:none}.motion-content{padding-top:80px;padding-bottom:42px}.motion-content .eyebrow{color:#f1f0ec}.motion-content h2{font-size:clamp(38px,4.4vw,64px);margin-top:24px;line-height:1.04;max-width:660px;letter-spacing:-.065em}.motion-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-top:30px}.motion-bottom p{font-size:12px;line-height:1.75;color:#dedfd9}.video-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid #ffffff80;background:#12171370;color:#fff;padding:12px 18px;min-height:44px;border-radius:0;font-size:11px;cursor:pointer}.video-toggle:hover{background:#131514}.video-toggle>span:first-child{width:14px;display:inline-block;text-align:center}
@media(max-width:740px){.nav .btn{background:#bd2f33;color:#fff;border-color:#bd2f33}.motion-story{min-height:440px}.motion-poster,.motion-video{object-position:42% 50%}.motion-content{padding-top:80px;padding-bottom:30px}.motion-content h2{font-size:38px;max-width:340px}.motion-bottom{margin-top:25px;align-items:center}.motion-bottom p{font-size:11px}.video-toggle{padding:10px 13px;font-size:10px}.hero-edition{gap:9px}.hero-edition:before{width:4px;height:4px}}
@media(max-width:380px){.motion-content h2{font-size:33px}.motion-story{min-height:410px}}
@media(prefers-reduced-motion:reduce){.motion-video{transition:none}}

.method-editorial .steps{margin-top:0;gap:0}.method-editorial .step{padding:25px 0;border-bottom:1px solid #ffffff26;grid-template-columns:36px minmax(0,1fr)}.method-editorial .step:first-child{border-top:1px solid #ffffff26}.method-editorial .step>span{border:0;padding-top:3px;font-size:11px}.method-editorial .step h3{font-size:19px;letter-spacing:-.035em}.method-editorial .step p{max-width:440px;font-size:13px}

.home-page .site-header{position:fixed;transition:background .25s,border-color .25s}.home-page .site-header.is-scrolled{background:#131514f5;border-bottom-color:#ffffff22;backdrop-filter:blur(12px)}.goal-card[href='/premier-ironman/'] .goal-image img{object-position:50% 20%}

/* Consistent photographic treatment, without altering the original assets. */
.editorial-hero .hero-background-image{filter:saturate(.65) contrast(1.06) brightness(.96)}
.goals .goal-image img{filter:grayscale(1) contrast(1.08) brightness(.96)}
.goals .goal-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00000040,transparent 33%,transparent 76%,#0000002e);pointer-events:none}
.goals .goal-no,.goals .arrow-circle{z-index:1}
.coach-visual>img{filter:grayscale(1) contrast(1.06) brightness(.96)}
.detail-hero .hero-photo>img{filter:grayscale(1) contrast(1.07) brightness(.97)}
.motion-poster,.motion-video{filter:saturate(.12) contrast(.9) brightness(.65)}
.goal-card[href='/premier-triathlon/'] .goal-image img{object-position:65% 43%}
.goal-card[href='/premier-70-3/'] .goal-image img{object-position:52% 60%}
.nav a:not(.btn):hover{color:#ef6467}

/* Personal photograph: keep the subject centered in both placements. */
.editorial-hero .hero-background-image{object-position:47% 50%}
