/* Corrida — editorial direction derived from the six Canva reference pages.
   Photographs stay within native widths; all editorial text remains live HTML. */
.run-page { background:#f4f1ec; color:#191b1c; --run-red:#c80000; }
.run-page h1,.run-page h2,.run-page h3 { font-family:'Barlow Condensed',Arial,sans-serif; font-weight:800; letter-spacing:-.025em; line-height:.98; margin:0; }
.run-page h2 { font-size:clamp(38px,4.7vw,68px); }
.run-page h3 { font-size:clamp(26px,2.5vw,34px); }
.run-page em { color:var(--run-red); font-style:normal; }
.run-page .eyebrow { font-size:12px; font-weight:700; letter-spacing:.15em; line-height:1.5; margin:0 0 24px; }
.run-page .body-copy { margin:0 0 20px; }
.run-space { padding:clamp(48px,6vw,92px) max(6%,calc((100% - 1320px)/2)); }
.run-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#151819; color:#fff; }
.run-hero-copy { padding:clamp(46px,5vw,80px) 10% 50px 12%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.run-hero h1 { font-size:clamp(52px,5.8vw,86px); }
.run-hero h1 em { color:#ff4b4b; }
.run-hero-copy .body-copy { margin:28px 0; max-width:42ch; }
.run-hero-photo { margin:0; display:flex; flex-direction:column; min-width:0; }
.run-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:1.15; object-fit:cover; object-position:44% center; flex:1; min-height:0; max-height:760px; }
.run-hero-photo figcaption { background:var(--run-red); padding:20px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.08em; }
.run-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:8%; }
.run-intro .run-editorial-line { font-family:'Barlow Condensed',sans-serif; font-size:clamp(28px,3vw,42px); line-height:1.1; font-weight:600; border-left:3px solid var(--run-red); padding-left:24px; margin:35px 0 0; }
.run-memory { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:9%; background:#e6e1d8; }
.run-memory figure { margin:0; width:100%; max-width:490px; }
.run-memory img { width:100%; height:auto; display:block; }
.run-memory figcaption { font-size:16px; line-height:1.6; padding-top:14px; color:#45413c; }
.run-memory-copy h2 { margin-bottom:30px; }
.run-memory-note { display:flex; gap:18px; align-items:center; border-top:1px solid #b9b3aa; margin-top:40px; padding-top:24px; }
.run-memory-note > span { font:700 54px/1 'Barlow Condensed'; color:var(--run-red); }
.run-memory-note .body-copy { font-size:var(--text-support)!important; margin:0; }
.run-path { background:#16191a; color:#fff; }
.run-path .eyebrow { color:#ddd6cc; }
.run-path h2 em { color:#ff5555; }
.run-section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; gap:8%; margin-bottom:50px; }
.run-section-heading > .body-copy { max-width:35ch; margin:0; color:#dedbd5; }
.run-path-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.run-path-grid li { padding:26px 22px; border:1px solid #555a5b; border-top:3px solid #eb3737; min-width:0; }
.run-path-top { display:flex; justify-content:space-between; align-items:start; margin-bottom:36px; }
.run-path-top > span { color:#f89b9b; font-size:16px; font-weight:700; }
.run-path-top svg { width:64px; height:64px; color:#f3eee6; }
.run-path-grid h3 { font-size:clamp(25px,2.5vw,36px); }
.run-path-sub { font-family:'DM Sans',sans-serif; font-weight:700; font-size:16px; line-height:1.6; margin:22px 0 10px; }
.run-path-grid .body-copy { font-size:var(--text-support)!important; margin:0; color:#dedbd5; }
.run-path .run-path-note { font-size:var(--text-support)!important; color:#bbbcb9; margin:28px 0 0; }
.run-questions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:8%; }
.run-questions > div > .body-copy { margin-top:28px; max-width:36ch; }
.run-question-list article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:20px; border-top:1px solid #c9c3b9; padding:27px 0; }
.run-question-list article > span { font-size:16px; font-weight:700; color:var(--run-red); }
.run-question-list h3 { font-family:'DM Sans',sans-serif; font-size:19px; font-weight:700; letter-spacing:0; line-height:1.4; margin-bottom:16px; }
.run-question-list .body-copy { margin-bottom:0; }
.run-question-list .text-link { margin-top:16px; display:inline-block; }
.run-invite { display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--run-red); color:#fff; }
.run-invite h2 { font-size:clamp(36px,4.3vw,62px); }
.run-invite h2 span { color:#fff; }
.run-invite .body-copy { margin:24px 0 0; }
.run-invite .button { flex-shrink:0; }
.run-page .button { white-space:normal; min-height:44px; text-align:center; max-width:100%; }
.run-page :is(section,article,li,figure,section > div) { min-width:0; }
.run-page :is(h1,h2,h3,p,figcaption,a) { overflow-wrap:break-word; }
@media(min-width:1800px) { .run-hero { padding-inline:calc((100% - 1800px)/2); } }
@media(max-width:1100px) { .run-path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .run-invite { flex-direction:column; align-items:start; } }
@media(max-width:800px) {
 .run-hero { grid-template-columns:minmax(0,1fr); }
 .run-hero-copy { padding:52px 6%; }
 .run-hero h1 { font-size:clamp(50px,9vw,74px); }
 .run-hero-photo img { aspect-ratio:4/3; max-height:none; }
 .run-hero-photo figcaption { padding-inline:6%; }
 .run-intro,.run-memory,.run-section-heading,.run-questions { grid-template-columns:minmax(0,1fr); gap:36px; }
 .run-memory figure { max-width:420px; }
 .run-memory-copy { order:-1; }
 .run-section-heading { margin-bottom:36px; }
}
@media(max-width:500px) {
 .run-path-grid { grid-template-columns:minmax(0,1fr); }
 .run-path-grid li { padding:26px; }
 .run-path-top { margin-bottom:24px; }
 .run-path-top svg { width:56px; height:56px; }
 .run-question-list article { gap:12px; grid-template-columns:26px minmax(0,1fr); }
 .run-page :is(p,figcaption,a) { overflow-wrap:anywhere; }
}
/* Event calendar: editorial poster, live text, no copied QR or official marks. */
.run-events { background:#eee9df; }
.run-events-past { background:#f4f1ec; border-top:1px solid #d1c9bc; }
.run-events[hidden], .run-events-empty[hidden] { display:none; }
.run-events-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; align-items:end; margin-bottom:40px; }
.run-events-heading > .body-copy { margin:0; max-width:40ch; }
.run-event-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); background:#fff; }
.run-event-poster { background:#122a35; color:#f8f3e9; padding:34px 9%; display:flex; flex-direction:column; justify-content:space-between; gap:28px; position:relative; isolation:isolate; overflow:hidden; }
.run-poster-edition { font-size:.875rem; font-weight:700; letter-spacing:.15em; }
.run-poster-date { display:flex; align-items:center; gap:18px; color:#daf574; }
.run-poster-date strong { font:800 clamp(72px,7vw,105px)/.85 'Barlow Condensed',sans-serif; }
.run-poster-date > span { font-size:1rem; font-weight:700; line-height:1.5; }
.run-poster-name { font:800 clamp(28px,3.2vw,46px)/1.05 'Barlow Condensed',sans-serif; letter-spacing:-.025em; }
.run-poster-dot { color:#daf574; }
.run-poster-lines { display:flex; gap:8px; height:18px; transform:skewX(-25deg); }
.run-poster-lines span { width:52px; background:#daf574; }
.run-poster-distances { display:flex; justify-content:space-between; gap:10px; border-top:1px solid #74838a; padding-top:24px; }
.run-poster-distances > span { font:700 clamp(35px,3vw,46px)/1 'Barlow Condensed',sans-serif; }
.run-poster-distances small { font:700 .75rem 'DM Sans',sans-serif; }
.run-poster-team { font-size:.75rem; letter-spacing:.08em; line-height:1.6; }
.run-poster-team strong { display:block; font:800 32px 'Barlow Condensed',sans-serif; letter-spacing:0; }
.run-event-info { padding:clamp(28px,4vw,54px); min-width:0; }
.run-event-info h3 { font-size:clamp(36px,4vw,56px); }
.run-event-date { font-size:var(--text-body); font-weight:700; line-height:1.6; margin:22px 0; }
.run-event-modalities { list-style:none; padding:0; margin:28px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border-block:1px solid #d5cdc0; }
.run-event-modalities li { padding:20px 0; min-width:0; }
.run-event-modalities strong { display:block; font:800 30px/1.2 'Barlow Condensed',sans-serif; color:#a60000; }
.run-event-modalities span { display:block; font-size:var(--text-support); line-height:1.6; margin-top:8px; }
.run-event-kit h4 { font:700 var(--text-support)/1.6 'DM Sans',sans-serif; margin:0 0 8px; }
.run-event-kit p.body-copy, .run-event-source.body-copy { font-size:var(--text-support)!important; }
.run-team-note { padding:18px 20px; border-left:3px solid #c80000; background:#f4f1ec; }
.run-event-info .button { font-size:var(--text-support); }
.run-event-source.body-copy { color:#55514a; margin:18px 0 0; }
.run-events-empty { margin:30px 0 0!important; }
@media(max-width:850px) { .run-events-heading { grid-template-columns:minmax(0,1fr); gap:28px; } .run-event-card { grid-template-columns:minmax(0,1fr); } .run-event-poster { max-width:100%; padding:36px 8%; } .run-poster-name { font-size:clamp(28px,5.3vw,46px); } .run-poster-distances { justify-content:start; gap:40px; } }
@media(max-width:400px) { .run-event-modalities { grid-template-columns:minmax(0,1fr); gap:0; } .run-event-modalities li { display:flex; align-items:center; gap:18px; padding:14px 0; } .run-event-modalities span { margin:0; } .run-poster-distances { gap:24px; } }
.run-regular { background:#f4f1ec; }
.run-regular-grid,.run-history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.run-regular-grid article,.run-history-grid article { padding:30px; border-top:3px solid #c80000; background:#fff; min-width:0; }
.run-regular-grid .eyebrow { display:block; }
.run-regular-grid h3,.run-history-grid h3 { margin-bottom:24px; }
.run-regular-grid .body-copy,.run-history-grid .body-copy { margin-bottom:0; }
.run-event-list > * + * { margin-top:30px; }
@media(max-width:700px) { .run-regular-grid,.run-history-grid { grid-template-columns:minmax(0,1fr); } }
.run-history-grid img { display:block; width:100%; height:auto; object-fit:contain; margin-bottom:24px; }
.run-page [id] { scroll-margin-top:120px; }
/* The supplied 2026 poster is only197×256: display at native size, never upscale. */
.run-small-poster { background:#1c2224; padding:36px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; }
.run-small-poster img { display:block; width:197px; max-width:100%; height:auto; }
.run-small-poster > span { color:#eee9df; font-size:.875rem; letter-spacing:.12em; line-height:1.6; }
/* Event-specific originals: native ratios, no portrait crops or upscaling. */
.run-history-grid .run-history-story { grid-column:1/-1; }
.run-history-story > img { max-width:750px; }
.run-event-gallery { margin-top:30px; border-top:1px solid #c9c3b9; }
.run-event-gallery summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; cursor:pointer; font-size:var(--text-support); font-weight:700; line-height:1.6; }
.run-event-gallery summary > span { font-size:28px; line-height:1; }
.run-event-gallery[open] summary > span { transform:rotate(45deg); }
.run-event-gallery summary:focus-visible { outline:3px solid #996000; outline-offset:5px; }
.run-photo-grid { columns:3; column-gap:18px; }
.run-photo-grid figure { break-inside:avoid; margin:0 0 22px; }
.run-photo-grid a { display:block; color:#46423d; }
.run-photo-grid img { display:block; width:100%; height:auto; margin:0 0 8px; object-fit:contain; }
.run-photo-grid a > span { display:block; font-size:var(--text-support); line-height:1.6; }
.run-photo-grid a:focus-visible { outline:3px solid #996000; outline-offset:5px; }
@media(max-width:850px) { .run-photo-grid { columns:2; } }
@media(max-width:500px) { .run-photo-grid { columns:1; } }
/* High-resolution editorial banner aligned with the other Canva-derived heroes.
   Original supplied photograph2048×1536; content stays live above a dark veil. */
.run-hero { display:block; position:relative; isolation:isolate; min-height:620px; padding:0; overflow:hidden; }
.run-hero-copy { position:relative; z-index:2; width:min(760px,65%); padding:70px 6%; min-height:620px; box-sizing:border-box; }
.run-hero h1 { font-size:clamp(52px,5.8vw,86px); }
.run-hero-photo { position:absolute; inset:0; z-index:-1; display:block; }
.run-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.80) 35%,rgba(0,0,0,.64) 62%,rgba(0,0,0,.28) 100%); }
.run-hero-photo img { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:70% 44%; }
.run-hero-photo figcaption { position:absolute; z-index:1; right:6%; bottom:34px; width:min(30%,300px); padding:0; display:block; background:none; text-align:right; font:700 22px/1.2 'Barlow Condensed',sans-serif; letter-spacing:.02em; }
.run-hero-photo figcaption span { display:block; }
@media(min-width:1800px) { .run-hero { padding-inline:0; } .run-hero-copy { margin-left:calc((100% - 1700px)/2); } }
@media(max-width:800px) { .run-hero,.run-hero-copy { min-height:600px; } .run-hero-copy { width:100%; padding:56px 6% 100px; } .run-hero h1 { font-size:clamp(48px,8vw,68px); } .run-hero-photo img { aspect-ratio:auto; object-position:62% center; } .run-hero-photo::after { background:rgba(0,0,0,.68); } .run-hero-photo figcaption { right:6%; bottom:28px; width:88%; font-size:18px; } }
.run-hero-photo figcaption { background:rgba(0,0,0,.72); padding:14px 18px; box-sizing:border-box; border-left:3px solid #e24444; }
.run-history-copy { margin-top:24px; max-width:65ch; }
.run-history-copy .body-copy + .body-copy { margin-top:20px; }
/* Treinos: distinct editorial section, outside the race-event archive. */
.run-training { background:#e6e1d8; }
.run-training-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6%; max-width:1100px; margin:0 auto 42px; }
.run-training-intro h2 { font-size:clamp(44px,5.5vw,78px); }
.run-training-feature { display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:32px; align-items:stretch; max-width:1100px; margin:0 auto; }
.run-training-feature figure { margin:0; display:flex; flex-direction:column; align-items:center; }
.run-training-feature img { display:block; width:auto; max-width:100%; height:auto; max-height:min(68vh,520px); margin-inline:auto; object-fit:contain; }
.run-training-feature figcaption { padding-top:16px; font-size:var(--text-support); line-height:1.6; }
.run-training-values { display:flex; flex-direction:column; justify-content:space-between; min-height:clamp(460px,calc(68vh + 50px),570px); box-sizing:border-box; padding:30px; color:#fff; background:#191c1d; }
.run-training-values article { padding:24px 0; border-top:1px solid #5d6161; }
.run-training-values article:first-child { border-top:0; padding-top:0; }
.run-training-values article:last-child { padding-bottom:0; }
.run-training-values article > span { display:block; color:#ff9d9d; font-size:var(--text-support); margin-bottom:14px; }
.run-training-values h3 { margin-bottom:16px; }
.run-training-values .body-copy { max-width:60ch; font-size:var(--text-support)!important; margin:0; color:#eee9df; }
.run-training-gallery { margin-top:36px; }
@media(max-width:900px) { .run-training-intro,.run-training-feature { grid-template-columns:minmax(0,1fr); gap:30px; } .run-training-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; min-height:0; } .run-training-values article { border-top:0; padding:0; } }
@media(max-width:600px) { .run-training-values { grid-template-columns:minmax(0,1fr); } .run-training-values article { border-top:1px solid #5d6161; padding-top:24px; } }
/* A one-photo event gallery grows naturally into the existing3/2/1 layout. */
.run-photo-grid:has(> figure:only-child) { columns:1; max-width:750px; }
/* One editorial contract for every completed event, including those without photos. */
.run-history-grid { grid-template-columns:minmax(0,1fr); }
.run-history-grid > article { grid-column:1; width:100%; box-sizing:border-box; }
.run-history-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.run-history-poster img { width:100%; max-width:750px; height:auto; margin:0; }
.run-history-meta .body-copy { margin-bottom:0; }
.run-history-grid .run-event-gallery { border-top:0; margin-top:24px; }
.run-history-grid .run-event-gallery summary { display:inline-flex; width:fit-content; max-width:100%; box-sizing:border-box; padding:14px 22px; background:#c80000; color:#fff; gap:20px; border:2px solid #c80000; }
.run-history-grid .run-event-gallery summary:hover { background:#a70000; border-color:#a70000; }
.run-history-grid .run-event-gallery[open] .run-photo-grid { margin-top:24px; }
@media(max-width:700px) { .run-history-header { grid-template-columns:minmax(0,1fr); gap:24px; } }
.run-official-reference { display:inline-block; font-size:var(--text-support); line-height:1.6; color:#9f0000; text-decoration:underline; text-underline-offset:4px; margin-top:24px; }
[data-event-copy][hidden] { display:none; }

/* Original posters share one precisely sized stage. Their source ratios differ
   slightly, so contain keeps every detail intact inside an identical frame. */
.run-descobrimentos-card,.run-silvestre-card { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.run-event-poster.run-descobrimentos-original,.run-silvestre-poster { min-width:0; width:100%; aspect-ratio:896 / 1200; padding:0; background:#fff; align-self:start; display:block; overflow:hidden; }
.run-descobrimentos-original > a,.run-silvestre-poster > a { display:block; width:100%; max-width:none; margin:0; }
.run-descobrimentos-original > a,.run-silvestre-poster > a { height:100%; }
.run-descobrimentos-original img,.run-silvestre-poster img { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; }
.run-descobrimentos-original > a:focus-visible,.run-silvestre-poster > a:focus-visible { outline:3px solid #a60000; outline-offset:5px; }
@media(max-width:850px) { .run-descobrimentos-card,.run-silvestre-card { grid-template-columns:minmax(0,1fr); } }
