/* City Run v2: an independent, immutable race presentation. */
body.city-run{margin:0;background:#172722;color:#f4f5eb;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;word-break:keep-all}
.city-run *{box-sizing:border-box;min-width:0}
.city-run ::selection{background:#dafa74;color:#172722}
.city-run a{color:inherit;text-underline-offset:.25em}
.city-run a:hover{text-decoration:underline}
.city-run :focus-visible{outline:3px solid #dafa74;outline-offset:5px}
.city-run h1,.city-run h2,.city-run p,.city-run dd,.city-run a{overflow-wrap:anywhere}
.city-run h1,.city-run h2{line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.city-run h1{font-size:clamp(2.6rem,6.7vw,6rem);margin:0 0 2rem;font-weight:850}
.city-run h2{font-size:clamp(1.6rem,3vw,2.5rem)}
.city-run .skip{position:absolute;left:-10000px}
.city-run .skip:focus{left:1rem;top:1rem;z-index:10;padding:1rem;background:#dafa74;color:#172722}
.city-run .city-header{max-width:1440px;margin:auto;padding:1.75rem clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #45544a}
.city-run .city-brand{font-size:1.35rem;font-weight:850;text-decoration:none}
.city-run .city-header nav{display:flex;gap:1.75rem;flex-shrink:0}
.city-run .city-header nav a{text-decoration:none;padding:.5rem 0}
.city-run .city-hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:5rem;padding:6rem clamp(1.25rem,5vw,5rem)}
.city-run .city-hero-copy{align-self:center}
.city-run .city-date{font-size:1.2rem;margin:0;color:#dafa74}
.city-run .city-location{margin:.5rem 0 0;color:#c0cbbf}
.city-run .city-button{display:inline-flex;justify-content:space-between;align-items:center;gap:3rem;background:#dafa74;color:#172722;padding:1rem 1.5rem;margin-top:2.5rem;font-weight:750;text-decoration:none;border-radius:4px}
.city-run .city-button:hover{background:#e5f9af;text-decoration:none}
.city-run .city-distance{align-self:stretch;border-top:1px solid #dafa74;padding-top:1rem}
.city-run .city-distance>p{color:#c0cbbf}
.city-run .city-distance a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid #45544a;text-decoration:none}
.city-run .city-distance strong{font-size:clamp(2rem,4vw,4rem);line-height:1.15;color:#dafa74;letter-spacing:-.03em}
.city-run .city-distance span{color:#c0cbbf;white-space:nowrap}
.city-run .city-info{background:#dafa74;color:#172722;padding:3.5rem max(1.25rem,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1.5fr;gap:3rem}
.city-run .city-info h2{margin:0}
.city-run dl{margin:0}
.city-run dl>div{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid #718247}
.city-run dl>div:first-child{padding-top:0}
.city-run dt{font-weight:650}
.city-run dd{margin:0}
.city-run .city-news,.city-run .page{max-width:1280px;margin:auto;padding:5rem 1.25rem}
.city-run .page{min-height:65vh}
.city-run .page dl>div{border-color:#45544a}
.city-run .city-section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.city-run .city-notices{padding:0;list-style:none}
.city-run .city-notices a{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #45544a;text-decoration:none}
.city-run .city-notices b{color:#dafa74;margin-right:1rem}
.city-run time{color:#c0cbbf;white-space:nowrap;font-variant-numeric:tabular-nums}
.city-run .city-empty{color:#c0cbbf;padding:2rem 0;border-block:1px solid #45544a}
.city-run .city-courses article{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:2rem 0;border-bottom:1px solid #45544a}
.city-run .city-courses h2{color:#dafa74;font-size:clamp(2rem,4vw,4rem);margin:0}
.city-run .city-courses article>strong{font-size:1.5rem}
.city-run .city-footer{padding:3rem max(1.25rem,calc((100vw - 1280px)/2));border-top:1px solid #45544a;display:flex;justify-content:space-between;gap:2rem;color:#c0cbbf}
.city-run .city-footer>strong{font-size:1.5rem;color:#f4f5eb}
.city-run .city-footer p{margin:0 0 .5rem}
.city-run .eyebrow{display:none}
.city-run .notice>div{max-width:75ch;margin-top:2rem;padding-top:2rem;border-top:1px solid #45544a}
.city-run .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-block:2rem}
.city-run .gallery:empty::before{content:"갤러리 사진을 준비하고 있습니다.";color:#c0cbbf;grid-column:1/-1}
.city-run figure{margin:0}.city-run img{max-width:100%;height:auto}.city-run .gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.city-run figcaption{padding:.75rem 0}
.city-run dialog{max-width:min(90vw,600px);border:1px solid #45544a;padding:1.5rem;background:#f4f5eb;color:#172722}
.city-run dialog::backdrop{background:rgb(0 0 0 / .65)}
.city-run button{font:inherit;cursor:pointer;padding:.65rem 1rem}.city-run dialog :focus-visible{outline-color:#172722}
@media(max-width:760px){.city-run .city-header{align-items:flex-start;flex-direction:column;gap:.5rem}.city-run .city-header nav{gap:.25rem 1.5rem;flex-wrap:wrap}.city-run .city-header nav a{min-height:44px;display:flex;align-items:center}.city-run .city-hero{grid-template-columns:1fr;padding-block:3rem;gap:3rem}.city-run .city-info{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.city-run .city-news,.city-run .page{padding-block:3rem}.city-run .city-section-heading{align-items:flex-start;flex-direction:column;gap:0}.city-run .city-notices a{flex-direction:column;gap:.5rem}.city-run .city-courses article{grid-template-columns:1fr;gap:.5rem}.city-run .city-courses article p{margin:.25rem 0}.city-run .gallery{grid-template-columns:1fr}.city-run .city-footer{flex-direction:column}.city-run dl>div{grid-template-columns:1fr;gap:.35rem}}
