/* Anglická: editorial rhythm, real people, one route through the page.
   Plain CSS shared with the existing PHP application. */
.eyebrow {
    display: flex; align-items: center; gap: .6rem; margin: 0 0 1.25rem;
    color: var(--text-2); font-size: .73rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .1em; line-height: 1.5;
}

/* Spolupráce: společná sazba podstránek, konkrétní pracoviště a tichý archiv. */
.partners-page { font-family: var(--font-ui); }
.partners-page .story-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.partners-page .partners-places > div { gap: 1.2rem; }
.partners-places dt { flex: 1; min-width: 0; }
.partners-places dd { flex: 0 1 13rem; }
.partners-page .partners-places__note { margin-top: 1.25rem; }
.partners-stories { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-2); }
.partners-stories li { border-bottom: 1px solid var(--line-2); }
.partners-stories a { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.35rem .45rem; text-decoration: none; color: var(--brand-ink); transition: background-color var(--t-fast) var(--ease); }
.partners-stories a:hover { background: var(--surface); }
.partners-stories small { display: block; margin-bottom: .5rem; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--action); }
.partners-stories strong { display: block; font-size: 1.05rem; line-height: 1.5; }
.partners-stories a > span:last-child { color: var(--action); flex: 0 0 auto; }
.partners-archive { border-top: 1px solid var(--line-2); }
.partners-archive .learning-fold { margin-top: 0; border-top: 0; }
.partners-history { list-style: none; margin: 0; padding: 0; }
.partners-history li { padding: 1.3rem 0; border-top: 1px solid var(--line-2); }
.partners-history li:first-child { border-top: 0; padding-top: .3rem; }
.partners-history .eyebrow { margin-bottom: .65rem; font-size: .62rem; }
.partners-page .partners-history h3 { font-size: 1rem; }
.partners-history p:last-child { margin-bottom: 0; font-size: .85rem; }
.partners-invite { padding: clamp(1.5rem, 4vw, 2.75rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.facts-page .lead { font: 1.05rem/1.85 var(--font-ui); }
.facts-page { font-family: var(--font-ui); }
.facts-page.section--top, .content-entry .section--top { padding-block: clamp(2.25rem, 4vw, 3.5rem) 2rem; }
.facts-page.section--top h1, .content-entry .section--top h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.12; letter-spacing: -.045em; margin-block: .7rem 1.25rem; }
.facts-page.section--top .section-head, .content-entry .section--top .section-head { margin-bottom: 0; }
.content-entry { font-family: var(--font-ui); }
.content-entry .lead { max-width: 58ch; font: 1.05rem/1.85 var(--font-ui); color: var(--text-2); }
.content-entry :is(.nextsteps li, .deflist dd, .checklist, .linklist__note) { font-family: var(--font-ui); }
.content-entry .section--top .rule { display: none; }
.content-entry .section--top .kicker { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.25rem; font: 700 .73rem/1.5 var(--font-ui); letter-spacing: .1em; color: var(--text-2); }
.content-entry .section--top .kicker::before { content: ''; width: 8px; height: 8px; border: 2px solid var(--action); border-radius: 50%; flex: 0 0 auto; }
.facts-page.section--tight .with-aside > div > .section-head:first-child { margin-top: 0; }
@media (max-width: 47.99rem) { .facts-page.section--top h1, .content-entry .section--top h1 { font-size: clamp(2.35rem, 8vw, 3.5rem); } }
.facts-page .facts table { min-width: 0; table-layout: fixed; }
.facts-page .facts :is(th, td) { overflow-wrap: anywhere; }
.facts-page .facts tbody th { width: 40%; }
.facts-page :is(.facts__value--text, .facts__source, .deflist dd) { font-family: var(--font-ui); }
@media (max-width: 39.99rem) {
    .partners-page .partners-places > div { align-items: start; flex-direction: column; gap: .25rem; }
    .partners-page .partners-places dd { flex-basis: auto; max-width: none; text-align: left; }
    .facts-page .facts :is(th, td) { padding-right: .65rem; font-size: .8rem; }
}
.location-dot { width: 8px; height: 8px; border: 2px solid var(--action); border-radius: 50%; flex: 0 0 auto; }
.serif-note { font-family: var(--font-body); font-weight: 450; font-style: italic; letter-spacing: -.045em; }
.text-link { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-size: .9rem; font-weight: 650; text-decoration: none; }
.text-link > span:last-child { transition: transform var(--t-base) var(--ease); }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.text-link:hover > span:last-child { transform: translateX(2px); }
.brand-hero { padding: clamp(2rem, 5vw, 4.75rem) 0 3rem; }
.brand-hero__grid { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 5rem); }
.brand-hero__copy { padding-bottom: 1rem; min-width: 0; }
.brand-hero h1 { font-size: clamp(3.5rem, 6.5vw, 6rem); font-weight: 850; line-height: .99; letter-spacing: -.055em; text-wrap: initial; }
.brand-hero h1 span { color: var(--action); }
.brand-hero__invitation { font-family: var(--font-body); font-style: italic; font-size: clamp(1.4rem, 2.6vw, 2.1rem); color: var(--brand-ink); letter-spacing: -.04em; margin-top: 1.1rem; }
.brand-hero__lead { max-width: 43ch; font-size: 1.05rem; line-height: 1.7; color: var(--text-2); margin-top: 1.5rem; }
.brand-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin-top: 1.7rem; }
.brand-hero__actions .btn { padding-inline: 1.35rem; font-size: .95rem; min-height: 54px; }
.brand-hero__facts { display: flex; flex-wrap: wrap; gap: .4rem .7rem; font-size: .76rem; color: var(--text-3); margin-top: 1.4rem; }
.brand-hero__facts > span { color: var(--action); }
.brand-hero__figure { position: relative; min-width: 0; padding: .5rem .5rem 0; border: 1px solid var(--line-2); border-radius: 24px; background: var(--surface); }
.brand-hero__figure picture { border-radius: 17px; overflow: hidden; }
.brand-hero__figure picture img { width: 100%; height: auto; aspect-ratio: 1 / 1.08; object-fit: cover; object-position: 50% 46%; }
.brand-hero__figure figcaption { display: flex; gap: .8rem; align-items: center; padding: 1rem .4rem; font-size: .72rem; line-height: 1.5; color: var(--text-2); }
.photo-label { flex: 0 0 auto; font-weight: 750; color: var(--brand-ink); }
/* A quiet continuation of the frame, never a control or a separate content block. */
.hero-route-detail { position: absolute; top: -12px; right: -12px; width: 128px; height: 144px; pointer-events: none; }
.hero-route-detail__lines { display: block; width: 100%; height: 100%; stroke: #c2abc9; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.hero-route-detail__accent { stroke: #d3abc3; }
.hero-route-detail circle { fill: var(--surface); }
.hero-route-detail .hero-route-detail__destination { fill: #c699b5; stroke: none; }
.hero-route-avatar { display: none; position: absolute; left: -40px; top: -48px; width: 64px; height: 48px; pointer-events: none; opacity: 0; }
.hero-route-avatar__body { display: block; width: 100%; height: 100%; transform-origin: 40px 46px; }
.hero-route-avatar__frame { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; }
.school-avatar { display: block; width: 384px; max-width: none; height: 48px; background: transparent; image-rendering: pixelated; transform: translateX(calc(var(--avatar-frame, 0) * -64px)); }
/* Six aligned poses. The JS controller waits for pointer intent over the photo. */
@media (min-width: 48rem) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    html.js:not([data-motion="reduce"]) .hero-route-detail[data-avatar-playing] .hero-route-avatar { display: block; }
    .hero-route-detail[data-avatar-phase="walk"] .school-avatar { animation: hero-avatar-steps 320ms step-end infinite; }
    .hero-route-detail[data-avatar-phase="walk"] .hero-route-avatar__body { animation: hero-avatar-bob 320ms ease-in-out infinite; }
}
@keyframes hero-avatar-steps { 0%, 100% { transform: translateX(-192px); } 50% { transform: translateX(-256px); } }
@keyframes hero-avatar-bob { 0%, 50%, 100% { transform: translateY(0); } 25%, 75% { transform: translateY(-1px); } }
.brand-hero__empty { min-height: 450px; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; background: var(--surface-2); border-radius: 17px; }
.brand-hero__empty strong { font-size: 4rem; line-height: 1; }
.brand-hero__figure--empty { padding-bottom: .5rem; }
.decision-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); overflow: hidden; }
.decision-strip > :is(a, div) { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.5rem; text-decoration: none; color: var(--text-2); font-size: .78rem; transition: background var(--t-base); }
.decision-strip > a { justify-content: center; }
.decision-strip > * + * { border-left: 1px solid var(--line); }
.decision-strip > a:hover { background: var(--surface-2); }
.decision-strip__label { font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; }
.decision-strip strong { color: var(--brand-ink); font-size: clamp(.95rem, 1.5vw, 1.2rem); font-weight: 750; }
.decision-strip strong > span { float: right; padding-left: .5rem; color: var(--action); }
.home-section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.home-section h2 { font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 750; line-height: 1.18; letter-spacing: -.035em; }
.home-heading { display: flex; align-items: end; justify-content: space-between; gap: 2.5rem; margin-bottom: 2.5rem; }
.home-heading > p { max-width: 35ch; font-size: .95rem; color: var(--text-2); line-height: 1.75; }
.role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.role-card { position: relative; display: flex; flex-direction: column; min-height: 290px; padding: 1.75rem; border-radius: var(--r-lg); text-decoration: none; color: var(--brand-ink); border: 1px solid var(--line); background: #f2edf5; transition: transform var(--t-base), border-color var(--t-base); }
.role-card--story { background: #f6eee5; border-color: #e8dfd3; }
.role-card--event { background: #edf1ec; border-color: #dce4d9; }
.role-card__top { display: flex; justify-content: space-between; font-size: .7rem; text-transform: uppercase; letter-spacing: .09em; }
.role-card__number { font-family: var(--font-body); font-style: italic; font-size: 1.1rem; }
.role-card h3 { font-size: clamp(1.3rem, 2.1vw, 1.7rem); font-weight: 750; margin-top: 2.3rem; max-width: 16ch; line-height: 1.2; }
.role-card p { margin: 1rem 0 2rem; color: var(--text-2); font-size: .9rem; line-height: 1.7; max-width: 30ch; }
.role-card__link { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid #d6cbd9; font-size: .8rem; font-weight: 700; }
/* The actual card edge is the counter. No extra furniture or idle illustration. */
.role-card:is([data-role-avatar="guide"], [data-role-avatar="event"]) { --role-height: 56px; }
.role-scene { position: absolute; top: -44px; right: 1.75rem; display: block; width: 80px; height: var(--role-height, 50px); overflow: hidden; pointer-events: none; visibility: hidden; opacity: 0; }
.role-scene__sprite { display: block; width: 640px; max-width: none; height: var(--role-height, 50px); background: transparent; image-rendering: pixelated; transform: translateX(calc(var(--role-frame, 0) * -80px)); }
@media (min-width: 48rem) and (prefers-reduced-motion: no-preference) {
    html:not([data-motion="reduce"]) .role-scene[data-scene-playing] { visibility: visible; animation: role-scene-envelope 3200ms linear both; }
}
@keyframes role-scene-envelope { 0%, 100% { opacity: 0; } 6%, 94% { opacity: 1; } }
.home-more { margin-top: 1.6rem; }
.study-route { background: var(--surface-2); border-block: 1px solid var(--line); }
.study-route__grid, .home-cost__grid, .home-faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); }
.home-cost__grid > div > p:not(.eyebrow) { color: var(--text-2); font-size: .95rem; max-width: 42ch; margin-block: 1.5rem; line-height: 1.75; }
.study-route__grid { align-items: center; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.school-network { --network-surface: var(--violet); background: var(--network-surface); color: white; padding: clamp(1.2rem, 2.4vw, 2rem); border: 1px solid #6d3290; border-radius: var(--r-lg); }
.school-network__caption { display: block; color: #e7d6e9; font-size: .72rem; letter-spacing: .02em; text-align: center; margin-bottom: .8rem; }
.school-network__art { position: relative; aspect-ratio: 480 / 460; }
.school-network__lines { display: block; width: 100%; height: 100%; overflow: visible; }
.network-route { stroke-linecap: round; stroke-linejoin: round; }
.network-route--main { stroke: var(--magenta); stroke-width: 6; }
.network-route--light { stroke: white; stroke-width: 3; }
.network-junctions { fill: white; }
.network-stop circle { fill: var(--network-surface); stroke: white; stroke-width: 3; transition: fill 180ms var(--ease), stroke 180ms var(--ease), stroke-width 180ms var(--ease); }
.network-stop text { fill: white; stroke: none; font-family: var(--font-ui); font-size: 19px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; text-anchor: middle; }
.network-stop--world text { font-size: 24px; }
.network-destination { stroke: var(--magenta); stroke-width: 5; fill: var(--network-surface); }
.school-network__logo { position: absolute; left: 31%; top: 38.5%; width: 39%; color: white; }
.school-network__logo svg { width: 100%; height: auto; display: block; }
.study-route__content { min-width: 0; }
.study-route__hint { display: flex; align-items: center; gap: .65rem; font-size: .78rem; color: var(--text-2); margin-bottom: 1.25rem; }
.study-route__hint .location-dot { flex-shrink: 0; }
.study-route__stops { position: relative; }
.study-route__stops::before { content: ""; position: absolute; top: 2rem; bottom: 2rem; left: 2.15rem; width: 1px; background: var(--line-2); }
.study-stop { position: relative; border: 1px solid transparent; border-radius: 18px; transition: background 180ms var(--ease), border-color 180ms var(--ease); }
.study-stop + .study-stop { margin-top: .4rem; }
.study-stop[open] { background: var(--surface); border-color: var(--line-2); }
.study-stop__summary { display: grid; grid-template-columns: 36px minmax(0, 1fr) 24px; gap: 1rem; align-items: center; padding: 1rem; list-style: none; cursor: pointer; border-radius: 17px; }
.study-stop__summary::-webkit-details-marker { display: none; }
.study-stop__summary::marker { content: ""; }
.study-stop__summary:hover { background: rgb(255 255 255 / 45%); }
.study-stop__node { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line-2); border-radius: 50%; background: var(--surface-2); color: var(--text-2); font-size: .67rem; font-weight: 700; transition: background 180ms var(--ease), color 180ms var(--ease); }
.study-stop[open] .study-stop__node { background: var(--action); border-color: var(--action); color: white; }
.study-stop__label { display: block; font-size: .67rem; line-height: 1.5; letter-spacing: .09em; font-weight: 700; text-transform: uppercase; color: var(--action); }
.study-stop__title { display: block; font-size: clamp(1.05rem, 1.4vw, 1.22rem); font-weight: 750; line-height: 1.35; margin-top: .3rem; color: var(--brand-ink); }
.study-stop__toggle { position: relative; width: 24px; height: 24px; color: var(--action); }
.study-stop__toggle::before, .study-stop__toggle::after { content: ""; position: absolute; background: currentColor; inset: 11px 6px; }
.study-stop__toggle::after { transform: rotate(90deg); transition: transform 180ms var(--ease); }
.study-stop[open] .study-stop__toggle::after { transform: rotate(0); }
.study-stop__body { padding: 0 1.25rem 1rem 4.25rem; }
.study-stop__body p { font-size: .88rem; line-height: 1.75; color: var(--text-2); max-width: 42ch; }
.study-stop__body .text-link { font-size: .8rem; margin-top: .6rem; }
.school-network__foot { padding-top: 1rem; margin-top: .5rem; border-top: 1px solid rgb(255 255 255 / 20%); color: #e7d6e9; text-align: center; font-size: .72rem; }
.network-controls { position: absolute; inset: 0; pointer-events: none; }
.network-select { position: absolute; width: clamp(64px, 7vw, 92px); height: clamp(52px, 5.5vw, 70px); border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; pointer-events: auto; transform: translate(-50%, -70%); transition: background 180ms var(--ease), border-color 180ms var(--ease); }
.network-select:hover { background: rgb(255 255 255 / 7%); border-color: rgb(255 255 255 / 30%); }
.network-select:focus-visible { outline-color: white; }
.network-select--people { left: 13.333%; top: 16.522%; }
.network-select--languages { left: 83.333%; top: 16.522%; }
.network-select--practice { left: 13.333%; top: 76.522%; }
.network-select--world { left: 81.25%; top: 82.174%; height: clamp(64px, 7.5vw, 92px); transform: translate(-50%, -30%); }
.school-network--explore .network-route { transition: opacity 250ms var(--ease); }
[data-route-active]:not([data-route-active=""]) .school-network--explore .network-route { opacity: .4; }
.study-route[data-route-active="people"] .school-network--explore .network-route--main,
.study-route[data-route-active="world"] .school-network--explore .network-route--main,
.study-route[data-route-active="languages"] .school-network--explore .network-route--languages,
.study-route[data-route-active="practice"] .school-network--explore .network-route--practice { opacity: 1; }
[data-route-active="people"] .network-stop--people circle,
[data-route-active="languages"] .network-stop--languages circle,
[data-route-active="practice"] .network-stop--practice circle,
[data-route-active="world"] .network-stop--world circle { fill: white; stroke: var(--magenta); stroke-width: 6; }
.study-route__invite { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-top: 2.5rem; padding: 1.75rem 2rem; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.study-route__invite .eyebrow { color: var(--action); font-size: .65rem; margin-bottom: .5rem; }
.study-route__invite h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.3; font-weight: 750; }
.study-route__invite-copy > p:last-child { font-size: .86rem; line-height: 1.65; color: var(--text-2); margin-top: .6rem; }
.study-route__actions { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; gap: .15rem; }
.study-route__actions .btn { min-height: 50px; font-size: .87rem; }
.study-route__actions .text-link { font-size: .79rem; }
.fair-intro__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.fair-intro h1 { font-size: clamp(2.6rem, 5vw, 4.75rem); }
.fair-intro .lead { margin-block: 1.5rem; font-family: var(--font-ui); font-size: 1rem; line-height: 1.75; color: var(--text-2); }
.fair-intro__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.journal-card__link { text-decoration: none; color: var(--brand-ink); }
.journal-card__image { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--surface-2); }
.journal-card__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform var(--t-slow) var(--ease); }
.journal-card__arrow { position: absolute; right: .75rem; bottom: .75rem; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--surface); color: var(--brand-ink); font-size: 1.2rem; }
.journal-card__meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.1rem; font-size: .68rem; color: var(--text-2); }
.journal-card h3 { font-size: 1.15rem; line-height: 1.35; font-weight: 750; margin-top: .6rem; text-wrap: initial; }
.journal-card__link:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.home-cost { background: #f3efe8; border-block: 1px solid #e9e1d7; }
.home-cost__links { display: flex; flex-direction: column; align-items: start; }
.tuition-note { padding: clamp(1.5rem, 3vw, 2.75rem); background: var(--surface); border: 1px solid #e0d7ca; border-radius: var(--r-lg); }
.tuition-price { margin-block: 1.25rem; }
.tuition-price__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: 1.15rem; }
.tuition-price__switch { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, 1fr); width: fit-content; padding: 3px; border: 1px solid var(--line-2); border-radius: var(--r-md); }
.tuition-price__switch[hidden] { display: none; }
.tuition-price__switch::before { content: ""; position: absolute; z-index: -1; inset: 3px auto 3px 3px; width: calc((100% - 6px) / 2); border-radius: calc(var(--r-md) - 3px); background: var(--brand-ink); transition: transform 180ms var(--ease); }
.tuition-price__switch[data-mode="year"]::before { transform: translateX(100%); }
.tuition-price__switch button { min-height: 44px; padding-inline: 1.15rem; border-radius: calc(var(--r-md) - 3px); transition: color 180ms var(--ease); }
.tuition-price__switch button[aria-pressed="true"] { background: transparent; box-shadow: none; color: white; }
.tuition-price__amount { display: flex; flex-direction: column; gap: .5rem; margin: 0; }
.tuition-price__value { font-size: clamp(2.5rem, 5vw, 4.4rem); font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.06em; line-height: 1.1; color: var(--brand-ink); white-space: nowrap; }
.tuition-price__period { font-size: .8rem; color: var(--text-2); letter-spacing: 0; }
.tuition-price__annual { margin: 1.2rem 0 0; font-size: .9rem; color: var(--text-2); }
.tuition-price .tuition-price__annual strong { font-size: inherit; color: var(--brand-ink); }
.tuition-price__note { margin: .65rem 0 0; color: var(--text-2); font-size: .75rem; line-height: 1.65; max-width: 48ch; }
.tuition-price--compact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .7rem; margin: 0; }
.tuition-price--compact .tuition-price__head { display: contents; }
.tuition-price--compact .decision-strip__label { grid-column: 1; grid-row: 1; }
.tuition-price--compact .tuition-price__switch { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.tuition-price--compact .tuition-price__switch button { padding-inline: .65rem; min-width: 44px; font-size: .68rem; }
.tuition-price--compact .tuition-price__amount { grid-column: 1; grid-row: 2; gap: .15rem; }
.tuition-price--compact .tuition-price__value { font-size: clamp(1.4rem, 2.3vw, 1.75rem); }
.tuition-price--compact .tuition-price__period { font-size: .65rem; line-height: 1.4; }
.tuition-price__meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.tuition-price--compact .tuition-price__annual { margin: 0; font-size: .72rem; }
.tuition-price__meta > a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; font-size: .72rem; font-weight: 650; }
.tuition-note .btn { font-size: .86rem; padding-inline: 1rem; width: 100%; }
.home-cost__grid .tuition-note .tuition-note__foot { font-size: .74rem; margin: .8rem 0 0; }
.next-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.next-step { color: var(--text-2); text-decoration: none; border-top: 2px solid var(--line-2); padding-top: 1.5rem; transition: border-color var(--t-base); }
.next-step:hover { border-color: var(--action); }
.next-step .eyebrow { font-size: .68rem; }
.next-step h3 { font-size: 1.25rem; font-weight: 750; }
.next-step p { font-size: .88rem; line-height: 1.7; margin: .8rem 0 .7rem; max-width: 30ch; }
.next-step .text-link { color: var(--action); font-size: .83rem; }
.home-event-date { display: inline-block; white-space: nowrap; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
.decision-strip__event .home-event-date, .next-step__event .home-event-date { color: var(--brand-ink); font-weight: 650; }
.home-faq { border-top: 1px solid var(--line); padding-top: 3rem; }
.home-faq .text-link { margin-top: 1.2rem; }
.home-faq .faq { margin-top: 0; }
.home-contact { background: var(--brand-ink); padding-block: clamp(3rem, 6vw, 5rem); color: white; }
.home-contact__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.home-contact__copy h2 { color: white; font-size: clamp(3rem, 5.5vw, 5rem); line-height: 1.05; }
.home-contact__copy .eyebrow { color: #e7d6e9; }
.home-contact__copy > p:not(.eyebrow) { max-width: 32ch; color: #e7d6e9; font-size: .95rem; margin-block: 1.7rem; line-height: 1.8; }
.home-contact__copy > a { color: white; font-size: clamp(1rem, 2.1vw, 1.35rem); overflow-wrap: anywhere; text-underline-offset: .3em; }
.home-contact__copy .home-contact__address { margin-top: 2.5rem; font-size: .8rem; }
.home-contact__address a { color: white; display: inline-block; padding-top: .75rem; }
.home-contact__form { display: flex; flex-direction: column; background: var(--surface); padding: clamp(1.25rem, 3vw, 2.3rem); border-radius: var(--r-lg); color: var(--text); gap: 1.1rem; }
.home-contact__form h3 { font-size: 1.4rem; }
.home-contact__form-note { color: var(--text-2); font-size: .78rem; margin-top: -.5rem; }
.home-contact__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.home-contact__form .field { min-width: 0; margin-bottom: 0; }
.home-contact__form .field + .field { margin-top: 0; }
.home-contact__form .check { display: flex; align-items: flex-start; gap: .65rem; font-size: .75rem; line-height: 1.6; }
.home-contact__form .check input { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 2px; accent-color: var(--action); }
.home-contact__form .check { flex-wrap: wrap; }
.home-contact__form .check > span { flex: 1; }
.home-contact__form .check .field__error { flex-basis: 100%; }
.home-contact__form .field__label { font-size: .82rem; }
.message-success { position: relative; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.5rem, 3vw, 2.3rem); margin-top: 4rem; scroll-margin-top: 10rem; }
.message-success:focus { outline: none; }
.message-success__check { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-bottom: 1.5rem; border: 1px solid #c7d8c6; border-radius: 50%; background: #edf1ec; color: #365d40; font-size: 1.2rem; }
.message-success .eyebrow { color: var(--text-2); font-size: .65rem; }
.message-success h3 { margin-block: .65rem 1rem; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; }
.message-success p:not(.eyebrow) { max-width: 34ch; color: var(--text-2); line-height: 1.75; }
.message-success > .text-link { margin-top: 1.6rem; }
.message-scene { position: absolute; top: -66px; right: 1.5rem; width: 120px; height: 84px; overflow: hidden; pointer-events: none; visibility: hidden; opacity: 0; }
.message-scene__sprite { display: block; width: 960px; max-width: none; height: 84px; background: transparent; image-rendering: pixelated; transform: translateX(calc(var(--message-frame, 0) * -120px)); }
@media (prefers-reduced-motion: no-preference) {
    html:not([data-motion="reduce"]) .message-scene[data-scene-playing] { visibility: visible; animation: message-scene-envelope 2800ms linear both; }
}
@keyframes message-scene-envelope { 0%, 100% { opacity: 0; } 5%, 94% { opacity: 1; } }
@media print { .message-scene { display: none !important; } }
.utility-nav { border-bottom: 1px solid var(--line); background: var(--surface-2); font-size: .68rem; }
.utility-nav .wrap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 33px; }
.utility-nav__links { display: flex; gap: 1.5rem; align-items: center; }
.utility-nav a { color: var(--text-2); text-decoration: none; display: inline-flex; align-items: center; min-height: 33px; }
.utility-nav a:hover { text-decoration: underline; }
.preview-note { border-bottom:1px solid var(--line-2); background:var(--bg); color:var(--text-3); font-size:.75rem; line-height:1.5; }
.preview-note > .wrap { display:flex; flex-wrap:wrap; gap:.25rem .8rem; padding-block:.55rem; }
.preview-note strong { color:var(--brand-ink); }
.footer__claim { font-family: var(--font-body); font-style: italic; font-size: 1.3rem; max-width: 16ch; }
.footer__logo > img { filter: brightness(0) invert(1); background: transparent; }
.logo img { background: transparent; }
.motion-toggle { color: inherit; text-decoration: underline; text-underline-offset: 3px; font-size: inherit; padding: .7rem 0; min-height: 44px; }
.mobile-actions[hidden] { display: none; }
.mobile-actions { display: none; }
html[data-motion="reduce"], html[data-motion="reduce"] * { scroll-behavior: auto !important; }
html[data-motion="reduce"] *, html[data-motion="reduce"] *::before, html[data-motion="reduce"] *::after { animation: none !important; transition: none !important; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    html:not([data-motion="reduce"]) .role-card:hover { transform: translateY(-2px); border-color: #a68ab0; }
    html:not([data-motion="reduce"]) .journal-card__link:hover img { transform: scale(1.025); }
}
@media (min-width: 64rem) { .header__inner { min-height: 82px; } .logo svg { height: 2.8rem; } }
@media (max-width: 63.99rem) {
    .brand-hero h1 { font-size: clamp(3rem, 7vw, 4.8rem); }
    .brand-hero__grid { gap: 2rem; }
    .brand-hero__figure figcaption { display: block; }
    .photo-label { display: block; margin-bottom: .2rem; }
    .decision-strip { grid-template-columns: 1fr 1.4fr 1fr; }
    .tuition-price--compact .tuition-price__value { font-size: 1.5rem; }
    .home-heading { gap: 2rem; }
    .role-card { padding: 1.25rem; }
    .journal-grid { gap: 1rem; }
}
@media (max-width: 47.99rem) {
    .utility-nav__location { display: none; }
    .utility-nav .wrap { justify-content: flex-end; }
    .utility-nav__links { gap: 1.2rem; }
    .brand-hero { padding-top: 2rem; padding-bottom: 1.5rem; }
    .brand-hero__grid { grid-template-columns: 1fr; gap: 1.4rem; }
    .brand-hero h1 { font-size: clamp(3.2rem, 12.7vw, 5.8rem); }
    .brand-hero__invitation { font-size: 1.7rem; }
    .brand-hero__lead { font-size: .97rem; margin-top: 1.2rem; }
    .brand-hero__actions { margin-top: 1.25rem; }
    .brand-hero__facts { font-size: .7rem; margin-top: 1rem; }
    .brand-hero__figure picture img { aspect-ratio: 1.22 / 1; object-position: 50% 46%; }
    .brand-hero__figure figcaption { display: flex; }
    .brand-hero__figure figcaption .photo-label { margin: 0; }
    .decision-strip { grid-template-columns: 1fr; }
    .tuition-price--compact .tuition-price__value { font-size: 1.4rem; }
    .decision-strip > :is(a, div) { padding: 1rem 1.25rem; gap: .25rem; }
    .decision-strip > * + * { border-left: 0; border-top: 1px solid var(--line); }
    .decision-strip strong { font-size: 1rem; }
    .home-heading { flex-direction: column; align-items: flex-start; gap: 1.25rem; margin-bottom: 2rem; }
    .home-heading > p { max-width: 44ch; }
    .role-grid, .journal-grid, .next-step-grid { grid-template-columns: 1fr; gap: 1.25rem; }
    .role-card { min-height: 0; padding: 1.5rem; }
    .role-card h3 { max-width: 22ch; margin-top: 1.6rem; font-size: 1.55rem; }
    .role-card p { max-width: 38ch; margin-bottom: 1.5rem; }
    .study-route__grid, .home-cost__grid, .home-faq__grid, .home-contact__grid, .fair-intro__grid { grid-template-columns: 1fr; gap: 2rem; }
    .school-network { width: 100%; max-width: 28rem; justify-self: center; }
    .study-route .school-network--explore { display: none; }
    .study-route__hint { margin-bottom: 1rem; }
    .study-stop__summary { padding: 1rem .75rem; gap: .75rem; grid-template-columns: 32px minmax(0, 1fr) 20px; }
    .study-stop__node { width: 32px; height: 32px; }
    .study-stop__body { padding: 0 1rem 1rem 3.5rem; }
    .study-stop__body p { font-size: .85rem; }
    .study-route__stops::before { left: 1.8rem; }
    .study-route__invite { flex-direction: column; align-items: start; gap: 1.25rem; margin-top: 1.5rem; padding: 1.4rem; }
    .study-route__actions { width: 100%; align-items: stretch; }
    .study-route__actions .text-link { justify-content: center; }
    .journal-grid { gap: 2rem; }
    .journal-card__image img { aspect-ratio: 1.6 / 1; }
    .journal-card h3 { max-width: 35ch; }
    .next-step-grid { gap: 2rem; }
    .next-step p { max-width: 42ch; }
    .home-contact__fields { grid-template-columns: 1fr; }
    .home-contact__copy h2 { font-size: 3.6rem; }
    .mobile-actions { position: fixed; z-index: 90; bottom: 0; inset-inline: 0; display: grid; grid-template-columns: 1.2fr 1fr; gap: .6rem; padding: .6rem max(1rem, env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); background: rgb(252 250 247 / 98%); border-top: 1px solid var(--line-2); box-shadow: 0 -4px 20px rgb(63 29 77 / 5%); }
    .mobile-actions .btn { font-size: .84rem; padding: .7rem; min-height: 48px; }
    .page-home.has-mobile-actions { padding-bottom: 82px; }
    .cookies { bottom: 90px; }
}
@media print {
    .utility-nav, .mobile-actions, .motion-toggle, .home-contact__form { display: none !important; }
    .hero-route-detail { display: none; }
    .brand-hero, .home-section, .home-contact { padding-block: 1rem; }
    .home-contact, .home-contact__copy h2, .home-contact__copy a, .home-contact__copy p { background: white; color: #241031; }
}

/* DiS. a Bc. jsou vizuálně na stejné úrovni, bez procentuálního skóre. */
.home-eqf { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); margin-bottom: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 7vw, 6rem); border-bottom: 1px solid var(--line); }
.home-eqf > div > p:not(.eyebrow) { max-width: 40ch; color: var(--text-2); font-size: .95rem; line-height: 1.75; margin-block: 1.5rem; }
.eqf-bridge { padding: 1.5rem; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.eqf-bridge__level { display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--text-2); font-size: .72rem; }
.eqf-bridge__level > strong { color: var(--brand-ink); font-size: 1.1rem; display: flex; align-items: baseline; gap: .5rem; line-height: 1.3; }
.eqf-bridge__level b { font-size: 3rem; font-weight: 800; }
.eqf-bridge__paths { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding-top: 1.25rem; margin-top: 1rem; }
.eqf-bridge__paths::before { content: ''; position: absolute; left: 25%; right: 25%; top: 0; height: 1.25rem; border: 1px solid var(--action); border-bottom: 0; border-radius: 8px 8px 0 0; }
.eqf-bridge__paths > div { display: grid; grid-template-rows: 2.4em 2.6rem 3em; align-items: center; text-align: center; gap: .35rem; padding: 1.1rem .6rem; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md); font-size: .7rem; color: var(--text-2); }
.eqf-bridge__paths strong { font-size: 2rem; line-height: 1.3; color: var(--brand-ink); }
.eqf-bridge__type { font-size: .65rem; }
.eqf-bridge .eqf-bridge__meaning { margin: 1.25rem 0 .7rem; font-size: .84rem; line-height: 1.7; color: var(--text); }
.eqf-bridge .eqf-bridge__difference { margin: .7rem 0 1rem; font-size: .76rem; line-height: 1.7; color: var(--text-2); }
.eqf-bridge__details { font-size: .75rem; border-top: 1px solid var(--line); padding-top: .7rem; color: var(--text-2); }
.eqf-bridge__details summary { min-height: 44px; cursor: pointer; color: var(--action); font-weight: 650; }
.eqf-bridge__details p { margin-bottom: .8rem; line-height: 1.7; }
.eqf-bridge__salary { margin-block: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--line-2); border-inline-start: 3px solid var(--action); border-radius: var(--r-sm); background: var(--surface-2); }
.eqf-bridge__salary > strong { display: block; color: var(--brand-ink); font-size: .9rem; }
.eqf-bridge .eqf-bridge__salary p { margin: .5rem 0 0; font-size: .8rem; line-height: 1.7; }
.school-focus { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); border-block: 1px solid var(--line-2); margin-block: 2rem; }
.school-focus > div { padding: 1.5rem 2rem 1.5rem 0; }
.school-focus > div + div { padding-inline-start: 2rem; border-inline-start: 1px solid var(--line-2); }
.school-focus strong { font-size: 1.05rem; color: var(--brand-ink); }
.school-focus p { font-size: .87rem; color: var(--text-2); line-height: 1.75; margin: .5rem 0 0; max-width: 60ch; }
@media (max-width: 47.99rem) {
    .school-focus { grid-template-columns: 1fr; }
    .school-focus > div { padding: 1.25rem 0; }
    .school-focus > div + div { border-inline-start: 0; border-block-start: 1px solid var(--line-2); padding-inline-start: 0; }
}
@media (max-width: 47.99rem) { .home-eqf { grid-template-columns: 1fr; } .eqf-bridge { padding: 1.1rem; } }
@media (max-width: 47.99rem) {
    .page-home main :is(a, button, input, textarea, select, summary) { scroll-margin-bottom: 100px; }
}

/* Jazyková nabídka: obsah má přednost, volby fungují i bez JavaScriptu. */
.language-hero__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.language-hero h1 { font-size: clamp(3rem, 5.5vw, 5.2rem); line-height: 1.08; letter-spacing: -.045em; margin-block: 1rem 1.5rem; }
.language-hero .lead { max-width: 44ch; font-family: var(--font-ui); font-size: 1.08rem; margin-bottom: 1.75rem; }
.language-kit { position: relative; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface-2); }
.language-kit .eyebrow { font-size: .66rem; }
.language-kit__formula { font-size: clamp(5rem, 8vw, 7.5rem); line-height: 1; letter-spacing: -.07em; font-weight: 750; color: var(--brand-ink); margin: 1.25rem 0; }
.language-kit__formula span { color: var(--action); font-weight: 450; }
.language-kit > strong { font-size: 1.05rem; }
.language-kit > p { font-size: .85rem; color: var(--text-2); line-height: 1.7; margin-top: .7rem; }
.language-kit__hello { display: flex; flex-wrap: wrap; gap: 1.2rem; padding-top: 1rem; margin-top: 1.5rem; border-top: 1px solid var(--line-2); font-family: var(--font-body); font-style: italic; color: var(--text-2); }
.language-kit__hello span::before { content: ''; display: inline-block; width: 5px; height: 5px; border: 1px solid var(--action); border-radius: 50%; margin-right: .5rem; vertical-align: middle; }
.language-base { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.language-card { display: flex; flex-direction: column; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.language-card--core { background: var(--surface-2); }
.language-card .eyebrow { font-size: .62rem; margin-bottom: 1.3rem; }
.language-card h3 { font-size: 1.7rem; margin: 0 0 .25rem; }
.language-card p { font-size: .9rem; color: var(--text-2); line-height: 1.75; }
.language-card .language-card__headline { font-size: 1.3rem; color: var(--brand-ink); margin-bottom: 1.15rem; }
.language-card .text-link { margin-top: auto; padding-top: 1rem; font-size: .83rem; min-height: 44px; }
.language-levels { margin-top: 1.6rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; color: var(--text-2); font-size: .85rem; }
.language-levels summary { cursor: pointer; min-height: 48px; padding: .75rem 0; font-weight: 650; color: var(--brand-ink); }
.language-levels summary span { font-weight: 400; color: var(--text-2); margin-left: 1rem; }
.language-levels__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; padding-top: 1.2rem; }
.language-levels__grid strong { display: block; color: var(--brand-ink); margin-bottom: .5rem; }
.language-levels > p { font-size: .78rem; }
.language-catalogue { background: var(--surface-2); }
.language-catalogue .home-heading { align-items: end; }
.language-catalogue h2, .language-confirm h2 { font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.25; letter-spacing: -.03em; }
.language-group { border-top: 1px solid var(--line-2); }
.language-group:last-child { border-bottom: 1px solid var(--line-2); }
.language-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.6rem 0; font-size: 1.08rem; font-weight: 650; color: var(--brand-ink); cursor: pointer; list-style: none; }
.language-group > summary::-webkit-details-marker { display: none; }
.language-group > summary > span:first-child { display: flex; align-items: center; gap: 1rem; }
.language-group__count { min-width: 2.8rem; padding: .4rem; border: 1px solid var(--line-2); border-radius: 8px; font-size: .85rem; text-align: center; font-variant-numeric: tabular-nums; }
.language-group__toggle { color: var(--action); font-size: 1.7rem; font-weight: 400; }
.language-group[open] .language-group__toggle { transform: rotate(45deg); }
.language-group__body > p { max-width: 75ch; font-size: .9rem; color: var(--text-2); }
.language-list { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem 1.4rem; }
.language-list a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .8rem .6rem; min-height: 64px; text-decoration: none; border-bottom: 1px solid var(--line); border-radius: 4px; }
.language-list a:hover { background: var(--surface); }
.language-list strong { font-size: .9rem; color: var(--brand-ink); }
.language-list small { display: block; font-size: .68rem; color: var(--text-2); margin-top: .25rem; }
.language-group__body .language-group__footnote { font-size: .78rem; margin-bottom: 1.6rem; }
.language-confirm { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.language-confirm h2 { margin-bottom: 1.5rem; }
.language-confirm p { font-size: .94rem; line-height: 1.8; color: var(--text-2); }
.language-interest { padding: 2rem; border: 1px solid var(--line-2); background: var(--surface); border-radius: var(--r-lg); }
.language-interest h3 { font-size: 1.5rem; }
.language-interest label { display: block; font-size: .8rem; font-weight: 650; margin-top: 1.5rem; }
.language-interest select { width: 100%; min-width: 0; min-height: 52px; margin: .5rem 0 1rem; padding: .7rem; border: 1px solid var(--line-2); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font: inherit; font-size: 1rem; }
.language-interest .btn { font-size: .86rem; white-space: normal; }
.language-interest .language-interest__note { font-size: .75rem; margin: 1rem 0 0; }
@media (max-width: 63.99rem) {
    .language-hero__grid { gap: 2rem; }
    .language-base { gap: .65rem; }
    .language-card { padding: 1.25rem; }
    .language-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
    .language-hero__grid, .language-base, .language-confirm, .language-levels__grid { grid-template-columns: 1fr; }
    .language-hero h1 { font-size: clamp(2.7rem, 10.5vw, 4rem); }
    .language-kit { padding: 1.5rem; }
    .language-kit__formula { font-size: 5rem; }
    .language-card { padding: 1.5rem; }
    .language-levels summary span { display: block; margin: .5rem 0 0; }
    .language-levels__grid { gap: .5rem; }
    .language-list { grid-template-columns: 1fr; gap: 0; }
    .language-group > summary { font-size: .94rem; }
    .language-catalogue .home-heading { align-items: start; }
    .language-interest { padding: 1.5rem; }
}

/* Stručná jazyková nabídka: stejné měřítko jako ostatní rozcestníky. */
.languages-page { font-family: var(--font-ui); }
.languages-page .language-hero { padding-block: clamp(2.25rem, 4vw, 3.5rem) 2rem; }
.languages-page .language-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.12; margin: .7rem 0 0; }
.language-hero__count { color: var(--action); }
.languages-page .language-directory { padding-top: 0; padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.language-directory__panel { padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.language-directory__tools { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-bottom: 1.25rem; margin-bottom: .6rem; border-bottom: 1px solid var(--line); }
.language-directory__status { margin: 0; padding-block: .8rem; font-size: .78rem; color: var(--text-2); }
.language-directory__status strong { margin-left: .5rem; color: var(--brand-ink); font-weight: 650; font-variant-numeric: tabular-nums; }
.language-search { width: min(100%, 20rem); }
.language-search label { display: block; margin-bottom: .5rem; font-size: .76rem; font-weight: 650; color: var(--brand-ink); }
.language-search__field { display: flex; align-items: center; gap: .65rem; padding-inline: .9rem; border: 1px solid var(--field-border); border-radius: var(--r-md); background: var(--bg); transition: border-color var(--t-fast) var(--ease); }
.language-search__field:focus-within { border-color: var(--action); outline: var(--focus-width) solid var(--focus); outline-offset: var(--focus-offset); }
.language-search__field svg { flex: 0 0 auto; fill: none; stroke: var(--text-2); stroke-width: 1.6; stroke-linecap: round; }
.languages-page .language-search input { width: 100%; min-width: 0; min-height: 48px; padding: .65rem 0; font: .9rem/1.5 var(--font-ui); border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--text); }
.languages-page .language-search input:focus { outline: 0; }
.language-directory__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .15rem 1.75rem; }
.language-directory__list li { min-width: 0; }
.language-directory__list a { display: flex; align-items: center; justify-content: space-between; gap: .65rem; min-height: 54px; padding: .8rem .65rem; border-bottom: 1px solid var(--line); border-radius: var(--r-sm); text-decoration: none; color: var(--brand-ink); transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease); }
.language-directory__list strong { font-size: .94rem; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.language-directory__list a > span { color: var(--text-3); font-size: .85rem; transition: transform var(--t-fast) var(--ease), color var(--t-fast) var(--ease); }
.language-directory__list a:is(:hover, :focus-visible) { background: var(--surface-2); color: var(--action); }
.language-directory__list a:is(:hover, :focus-visible) > span { color: var(--action); transform: translate(2px, -2px); }
.language-directory__empty { padding: 2rem 0; color: var(--text-2); font-size: .95rem; }
.language-directory__empty p { margin-bottom: .75rem; }
.language-directory__empty button { padding: 0; border: 0; background: none; color: var(--action); cursor: pointer; font-family: var(--font-ui); }
.language-directory__action { margin-top: 1.75rem; }
.language-directory [hidden] { display: none !important; }
.learning-paper .learning-result { padding: 1.15rem 1.35rem; border: 1px solid var(--line-2); border-inline-start: 3px solid var(--action); border-radius: var(--r-md); }
@media (max-width: 47.99rem) {
    .languages-page .language-hero h1 { font-size: clamp(2.35rem, 8vw, 3.5rem); }
    .language-directory__tools { align-items: stretch; flex-direction: column-reverse; gap: .5rem; padding-bottom: .75rem; }
    .language-search { width: 100%; }
    .language-directory__status { padding-block: .25rem; }
    .language-directory__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .15rem .75rem; }
    .language-directory__list a { padding-inline: .35rem; }
    .language-directory__list strong { font-size: .86rem; }
}
@media (max-width: 23rem) { .language-directory__list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .language-directory__list a > span { transition: none; } }

/* Další studium: školy mají srovnatelný prostor, podmínky zůstávají u nabídky. */
.learning-photo.progression-photo img { aspect-ratio: 4 / 3; object-position: center; }
.progression-nav { display: flex; flex-wrap: wrap; gap: .4rem 2rem; padding-block: .8rem; border-block: 1px solid var(--line-2); }
.progression-nav a { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; font-size: .82rem; font-weight: 650; text-decoration: none; }
.progression-nav a::before { content: ""; width: 7px; height: 7px; border: 1px solid var(--action); border-radius: 50%; }
.progression-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.progression-group { margin-bottom: 1.5rem; }
.progression-group h3 { margin-bottom: .25rem; }
.progression-group p { font-size: .88rem; margin: 0; }
.progression-group--abroad { margin-top: 3.5rem; }
.progression-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; }
.progression-grid--abroad { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.progression-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem, 2.3vw, 2rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.progression-card .eyebrow { font-size: .64rem; color: var(--action); margin-bottom: 1rem; }
.progression-page .progression-card h3 { font-size: 1.45rem; letter-spacing: -.025em; }
.progression-card p { font-size: .88rem; }
.progression-card .progression-card__program { font-size: .78rem; min-height: 3.6em; }
.progression-card__highlight { margin: .5rem 0 1.4rem; padding-block: 1.1rem; border-block: 1px solid var(--line); }
.progression-card__highlight strong { display: block; color: var(--brand-ink); font-size: 1.2rem; letter-spacing: -.025em; }
.progression-card__highlight span { display: block; margin-top: .4rem; font-size: .76rem; color: var(--text-2); line-height: 1.7; }
.progression-card .progression-card__condition { font-size: .8rem; }
.progression-card__actions { display: flex; flex-direction: column; align-items: start; gap: .1rem; margin-top: auto; padding-top: .5rem; }
.progression-card__actions .text-link { font-size: .86rem; }
.progression-source { display: inline-flex; align-items: center; min-height: 44px; color: var(--text-2); font-size: .73rem; text-underline-offset: 3px; line-height: 1.7; }
.progression-current { margin: 1.6rem 0 0; max-width: 105ch; }
.progression-process { border-top: 1px solid var(--line); }
.progression-page .learning-questions { background: var(--bg); }
@media (min-width: 64rem) {
    .progression-grid--abroad h3 { min-height: 2.8em; }
    .progression-grid--abroad .progression-card__highlight { min-height: 7.2rem; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
    .progression-grid--abroad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .progression-grid--abroad > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 47.99rem) {
    .progression-grid, .progression-grid--abroad { grid-template-columns: 1fr; }
    .progression-nav { gap: .15rem 1.5rem; }
    .progression-card .progression-card__program { min-height: 0; }
    .progression-page .progression-card h3 { font-size: 1.35rem; }
}

/* Praxe a výuka: společná redakční struktura, skutečný obsah a nativní detaily. */
.learning-page :is(h2, h3, p, li) { overflow-wrap: break-word; }
.learning-page h2 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.2; letter-spacing: -.035em; margin-bottom: 1.4rem; }
.learning-page h3 { font-size: 1.2rem; line-height: 1.4; margin-bottom: .7rem; }
.learning-page p { color: var(--text-2); line-height: 1.8; }
.learning-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.learning-hero h1 { font-size: clamp(2.9rem, 5.1vw, 4.6rem); line-height: 1.1; letter-spacing: -.045em; margin: 1.2rem 0 1.7rem; }
.learning-hero .lead { max-width: 46ch; font: 1.05rem/1.85 var(--font-ui); margin-bottom: 1.8rem; }
.learning-hero__secondary { display: flex; width: fit-content; margin-top: .6rem; font-size: .85rem; }
.practice-ticket { padding: clamp(1.5rem, 3.3vw, 2.75rem); border-radius: var(--r-lg); background: var(--brand-ink); }
.practice-ticket p { color: var(--text-invert); }
.practice-ticket strong { color: var(--text-invert); }
.practice-ticket .eyebrow { color: #ded1e4; font-size: .65rem; }
.practice-ticket .practice-ticket__number { display: flex; align-items: baseline; gap: 1rem; line-height: 1; margin: 1rem 0 .7rem; font-size: 1.3rem; }
.practice-ticket__number strong { font-size: clamp(5rem, 8vw, 7rem); font-weight: 750; letter-spacing: -.075em; }
.practice-ticket__label { font-size: .85rem; }
.practice-ticket__blocks { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid #775784; border-bottom: 1px solid #775784; padding: 1.1rem 0; margin: 1.4rem 0; font-size: .74rem; color: white; }
.practice-ticket__blocks strong { display: block; font-size: 1.8rem; margin-bottom: .2rem; line-height: 1.2; }
.practice-ticket .practice-ticket__note { font-size: .77rem; color: #e2d6e7; margin-bottom: 0; }
.learning-photo { overflow: hidden; border: 1px solid var(--line-2); border-radius: var(--r-lg); padding: .5rem; background: var(--surface); margin: 0; }
.learning-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 50% 85%; border-radius: calc(var(--r-lg) - .4rem); }
.learning-photo figcaption { padding: .85rem .65rem .4rem; font-size: .72rem; color: var(--text-2); line-height: 1.75; }
.learning-photo figcaption strong { color: var(--brand-ink); }
.learning-photo a { display: inline-flex; min-height: 32px; align-items: center; gap: .5rem; }
.learning-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.75rem; }
.learning-heading > div { flex: 1; }
.learning-heading > p { max-width: 38ch; font-size: .95rem; margin-bottom: 1.4rem; }
.learning-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.learning-split > div > p { font-size: .94rem; max-width: 48ch; }
.learning-paper { background: var(--surface-2); }
.learning-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; margin: 0; padding: 0; }
.learning-timeline > li { position: relative; border-top: 1px solid var(--line-2); padding-top: 1.5rem; }
.learning-timeline__stop { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: var(--bg); border: 1px solid var(--action); border-radius: 50%; font-size: .7rem; color: var(--action); position: absolute; top: -17px; right: 0; }
.learning-timeline .eyebrow { font-size: .62rem; padding-right: 1.8rem; margin-bottom: 1.2rem; }
.learning-timeline p { font-size: .88rem; }
.learning-timeline .text-link, .learning-timeline__hours { font-size: .8rem; }
.learning-timeline__hours { color: var(--brand-ink); font-weight: 650; }
.learning-page .learning-note { font-size: .8rem; color: var(--text-2); line-height: 1.8; }
.learning-timeline + .learning-note { margin: 1.9rem 0 0; max-width: 94ch; }
.learning-scenario { border-top: 1px solid var(--line-2); }
.learning-scenario:last-child { border-bottom: 1px solid var(--line-2); }
.learning-scenario > summary, .learning-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; padding: 1.3rem 0; font-size: 1.02rem; font-weight: 650; color: var(--brand-ink); line-height: 1.55; min-height: 64px; }
.learning-scenario > summary::-webkit-details-marker, .learning-fold > summary::-webkit-details-marker { display: none; }
.learning-scenario summary small { display: block; font-size: .63rem; text-transform: uppercase; letter-spacing: .07em; color: var(--action); margin-bottom: .5rem; font-weight: 650; }
.learning-scenario summary > span:last-child, .learning-fold summary > span:last-child { font-size: 1.6rem; color: var(--action); font-weight: 400; flex: 0 0 auto; }
.learning-scenario[open] summary > span:last-child, .learning-fold[open] summary > span:last-child { transform: rotate(45deg); }
.learning-scenario > div { padding-bottom: 1.5rem; }
.learning-scenario p { font-size: .89rem; }
.learning-scenario .text-link { font-size: .85rem; }
.learning-result { padding: 1rem 1.1rem; border-left: 2px solid var(--action); background: var(--surface); }
.learning-result strong { display: block; color: var(--brand-ink); margin-bottom: .3rem; font-size: .72rem; }
.learning-support { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.learning-support > div { border-top: 1px solid var(--line-2); padding-top: 1.2rem; }
.learning-support p { font-size: .9rem; }
.learning-takeaway { margin-top: 2rem; padding: 1.5rem 1.8rem; border: 1px solid var(--line-2); border-radius: var(--r-md); }
.learning-takeaway .eyebrow { margin-bottom: .5rem; }
.learning-takeaway p { margin: 0; font-size: .95rem; }
.learning-places { margin: 0; }
.learning-places > div { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; border-top: 1px solid var(--line-2); padding: 1.1rem 0; }
.learning-places > div:last-child { border-bottom: 1px solid var(--line-2); }
.learning-places dt { font-size: .98rem; font-weight: 650; color: var(--brand-ink); }
.learning-places dd { font-size: .74rem; text-align: right; color: var(--text-2); max-width: 20ch; margin: 0; }
.learning-story { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.learning-story figure { margin: 0; }
.learning-story img { display: block; width: 100%; height: auto; border-radius: var(--r-lg); }
.learning-story figcaption { font-size: .7rem; color: var(--text-2); margin-top: .6rem; }
.learning-story p { font-size: .94rem; }
.learning-curriculum { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 3rem; }
.learning-curriculum > div { border-top: 1px solid var(--line-2); padding-top: 1.3rem; }
.learning-curriculum p { font-size: .91rem; max-width: 50ch; }
.learning-fold { border-block: 1px solid var(--line-2); margin-top: 1.5rem; }
.learning-fold > div { max-width: 86ch; padding-bottom: 1rem; font-size: .9rem; }
.learning-notebook { padding: 2rem; background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-lg); }
.learning-notebook ol { list-style: none; padding: 0; margin: 0; counter-reset: tasks; }
.learning-notebook li { counter-increment: tasks; display: grid; grid-template-columns: 1.8rem 1fr; padding: 1rem 0; border-top: 1px solid var(--line); font-size: .9rem; }
.learning-notebook li::before { content: '0' counter(tasks); color: var(--action); font-size: .7rem; padding-top: .15rem; }
.learning-notebook li > span { grid-column: 2; font-size: .83rem; line-height: 1.7; margin-top: .4rem; color: var(--text-2); }
.learning-notebook > p:last-child { font-size: .74rem; margin: 1rem 0 0; }
.learning-outcome { padding: 1.6rem 1.8rem; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface-2); }
.learning-outcome li { margin-bottom: .8rem; font-size: .9rem; line-height: 1.8; }
.learning-outcome p { font-size: .9rem; }
.learning-questions { background: var(--surface-2); }
.learning-exact { padding-top: 2rem; }
.learning-invite { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.learning-invite > div:first-child { max-width: 43rem; }
.learning-invite h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.learning-invite p { font-size: .94rem; }
.learning-invite__actions { display: flex; flex-direction: column; align-items: start; gap: .6rem; flex-shrink: 0; }
.learning-bridge { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.35rem; margin-top: 1.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.learning-bridge p { max-width: 65ch; font-size: .87rem; color: var(--text-2); margin: 0; line-height: 1.75; }
.learning-bridge strong { color: var(--brand-ink); }
.learning-bridge .text-link { flex-shrink: 0; font-size: .82rem; }
@media (max-width: 63.99rem) {
    .learning-hero__grid { gap: 2rem; }
    .learning-invite { align-items: start; flex-direction: column; }
}
@media (max-width: 47.99rem) {
    .learning-hero__grid, .learning-split, .learning-timeline, .learning-support, .learning-story, .learning-curriculum { grid-template-columns: 1fr; }
    .learning-hero h1 { font-size: clamp(2.7rem, 10vw, 3.9rem); }
    .learning-hero .lead { font-size: 1rem; }
    .learning-heading { flex-direction: column; align-items: start; gap: .1rem; margin-bottom: 2.5rem; }
    .learning-heading > p { max-width: 46ch; }
    .learning-timeline { gap: 2.2rem; }
    .learning-timeline p { max-width: 46ch; }
    .learning-support { gap: 1rem; }
    .learning-scenario > summary { font-size: .98rem; }
    .learning-scenario summary small { font-size: .62rem; }
    .learning-places > div { align-items: start; flex-direction: column; gap: .25rem; }
    .learning-places dd { max-width: none; text-align: left; }
    .learning-notebook, .learning-outcome, .learning-takeaway { padding: 1.4rem; }
    .learning-invite__actions { width: 100%; }
    .learning-invite__actions .btn { width: 100%; }
    .learning-bridge { flex-direction: column; align-items: start; gap: .7rem; }
}

/* Admissions: quiet route detail, clear next actions, optional DOD booking. */
.admissions-note { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.admissions-note h2 { font-size: clamp(1.65rem, 2.7vw, 2.1rem); line-height: 1.25; }
.admissions-note p { font-size: .91rem; }
.admissions-note p:last-child { margin-bottom: 0; }
.admissions-note .quiet { font-size: .8rem; }
.admissions-route { list-style: none; padding: 0; margin: 1.5rem 0 0 .3rem; }
.admissions-route li { position: relative; padding: 0 0 1.65rem 1.8rem; border-left: 1px solid var(--line-2); }
.admissions-route li:last-child { padding-bottom: 0; border-color: transparent; }
.admissions-route li::before { content: ''; position: absolute; left: -.32rem; top: .35rem; width: .6rem; height: .6rem; border: 1.5px solid var(--action); border-radius: 50%; background: var(--surface); }
.admissions-route strong { display: block; font-size: 1rem; }
.admissions-route span { display: block; margin-top: .3rem; font-size: .81rem; color: var(--text-2); }
.admissions-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.admissions-choice { display: flex; flex-direction: column; padding: 1.7rem; color: var(--brand-ink); text-decoration: none; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); transition: border-color var(--t-base), background var(--t-base); }
.admissions-choice:hover, .admissions-choice:focus-visible { border-color: var(--action); background: var(--surface-2); }
.admissions-choice h3 { font-size: 1.3rem; line-height: 1.3; margin: .7rem 0 .3rem; }
.admissions-choice p { font-size: .88rem; margin-block: .65rem 1.4rem; }
.admissions-choice .eyebrow { font-size: .64rem; }
.admissions-choice .text-link { margin-top: auto; font-size: .84rem; }
.admissions-transfer { display: flex; align-items: center; justify-content: space-between; gap: 1.75rem; padding-top: 1.5rem; margin-top: 2rem; border-top: 1px solid var(--line-2); }
.admissions-transfer p { max-width: 66ch; font-size: .85rem; line-height: 1.75; margin: 0; }
.admissions-transfer strong { color: var(--brand-ink); }
.admissions-transfer .text-link { font-size: .82rem; flex-shrink: 0; }
.admissions-links > a, .admissions-links--text > div { display: block; text-decoration: none; padding-block: 1.25rem; border-top: 1px solid var(--line-2); }
.admissions-links > a:last-child, .admissions-links--text > div:last-child { border-bottom: 1px solid var(--line-2); }
.admissions-links > a strong { color: var(--brand-ink); font-size: 1.06rem; }
.admissions-links > a span { display: block; margin-top: .45rem; font-size: .83rem; }
.admissions-links--text p { font-size: .89rem; }
.admissions-steps { list-style: none; margin: 0; padding: 0; }
.admissions-steps li { display: flex; gap: 1.25rem; padding: 0 0 1.6rem; margin: 0 0 1.6rem; border-bottom: 1px solid var(--line-2); }
.admissions-steps li > span { flex-shrink: 0; color: var(--action); font-size: .75rem; padding-top: .3rem; }
.admissions-steps h3 { font-size: 1.13rem; line-height: 1.5; margin: 0 0 .5rem; }
.admissions-steps p { font-size: .91rem; margin: 0; }
.admissions-empty { padding: 1.5rem 1.8rem; border: 1px solid var(--line-2); border-radius: var(--r-lg); max-width: 55rem; }
.admissions-empty p { max-width: 72ch; font-size: .95rem; }
.admissions-page .admissions-walkin { color: var(--brand-ink); font-weight: 600; font-size: .83rem; }
.admissions-page .termlist__action { display: flex; flex-direction: column; align-items: start; gap: .65rem; }
.admissions-page .termlist__action .quiet { font-size: .75rem; }
@media (max-width: 63.99rem) { .admissions-choice { padding: 1.25rem; } .admissions-transfer { align-items: start; flex-direction: column; gap: .65rem; } }
@media (max-width: 47.99rem) { .admissions-choices { grid-template-columns: 1fr; } .admissions-choice { padding: 1.5rem; } .admissions-note { padding: 1.6rem; } }

.admissions-page .termlist__item > * { min-width: 0; overflow-wrap: anywhere; }
.admissions-page .termlist__date { white-space: nowrap; overflow-wrap: normal; }
@media (min-width: 48rem) { .admissions-page .termlist__item { grid-template-columns: 12rem minmax(0, 1fr) auto; } }

/* Rozcestníky: krátký úvod, čitelné názvy a konkrétní další krok. */
.hub-hero { padding-block: clamp(2.5rem, 5vw, 5rem); }
.hub-hero h1 { font-size: clamp(2.25rem, 4.2vw, 4rem); line-height: 1.08; letter-spacing: -.045em; margin: .7rem 0 1.4rem; }
.hub-hero__grid { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.hub-hero .lead { max-width:36rem; }
.hub-photo { margin:0; border:1px solid var(--line,#ded0e5); padding:.5rem; border-radius:1.4rem; background:#fff; }
.hub-photo img { width:100%; height:clamp(13rem,22vw,19rem); object-fit:cover; border-radius:1rem; }
.hub-photo figcaption { padding:.8rem .5rem .4rem; font-size:.8rem; line-height:1.6; }
.hub-photo figcaption a { display:block; margin-top:.3rem; }
.hub-heading { margin-bottom:1.5rem; font-size:1.5rem; }
.hub-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2.5rem; }
.hub-link { display:flex; align-items:flex-start; gap:1.2rem; padding:1.6rem .3rem; border-top:1px solid #dcccE2; text-decoration:none; color:inherit; transition:background .18s ease; }
.hub-link:hover { background:#f5eff8; }
.hub-link h2,.hub-link h3 { font-size:1.2rem; margin:0 0 .4rem; line-height:1.35; }
.hub-link p { font-size:.94rem; color:#63506f; margin:0; max-width:33rem; }
.hub-link__index { font-size:.72rem; color:#aa0062; padding-top:.35rem; font-weight:700; }
.hub-link__arrow { margin-left:auto; color:#ad0068; flex-shrink:0; }
.hub-notes > div { padding-bottom:1.7rem; margin-bottom:1.7rem; border-bottom:1px solid #dccee5; }
.hub-notes h2,.hub-notes h3 { margin:.4rem 0 .7rem; font-size:1.35rem; }
.hub-notes p { margin-bottom:1rem; }
.student-desk { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.student-task { min-width:0; padding:clamp(1.35rem,3vw,2rem); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); }
.student-task:target { border-color:var(--action); }
.student-task h2 { font-size:clamp(1.4rem,2.2vw,1.75rem); margin:.6rem 0 1rem; }
.student-task > p:not(.eyebrow) { max-width:48ch; color:var(--text-2); }
.student-task .btn { margin-top:.35rem; max-width:100%; white-space:normal; }
.student-task__note { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.student-task__note h3 { font-size:1rem; margin:0 0 .65rem; }
.student-task__note p,.student-task__notice { font-size:.9rem; color:var(--text-2); }
.student-plan { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1rem 2.5rem; padding:1.25rem 0; }
.student-plan h2 { font-size:1rem; margin:0; }
.student-plan p { font-size:.9rem; color:var(--text-2); margin:0; }
.student-email { display:inline-block; margin:.2rem 0 1.25rem; font-size:clamp(1.15rem,2.2vw,1.6rem); font-weight:650; overflow-wrap:anywhere; }
.student-support { padding:clamp(1.35rem,3vw,2rem); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); }
@media(max-width:48rem) { .student-desk,.student-plan { grid-template-columns:1fr; } }

/* Documents: practical editorial index, with dated files kept separate from guidance. */
.documents-hero { padding-block:clamp(2.5rem,5vw,4.5rem); }
.documents-hero__grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr); gap:clamp(2rem,7vw,6rem); align-items:center; }
.documents-hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); line-height:1.06; letter-spacing:-.045em; margin:.75rem 0 1.4rem; }
.documents-lead { color:var(--text-2); font-size:1.05rem; line-height:1.75; max-width:42ch; margin-bottom:1.5rem; }
.documents-context { padding:clamp(1.3rem,3vw,2rem); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-lg); }
.documents-context h2 { font-size:1.35rem; line-height:1.35; margin:.8rem 0; }
.documents-context p:not(.eyebrow) { font-size:.92rem; color:var(--text-2); margin-bottom:1.25rem; }
.documents-section-label { font-size:1.1rem; margin:0 0 1.5rem; }
.documents-quick { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:3rem; }
.documents-quick__link { display:flex; align-items:flex-start; gap:1.2rem; border-top:1px solid var(--line); padding:1.35rem .2rem; color:var(--text); text-decoration:none; transition:border-color var(--t-fast),background-color var(--t-fast); }
.documents-quick__link:hover { border-color:var(--action); background:var(--surface); }
.documents-quick__number { font-size:.7rem; font-weight:650; color:var(--action); padding-top:.25rem; }
.documents-quick__link strong { display:block; font-size:1rem; margin:0 0 .35rem; }
.documents-quick__link strong + span { display:block; font-size:.84rem; color:var(--text-2); }
.documents-quick__arrow { margin-left:auto; color:var(--action); }
.documents-library { background:var(--surface-2); }
.documents-library__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.documents-page :is(.documents-library__intro,.documents-help__inner) h2 { font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.17; letter-spacing:-.025em; margin:.8rem 0 1.3rem; }
.documents-library__intro > p:not(.eyebrow) { max-width:38ch; font-size:.94rem; color:var(--text-2); margin-bottom:1.5rem; }
.document-collection + .document-collection { margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--line); }
.document-collection__context > p:not(.eyebrow) { font-size:.88rem; color:var(--text-2); margin:.65rem 0 1.5rem; }
.document-category { font-size:1.1rem; line-height:1.4; margin:1.5rem 0 .85rem; }
.document-files { list-style:none; padding:0; margin:0; display:grid; gap:1rem; }
.document-card { display:flex; align-items:flex-start; gap:1.2rem; padding:clamp(1.2rem,2.5vw,1.8rem); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--surface); }
.document-card__file { flex:0 0 2rem; color:var(--action); text-align:center; }
.document-card__file svg { display:block; width:2rem; height:2.375rem; stroke:currentColor; stroke-width:1.5; }
.document-card__file > span { display:block; margin-top:.45rem; font-size:.6rem; font-weight:700; letter-spacing:.04em; }
.document-card__body { min-width:0; }
.document-card__scope { font-size:.73rem; color:var(--text-2); margin:0 0 .65rem; }
.document-card h4 { font-size:1.17rem; line-height:1.45; letter-spacing:-.02em; margin:0 0 .8rem; overflow-wrap:anywhere; }
.document-card__meta { display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin:0 0 .85rem; font-size:.75rem; color:var(--text-2); }
.document-card__note { font-size:.86rem; color:var(--text-2); margin-bottom:1.15rem; }
.document-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1.5rem; }
.document-card__actions a { display:inline-flex; align-items:center; gap:.5rem; min-height:2.75rem; }
.document-card__download { font-size:.8rem; color:var(--text-2); text-underline-offset:.2em; }
.documents-report { border-top:1px solid var(--line); padding-top:1.6rem; margin-top:1.8rem; }
.documents-report h3 { font-size:1.1rem; margin:0 0 .7rem; }
.documents-report p,.documents-empty { font-size:.9rem; color:var(--text-2); margin-bottom:1rem; }
.documents-help__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.documents-help__inner > div { max-width:39rem; }
.documents-help__inner p:not(.eyebrow) { font-size:.94rem; color:var(--text-2); }
.documents-help__inner > a { flex-shrink:0; }
.documents-support { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 2rem; border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.5rem; }
.documents-support p { margin:0; font-size:.85rem; color:var(--text-2); }
@media(max-width:48rem) {
    .documents-hero__grid,.documents-quick,.documents-library__grid { grid-template-columns:1fr; }
    .documents-help__inner { flex-direction:column; align-items:flex-start; }
    .document-card { gap:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .documents-quick__link { transition:none; } }
.parent-overview { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.parent-budget { padding:clamp(1.3rem,3vw,2.2rem); border:1px solid #dccee5; background:#fff; border-radius:1.4rem; }
.parent-budget h2 { font-size:2rem; line-height:1.1; margin:.7rem 0 1.4rem; }
.parent-budget > .text-link { display:block; margin-top:1rem; }
.parent-budget > p { font-size:.94rem; }
.nav__utility { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; padding-top:1.5rem; border-top:1px solid #dccee5; margin-top:1.2rem; font-size:.9rem; }
@media(max-width:47.99rem) {
 .hub-hero__grid,.parent-overview,.hub-links { grid-template-columns:1fr; }
 .hub-photo img { height:13rem; }
 .hub-hero__grid { gap:1.75rem; }
 .hub-link { padding-block:1.25rem; }
}
@media(prefers-reduced-motion:reduce) { .hub-link { transition:none; } }
.parent-hero .wrap { display:grid; grid-template-columns:1fr 1fr; gap:1rem 4rem; align-items:center; }
.parent-hero .eyebrow { grid-column:1/-1; margin:0; }
.parent-hero h1,.parent-hero .lead { margin:0; }
.parent-hero .lead { font-size:1.15rem; }
.article-context { margin-bottom:1.5rem; }
@media(max-width:47.99rem) {
 .parent-hero .wrap { grid-template-columns:1fr; gap:1.1rem; }
 .utility-nav__links > a:nth-last-child(-n+2) { display:none; }
 .parent-hero .lead { font-size:1rem; }
}

/* Dokončení orientace a obsahu 2026-09-25. */
:root { --site-header-h:calc(var(--header-h) + 3.5rem); }
html:has(body.page-home) { --site-header-h:var(--header-h); }
html { scroll-padding-top:calc(var(--site-header-h) + .75rem); }
:target, .message-success { scroll-margin-top:.5rem; }
.nav__link[aria-current="location"] { color:var(--brand-ink); border-bottom-color:var(--magenta); font-weight:700; }
.nav__panel .nav__link[aria-current="location"] { color:var(--action); }
.section-nav { border-top:1px solid var(--line); background:var(--bg); }
.section-nav__inner { display:flex; align-items:center; gap:1rem; min-height:3.5rem; }
.section-nav__label { flex:none; display:flex; align-items:center; gap:.65rem; padding-right:1rem; border-right:1px solid var(--line); font-size:.69rem; font-weight:650; letter-spacing:.065em; text-transform:uppercase; color:var(--text-3); }
.section-nav__label::before { content:''; width:.4rem; height:.4rem; border:1.5px solid var(--action); border-radius:50%; }
.section-nav__links { display:flex; align-items:center; gap:.25rem; flex:1; min-width:0; margin:0; padding:.4rem .2rem; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
.section-nav[data-enhanced] .section-nav__links { scrollbar-width:none; }
.section-nav[data-enhanced] .section-nav__links::-webkit-scrollbar { display:none; }
.section-nav__links li { flex:none; }
.section-nav__links a { display:flex; align-items:center; min-height:2.5rem; padding:.45rem .8rem; font-size:.79rem; font-weight:550; line-height:1.35; white-space:nowrap; border:1px solid transparent; border-radius:2rem; color:var(--text); text-decoration:none; transition:background-color var(--t-fast),border-color var(--t-fast); }
.section-nav__links a[aria-current] { background:var(--plum); color:#fff; }
.section-nav__links a:hover { border-color:var(--line-strong); }
.section-nav__links a:focus-visible { outline-offset:-2px; }
.section-nav__controls { display:flex; flex:none; gap:.15rem; }
.section-nav__controls[hidden] { display:none; }
.section-nav__controls button { width:2.75rem; height:2.75rem; border:1px solid var(--line); border-radius:50%; color:var(--action); font-size:1.1rem; }
.section-nav__controls button:hover:not(:disabled) { background:var(--surface-2); border-color:var(--action); }
.section-nav__controls button:disabled { color:var(--text-3); opacity:.4; cursor:default; }
@media(max-width:75rem) { .section-nav__label { display:none; } }
@media(max-width:48rem) { .section-nav__inner { gap:.4rem; } .section-nav__links a { padding-inline:.7rem; font-size:.8rem; } }
@media(min-width:62rem) { .with-aside > aside { top:calc(var(--site-header-h) + var(--sp-5)); } }
.sitemap-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem 2rem; list-style:none; padding:0; }
.sitemap-group li { border-top:1px solid var(--line-2); padding-top:1rem; }
.sitemap-group p { font-size:.9rem; margin-top:.4rem; }
.footer__grid { grid-template-columns:1.1fr 1.2fr 1fr 1fr 1.1fr; gap:1.6rem; }
@media(max-width:70rem) { .footer__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:48rem) { .footer__grid,.sitemap-group { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:30rem) { .footer__grid,.sitemap-group { grid-template-columns:1fr; } }

/* Content completion: restrained, keyboard-accessible study outline. */
.curriculum-group { border-bottom: 1px solid var(--line,#d9cbe1); }
.curriculum-group summary { cursor:pointer; display:flex; gap:1rem; justify-content:space-between; padding:1.3rem 0; }
.curriculum-group summary::after { content:'+'; color:var(--pink,#b60065); font-size:1.25rem; }
.curriculum-group[open] summary::after { content:'−'; }
.curriculum-group summary span { margin-left:auto; font-size:.82rem; color:var(--muted,#66526e); }
.curriculum-group__body { padding-bottom:1.5rem; }
.curriculum-list { list-style:none; padding:0; margin:0; }
.curriculum-list li { display:grid; grid-template-columns:1.25fr 1fr; gap:2rem; padding:.8rem 0; border-top:1px solid var(--line,#d9cbe1); font-size:.92rem; }
.curriculum-list li span { color:var(--muted,#66526e); }
.alumni-example { padding:1rem 0; border-bottom:1px solid var(--line,#d9cbe1); }
.alumni-example h3 { font-size:1.05rem; }
@media(max-width:40rem) { .curriculum-group summary { flex-wrap:wrap; gap:.4rem; } .curriculum-group summary span { margin-left:0; } .curriculum-group summary::after { margin-left:auto; } .curriculum-list li { grid-template-columns:1fr; gap:.35rem; } }

.hub-notes > a { display:block; margin-block:.75rem; }
.footer .quiet { color:var(--text-invert-2); }
.ribbon__text--mobile { display:none; }
@media(max-width:40rem) {
    .ribbon__text--full { display:none; }
    .ribbon__text--mobile { display:inline; }
    .ribbon__inner { gap:.2rem .7rem; padding-block:.5rem; line-height:1.5; }
}

/* Délku textu hlídá CMS; nezalomitelné slovo nesmí rozšířit stránku. */
.brand-hero__copy, .home-heading, .role-card, .study-stop__body, .home-cost, .home-eqf, .next-step, .home-contact__copy, .ribbon__inner { overflow-wrap:anywhere; }
.ribbon__inner > * { min-width:0; }

/* The school's human face: a quiet editorial pause, below student stories. */
.director-intro__grid {
    display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center; border-block: 1px solid var(--line); padding-block: 2.75rem;
}
.director-person { margin: 0; min-width: 0; }
.director-person__portrait { position: relative; width: 144px; aspect-ratio: 1; overflow: hidden; border-radius: 16px; background: var(--surface-2); }
.director-person__portrait picture { display: block; height: 100%; }
.director-person__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
/* The original 385×385 school asset includes a 174×174 portrait at (4,3).
   Display windows preserve its pixels, signature and source file intact.
   These rules are never applied to a replacement photo selected in the CMS. */
.director-person--original .director-person__portrait img {
    position: absolute; width: 221.2644%; max-width: none; height: auto; left: -2.2989%; top: -1.7241%;
}
.director-person figcaption { display: grid; gap: .25rem; margin-top: 1rem; font-size: .8rem; line-height: 1.5; }
.director-person figcaption strong { color: var(--brand-ink); font-weight: 700; }
.director-person figcaption span { color: var(--text-2); }
.director-intro__copy .eyebrow { margin-bottom: .65rem; }
.director-intro__copy h2 { font-size: clamp(1.65rem, 2.65vw, 2.35rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 750; }
.director-intro__copy h2 span { display: block; }
.director-intro__copy > p:not(.eyebrow) { max-width: 65ch; margin-block: 1rem .65rem; color: var(--text-2); font-size: .95rem; line-height: 1.75; }
.director-profile__heading { margin-bottom: 2.5rem; }
.director-profile__grid { display: grid; grid-template-columns: 216px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.director-profile .director-person__portrait { width: 176px; }
.director-person__signature { position: relative; width: 184px; aspect-ratio: 244 / 84; overflow: hidden; margin-top: .9rem; mix-blend-mode: multiply; }
.director-person__signature img { position: absolute; max-width: none; width: 157.7869%; height: auto; left: -22.541%; top: -238.0952%; }
.director-profile__content { min-width: 0; }
.director-quote, .director-quote blockquote { margin: 0; padding: 0; border: 0; background: none; }
.director-quote blockquote p { margin: 0; font-family: var(--font-body); font-style: italic; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.5; letter-spacing: -.025em; color: var(--brand-ink); text-wrap: pretty; }
.director-quote figcaption { margin-top: 1rem; font-size: .76rem; line-height: 1.6; color: var(--text-2); }
.director-profile__approach { margin-block: 2.25rem 1.2rem; font-size: 1.1rem; }
.director-principles { margin: 0 0 1rem; }
.director-principles > div { display: grid; grid-template-columns: minmax(130px, .65fr) minmax(0, 1.8fr); gap: 1.5rem; border-top: 1px solid var(--line-2); padding-block: 1.1rem; }
.director-principles dt { font-weight: 700; font-size: .9rem; color: var(--brand-ink); line-height: 1.6; }
.director-principles dd { margin: 0; font-size: .9rem; line-height: 1.75; color: var(--text-2); }
@media (max-width: 47.99rem) {
    .director-intro__grid, .director-profile__grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
    .director-intro__grid { padding-block: 2rem; }
    .director-intro .director-person { display: flex; gap: 1.25rem; align-items: center; }
    .director-intro .director-person__portrait { width: 96px; flex-shrink: 0; }
    .director-intro .director-person figcaption { margin: 0; }
    .director-profile .director-person { display: grid; grid-template-columns: 124px minmax(0, 1fr); column-gap: 1.25rem; align-items: center; }
    .director-profile .director-person__portrait { width: 124px; grid-row: 1 / 3; }
    .director-profile .director-person figcaption { grid-column: 2; margin: 0; }
    .director-profile .director-person__signature { width: min(100%, 160px); grid-column: 2; margin: 0; }
    .director-profile__heading { margin-bottom: 1.75rem; }
    .director-principles > div { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
}

.director-person figcaption, .director-intro__copy, .director-profile__content { overflow-wrap: anywhere; }
.director-person.director-person--no-photo { display: block; }

/* Lidé a výuka: people in context, with evidence from real school visits. */
.people-page h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.035em; line-height: 1.2; }
.people-hero { padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: 3rem; }
.people-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.people-hero__grid--text { grid-template-columns: minmax(0, 760px); }
.people-hero h1 { font-size: clamp(2.6rem, 4.4vw, 4.25rem); line-height: 1.1; letter-spacing: -.045em; }
.people-hero__lead { margin-block: 1.5rem; max-width: 46ch; font-size: 1rem; line-height: 1.8; color: var(--text-2); }
.people-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.4rem; }
.people-hero__actions .btn { font-size: .9rem; }
.people-hero__photo { margin: 0; min-width: 0; border: 1px solid var(--line-2); padding: .5rem; background: var(--surface); border-radius: 22px; }
.people-hero__photo picture { display: block; border-radius: 15px; overflow: hidden; }
.people-hero__photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 42% 50%; }
.people-hero__photo figcaption { padding: 1rem .6rem .35rem; display: grid; gap: .35rem; font-size: .78rem; line-height: 1.5; }
.people-hero__photo-label { color: var(--text-2); font-size: .7rem; }
.people-hero__photo figcaption strong { color: var(--brand-ink); }
.people-hero__photo figcaption a { display: inline-flex; align-items: center; gap: .5rem; justify-self: start; min-height: 36px; font-weight: 650; text-decoration: none; }
.people-hero__photo figcaption a:hover { text-decoration: underline; }
.teaching-heading { margin-bottom: 2.25rem; }
.teaching-heading > p:not(.eyebrow) { color: var(--text-2); max-width: 62ch; line-height: 1.8; margin-top: 1rem; }
.teaching-heading--split { display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.teaching-heading--split > p { max-width: 39ch; margin: 0; font-size: .95rem; }
.teaching-roles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.teaching-role { display: flex; flex-direction: column; align-items: start; padding-block: 1.5rem 0; border-top: 1px solid var(--line-2); min-width: 0; }
.teaching-role__number { display: block; margin-bottom: .9rem; color: var(--action); font-family: var(--font-body); font-size: 1rem; font-style: italic; }
.teaching-role h3 { font-size: 1.2rem; line-height: 1.35; max-width: 23ch; }
.teaching-role > p { color: var(--text-2); font-size: .92rem; line-height: 1.8; margin-block: 1rem .75rem; }
.teaching-role .text-link { margin-top: auto; font-size: .84rem; }
.teaching-visits__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
.teaching-visit { min-width: 0; }
.teaching-visit__link { display: flex; flex-direction: column; align-items: start; height: 100%; color: var(--brand-ink); text-decoration: none; border-radius: 16px; }
.teaching-visit__image { width: 100%; position: relative; border-radius: 16px; overflow: hidden; background: var(--surface-2); }
.teaching-visit__image picture { display: block; }
.teaching-visit__image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 32%; }
.teaching-visit__image > span { position: absolute; bottom: .8rem; right: .8rem; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--action); background: var(--surface); }
.teaching-visit__meta { display: flex; flex-wrap: wrap; gap: .25rem .35rem; color: var(--text-2); font-size: .72rem; margin-top: 1.15rem; line-height: 1.6; }
.teaching-visit h3 { margin-top: .6rem; font-size: 1.45rem; line-height: 1.3; letter-spacing: -.025em; }
.teaching-visit__summary { color: var(--text-2); font-size: .93rem; line-height: 1.8; margin-block: .9rem; }
.teaching-visit__link > .text-link { color: var(--action); margin-top: auto; }
.teaching-visit__link:hover h3, .teaching-visit__link:focus-visible h3 { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.teaching-support__grid { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.teaching-support__person > .text-link { margin-top: .8rem; font-size: .8rem; }
.teaching-support__intro { max-width: 64ch; color: var(--text-2); line-height: 1.8; margin-block: 1rem 1.5rem; }
.teaching-support__contacts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.teaching-support__contacts > div { padding-top: 1.2rem; border-top: 1px solid var(--line-2); }
.teaching-support__contacts dt { color: var(--brand-ink); font-weight: 700; font-size: .94rem; margin-bottom: .6rem; }
.teaching-support__contacts dd { margin: 0; color: var(--text-2); font-size: .9rem; line-height: 1.8; }
.teaching-support__contacts .text-link { display: flex; width: fit-content; font-size: .83rem; margin-top: .5rem; }
.teaching-invite .learning-invite { padding-block: 0; border: 0; }

/* One real moment, with its source; framed like the homepage photographs. */
.story-photo { margin: 0; min-width: 0; padding: .5rem; border: 1px solid var(--line-2); border-radius: 22px; background: var(--surface); }
.story-photo picture { display: block; border-radius: 15px; overflow: hidden; }
.story-photo img { display: block; width: 100%; height: auto; border-radius: 0; }
.story-photo figcaption { display: grid; gap: .35rem; margin: 0; padding: .85rem .55rem .35rem; font: .78rem/1.65 var(--font-ui); color: var(--text-2); }
.story-photo figcaption a { display: inline-flex; align-items: center; gap: .4rem; justify-self: start; min-height: 36px; font-weight: 650; color: var(--action); text-decoration: none; }
.story-photo figcaption a:hover, .story-photo figcaption a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.story-photo--languages { width: 100%; max-width: 340px; justify-self: center; }
.story-photo--after img { aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 35%; }
.prose .story-photo { margin-block: 1.75rem 2rem; }
.prose .story-photo figcaption { text-align: left; }
.prose .story-photo img { margin: 0; }
.language-fieldwork { border-block: 1px solid var(--line); }
.language-fieldwork h2 { margin-bottom: 1.3rem; }
.language-fieldwork .learning-note { margin-block: 1rem; }
.photo-grid--text, .learning-story:not(:has(figure)) { grid-template-columns: minmax(0, 760px); }
@media (max-width: 63.99rem) {
    .teaching-roles__grid { gap: 1.5rem; }
    .teaching-heading--split { display: block; }
    .teaching-heading--split > p { max-width: 62ch; margin-top: 1rem; }
}
@media (max-width: 47.99rem) {
    .people-hero__grid, .teaching-roles__grid, .teaching-visits__grid, .teaching-support__grid { grid-template-columns: minmax(0, 1fr); }
    .people-hero h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); }
    .people-hero__photo img { aspect-ratio: 4 / 3; }
    .teaching-role h3 { max-width: none; }
    .teaching-role { padding-top: 1.1rem; }
    .teaching-role__number { margin-bottom: .6rem; }
    .teaching-role > p { margin-block: .6rem .4rem; }
    .teaching-support__grid { gap: 1.5rem; }
    .teaching-support__person .director-person { display: flex; align-items: center; gap: 1.25rem; }
    .teaching-support__person .director-person__portrait { width: 96px; flex-shrink: 0; }
    .teaching-support__person .director-person figcaption { margin: 0; }
    .teaching-support__contacts { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
}

/* Profession discovery: the homepage palette, quieter than an image catalogue. */
.career-page { overflow-wrap: anywhere; }
.career-hero { padding-block: clamp(2rem, 4vw, 3.25rem) clamp(2.5rem, 5vw, 4rem); }
.career-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.career-hero h1 { font-size: clamp(2.6rem, 4.8vw, 4.5rem); line-height: 1.12; letter-spacing: -.045em; }
.career-hero__intro > p { max-width: 42ch; color: var(--text-2); font-size: .98rem; line-height: 1.8; }
.career-hero__intro .text-link { margin-top: 1rem; }
.career-directions { padding-bottom: clamp(3rem, 6vw, 5rem); }
.career-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem 4rem; margin-bottom: 1.75rem; }
.career-heading h2 { font-size: clamp(1.75rem, 2.9vw, 2.5rem); font-weight: 750; letter-spacing: -.035em; line-height: 1.2; }
.career-heading > p { max-width: 44ch; font-size: .88rem; color: var(--text-2); line-height: 1.75; }
.career-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; list-style: none; padding: 0; margin: 0; }
.career-card { --career-surface: #f2edf5; --career-border: #ded2e5; --career-detail: #58336d; min-width: 0; }
.career-card--sand { --career-surface: #f6eee5; --career-border: #e8dfd3; --career-detail: #80562d; }
.career-card--sage { --career-surface: #edf1ec; --career-border: #dce4d9; --career-detail: #406052; }
.career-card__link { display: flex; flex-direction: column; height: 100%; padding: 1.5rem 1.65rem 1.15rem; background: var(--career-surface); border: 1px solid var(--career-border); border-radius: var(--r-lg); text-decoration: none; color: var(--brand-ink); transition: border-color var(--t-base) var(--ease), transform var(--t-base) var(--ease); }
.career-card__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--career-detail); margin-bottom: 1.65rem; }
.career-icon { flex: 0 0 auto; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.career-card__number { font-family: var(--font-body); font-size: .94rem; font-style: italic; }
.career-card__interest { color: var(--career-detail); font-size: .66rem; font-weight: 650; text-transform: uppercase; letter-spacing: .09em; line-height: 1.6; margin: 0 0 .5rem; }
.career-card h3 { font-size: clamp(1.25rem, 1.9vw, 1.55rem); font-weight: 750; line-height: 1.25; text-wrap: initial; }
.career-card__summary { margin-block: .85rem 1.35rem; color: var(--text-2); font-size: .88rem; line-height: 1.75; }
.career-card__action { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--career-border); padding-top: .85rem; margin-top: auto; font-size: .8rem; font-weight: 650; }
.career-card__arrow { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid var(--career-border); border-radius: 50%; color: var(--action); transition: background var(--t-base) var(--ease), color var(--t-base) var(--ease); }
.career-card__link:is(:hover, :focus-visible) { border-color: var(--career-detail); }
.career-card__link:is(:hover, :focus-visible) h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.career-card__link:is(:hover, :focus-visible) .career-card__arrow { color: #fff; background: var(--action); border-color: var(--action); }
.career-directions__note { max-width: 86ch; font-size: .78rem; color: var(--text-2); line-height: 1.8; margin-top: 1.4rem; }
.career-connection { background: var(--surface-2); border-block: 1px solid var(--line); padding-block: clamp(3rem, 5vw, 4.5rem); }
.career-connection .career-heading { margin-bottom: 2.75rem; }
.career-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.career-step { position: relative; display: flex; flex-direction: column; align-items: start; padding: 1.65rem 2rem 0 0; border-top: 1px solid var(--line-2); text-decoration: none; color: var(--brand-ink); min-width: 0; }
.career-step + .career-step { padding-left: 1.25rem; }
.career-step:last-child { padding-right: 0; }
.career-step__station { position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border: 2px solid var(--action); border-radius: 50%; background: var(--surface-2); }
.career-step + .career-step .career-step__station { left: 1.25rem; }
.career-step__label { font-size: .67rem; text-transform: uppercase; font-weight: 650; letter-spacing: .09em; color: var(--text-2); margin-bottom: .65rem; }
.career-step h3 { font-size: 1.2rem; font-weight: 750; line-height: 1.35; }
.career-step p { color: var(--text-2); font-size: .87rem; line-height: 1.8; margin-block: .8rem .7rem; max-width: 36ch; }
.career-step .text-link { color: var(--action); margin-top: auto; font-size: .8rem; }
.career-step:is(:hover, :focus-visible) h3 { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.career-step:is(:hover, :focus-visible) .career-step__station { background: var(--action); }
.career-partners { padding-top: 3rem; }
.career-partners__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 3rem; padding: 0; margin: 0 0 1rem; list-style: none; }
.career-partners__list li { border-top: 1px solid var(--line-2); padding-top: 1.25rem; }
.career-partners__list h3 { font-size: 1.25rem; }
.career-partners__list p { font-size: .9rem; line-height: 1.75; color: var(--text-2); margin-top: .75rem; }
.career-invite { padding-block: clamp(3rem, 5vw, 4.5rem); }
.career-invite__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2.5rem; padding: clamp(1.5rem, 3.5vw, 3rem); border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); }
.career-invite h2 { font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.22; max-width: 24ch; font-weight: 750; letter-spacing: -.035em; text-wrap: initial; }
.career-invite__inner > div > p:not(.eyebrow) { color: var(--text-2); font-size: .94rem; line-height: 1.8; max-width: 58ch; margin-top: 1rem; }
.career-invite__actions { display: flex; flex-direction: column; align-items: start; gap: .5rem; }
.career-invite__actions .btn { font-size: .9rem; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    html:not([data-motion="reduce"]) .career-card__link:hover { transform: translateY(-3px); }
}
@media (max-width: 63.99rem) {
    .career-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; }
    .career-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .career-card__top { margin-bottom: 1.3rem; }
    .career-card h3 { font-size: 1.45rem; }
    .career-heading { gap: 2rem; }
    .career-heading > p { max-width: 38ch; }
}
@media (max-width: 47.99rem) {
    .career-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 1.35rem; }
    .career-hero h1 { font-size: clamp(2.25rem, 8vw, 3.5rem); }
    .career-hero__intro > p { max-width: 56ch; font-size: .94rem; }
    .career-hero__intro .text-link { margin-top: .5rem; }
    .career-heading { display: block; }
    .career-heading > p { margin-top: .85rem; max-width: 54ch; }
    .career-invite__inner { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .career-invite__actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
    .career-steps { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .career-step, .career-step + .career-step { padding: 0 0 1.5rem 1.5rem; border-top: 0; border-left: 1px solid var(--line-2); }
    .career-step:last-child { padding-bottom: 0; }
    .career-step__station, .career-step + .career-step .career-step__station { left: -5px; top: 4px; }
    .career-step p { max-width: 52ch; }
    .career-partners__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 35.99rem) {
    .career-grid { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
    .career-card__link { padding: 1.25rem; }
    .career-card__top { margin-bottom: .9rem; }
    .career-card__summary { margin-bottom: 1.1rem; }
    .career-directions__note { font-size: .76rem; }
}

/* Alumni: people and their context, without pretending an archive is a current CV. */
.alumni-page { overflow-wrap: anywhere; }
.alumni-hero { padding-block: clamp(2rem, 4vw, 3.25rem) 2.75rem; }
.alumni-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.alumni-hero__grid.photo-grid--text { grid-template-columns: minmax(0, 760px); }
.alumni-hero h1 { font-size: clamp(2.6rem, 4.3vw, 4.15rem); letter-spacing: -.045em; line-height: 1.15; }
.alumni-hero__lead { max-width: 46ch; font-size: 1rem; line-height: 1.8; color: var(--text-2); margin-block: 1.5rem 1.7rem; }
.alumni-hero .btn { font-size: .9rem; }
.alumni-nav { display: flex; flex-wrap: wrap; gap: .25rem 2rem; padding-block: .55rem; border-block: 1px solid var(--line-2); }
.alumni-nav a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; font-size: .82rem; color: var(--brand-ink); font-weight: 650; text-decoration: none; }
.alumni-nav a > span { color: var(--action); }
.alumni-nav a:is(:hover, :focus-visible) { color: var(--action); text-decoration: underline; text-underline-offset: .25em; }
.alumni-context { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 1rem 1.8rem; margin-top: 1.5rem; color: var(--text-2); font-size: .79rem; line-height: 1.8; }
.alumni-context__label { font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding-top: .17rem; }
.alumni-context p { max-width: 96ch; }
.alumni-section { padding-block: clamp(3rem, 5.5vw, 4.75rem); }
.alumni-section__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.65fr); gap: clamp(2rem, 5vw, 4.5rem); }
.alumni-section__intro .eyebrow { font-size: .66rem; margin-bottom: 1.1rem; }
.alumni-section h2 { font-size: clamp(1.9rem, 2.9vw, 2.65rem); font-weight: 750; letter-spacing: -.035em; line-height: 1.18; }
.alumni-section__intro > p:not(.eyebrow) { max-width: 38ch; color: var(--text-2); font-size: .9rem; line-height: 1.8; margin-block: 1.2rem .7rem; }
.alumni-section__intro .text-link { font-size: .82rem; }
.alumni-profiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.8rem 2.4rem; margin: 0; padding: 0; list-style: none; }
.alumni-profiles > li { min-width: 0; }
.alumni-person { border-top: 1px solid var(--line-2); padding-top: 1.1rem; }
.alumni-person h3 { font-size: 1.18rem; font-weight: 750; line-height: 1.4; letter-spacing: -.02em; text-wrap: initial; }
.alumni-person__degree { font-size: .78rem; font-weight: 450; letter-spacing: 0; color: var(--text-2); }
.alumni-person__year { font-size: .74rem; color: var(--text-2); margin-top: .25rem; }
.alumni-person__role { display: grid; gap: .3rem; font-size: .86rem; line-height: 1.6; color: var(--text-2); margin-top: .65rem; }
.alumni-person__role strong { font-size: .92rem; font-weight: 650; color: var(--brand-ink); }
.alumni-person__context { font-size: .76rem; line-height: 1.75; color: var(--text-2); margin-top: .85rem; }
.alumni-person__quote { margin: 1rem 0 0; padding-left: .9rem; border-left: 2px solid var(--line-2); font: italic 1rem/1.75 var(--font-body); color: var(--brand-ink); }
.alumni-person__quote p { margin: 0; }
.alumni-person__source { font-size: .77rem; margin-top: .5rem; }
.alumni-person__heading--portrait { display: flex; align-items: center; gap: .9rem; }
.alumni-person__photo { width: 64px; height: 64px; flex: 0 0 auto; border-radius: 12px; overflow: hidden; }
.alumni-person__photo img { width: 64px; height: 64px; object-fit: cover; }
.alumni-section--study { background: var(--surface-2); border-block: 1px solid var(--line); }
.alumni-section--study .alumni-profiles { gap: 1rem; align-self: center; }
.alumni-section--study .alumni-person { border: 1px solid var(--line-2); border-radius: 18px; padding: 1.5rem; height: 100%; background: var(--surface); }
.alumni-section--study .alumni-person__role { margin-top: 1.25rem; }
.alumni-section--study .alumni-person__role strong { font-size: 1.1rem; font-weight: 700; }
.alumni-profiles--compact { gap: 1.1rem 2.4rem; }
.alumni-profiles--compact .alumni-person { padding-top: .9rem; }
.alumni-profiles--compact h3 { font-size: 1.04rem; }
.alumni-profiles--compact .alumni-person__role { margin-top: .25rem; font-size: .8rem; }
.alumni-invite { padding-block: 0 clamp(3rem, 5vw, 4.5rem); }
.alumni-invite__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2.5rem; padding: clamp(1.5rem, 3.5vw, 3rem); background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-lg); }
.alumni-invite__inner h2 { font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.22; max-width: 27ch; font-weight: 750; letter-spacing: -.035em; text-wrap: initial; }
.alumni-invite__inner > div > p:not(.eyebrow) { color: var(--text-2); font-size: .94rem; line-height: 1.8; max-width: 58ch; margin-top: 1rem; }
.alumni-invite__actions { display: flex; flex-direction: column; align-items: start; gap: .5rem; }
.alumni-invite__actions .btn { font-size: .9rem; }
.alumni-stay { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.25rem .25rem 0; }
.alumni-stay h2 { font-size: 1.15rem; font-weight: 700; }
.alumni-stay p { margin-top: .7rem; font-size: .8rem; line-height: 1.8; max-width: 80ch; color: var(--text-2); }
.alumni-stay > a { flex: 0 0 auto; font-size: .8rem; }
.alumni-empty { padding-block: 1rem 3rem; }
.alumni-empty p { margin-block: 1rem; max-width: 58ch; color: var(--text-2); }
@media (max-width: 63.99rem) {
    .alumni-section__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 2rem; }
    .alumni-profiles { gap: 1.5rem; }
    .alumni-section--study .alumni-profiles { grid-template-columns: minmax(0, 1fr); }
    .alumni-section--study .alumni-person__role { margin-top: .65rem; }
}
@media (max-width: 47.99rem) {
    .alumni-hero__grid, .alumni-section__grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .alumni-hero h1 { font-size: clamp(2.25rem, 8vw, 3.5rem); }
    .alumni-hero__lead { font-size: .94rem; margin-block: 1.2rem 1.4rem; }
    .story-photo--alumni { max-width: 480px; justify-self: center; }
    .alumni-nav { gap: .15rem 1.25rem; }
    .alumni-context { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
    .alumni-section__intro > p:not(.eyebrow) { max-width: 54ch; }
    .alumni-invite__inner { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .alumni-invite__actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
    .alumni-stay { display: block; }
    .alumni-stay > a { margin-top: .7rem; }
}
@media (max-width: 35.99rem) {
    .alumni-profiles { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .alumni-profiles--compact { gap: .8rem; }
    .alumni-section--study .alumni-person { padding: 1.25rem; }
}

/* Studentský rozpočet: čtyři zastávky a vlastní cestovní plán. */
.budget-page [hidden] { display:none !important; }
.budget-hero { padding-block:clamp(2rem,4vw,3.5rem) 2rem; }
.budget-hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); line-height:1.06; letter-spacing:-.045em; }
.budget-hero__lead { max-width:60ch; margin-top:1.4rem; color:var(--text-2); line-height:1.75; }
.budget-fee { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:2rem; align-items:center; margin-top:2.25rem; padding:1.35rem 1.75rem; border:1px solid var(--line-2); border-radius:var(--r-lg); background:var(--surface); }
.budget-fee .eyebrow { margin-bottom:.35rem; font-size:.65rem; color:var(--action); }
.budget-fee strong { color:var(--brand-ink); font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.025em; }
.budget-fee strong span { display:inline-block; font-size:.8rem; letter-spacing:0; font-weight:500; color:var(--text-2); }
.budget-fee > div:last-child { padding-left:2rem; border-left:1px solid var(--line); }
.budget-fee p:not(.eyebrow) { font-size:.85rem; color:var(--text-2); }
.budget-fee .text-link { font-size:.8rem; min-height:36px; margin-top:.2rem; }
.budget-start { margin-bottom:2.6rem; }
.budget-start__heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.budget-start__heading h2,.budget-stops__heading h2 { font-size:1.35rem; font-weight:750; letter-spacing:-.025em; }
.budget-start__heading p,.budget-stops__heading p { font-size:.85rem; color:var(--text-2); }
.budget-presets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.budget-preset { display:flex; align-items:center; gap:.8rem; padding:1.1rem; min-height:110px; border:1px solid var(--line-2); border-radius:var(--r-md); background:var(--surface); text-align:left; transition:border-color var(--t-base),background var(--t-base); }
.budget-preset:hover { border-color:var(--action); }
.budget-preset[aria-pressed="true"] { background:var(--surface-2); border-color:var(--action); box-shadow:inset 0 0 0 1px var(--action); }
.budget-preset__symbol { display:grid; place-items:center; width:2.2rem; height:2.2rem; flex:none; border:1px solid var(--line-2); border-radius:50%; font-size:.7rem; color:var(--action); transition:background var(--t-base),color var(--t-base); }
.budget-preset[aria-pressed="true"] .budget-preset__symbol { color:var(--on-action); background:var(--action); border-color:var(--action); }
.budget-preset strong { display:block; font-size:.95rem; font-weight:750; color:var(--brand-ink); line-height:1.35; }
.budget-preset > span > span { display:block; font-size:.75rem; color:var(--text-2); line-height:1.55; margin-top:.35rem; }
.budget-preset__arrow { margin-left:auto; align-self:flex-start; color:var(--action); }
.budget-workspace { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:start; gap:clamp(2rem,5vw,4.5rem); }
.budget-stops__heading { margin-bottom:1.6rem; }
.budget-stops__heading p { margin-top:.65rem; }
.budget-stop { position:relative; display:grid; grid-template-columns:2rem minmax(0,1fr); gap:1.25rem; padding-bottom:1.65rem; }
.budget-stop:not(:last-of-type)::after { content:''; position:absolute; top:2rem; left:calc(1rem - 1px); bottom:0; width:2px; background:var(--line-2); }
.budget-stop__node { position:relative; display:grid; place-items:center; width:2rem; height:2rem; border:1px solid var(--line-2); border-radius:50%; background:var(--bg); color:var(--text-2); font-size:.65rem; font-weight:650; transition:color var(--t-base),background var(--t-base); }
.budget-stop:focus-within .budget-stop__node { background:var(--action); border-color:var(--action); color:var(--on-action); }
.budget-stop__content { min-width:0; padding-bottom:1.6rem; border-bottom:1px solid var(--line); }
.budget-stop__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.budget-stop__top h3 { font-size:1.05rem; font-weight:700; line-height:1.35; }
.budget-number { display:flex; align-items:center; flex:none; gap:.4rem; }
.budget-number input { width:6.7rem; min-width:0; min-height:44px; padding:.5rem .4rem .5rem .55rem; background:var(--surface); border:1px solid var(--field-border); border-radius:var(--r-sm); color:var(--brand-ink); font-size:1rem; font-weight:650; font-variant-numeric:tabular-nums; text-align:right; }
.budget-number input[aria-invalid="true"] { border-color:var(--err); background:var(--err-bg); }
.budget-number > span { font-size:.68rem; color:var(--text-2); white-space:nowrap; }
.budget-stop__hint { margin-top:.5rem; color:var(--text-2); font-size:.8rem; }
.budget-slider { margin-top:.5rem; }
.budget-slider input[type="range"] { appearance:none; -webkit-appearance:none; width:100%; height:32px; padding:0; margin:0; border:none; background:transparent; cursor:pointer; }
.budget-slider input::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:linear-gradient(to right,var(--action) var(--range-progress,0%),var(--line-2) var(--range-progress,0%)); }
.budget-slider input::-moz-range-track { height:4px; border-radius:4px; background:var(--line-2); }
.budget-slider input::-moz-range-progress { height:4px; background:var(--action); }
.budget-slider input::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:20px; height:20px; margin-top:-8px; border:3px solid var(--action); border-radius:50%; background:var(--surface); box-shadow:0 0 0 4px var(--bg); }
.budget-slider input::-moz-range-thumb { width:14px; height:14px; border:3px solid var(--action); border-radius:50%; background:var(--surface); box-shadow:0 0 0 4px var(--bg); }
.budget-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.budget-chips button { min-height:36px; padding:.35rem .75rem; border:1px solid var(--line-2); border-radius:var(--r-pill); color:var(--text-2); background:var(--surface); font-size:.72rem; font-weight:550; }
.budget-chips button:is(:hover,[aria-pressed="true"]) { color:var(--action); border-color:var(--action); background:var(--surface-2); }
.budget-tip { margin-top:.65rem; font-size:.78rem; }
.budget-tip summary { display:list-item; width:fit-content; padding-block:.6rem; color:var(--action); cursor:pointer; font-weight:600; }
.budget-tip > div { padding:.5rem 0 .2rem; color:var(--text-2); font-size:.8rem; line-height:1.75; }
.budget-tip a { display:inline-block; margin-top:.5rem; font-size:.75rem; }
.budget-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; padding-left:3.25rem; }
.budget-form-actions .text-link { font-size:.8rem; }
.budget-ticket { position:relative; padding:1.5rem clamp(1.2rem,2.5vw,2rem); border:1px solid var(--line-2); border-radius:var(--r-lg); background:var(--surface); box-shadow:var(--shadow-1); }
.budget-ticket__route { display:flex; align-items:center; gap:.85rem; margin-bottom:1.6rem; color:var(--text-3); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.budget-ticket__line { position:relative; flex:1; height:1px; background:var(--line-2); }
.budget-ticket__line::before,.budget-ticket__line::after { content:''; position:absolute; top:-3px; width:7px; height:7px; border:1px solid var(--action); border-radius:50%; background:var(--surface); }
.budget-ticket__line::before { left:0; }
.budget-ticket__line::after { right:0; background:var(--action); }
.budget-ticket__head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.budget-ticket h2 { font-size:1.15rem; font-weight:750; }
.budget-period { display:flex; padding:3px; min-width:0; border:1px solid var(--line-2); border-radius:10px; background:var(--surface-2); }
.budget-period label { position:relative; cursor:pointer; }
.budget-period input { position:absolute; width:1px; height:1px; opacity:0; }
.budget-period label > span { display:grid; place-items:center; min-height:38px; padding:.35rem .7rem; border-radius:7px; color:var(--text-2); font-size:.7rem; font-weight:650; }
.budget-period input:checked + span { background:var(--brand-ink); color:var(--text-invert); }
.budget-period input:focus-visible + span { outline:var(--focus-width) solid var(--focus); outline-offset:2px; }
.budget-total { margin-top:1.4rem; }
.budget-total output { display:block; font-size:clamp(2rem,3.2vw,3rem); font-weight:800; letter-spacing:-.055em; line-height:1.2; color:var(--brand-ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.budget-total > p { margin-top:.4rem; font-size:.75rem; color:var(--text-2); }
.budget-bar { display:flex; gap:3px; height:7px; margin:1.35rem 0; overflow:hidden; border-radius:var(--r-pill); background:var(--surface-2); }
.budget-bar span { display:block; height:100%; transition:width var(--t-base) var(--ease); border-radius:var(--r-pill); }
.budget-bar [data-budget-bar="tuition"] { background:var(--action); }
.budget-bar [data-budget-bar="personal"] { background:var(--brand-ink); }
.budget-breakdown { display:grid; gap:.8rem; margin-top:1.25rem; }
.budget-breakdown > div { display:flex; justify-content:space-between; align-items:baseline; gap:.75rem; font-size:.82rem; }
.budget-breakdown dt { display:flex; align-items:baseline; gap:.6rem; color:var(--text-2); }
.budget-breakdown dd { flex:none; margin:0; color:var(--brand-ink); font-weight:750; font-variant-numeric:tabular-nums; }
.budget-dot { width:.5rem; height:.5rem; flex:none; border-radius:50%; background:var(--brand-ink); }
.budget-breakdown__school .budget-dot { background:var(--action); }
.budget-ticket__ownership { margin-top:1.1rem; padding:1rem; border-radius:var(--r-sm); background:var(--surface-2); color:var(--brand-ink); font-size:.78rem; line-height:1.65; }
.budget-ticket__status { margin-top:1rem; color:var(--text-2); font-size:.78rem; line-height:1.65; }
.budget-ticket__footer { position:relative; margin-top:1.35rem; padding-top:1.1rem; border-top:1px dashed var(--line-2); }
.budget-ticket__footer::before,.budget-ticket__footer::after { content:''; position:absolute; top:-7px; width:13px; height:13px; border-radius:50%; background:var(--bg); border:1px solid var(--line-2); }
.budget-ticket__footer::before { left:calc(-1 * clamp(1.2rem,2.5vw,2rem) - 7px); }
.budget-ticket__footer::after { right:calc(-1 * clamp(1.2rem,2.5vw,2rem) - 7px); }
.budget-ticket__footer > p { color:var(--text-3); font-size:.7rem; line-height:1.7; }
.budget-ticket__footer .text-link { margin-top:.4rem; font-size:.8rem; }
.budget-copy-status:empty { display:none; }
.budget-error { margin-top:1rem; color:var(--err); font-size:.8rem; line-height:1.65; }
.budget-comparison { margin-top:3rem; border:1px solid var(--line-2); border-radius:var(--r-lg); background:var(--surface); }
.budget-comparison > summary { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.5rem 1.75rem; cursor:pointer; list-style:none; }
.budget-comparison > summary::-webkit-details-marker { display:none; }
.budget-comparison .eyebrow { margin-bottom:.45rem; font-size:.65rem; color:var(--action); }
.budget-comparison summary strong { color:var(--brand-ink); font-size:clamp(1.1rem,2vw,1.4rem); font-weight:750; letter-spacing:-.02em; }
.budget-comparison__plus { display:grid; place-items:center; width:2.25rem; height:2.25rem; border:1px solid var(--line-2); border-radius:50%; flex:none; color:var(--action); font-size:1.4rem; transition:transform var(--t-base); }
.budget-comparison[open] .budget-comparison__plus { transform:rotate(45deg); }
.budget-comparison__body { padding:0 1.75rem 1.5rem; }
.budget-comparison__intro { max-width:75ch; margin-bottom:1.5rem; font-size:.88rem; color:var(--text-2); line-height:1.75; }
.budget-compare-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.budget-school { display:flex; flex-direction:column; min-width:0; padding:1.5rem; border:1px solid var(--line); border-radius:var(--r-md); background:var(--bg); }
.budget-school h3 { font-size:1.05rem; font-weight:750; }
.budget-school > p:not(.eyebrow) { margin:.85rem 0 1.25rem; color:var(--text-2); font-size:.8rem; line-height:1.7; }
.budget-school > label { margin-top:auto; font-size:.7rem; font-weight:550; color:var(--text-2); }
.budget-school .budget-number { margin-top:.45rem; }
.budget-school .budget-number input { width:9rem; text-align:left; max-width:100%; }
.budget-school input::placeholder { font-size:.85rem; font-weight:450; }
.budget-school output { display:block; margin-top:1.5rem; color:var(--brand-ink); font-size:clamp(1.4rem,2.2vw,2rem); font-weight:800; letter-spacing:-.04em; overflow-wrap:anywhere; }
.budget-school .budget-compare-unit { margin-top:.3rem; font-size:.7rem; color:var(--text-2); }
.budget-school--ours { background:var(--surface-2); border-color:var(--line-2); }
.budget-school--ours output { margin-top:auto; }
.budget-school--ours > a { margin-top:1rem; font-size:.73rem; font-weight:600; }
.budget-compare-note { margin-top:1.25rem; color:var(--text-3); font-size:.74rem; line-height:1.8; }
.budget-comparison [data-budget-submit] { margin-top:1rem; }
.budget-method { margin-top:1rem; color:var(--text-2); font-size:.82rem; }
.budget-method > summary { cursor:pointer; padding:1rem 0; }
.budget-method > div { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2rem; padding:1rem 0; font-size:.8rem; line-height:1.8; }
.budget-next { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line-2); }
.budget-next h2 { font-size:1.35rem; font-weight:750; }
.budget-next p { margin-top:.75rem; color:var(--text-2); font-size:.88rem; }
.budget-next .btn { flex:none; font-size:.85rem; }
@media(min-width:62rem) and (min-height:820px) { .budget-ticket { position:sticky; top:calc(var(--site-header-h) + 1.2rem); } }
@media(max-width:62rem) {
    .budget-workspace { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:1.5rem; }
    .budget-stop { gap:.75rem; }
    .budget-stop__top { flex-wrap:wrap; gap:.5rem; }
    .budget-preset { padding:1rem; gap:.65rem; }
    .budget-preset__symbol { display:none; }
    .budget-school { padding:1rem; }
}
@media(max-width:48rem) {
    .budget-fee { grid-template-columns:1fr; gap:1rem; padding:1.25rem; }
    .budget-fee > div:last-child { padding:1rem 0 0; border-left:0; border-top:1px solid var(--line); }
    .budget-start__heading { display:block; }
    .budget-start__heading p { margin-top:.6rem; }
    .budget-presets { grid-template-columns:1fr; gap:.6rem; }
    .budget-preset { min-height:0; padding:.85rem 1rem; }
    .budget-preset__symbol { display:grid; }
    .budget-preset strong { font-size:.88rem; }
    .budget-preset > span > span { font-size:.72rem; margin-top:.15rem; }
    .budget-workspace { grid-template-columns:minmax(0,1fr); gap:2rem; }
    .budget-stop__top h3 { flex:1 1 100%; }
    .budget-stop { gap:.75rem; padding-bottom:1.25rem; }
    .budget-stop__content { padding-bottom:1.25rem; }
    .budget-number input { width:7rem; }
    .budget-chips button { min-height:40px; }
    .budget-slider input[type="range"] { height:44px; }
    .budget-slider input::-webkit-slider-thumb { width:24px; height:24px; margin-top:-10px; }
    .budget-slider input::-moz-range-thumb { width:18px; height:18px; }
    .budget-ticket { padding:1.5rem 1.25rem; }
    .budget-total output { font-size:clamp(2rem,9vw,3rem); }
    .budget-ticket__footer::before { left:calc(-1.25rem - 7px); }
    .budget-ticket__footer::after { right:calc(-1.25rem - 7px); }
    .budget-comparison > summary { padding:1.25rem; gap:1rem; }
    .budget-comparison__body { padding:0 1.25rem 1.25rem; }
    .budget-compare-grid { grid-template-columns:1fr; }
    .budget-school { padding:1.25rem; }
    .budget-school--ours output { margin-top:.5rem; }
    .budget-school output { font-size:1.75rem; }
    .budget-method > div { grid-template-columns:1fr; }
    .budget-next { flex-direction:column; align-items:flex-start; gap:1.25rem; }
    .budget-next .btn { width:100%; white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .budget-page *, .budget-page *::before, .budget-page *::after { transition:none !important; } }
@media print {
    .budget-ticket { position:static; break-inside:avoid; box-shadow:none; }
    .budget-workspace { display:block; }
    .budget-start,.budget-slider,.budget-form-actions,[data-budget-copy],.budget-next { display:none !important; }
    .budget-stop { break-inside:avoid; }
}
.budget-school--ours { position:relative; }
.budget-school--ours > .eyebrow { position:absolute; top:-.6rem; left:1rem; margin:0; padding:0 .5rem; background:var(--surface-2); }
.budget-school--ours > a { order:1; display:flex; align-items:center; min-height:68px; margin-top:auto; line-height:1.6; }
.budget-school--ours > output { order:2; margin-top:1.5rem; }
.budget-school--ours > .budget-compare-unit { order:3; }
.budget-compare-period { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; margin-bottom:1rem; font-size:.78rem; color:var(--text-2); }
.budget-compare-period > div { display:flex; gap:3px; padding:3px; border:1px solid var(--line-2); border-radius:10px; background:var(--surface-2); }
.budget-compare-period button { min-height:38px; padding:.35rem .7rem; border-radius:7px; color:var(--text-2); font-size:.7rem; font-weight:650; }
.budget-compare-period button[aria-pressed="true"] { background:var(--brand-ink); color:var(--text-invert); }
.budget-pocket { display:none; }
@media(max-width:48rem) {
    .budget-pocket { position:fixed; bottom:calc(.75rem + env(safe-area-inset-bottom,0px)); left:var(--gutter); right:var(--gutter); z-index:35; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 1rem; border:1px solid var(--line-2); border-radius:var(--r-md); background:var(--surface); color:var(--brand-ink); box-shadow:var(--shadow-2); text-decoration:none; }
    .budget-pocket > span:first-child { display:flex; flex-direction:column; gap:.15rem; }
    .budget-pocket strong { font-size:1.2rem; font-weight:800; color:var(--brand-ink); }
    .budget-pocket [data-budget-pocket-label] { font-size:.62rem; color:var(--text-2); }
    .budget-pocket > span:last-child { flex:none; font-size:.75rem; color:var(--action); font-weight:650; }
    .budget-school--ours > a { min-height:44px; }
    .budget-school--ours > output { margin-top:.75rem; }
}
@media print { .budget-pocket,.budget-compare-period { display:none !important; } }

/* Transparent comparison: school fees + the same personal budget = total. */
.budget-example-choice { width:fit-content; max-width:100%; margin:1.5rem 0 1.75rem; padding:0; border:0; }
.budget-example-choice legend { float:none; margin-bottom:.65rem; padding:0; color:var(--text-2); font-size:.75rem; font-weight:600; }
.budget-example-choice label span { white-space:normal; }
.budget-difference { margin-top:1.25rem; padding:1.35rem 1.5rem; border:1px solid var(--line-2); border-radius:var(--r-md); background:var(--surface-2); }
.budget-difference .eyebrow { margin-bottom:.5rem; }
.budget-difference__headline { color:var(--brand-ink); font-size:clamp(1.15rem,2vw,1.5rem); line-height:1.5; font-weight:600; letter-spacing:-.025em; }
.budget-difference__headline strong { color:var(--action); font-weight:800; white-space:nowrap; }
.budget-difference > p:last-child { margin-top:.5rem; font-size:.77rem; color:var(--text-2); line-height:1.7; }
.budget-comparison-next { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.6rem 1.5rem; margin:1.25rem 0 1.5rem; font-size:.82rem; color:var(--text-2); }
.budget-comparison-next .text-link { font-size:.82rem; }
.budget-school--ours { background:var(--brand-ink); border:2px solid var(--brand-ink); box-shadow:0 8px 24px rgb(64 28 81 / .12); }
.budget-school--ours h3 { color:var(--text-invert); font-size:1.15rem; }
.budget-school--ours > .eyebrow { top:-.8rem; padding:.3rem .65rem; border-radius:var(--r-sm); background:var(--surface); color:var(--action); border:1px solid var(--line-2); }
.budget-school--ours > p:not(.eyebrow) { color:#eee6f3; margin-bottom:.85rem; }
.budget-school--ours .budget-school__annual strong { font-size:1.1rem; font-weight:750; color:var(--text-invert); white-space:nowrap; }
.budget-school__benefits { display:grid; gap:.4rem; margin:0 0 1.25rem; padding:0; list-style:none; color:#eee6f3; font-size:.77rem; line-height:1.6; }
.budget-school__benefits li::before { content:'✓'; margin-right:.55rem; color:#f3b7d9; }
.budget-school--ours > a { display:flex; justify-content:space-between; align-items:center; gap:.65rem; min-height:46px; padding:.7rem .9rem; border:1px solid transparent; border-radius:var(--r-sm); background:var(--surface); color:var(--brand-ink); font-size:.78rem; text-decoration:none; transition:background var(--t-base); }
.budget-school--ours > a:hover { background:#f3e6f1; }
.budget-school--ours > a:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.budget-school--ours .budget-school__math { border-color:#796284; }
.budget-school--ours .budget-school__math dt,
.budget-school--ours .budget-school__total-label,
.budget-school--ours .budget-compare-unit { color:#eee6f3; }
.budget-school--ours .budget-school__math dt > span { color:#f3b7d9; }
.budget-school--ours .budget-school__math dd,
.budget-school--ours .budget-school__result > output { color:var(--text-invert); }
.budget-school .budget-number input[readonly] { background:var(--surface-2); border-color:var(--line-2); }
.budget-school__result { order:2; margin-top:1.5rem; }
.budget-school__math { display:grid; gap:.65rem; padding-block:1rem; border-block:1px solid var(--line-2); font-size:.74rem; }
.budget-school__math > div { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.budget-school__math dt { color:var(--text-2); }
.budget-school__math dt > span { color:var(--action); }
.budget-school__math dd { margin:0; flex:none; font-weight:650; color:var(--brand-ink); font-variant-numeric:tabular-nums; }
.budget-school__total-label { margin-top:1rem; color:var(--text-2); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.budget-school__result > output { margin-top:.35rem; }
.budget-school__result .budget-compare-unit { display:block; }
.budget-school--ours > a { margin-top:auto; order:1; }
.budget-comparison-sum { padding:0 1.15rem; border:1px solid var(--line-2); border-radius:var(--r-md); background:var(--surface-2); }
.budget-comparison-sum summary { padding:.9rem 0; color:var(--brand-ink); cursor:pointer; font-size:.83rem; }
.budget-comparison-sum summary strong { margin-left:1rem; font-size:.95rem; white-space:nowrap; }
.budget-comparison-sum summary > span:last-child { margin-left:.3rem; font-size:.7rem; color:var(--text-2); }
.budget-comparison-sum > div { padding:0 0 1rem; font-size:.8rem; color:var(--text-2); }
.budget-comparison-sum dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.budget-comparison-sum dl > div { padding-top:.65rem; border-top:1px solid var(--line-2); }
.budget-comparison-sum dt { font-size:.74rem; }
.budget-comparison-sum dd { margin:.35rem 0 0; font-weight:700; color:var(--brand-ink); }
.budget-public-help { padding:.85rem 1rem; margin-top:1rem; border-left:2px solid var(--action); color:var(--brand-ink); font-size:.78rem; line-height:1.7; background:var(--surface-2); }
.budget-price-source { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); font-size:.78rem; color:var(--text-2); }
.budget-price-source strong { color:var(--brand-ink); }
.budget-price-source summary { width:fit-content; padding-block:.65rem; cursor:pointer; color:var(--action); font-weight:600; }
.budget-price-source details > p { margin:.4rem 0 .7rem; line-height:1.8; max-width:90ch; }
.budget-price-source details > div { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding-top:.2rem; }
.budget-price-date,.budget-price-custom { margin-top:1rem; font-size:.74rem; line-height:1.8; color:var(--text-3); }
@media(max-width:62rem) { .budget-compare-grid { grid-template-columns:1fr; } .budget-school__math { max-width:30rem; } .budget-school__result { margin-top:1.25rem; } }
@media(max-width:48rem) {
    .budget-example-choice { width:100%; }
    .budget-example-choice label { flex:1; text-align:center; }
    .budget-difference { padding:1.1rem; }
    .budget-comparison-sum summary { line-height:1.8; }
    .budget-comparison-sum summary > span:first-child { display:inline; }
    .budget-comparison-sum summary strong { margin-left:0; display:block; }
    .budget-comparison-sum summary > span:last-child { margin-left:0; }
    .budget-comparison-sum dl { grid-template-columns:1fr 1fr; }
}

/* Menu pages: one type scale and quiet information panels across the site. */
.content-entry .prose { font-family:var(--font-ui); font-size:1rem; line-height:1.85; font-variant-numeric:normal; }
.content-entry .prose > p:first-of-type { font-size:1rem; line-height:1.85; }
.content-entry .prose h2 { font-size:clamp(1.4rem,2.2vw,1.85rem); line-height:1.3; }
.content-entry .section-head > p:not(.lead), .content-entry .faq__a { font-family:var(--font-ui); line-height:1.85; }
.content-entry .verified::before { display:none; }
.content-entry .with-aside > div > .section-head:first-child { margin-top:0; }
.hub-hero .lead { font:1.05rem/1.85 var(--font-ui); color:var(--text-2); }
.cta__text { font:1.05rem/1.85 var(--font-ui); }
.form-panel { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:clamp(1.25rem,3vw,2.25rem); min-width:0; }
.content-entry .form-panel { max-width:none; }
.content-entry .aside-block { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:1.5rem; }
.contact-page .deflist dd { overflow-wrap:anywhere; }
.faq-topics { margin:0 0 2.25rem; }
.faq-topics__count { color:var(--text-3); font-size:.75rem; margin-left:.6rem; }
.faq-page .section-head[id] { scroll-margin-top:1rem; }
.search-page .searchbox { margin-top:1.75rem; }
.search-shortcuts { margin-top:2rem; }
.search-shortcuts h2 { font-size:.8rem; color:var(--text-2); margin-bottom:.75rem; }
.search-shortcuts .topic-pills { margin:0; }
.sitemap-page .wrap > section { padding:clamp(1.25rem,3vw,2.25rem); background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); }
.sitemap-page .wrap > section h2 { font-size:clamp(1.35rem,2vw,1.7rem); margin:0 0 1.5rem; }
.sitemap-page .sitemap-group a { display:flex; align-items:center; gap:.75rem; justify-content:space-between; min-height:44px; color:var(--brand-ink); font-size:.94rem; font-weight:650; text-decoration:none; }
.sitemap-page .sitemap-group a::after { content:'↗'; color:var(--action); }
.sitemap-page .sitemap-group a:hover { color:var(--action); text-decoration:underline; text-underline-offset:4px; }
.sitemap-page .sitemap-group p { font-size:.82rem; line-height:1.7; }
.tuition-hero { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:clamp(2rem,5vw,4.5rem); }
.tuition-summary { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:clamp(1.5rem,3vw,2.5rem); }
.tuition-summary .tuition-price__amount { margin-block:1.15rem; }
.tuition-summary .tuition-price__value { font-size:clamp(2.5rem,4vw,3.75rem); }
.tuition-page #zpusoby-uhrady { scroll-margin-top:1rem; }
.payment-plans { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0; }
.payment-plan { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:1.35rem; min-width:0; }
.payment-plan dt { font-size:.82rem; font-weight:650; color:var(--text-2); margin-bottom:1.1rem; }
.payment-plan dd { margin:0; }
.payment-plan dd strong { display:block; font-size:clamp(1.4rem,2.3vw,1.9rem); line-height:1.2; letter-spacing:-.035em; color:var(--brand-ink); }
.payment-plan dd > span { display:block; margin-top:.65rem; font-size:.77rem; line-height:1.7; }
.payment-details { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); padding:1.75rem 0 0; }
.payment-details p { font-size:.9rem; line-height:1.8; overflow-wrap:anywhere; }
.payment-details p + p { margin-top:1rem; }
.payment-details .quiet { font-size:.82rem; }
.tuition-costs { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
.tuition-costs__panel { background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-lg); padding:clamp(1.25rem,3vw,2rem); min-width:0; }
.tuition-costs .section-head h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.tuition-costs .deflist__row { display:block; }
.tuition-costs .deflist dd { margin:.35rem 0 0; }
.tuition-qualification h3 { font-size:1rem; line-height:1.5; margin-bottom:1rem; }
.tuition-qualification .eqf-proof { box-shadow:none; }
@media(max-width:61.99rem) {
    .payment-plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:47.99rem) {
    .tuition-hero, .payment-details, .tuition-costs { grid-template-columns:1fr; gap:1.5rem; }
    .payment-details { gap:1rem; }
    .payment-plans { gap:.75rem; }
    .payment-plan { padding:1.1rem; }
    .payment-plan dd strong { font-size:1.4rem; }
    .content-entry .form-panel { padding:1.25rem; }
    .sitemap-page .sitemap-group { grid-template-columns:1fr; }
}
.content-entry .topic-pills { display:flex; flex-wrap:wrap; gap:.65rem; }
.content-entry .topic-pills a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; border:1px solid var(--line-2); border-radius:999px; background:var(--surface); color:var(--brand-ink); font-size:.83rem; font-weight:650; line-height:1.5; text-decoration:none; transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease); }
.content-entry .topic-pills a:hover { background:var(--surface-2); border-color:var(--action); }
.content-entry .topic-pills a:focus-visible { outline:3px solid var(--action); outline-offset:3px; }
.text-page .section--top .section-head { margin-bottom:2rem; }
.text-page .prose + .prose { margin-top:2rem; }

/* Homepage: one brand headline, descriptive sections and a shared practice card. */
.page-home .brand-hero__lead { margin-top:1.5rem; }
.page-home .home-section { padding-block:clamp(3rem,6vw,5rem); }
.page-home .home-heading { align-items:flex-start; margin-bottom:2rem; }
.page-home .home-section h2 { font-size:clamp(2rem,3.3vw,2.75rem); }
.home-study { background:var(--surface-2); border-block:1px solid var(--line); }
.home-study__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:start; gap:clamp(2rem,5vw,5rem); }
.home-study__grid--single { grid-template-columns:1fr; }
.home-study__grid > div { min-width:0; }
.home-study__intro { max-width:48ch; margin:1.25rem 0 1.5rem; font-size:.95rem; line-height:1.75; color:var(--text-2); }
.home-study__topics > div { padding-block:1.1rem; border-top:1px solid var(--line-2); }
.home-study__topics h3 { font-size:1.1rem; line-height:1.35; }
.home-study__topics p { max-width:52ch; margin:.5rem 0 .4rem; font-size:.88rem; line-height:1.75; color:var(--text-2); }
.home-study__topics .text-link, .home-study__practice > .text-link { min-height:44px; font-size:.82rem; }
.home-study__practice > .text-link { margin-top:.6rem; }
.home-study .school-focus { margin-block:1.5rem 0; }
.page-home .home-eqf { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.page-home .director-intro__grid { padding-block:2rem; }
.home-visit .next-step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-home .home-contact__copy h2 { font-size:clamp(2.4rem,4vw,3.5rem); }
.page-home .home-contact__form-note { margin-top:0; }
@media (max-width:47.99rem) {
    .home-study__grid, .home-visit .next-step-grid { grid-template-columns:1fr; }
    .page-home .home-section { padding-block:2.75rem; }
    .page-home .home-heading { gap:.85rem; margin-bottom:1.5rem; }
    .page-home .home-section h2 { font-size:clamp(1.8rem,7.4vw,2.4rem); }
    .page-home .brand-hero__lead { margin-top:1.2rem; }
    .page-home .brand-hero__facts { font-size:.75rem; line-height:1.8; }
    .home-study__grid { gap:1.5rem; }
}
