/* Article layouts share the federation colour and type system. */
.sport-container{max-width:1224px;margin:auto;padding:0 0 72px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 32px;font-size:12px;color:var(--muted)}.breadcrumbs a{color:var(--green)}.breadcrumbs a:hover{text-decoration:underline}
.sport-kicker{font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.12em;color:var(--green)}
.sport-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center;padding:18px 0 48px}
.sport-hero h1{font-size:clamp(40px,4.3vw,60px);line-height:1.12;letter-spacing:-.055em;margin:20px 0 24px}.sport-hero h1 em{font-style:normal;color:var(--green)}
.sport-hero-copy>p:not(.sport-kicker){color:var(--muted);font-size:15px;line-height:1.8;max-width:500px}.sport-hero-copy .sport-lead{font-size:20px!important;color:var(--green)!important;margin-bottom:16px;line-height:1.6!important}
.sport-jump{display:inline-flex;align-items:center;gap:18px;min-height:46px;margin-top:25px;color:var(--green);font-size:14px;font-weight:750}.sport-jump span{font-size:22px}
.sport-hero-photo{margin:0;border-radius:20px;overflow:hidden;background:var(--deep);border:1px solid var(--deep)}.sport-hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.sport-hero-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 26px;color:var(--deep-text);line-height:1.6;font-size:15px}.sport-hero-photo .photo-label{font-size:12px;letter-spacing:.14em;color:var(--accent)}
.sport-topics{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.sport-topics a{font-size:12px;font-weight:650;color:var(--green);min-height:40px;display:flex;align-items:center}.sport-topics a:hover{color:var(--green)}
.olympic-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px;align-items:center;padding:76px 0 34px}.olympic-year{display:flex;flex-direction:column;border-radius:18px;padding:40px;color:var(--deep-text);background:var(--deep);position:relative;overflow:hidden}.olympic-year:after{content:'';position:absolute;right:-65px;bottom:-100px;width:290px;height:290px;border:1px solid #e8f2df29;border-radius:50%;pointer-events:none}.olympic-year .sport-kicker{color:var(--accent);font-size:12px}.olympic-year strong{font-size:105px;font-weight:750;letter-spacing:-.09em;line-height:1.1;margin:17px 0 15px}.olympic-year>span:not(.sport-kicker){font-size:12px}.olympic-year a{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--accent);margin-top:30px;position:relative;z-index:1}.olympic-copy h2{font-size:38px;margin-bottom:24px}.olympic-copy p{font-size:16px;color:var(--muted)}.olympic-copy p+p{margin-top:16px}
.name-note{display:flex;align-items:flex-start;gap:25px;padding:28px 32px;border:1px solid var(--line);background:var(--surface-soft);border-radius:15px}.name-monogram{flex:0 0 64px;font-size:28px;font-weight:800;letter-spacing:-.06em;color:var(--green);padding-top:3px}.name-note h3{font-size:18px;margin-bottom:9px}.name-note p{font-size:14px;color:var(--muted);max-width:920px}.name-note a{display:inline-block;color:var(--green);font-size:12px;margin-top:13px;text-decoration:underline;text-underline-offset:3px}
.sport-section{padding-top:80px}.sport-section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:30px}.sport-section .sport-kicker{margin-bottom:17px}.sport-section h2{font-size:37px}.sport-section-heading>p{max-width:380px;font-size:15px;color:var(--muted)}.sport-page .muted{color:var(--muted)}
.training-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;gap:16px}.training-steps li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:25px 22px}.training-number{position:absolute;right:22px;top:26px;font-size:12px;font-weight:700;color:var(--muted)}.sport-icon{width:35px;height:35px;color:var(--green);margin-bottom:23px}.training-steps h3{font-size:18px;margin-bottom:12px}.training-steps p{font-size:14px;color:var(--muted)}
.toddlers-note{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:28px;padding:24px 0;border-bottom:1px solid var(--line);margin-top:12px}.toddlers-note strong{font-size:17px;letter-spacing:-.02em}.toddlers-note p{font-size:13px;color:var(--muted)}.toddlers-note a{font-size:12px;color:var(--green);font-weight:700;max-width:155px;line-height:1.6}
.discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.discipline-grid article{padding:34px 36px;border-radius:17px;background:var(--surface-soft);border:1px solid var(--line)}.discipline-grid article:nth-child(2){background:var(--surface-soft);border-color:var(--line)}.discipline-label{display:block;font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--green);margin-bottom:28px}.discipline-grid article:nth-child(2) .discipline-label{color:var(--green)}.discipline-grid h3{font-size:25px;margin-bottom:19px}.discipline-grid p{font-size:15px;color:var(--muted);margin-bottom:14px}.discipline-grid article:nth-child(2) p{color:var(--muted)}.discipline-tag{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--green);margin-top:13px}.discipline-source{display:inline-block;font-size:12px;line-height:1.7;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-top:12px}
.belt-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.belt-section h2{margin-bottom:23px}.belt-section p:not(.sport-kicker){font-size:15px;color:var(--muted);margin-top:16px}.belt-section figure{margin:0}.belt-section img{display:block;width:100%;height:auto;border-radius:16px}.belt-section figcaption{font-size:12px;color:var(--muted);margin-top:13px}
.sport-questions{display:grid;grid-template-columns:1fr 1.25fr;gap:65px}.sport-questions .faq details:first-child{padding-top:6px}.sport-questions .faq summary{font-size:16px}.sport-questions .faq details p{font-size:15px;color:var(--muted)}
.sport-cta{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:32px;border-radius:20px;background:var(--deep);color:var(--deep-text);padding:40px;margin-top:76px}.sport-cta>img{width:88px;height:88px}.sport-cta .sport-kicker{color:var(--accent);font-size:12px;margin-bottom:14px}.sport-cta h2{font-size:30px;line-height:1.25}.sport-cta p:not(.sport-kicker){font-size:13px;color:#c4d7ca;margin-top:15px}.sport-cta-actions{display:flex;flex-direction:column;align-items:center;gap:17px;font-size:13px}.sport-cta .button{font-size:12px;padding:15px 17px;white-space:nowrap}
@media(max-width:1350px){.sport-container{margin:0 5%}.sport-hero{gap:36px}.olympic-section{gap:45px}.sport-cta{grid-template-columns:1fr auto}.sport-cta>img{display:none}.toddlers-note{grid-template-columns:160px 1fr 130px;gap:22px}}
@media(max-width:1000px){.sport-hero{gap:28px}.sport-hero h1{font-size:42px}.sport-hero-copy .sport-lead{font-size:18px!important}.sport-hero-photo figcaption{padding:18px;font-size:13px;gap:15px}.sport-hero-photo .photo-label{display:none}.training-steps{grid-template-columns:repeat(2,1fr)}.olympic-section{grid-template-columns:1fr 1.25fr;gap:32px}.olympic-year{padding:30px}.olympic-copy h2{font-size:32px}.sport-topics{flex-wrap:wrap;justify-content:flex-start;gap:4px 25px}.sport-section-heading{align-items:start}.sport-section-heading>p{max-width:300px}.sport-section h2{font-size:32px}.sport-questions{gap:35px}.sport-cta{padding:30px}.sport-cta h2{font-size:27px}}
@media(max-width:760px){.sport-container{margin:0 6%;padding-bottom:42px}.breadcrumbs{margin:20px 0 24px;font-size:12px}.sport-hero{grid-template-columns:1fr;padding:8px 0 28px;gap:28px}.sport-hero h1{font-size:43px;margin:16px 0 20px}.sport-hero-copy .sport-lead{font-size:18px!important}.sport-hero-copy>p:not(.sport-kicker){font-size:15px}.sport-jump{margin-top:16px}.sport-hero-photo{border-radius:14px}.sport-hero-photo figcaption{padding:18px 20px}.sport-hero-photo .photo-label{display:block;max-width:85px;line-height:1.7;font-size:12px}.sport-topics{gap:4px 18px;padding:12px 0}.sport-topics a{font-size:12px;min-height:36px}.olympic-section{grid-template-columns:1fr;gap:27px;padding:40px 0 25px}.olympic-year{padding:28px}.olympic-year strong{font-size:90px;margin:8px 0}.olympic-year a{margin-top:20px}.olympic-copy h2{font-size:30px;margin-bottom:20px}.olympic-copy p{font-size:15px}.name-note{padding:23px;gap:15px;display:block}.name-monogram{display:block;font-size:23px;margin-bottom:12px}.name-note h3{font-size:18px}.name-note p{font-size:14px}.sport-section{padding-top:46px}.sport-section-heading{display:block;margin-bottom:24px}.sport-section h2{font-size:30px}.sport-section-heading>p{max-width:none;margin-top:20px;font-size:14px}.training-steps{grid-template-columns:1fr;gap:12px}.training-steps li{padding:22px 22px 22px 78px;min-height:120px}.sport-icon{position:absolute;top:25px;left:23px;width:31px;height:31px;margin:0}.training-number{font-size:12px;top:28px;right:18px}.training-steps h3{padding-right:22px;margin-bottom:9px}.training-steps p{font-size:14px}.toddlers-note{grid-template-columns:1fr;gap:12px;padding:24px 0}.toddlers-note p{font-size:14px}.toddlers-note a{max-width:none;min-height:36px;display:flex;align-items:center;gap:10px}.discipline-grid{grid-template-columns:1fr;gap:16px}.discipline-grid article{padding:26px}.discipline-label{margin-bottom:19px}.discipline-grid h3{font-size:23px}.belt-section{grid-template-columns:1fr;gap:25px}.sport-questions{grid-template-columns:1fr;gap:27px}.sport-questions .faq details p{margin-right:0}.sport-cta{margin-top:44px;grid-template-columns:1fr;padding:28px 24px;gap:25px;border-radius:15px}.sport-cta h2{font-size:27px}.sport-cta-actions{align-items:stretch;text-align:center}.sport-cta .button{white-space:normal;font-size:13px}.sport-cta-actions>a:not(.button){min-height:34px;display:grid;place-items:center}}
@media(max-width:380px){.sport-hero h1{font-size:37px}.sport-hero-photo .photo-label{display:none}.sport-section h2,.olympic-copy h2{font-size:27px}.sport-cta h2{font-size:25px}}
.belt-ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.belt-ranks article{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;padding:0 25px 25px}.belt-swatch{display:block;height:8px;margin:0 -25px 25px;background:#eac951}.belt-poom{background:linear-gradient(90deg,#a64430 50%,#253329 50%)}.belt-dan{background:#253329}.rank-label{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--muted)}.belt-ranks h3{font-size:25px;margin:9px 0 15px}.belt-ranks p{font-size:14px;color:var(--muted)}.exam-details{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}.exam-details h3,.exam-path h3{font-size:23px}.exam-details>div>p{font-size:14px;color:var(--muted);margin-top:16px}.exam-skills{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;margin:0}.exam-skills dt{font-size:16px;font-weight:750;color:var(--green);margin-bottom:8px}.exam-skills dd{font-size:14px;color:var(--muted);margin:0}.belt-source-note{font-size:12px;color:var(--muted);margin-top:24px;line-height:1.8}.belt-source-note a{text-decoration:underline;text-underline-offset:3px}.exam-path{background:var(--surface-soft);border:1px solid var(--line);border-radius:15px;padding:28px 30px;margin-top:32px}.exam-path ol{counter-reset:exam;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:26px 0 0;padding:0}.exam-path li{counter-increment:exam}.exam-path li:before{content:counter(exam,decimal-leading-zero);display:block;font-size:12px;color:var(--green);margin-bottom:13px;font-weight:750}.exam-path strong{display:block;font-size:15px;line-height:1.5;margin-bottom:9px}.exam-path li>span{display:block;color:var(--muted);font-size:13px;line-height:1.75}.belt-questions{margin-top:28px}.belt-questions.faq details{padding:20px 0}.belt-questions.faq summary{font-size:15px}.belt-questions.faq details p{font-size:14px;max-width:900px;color:var(--muted)}.belt-section strong{font-weight:700;color:var(--green)}
@media(max-width:1000px){.belt-ranks{gap:14px}.belt-ranks article{padding:0 20px 23px}.belt-swatch{margin:0 -20px 23px}.exam-details{grid-template-columns:1fr;gap:24px}.exam-path ol{grid-template-columns:1fr 1fr}.exam-details>div>p{max-width:650px}}
@media(max-width:760px){.belt-ranks{grid-template-columns:1fr;gap:14px;margin-top:27px}.belt-ranks article{padding:0 23px 24px}.belt-swatch{margin:0 -23px 20px;height:7px}.belt-ranks h3{font-size:23px}.exam-skills{grid-template-columns:1fr;gap:22px}.exam-details{margin-top:28px;padding-top:28px}.exam-details h3,.exam-path h3{font-size:22px}.exam-path{padding:24px}.exam-path ol{grid-template-columns:1fr;gap:22px}.exam-path li{position:relative;padding-left:33px}.exam-path li:before{position:absolute;left:0;top:3px}.exam-path strong{font-size:15px}.exam-path li>span{font-size:14px}.belt-questions.faq summary{font-size:15px;gap:18px}.belt-questions.faq details p{margin-right:0}}

/* Editorial rhythm */
.sport-container { max-width:var(--max);margin:auto;padding:25px var(--gutter) 70px; }
.breadcrumbs { font-size:13px;margin:0 0 25px; }
.sport-hero { gap:50px;padding-top:10px;padding-bottom:45px; }
.sport-hero h1 { font-size:clamp(40px,4.4vw,63px);font-weight:800;text-transform:uppercase;line-height:1.1;letter-spacing:-.045em; }
.sport-hero-copy>p:not(.sport-kicker) { font-size:16px; }
.sport-hero-copy .sport-lead { font-size:20px!important; }
.sport-hero-photo { border-radius:12px; }
.sport-hero-photo figcaption { font-size:14px; }
.sport-topics { position:sticky;top:96px;z-index:15;background:var(--header-bg);backdrop-filter:blur(12px);padding:12px 0;gap:15px; }
.sport-topics a { font-size:13px;min-height:40px; }
.sport-section { padding-top:75px; }
.sport-section h2 { font-size:clamp(31px,3.1vw,44px); }
.sport-section-heading { align-items:end;gap:40px;margin-bottom:34px; }
.sport-section-heading>p { font-size:16px;max-width:435px; }
.olympic-year { padding:38px;border-radius:12px; }
.olympic-year strong { font-size:115px;font-weight:800;letter-spacing:-.06em;color:var(--accent); }
.olympic-copy h2 { font-size:40px; }
.name-note { background:var(--surface);border-radius:10px; }
.name-note p { font-size:15px; }
.training-steps { gap:0;border-block:1px solid var(--line); }
.training-steps li { background:transparent;border:0;border-radius:0;padding:30px 22px; }
.training-steps li+li { border-left:1px solid var(--line); }
.training-steps h3 { font-size:20px; }
.training-steps p { font-size:15px; }
.training-number { font-size:12px; }
.toddlers-note p { font-size:14px; }
.discipline-grid article { border-radius:12px;padding:35px;background:var(--surface); }
.discipline-grid article:nth-child(2) { background:var(--green-soft); }
.discipline-grid h3 { font-size:29px; }
.discipline-grid p { font-size:16px; }
.discipline-label { font-size:12px; }
.belt-section { gap:50px; }
.belt-section p:not(.sport-kicker) { font-size:16px; }
.belt-ranks { gap:20px; }
.belt-ranks article { border-radius:10px; }
.belt-ranks h3 { font-size:28px; }
.belt-ranks p,.exam-skills dd,.exam-details>div>p { font-size:15px; }
.rank-label { font-size:11px; }
.exam-skills dt { font-size:18px; }
.exam-path { border-radius:10px;padding:30px; }
.exam-path strong { font-size:16px; }
.exam-path li>span { font-size:14px; }
.belt-questions.faq summary,.sport-questions .faq summary { font-size:17px; }
.belt-questions.faq details p { font-size:15px; }
.sport-cta { border-radius:14px;padding:40px;background:var(--deep); }
.sport-cta h2 { font-size:32px;color:var(--deep-text); }
.sport-cta .button { background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-size:14px; }
.sport-cta-actions { font-size:14px; }
@media(max-width:1000px) { .sport-hero { gap:30px; }.sport-hero h1 { font-size:43px; }.sport-section-heading { display:block; }.sport-section-heading>p { max-width:680px;margin-top:20px; }.training-steps li:nth-child(3) { border-left:0; }.training-steps li:nth-child(n+3) { border-top:1px solid var(--line); }.olympic-copy h2 { font-size:33px; }.olympic-year strong { font-size:100px; } }
@media(max-width:900px) { .sport-topics { top:76px; } }
@media(max-width:760px) { .sport-topics { position:static; }.sport-hero { gap:27px;padding-bottom:30px; }.sport-container { padding-top:24px;padding-bottom:48px; }.sport-hero h1 { font-size:clamp(37px,8.8vw,56px); }.sport-hero-photo .photo-label { font-size:10px; }.sport-hero-photo figcaption { padding:18px 20px; }.sport-section { padding-top:50px; }.sport-section h2 { font-size:32px; }.sport-section-heading { margin-bottom:27px; }.sport-section-heading>p { font-size:16px; }.training-steps li { padding:25px 15px 25px 66px; }.training-steps li+li { border-left:0;border-top:1px solid var(--line); }.sport-icon { left:7px;top:28px; }.training-number { font-size:11px;right:10px;top:27px; }.training-steps h3 { font-size:20px; }.training-steps p { font-size:15px; }.discipline-grid article { padding:27px; }.discipline-grid h3 { font-size:26px; }.belt-section { gap:28px; }.belt-ranks { gap:15px; }.exam-path { padding:26px; }.exam-path li>span { font-size:15px; }.sport-cta { padding:30px 25px; }.sport-cta h2 { font-size:29px; }.sport-cta p:not(.sport-kicker) { font-size:14px; }.sport-cta .button { font-size:14px; }.olympic-year { padding:29px; }.olympic-copy h2 { font-size:32px; }.olympic-copy p { font-size:16px; } }

/* Grid items must shrink even when a Russian heading contains a long word. */
.discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-grid article{min-width:0}.discipline-grid h3{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:760px){.discipline-grid{grid-template-columns:minmax(0,1fr)}.discipline-grid h3{font-size:clamp(22px,6vw,26px)}}
