/* Reading layouts deliberately independent of the A4 magazine stylesheet. */
.magazine-article :where(div,section,aside,article,p,a){min-width:0}
@media(max-width:760px){.news-main-grid .news-story{row-gap:0}.news-story-gallery{margin:.5rem 0 1.3rem}}
@media(min-width:761px){.club-curiosity-photos{position:sticky;top:115px;align-self:start}}
.magazine-article>div[class$="-head"],.school-head,.health-head{padding-bottom:1.4rem;margin-bottom:2.5rem;border-bottom:4px solid var(--orange)}
.byline,[class$="-byline"],.health-author{font-size:1rem;font-weight:600;color:var(--muted);margin-top:2rem;clear:both}
.editorial-label{font-weight:700;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.editorial-head .byline{margin:0}.editorial-flow{max-width:920px;margin:auto}.editorial-photo{float:right;width:36%;margin:0 0 2rem 2.5rem!important}.editorial-section{padding-top:1.4rem}.editorial-section h2{font-size:1.6rem}.editorial-section-2{clear:both}.editorial-farewell,.editorial-greeting{font-weight:600}.editorial-signature{border-left:4px solid var(--orange);padding-left:1rem;margin-top:2rem}.editorial-signature b,.editorial-signature span{display:block}.editorial-signature b{font-family:var(--display);font-size:1.5rem}
.news-main-grid{display:grid;gap:3.5rem}.news-story{display:grid;grid-template-columns:1fr 1.1fr;column-gap:2.5rem;border-bottom:1px solid var(--line);padding-bottom:2.8rem}.news-story>.news-tag,.news-story>h2,.news-story>.news-stat{grid-column:1/-1}.news-story>h2{font-size:2.8rem;max-width:850px}.news-stat{font-weight:700;color:var(--blue);font-size:1rem}.news-story-gallery{display:grid;align-content:start;gap:1rem}.news-story-gallery-2{grid-template-columns:1fr 1fr}.news-story-gallery img{max-height:450px}.news-story-copy p:last-child{margin-bottom:0}.news-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin:3rem 0}.news-brief{padding:2rem;background:var(--pale);border-top:4px solid var(--blue)}.news-brief-lottery{border-top-color:var(--orange)}.news-brief h2{font-size:2rem}.news-brief-detail,.news-brief-contact{font-weight:600;color:var(--blue)}.news-brief-closing{font-weight:600}.news-calendar{grid-column:1/-1;background:var(--navy);color:#fff;padding:2rem;border-top:5px solid var(--orange)}.news-calendar-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.news-calendar-head h2{color:white;font-size:2.7rem;margin:0}.news-calendar-head>p{font-size:.85rem;max-width:300px;margin:0;color:#c5d9f5}.news-calendar .news-tag{color:#ffab83}.news-calendar-months{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.news-calendar-month{background:#ffffff0b;padding:1rem;border-left:2px solid var(--orange)}.news-calendar-month-label{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid #ffffff30;padding-bottom:.7rem;margin-bottom:1rem}.news-calendar-month-label b{font:600 1.5rem var(--display);color:#ffab83}.news-calendar-month-label span{font-size:.875rem;color:#c5d9f5}.news-calendar-event{display:flex;gap:.75rem;margin-bottom:1rem;line-height:1.35;font-size:.9rem}.news-calendar-event strong{min-width:1.7rem}.news-calendar-event span{display:flex;flex-direction:column;min-width:0}.news-calendar-event i{font-size:.75rem;font-style:normal;color:#bcd5ff;text-transform:uppercase;letter-spacing:.06em}.news-calendar-event b{font-weight:600}.club-curiosity{padding:3rem;background:var(--pale);border-top:4px solid var(--blue);margin-top:4rem}.club-curiosity>h2{font-size:1.05rem;letter-spacing:.09em;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:2rem}.club-curiosity-layout{display:grid;grid-template-columns:1.9fr 1fr;gap:2.5rem}.club-curiosity-copy h3{font-size:2.6rem;color:#bf3900;text-transform:uppercase;line-height:1.15;margin-bottom:1.5rem}.club-curiosity-photos{display:grid;align-content:start;gap:1.5rem}.club-curiosity-copy p{white-space:pre-line}.news-invitation{padding:1.6rem 2rem;background:var(--blue);color:#fff;line-height:1.55;margin:2.5rem 0 0}.news-invitation a{color:#fff;font-weight:700;overflow-wrap:anywhere}.news-invitation strong{font-weight:700}
.route-grid,.trail-history-grid,.track-profile-row,.triathlon-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.route-card,.trail-history-card,.track-block,.triathlon-block{min-width:0}.route-card-title,.trail-history-title,.track-block-title,.triathlon-block-title{display:flex;gap:1.1rem;align-items:baseline;border-top:2px solid var(--blue);padding-top:1.25rem;margin-bottom:1rem}.route-card-title span,.trail-history-title span,.track-block-title span,.triathlon-block-title span{font:600 1.3rem var(--display);color:#bc3a07}.route-card-title h2,.trail-history-title h2,.track-block-title h2,.triathlon-block-title h2{font-size:1.9rem}.route-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.route-photo-pair img{max-height:340px}.route-photo-merida{width:60%;margin-inline:auto!important}.route-copy,.triathlon-copy{white-space:pre-line}.trail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:var(--navy);padding:2rem;margin-bottom:3rem;color:#fff}.trail-stats>div{display:flex;flex-direction:column;text-align:center;border-right:1px solid #ffffff30}.trail-stats>div:last-child{border:0}.trail-stats b{font:600 3.4rem var(--display);color:#ffab83}.trail-stats span{font-size:.95rem}.trail-history-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trail-history-photos img{max-height:340px}.trail-history-photos-1{grid-template-columns:1fr}.trail-close{background:var(--blue);padding:1.5rem;color:#fff;font-weight:700;font-size:1.3rem}.track-season-top{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem}.track-photo-strip{display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:1rem}.track-photo-strip figure:first-child{grid-column:1/-1}.track-photo-strip img{max-height:350px}.track-results p{padding:1rem 0;border-bottom:1px solid var(--line)}.track-results b{color:var(--blue)}.track-results b span{color:#bc3a07}.track-profile-row{margin-top:3rem}.track-profile-body figure{float:right;width:40%;margin:0 0 1rem 1.5rem!important}.track-profile-body:after{content:'';display:block;clear:both}.triathlon-origins,.triathlon-new-season{grid-column:1/-1}.triathlon-origins-body{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem}.triathlon-origin-photos{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:1rem}.triathlon-origin-photos img{max-height:300px}.triathlon-disciplines{grid-column:1/-1;color:var(--blue);font-weight:700;font-size:.875rem;letter-spacing:.04em}.triathlon-team-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.triathlon-coach figure{max-width:340px;margin-inline:auto}.triathlon-new-season-top{display:grid;grid-template-columns:1fr 1.25fr;gap:3rem}.triathlon-new-season-photos{display:grid;align-content:start;gap:1rem}.school-main{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem}.school-story h2{font-size:1.8rem;margin-top:2rem}.school-lead{font-size:1.3rem}.school-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.school-pillars section{padding:1.5rem;background:var(--pale);border-top:3px solid var(--orange)}.school-pillars b{font:600 1.5rem var(--display);display:block;color:var(--blue);margin-bottom:1rem}.school-future{margin-top:3rem;max-width:850px}.school-future b{font:600 1.8rem var(--display);color:var(--blue);display:block;margin-bottom:1rem}.health-feature{display:grid;grid-template-columns:1.7fr 1fr;gap:3rem}.health-head h1{font-size:3.6rem}.health-section{margin-top:1.6rem}.health-section b{color:var(--blue)}.health-illustrations{padding-top:3rem;display:grid;align-content:start;gap:2rem}.health-advice{display:flex;gap:1rem;background:var(--pale);padding:1.5rem;margin:2rem 0}.health-advice p{margin:0}.health-references{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.physio-feature{border-top:4px solid var(--orange);margin-top:3rem;padding-top:2.5rem}.physio-feature>header h2{font-size:3rem}.physio-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:3rem}.physio-tips p{padding:1.25rem;background:var(--pale);margin:1.3rem 0}.physio-tips b{color:var(--blue)}.physio-vignette{margin-top:2rem}.physio-signature b,.physio-signature span{display:block}.physio-signature b{font:600 1.5rem var(--display);color:var(--blue)}.people-feature{display:grid;grid-template-columns:1.7fr 1fr;gap:3rem}.people-facts{border-top:3px solid var(--orange);padding-top:1.5rem}.people-facts>b{font-size:.875rem;letter-spacing:.08em}.people-facts section{margin-top:2rem}.people-facts h2{font-size:1.6rem}.people-gallery-grid{display:grid;gap:1.5rem}.people-photo-2 img{max-height:600px}
.sponsor-head{display:grid;grid-template-columns:1fr 260px;gap:3rem;align-items:center}.sponsor-club-logo{aspect-ratio:380/168;width:100%;position:relative;overflow:hidden;background:white}.sponsor-club-logo img{position:absolute;width:147.368%;max-width:none;left:-11.842%;top:-31.548%}.sponsor-lead{max-width:900px;font-size:1.3rem}.sponsor-principal{margin:3rem 0;background:var(--blue);text-align:center;padding:2rem}.sponsor-principal span{color:#fff;letter-spacing:.12em;font-size:.875rem;font-weight:700;display:block;margin-bottom:1.5rem}.sponsor-principal img{max-width:470px;height:170px;margin:auto;object-fit:contain}.sponsor-main h2,.sponsor-rest-label{text-align:center;font:600 1.3rem var(--display);letter-spacing:.1em;margin:3rem 0 1.5rem}.sponsor-main>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.sponsor-main article,.sponsor-logo-grid article{border:1px solid var(--line);padding:1.5rem;display:flex;align-items:center;justify-content:center;min-width:0;background:#fff}.sponsor-main img{height:150px;object-fit:contain}.sponsor-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.sponsor-logo-grid img{height:100px;object-fit:contain}.sponsor-thanks{margin-top:3rem;padding:3rem;background:var(--navy);color:white;text-align:center}.sponsor-thanks b{font:600 5rem/1 var(--display);display:block;color:var(--orange);margin-bottom:1rem}.sponsor-thanks span{letter-spacing:.12em;font-size:.9rem}
.photo-link{display:block;cursor:zoom-in;position:relative}.photo-link:after{content:'↗';position:absolute;bottom:.5rem;right:.5rem;background:var(--navy);color:white;border:1px solid #ffffff80;width:32px;height:32px;display:grid;place-items:center;font-size:1rem}.photo-dialog{border:0;border-radius:0;padding:1.5rem;width:min(1100px,94vw);max-height:94dvh;background:var(--navy);color:white}.photo-dialog::backdrop{background:#001027df}.photo-dialog form{display:flex;justify-content:end;margin-bottom:1rem}.photo-dialog button{font:600 1rem var(--body);border:1px solid #ffffff60;background:#fff;color:var(--navy);padding:.6rem 1.2rem;min-height:44px;cursor:pointer}.photo-dialog img{width:100%;height:auto;max-height:70dvh;object-fit:contain}.photo-dialog p{font-size:1rem;margin:1rem 0 0;line-height:1.4}.photo-dialog a{color:#c5d9ff;font-size:.875rem;display:inline-block;margin-top:.6rem;min-height:36px}body:has(.photo-dialog[open]){overflow:hidden}
@media(min-width:900px){.news-story-copy,.editorial-flow,.route-copy,.triathlon-copy,.club-curiosity-copy>p{ text-align:justify;hyphens:auto;text-align-last:left}}
@media(max-width:1000px){.news-calendar-months{grid-template-columns:repeat(3,1fr)}.news-calendar-head{align-items:start}.club-curiosity{padding:2rem}.club-curiosity-layout{grid-template-columns:1.7fr 1fr;gap:1.5rem}.health-feature,.physio-layout{grid-template-columns:1.5fr 1fr;gap:2rem}.sponsor-head{grid-template-columns:1fr 180px}.sponsor-logo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.news-story,.route-grid,.trail-history-grid,.track-profile-row,.track-season-top,.triathlon-layout,.triathlon-origins-body,.triathlon-new-season-top,.school-main,.health-feature,.physio-layout,.people-feature{grid-template-columns:1fr;gap:2rem}.news-story>h2{font-size:2.3rem}.news-story-gallery img{max-height:400px}.news-story-copy{grid-column:1}.news-story-gallery-1{max-width:600px}.news-brief-grid{grid-template-columns:1fr;gap:2rem}.news-calendar-head{display:block}.news-calendar-head>p{margin-top:1rem}.news-calendar-months{grid-template-columns:1fr 1fr}.club-curiosity-layout{grid-template-columns:1fr}.club-curiosity-photos{grid-template-columns:1fr 1fr;gap:1rem}.club-curiosity-copy h3{font-size:2.2rem}.club-curiosity{padding:1.5rem;margin-top:2rem}.school-pillars{grid-template-columns:1fr}.health-illustrations{grid-template-columns:1fr 1fr;padding-top:0;gap:1rem}.health-head h1{font-size:2.6rem}.people-gallery-grid{grid-template-columns:1fr 1fr}.physio-chart{max-width:600px;margin-inline:auto}.trail-stats{padding:1.4rem 1rem}.trail-stats b{font-size:2.6rem}.trail-stats span{font-size:.875rem}.track-photo-strip{grid-template-columns:repeat(3,1fr)}.track-photo-strip figure:first-child{grid-column:auto}.sponsor-head{grid-template-columns:1fr}.sponsor-club-logo{width:220px}.sponsor-main>div{gap:.6rem}.sponsor-main article{padding:1rem}.sponsor-main img{height:90px}.sponsor-logo-grid{grid-template-columns:1fr 1fr}.sponsor-logo-grid article{padding:1rem}.sponsor-logo-grid img{height:80px}.sponsor-thanks b{font-size:4rem}.editorial-photo{width:40%;margin-left:1.5rem!important}}
@media(max-width:440px){.news-calendar{padding:1.4rem}.news-calendar-months{grid-template-columns:1fr}.news-calendar-event{font-size:1rem}.news-calendar-month-label{margin-bottom:.7rem}.news-brief{padding:1.4rem}.news-story-gallery-2{gap:.8rem}.club-curiosity-photos{grid-template-columns:1fr}.club-curiosity-copy h3{font-size:2rem}.club-curiosity{padding:1.2rem}.news-invitation{padding:1.3rem}.route-photo-pair,.trail-history-photos{grid-template-columns:1fr}.trail-stats{grid-template-columns:1fr;gap:1.1rem}.trail-stats>div{border-right:0;border-bottom:1px solid #ffffff30;padding-bottom:1rem}.trail-stats b{font-size:2.8rem}.editorial-photo{float:none;width:100%;max-width:280px;margin:0 auto 1.8rem!important}.health-illustrations,.people-gallery-grid{grid-template-columns:1fr}.track-profile-body figure{float:none;width:70%;margin:0 auto 1.5rem!important}.sponsor-main>div{grid-template-columns:1fr}.sponsor-main img{height:120px}.sponsor-principal img{height:130px}.sponsor-principal{padding:1.5rem}.sponsor-thanks{padding:2rem 1rem}.photo-dialog{padding:1rem}.physio-feature>header h2{font-size:2.4rem}}
