.topic-page { padding-block: clamp(2rem,4vw,4rem) clamp(4rem,7vw,7rem); }
.topic-page__back { margin-bottom: clamp(2.5rem,5vw,4rem); }
.topic-content { color: var(--color-paper); font-family: "Inter",Arial,sans-serif; font-size: 1.05rem; line-height: 1.75; overflow-wrap: anywhere; }
.topic-content .wp-block-group__inner-container { display: contents; }
.topic-content :is(h1,h2,h3,p,figure) { margin: 0; }
.topic-content :is(h1,h2,h3) { color: var(--color-paper); line-height: 1.13; letter-spacing: -.035em; text-wrap: balance; }
.topic-content h1 { font-size: clamp(2.6rem,5vw,4.5rem); line-height: 1.06; }
.topic-content h2 { font-size: clamp(2rem,3.6vw,3rem); }
.topic-content h2.topic-heading--long { font-size: clamp(1.6rem,2.5vw,2.25rem); line-height: 1.3; }
.topic-content h3 { font-size: clamp(1.2rem,2vw,1.5rem); line-height: 1.25; }
.topic-content p { color: var(--color-muted); }
.topic-content strong { color: var(--color-paper); font-weight: 650; }
.topic-content a { color: var(--color-paper); text-underline-offset: .25em; text-decoration-color: var(--color-brand-text); }
.topic-content a:hover { color: var(--color-brand-text); }
.topic-content a:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.topic-content .topic-eyebrow { color: var(--color-brand-text); font-size: .78rem; line-height: 1.5; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; }
.topic-content .topic-section { margin-top: clamp(3.5rem,7vw,6.5rem); }
.topic-content .topic-section[id] { scroll-margin-top: 7rem; }
.topic-content .topic-copy > .wp-block-group__inner-container > * + * { margin-top: 1.2rem; }
.topic-content .topic-copy > .wp-block-group__inner-container > .topic-eyebrow + :is(h1,h2,h3) { margin-top: .8rem; }
.topic-content .topic-section__head { max-width: 48rem; margin-bottom: 2rem; }
.topic-content .topic-hero, .topic-content .topic-split { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: clamp(2rem,4vw,4rem); align-items: center; }
.topic-content .topic-hero > .wp-block-group__inner-container > .topic-photo { align-self: stretch; min-height: 28rem; }
.topic-content .technology-principles { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
.topic-content .technology-principles > .wp-block-group__inner-container > .topic-photo { width: min(100%,26rem); min-height: 0; aspect-ratio: 1; justify-self: center; }
.topic-content .technology-advanced-intro { margin-bottom: 2rem; }
.topic-content .technology-advanced-intro .topic-section__head { max-width: none; margin-bottom: 0; }
.topic-content .topic-media-gallery { width: min(100%,64rem); margin: 2.5rem auto 0; padding: 0; border: 0; }
.topic-content .topic-media-gallery .team-gallery__heading { padding-right: 0; }
.topic-content .topic-media-gallery .team-gallery__heading h3 { font-size: 1.08rem; }
.topic-content .topic-media-gallery .team-gallery__stage { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
.topic-content .topic-media-gallery .team-gallery__stage > :is(figure,.topic-photo) { width: 100%; height: 100%; min-height: 0; margin: 0; }
.topic-content .topic-media-gallery .team-gallery__stage .topic-photo { border: 0; border-radius: inherit; }
.topic-content .topic-media-gallery .team-gallery__stage :is(.wp-block-image img,.wp-block-video video) { display: block; width: 100%; height: 100%; object-fit: contain; }
.topic-content .topic-media-gallery .wp-block-cover__image-background { object-fit: contain; }
.topic-content .topic-media-gallery .team-gallery__stage figcaption { display: none; }
.topic-content .community-intro { margin-inline: auto; }
.topic-content .community-intro-photo { min-width: 0; }
.topic-content .community-intro-photo img { display: block; width: 100%; height: auto; border-radius: 1.25rem; }
.study-topic .topic-split .topic-media-gallery { margin-top: 0; }
.topic-content .community-intro-video { width: min(92%,64rem); margin: clamp(2rem,4vw,4rem) auto 0; }
.topic-content .community-intro-video .wp-block-embed { min-width: 0; }
.topic-content .community-intro-video .school-embed { min-height: 0; overflow: hidden; border-radius: 1.25rem; }
@media(max-width:42rem) { .topic-content .community-intro-video { width: 100%; } }
.topic-content .topic-lead { font-size: 1.13rem; color: var(--color-paper); }
.topic-content .topic-grid { display: grid; gap: 1.25rem; }
.topic-content .topic-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.topic-content .topic-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.topic-content .topic-grid--four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.topic-content :is(.topic-grid,.topic-split,.topic-hero) > .wp-block-group__inner-container > * { min-width: 0; }
.topic-content .topic-card { padding: clamp(1.4rem,2.5vw,2rem); border: 1px solid var(--color-border); border-radius: 1.25rem; background: var(--color-card); }
.topic-content .topic-card > .wp-block-group__inner-container > * + * { margin-top: 1rem; }
.topic-content .topic-card p { font-size: .95rem; line-height: 1.75; }
.topic-content .topic-card .topic-eyebrow { font-size: .75rem; }
.topic-content .topic-card--profile { padding: 0; overflow: hidden; }
.topic-content .topic-card--profile > .wp-block-group__inner-container > .topic-copy { padding: 1.6rem; margin: 0; }
.topic-content .topic-card--profile .topic-photo { border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; min-height: 17rem; }
.topic-content .topic-card--profile h3 { font-size: 1.5rem; }
.topic-content .community-experiences .wp-block-video { min-width: 0; }
.topic-content .community-experiences video { display: block; width: 100%; height: clamp(20rem,34vw,27rem); object-fit: contain; background: #07060b; border: 1px solid var(--color-border); border-radius: 1.25rem; }
.topic-content .community-experiences figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .9rem; text-align: center; }
.topic-content .community-medivox { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
.topic-content .community-medivox-photo { min-width: 0; }
.topic-content .community-medivox-photo img { display: block; width: 100%; height: auto; border: 1px solid var(--color-border); border-radius: 1.25rem; }
.topic-content .community-medivox-photo figcaption { margin-top: .65rem; color: var(--color-muted); font-size: .8rem; line-height: 1.5; }
.topic-content .topic-note { margin-top: 1.5rem; padding: clamp(1.5rem,3vw,2rem); border-left: 3px solid var(--color-brand-text); border-radius: 0 1rem 1rem 0; background: var(--color-surface); }
.topic-content .topic-note p + p { margin-top: 1rem; }
.topic-content .topic-photo { display: flex; min-height: 15rem; padding: 1.5rem; border: 1px dashed var(--color-control-border); border-radius: 1.25rem; background: radial-gradient(ellipse at 20% 0%,#76268a24,transparent 65%),linear-gradient(140deg,#1b1428,#101422); }
.topic-content .topic-photo .wp-block-cover__inner-container { width: 100%; text-align: center; }
.topic-content .topic-photo .topic-photo__label { display: inline-block; padding: .3rem .8rem; margin-bottom: .6rem; border: 1px solid var(--color-border); border-radius: 2rem; color: var(--color-brand-text); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.topic-content .topic-photo p { color: var(--color-muted); font-size: .87rem; line-height: 1.6; }
.topic-content .topic-photo:has(.wp-block-cover__image-background) { border-style: solid; }
.topic-content .topic-photo:has(.wp-block-cover__image-background) .wp-block-cover__inner-container { visibility: hidden; }
.topic-content .topic-photo .wp-block-cover__image-background { border-radius: inherit; }
.topic-content .topic-gallery { margin-top: 2rem; }
.topic-content .topic-gallery .topic-photo { min-height: 13rem; }
.topic-content .topic-photo--wide { min-height: clamp(16rem,28vw,25rem); margin-top: 2rem; }
.topic-content .topic-quote { margin-top: 2rem; padding-block: 1.4rem; border-block: 1px solid var(--color-border); color: var(--color-paper); font-size: clamp(1.35rem,2.6vw,1.9rem); font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
.topic-content .topic-feature { padding: clamp(2rem,4vw,3.5rem); border: 1px solid #775284; border-radius: 1.5rem; background: radial-gradient(ellipse at 0 0,#76268a40,transparent 80%),var(--color-card); }
.topic-content .topic-path { display: grid; grid-template-columns: 10rem minmax(0,1fr); gap: 2rem; align-items: start; padding: 1.7rem 2rem; border: 1px solid var(--color-border); border-radius: 1.25rem; background: var(--color-card); }
.topic-content .topic-path + .topic-path { margin-top: 1rem; }
.topic-content .topic-path h3 { color: var(--color-brand-text); font-size: 1.65rem; }
.topic-content .topic-path--advanced { background: linear-gradient(100deg,#271431,#122438); border-color: #695076; }
.topic-content .topic-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid var(--color-border); border-radius: 1.25rem; background: var(--color-card); }
.topic-content .topic-cta h2 { margin: 0; font-size: 1.3rem; line-height: 1.4; letter-spacing: -.025em; }
.topic-content .topic-cta .wp-block-buttons { margin: 0; flex-shrink: 0; }
.topic-content .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; gap: .85rem; padding: .85rem 1.55rem; border: 1px solid transparent; border-radius: 999px; background: var(--button-gradient) border-box no-repeat; color: #fff; box-shadow: 0 .35rem 1.4rem #95269520; font-size: 1rem; line-height: 1.6; font-weight: 700; text-align: center; text-decoration: none; }
.topic-content .applicants-announcement .wp-block-button__link { min-height: 2.75rem; padding: .65rem 1.25rem; font-size: .9rem; text-transform: none; }
.topic-content .topic-open-day .wp-block-button__link::after { content: ''; flex: 0 0 1rem; height: 1rem; background: currentColor; mask: url('../icons/arrow-right.svg') center / contain no-repeat; }
.topic-content .wp-block-button__link:hover { color: #fff; filter: brightness(1.15); }
/* Admissions uses the same native topic blocks with a varied, readable composition. */
.applicants-content .topic-hero h1 { font-size: clamp(2.35rem,4.1vw,3.65rem); }
.applicants-content .applicants-centered { max-width: 53rem; margin-inline: auto; text-align: center; }
.applicants-content .applicants-dates { overflow: hidden; border: 1px solid var(--color-border); border-radius: 1.25rem; background: var(--color-card); }
.applicants-content .applicants-date-row { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr); gap: 1.5rem; align-items: center; padding: 1.4rem 1.6rem; }
.applicants-content .applicants-date-row + .applicants-date-row { border-top: 1px solid #775284; }
.applicants-content .applicants-dates h2 { font-size: clamp(1.15rem,1.7vw,1.4rem); line-height: 1.35; text-wrap: pretty; }
.applicants-content .applicants-date-heading p { margin-top: .5rem; font-size: .85rem; }
.applicants-content .applicants-dates :is(ul,li,p) { color: var(--color-muted); }
.applicants-content .applicants-dates ul { padding-left: 1.1rem; margin: 0; }
.applicants-content .applicants-dates li + li { margin-top: .35rem; }
.applicants-content .applicants-date-alternative { font-size: .9rem; }
.applicants-content .applicants-date-alternative p + ul { margin-top: .4rem; }
.applicants-content .applicants-dates li::marker { color: var(--color-brand-text); }
.applicants-content :is(.applicants-dates__school,.applicants-comparison__itg) { border-color: #775284; background: linear-gradient(140deg,#25132f,var(--color-card)); }
.applicants-content .applicants-code { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: .9rem; padding: 1rem 1.6rem; font-size: .95rem; text-align: start; }
.applicants-content .applicants-code p + p { margin: 0; }
.applicants-content .applicants-comparison { margin-top: 2rem; }
.applicants-content .applicants-comparison h3 { font-size: clamp(1.1rem,1.9vw,1.35rem); line-height: 1.55; letter-spacing: -.02em; }
.applicants-content .applicants-comparison__itg h3 { color: var(--color-brand-text); }
.applicants-content .applicants-preparation { margin-top: clamp(2rem,4vw,3rem); }
.applicants-content :is(.applicants-preparation,.applicants-fees) .topic-photo { align-self: stretch; min-height: 23rem; }
.applicants-content .applicants-criteria { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; max-width: 58rem; margin: 1.5rem auto 0; padding: .3rem 1.4rem; border: 1px solid var(--color-border); border-radius: 1.25rem; background: var(--color-card); list-style: none; }
.applicants-content .applicants-criteria li { position: relative; padding: .95rem 0 .95rem 1.65rem; border-bottom: 1px solid var(--color-border); color: var(--color-muted); line-height: 1.6; }
.applicants-content .applicants-criteria li:nth-last-child(-n+2) { border-bottom: 0; }
.applicants-content .applicants-criteria li::before { content: ''; position: absolute; top: 1.35rem; left: .15rem; width: .7rem; height: .4rem; border-left: 2px solid var(--color-brand-text); border-bottom: 2px solid var(--color-brand-text); transform: rotate(-45deg); }
.applicants-content .applicants-results { max-width: none; }
.applicants-content .applicants-results p { max-width: 45rem; margin-inline: auto; }
.applicants-content .applicants-results-action { justify-content: center; }
@media(min-width:60.01rem) {
    .applicants-content .topic-hero { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(1.5rem,3vw,3rem); }
    .applicants-content .applicants-split--reverse > .wp-block-group__inner-container > .topic-photo { order: -1; }
    .study-topic--people .topic-split:has(.topic-media-gallery) { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
    .study-topic--people .topic-split > .wp-block-group__inner-container > .topic-media-gallery { order: -1; }
}
@media(max-width:42rem) {
    .applicants-content .applicants-criteria { grid-template-columns: 1fr; }
    .applicants-content .applicants-criteria li:nth-last-child(2) { border-bottom: 1px solid var(--color-border); }
    .applicants-content :is(.applicants-preparation,.applicants-fees) .topic-photo { min-height: 17rem; }
}
@media(max-width:60rem) {
    .applicants-content .applicants-date-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
    .applicants-content .applicants-date-heading { grid-column: 1 / -1; }
}
@media(max-width:35rem) {
    .applicants-content .applicants-date-row { grid-template-columns: 1fr; padding: 1.25rem; gap: .85rem; }
    .applicants-content .applicants-code { padding: 1rem 1.25rem; }
}
/* Additional study pages share the same native topic composition. */
.study-topic .people-hero h1 { font-size: clamp(2.3rem,4vw,3.65rem); }
.study-topic .people-hero > .wp-block-group__inner-container > .topic-photo { align-self: start; min-height: 0; aspect-ratio: 2 / 3; }
.study-topic .education-hero { row-gap: 1.2rem; }
.study-topic .education-athlete-photo { min-height: 0; aspect-ratio: 1; overflow: hidden; }
.study-topic .education-athlete-photo .wp-block-cover__image-background { transform: scale(1.12); transform-origin: left center; }
@media(min-width:60.01rem) {
    .study-topic .education-hero > .wp-block-group__inner-container > .education-intro-continuation { grid-column: 1; grid-row: 2; }
    .study-topic .education-hero > .wp-block-group__inner-container > .topic-photo { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-height: 0; aspect-ratio: 1; }
}
.study-topic .resilience-intro { max-width: 64rem; }
.study-topic .resilience-equation { font-size: clamp(1.45rem,2.8vw,2.6rem); line-height: 1.35; color: var(--color-brand-text); }
.study-topic .resilience-intro .topic-section__head { margin-top: 2rem; margin-bottom: 0; }
.study-topic .topic-mosaic { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: repeat(2,14rem); gap: 1.25rem; }
.study-topic .topic-mosaic > .wp-block-group__inner-container > .topic-photo:first-child { grid-column: span 2; grid-row: span 2; }
.study-topic .topic-mosaic .topic-photo { min-width: 0; min-height: 0; height: 100%; }
.study-topic .resilience-body { max-width: 58rem; }
.study-topic .topic-video { min-width: 0; }
.study-topic .topic-video > .wp-block-group__inner-container > .wp-block-embed { margin: 0; }
.study-topic .topic-video figcaption { margin-top: .8rem; color: var(--color-muted); font-size: .85rem; }
.study-topic .topic-video .school-embed { min-height: 0; overflow: hidden; border-color: var(--color-border); border-radius: 1.25rem; }
.study-topic .topic-video--portrait { width: min(100%,23rem); justify-self: center; }
.study-topic .topic-video--portrait .school-embed { aspect-ratio: 9/16; }
.study-topic .topic-video--portrait iframe { height: 100%; }
.study-topic :is(.education-curriculum,.education-statistics) > .wp-block-group__inner-container > * + * { margin-top: 1.5rem; }
.study-topic .education-tables { align-items: start; }
.study-topic .education-curriculum-legend { padding-top: .75rem; font-size: .9rem; line-height: 1.6; }
.study-topic .education-curriculum-legend h3 { font-size: 1.1rem; }
.study-topic .education-curriculum-legend > .wp-block-group__inner-container > * + * { margin-top: .8rem; }
.study-topic .education-legend-row { display: grid; grid-template-columns: 6.25rem minmax(0,1fr); gap: .85rem; align-items: center; }
.study-topic .education-legend-badge { padding: .3rem .5rem; border-radius: .3rem; color: #fff; font-size: .78rem; line-height: 1.4; text-align: center; }
.study-topic .education-legend-badge--base { background: #117cad; }
.study-topic .education-legend-badge--advanced { background: #922b98; }
.study-topic .education-hours { margin: 0; overflow-x: auto; }
.study-topic .education-hours table { width: 100%; border-collapse: collapse; font-size: .85rem; line-height: 1.5; }
.study-topic .education-hours :is(th,td) { padding: .7rem .45rem; border: 1px solid var(--color-border); vertical-align: top; }
.study-topic .education-hours th { text-align: left; font-weight: 600; }
.study-topic .education-hours thead th:not(:first-child) { overflow-wrap: normal; }
.study-topic .education-hours :is(thead,tfoot) { background: var(--color-card); color: var(--color-brand-text); }
.study-topic .education-hours :is(th,td):not(:first-child) { text-align: center; }
.study-topic .education-hours tbody tr:nth-child(even) { background: var(--color-surface); }
.study-topic .education-hours figcaption { color: var(--color-muted); font-size: .8rem; }
@media(max-width:60rem) { .study-topic .education-tables { grid-template-columns: 1fr; } }
.study-topic .education-number { text-align: center; }
.study-topic .education-number .education-number__value { font-size: clamp(2.2rem,4vw,3.5rem); line-height: 1.15; color: var(--color-brand-text); font-weight: 700; letter-spacing: -.04em; }
.study-topic .education-paths-head { max-width: 48rem; margin-block: 2rem; }
.study-topic .education-freedom { letter-spacing: .08em; color: var(--color-brand-text); }
.study-topic .education-alumni-link { margin-block: 2rem; }
.study-topic .wp-block-file { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; overflow-wrap: anywhere; }
.study-topic .wp-block-file > a { min-width: 0; }
.study-topic .wp-block-file__button { display: inline-flex; padding: .65rem 1.25rem; margin: 0; border-radius: 999px; background: var(--button-gradient); color: #fff; font-size: .9rem; text-decoration: none; }
@media(max-width:60rem) {
    .study-topic .people-hero > .wp-block-group__inner-container > .topic-photo { width: min(100%,32rem); justify-self: center; }
    .study-topic .topic-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 22rem 13rem 13rem; }
    .study-topic .topic-mosaic > .wp-block-group__inner-container > .topic-photo:first-child { grid-row: auto; }
}
@media(max-width:42rem) {
    .study-topic .education-hours :is(th,td) { padding: .65rem .2rem; }
    .study-topic .education-hours th:first-child { min-width: 7rem; }
    .study-topic .education-hours thead { font-size: .7rem; }
    .study-topic .topic-mosaic { grid-template-columns: 1fr; grid-template-rows: none; }
    .study-topic .topic-mosaic > .wp-block-group__inner-container > .topic-photo:first-child { grid-column: auto; }
    .study-topic .topic-mosaic .topic-photo { height: 16rem; }
    .study-topic .topic-video--portrait { width: min(100%,20rem); }
    .study-topic .topic-video .school-embed__activate { width: calc(100% - 2rem); white-space: normal; }
}
/* Native Gutenberg blocks keep the same composition on the editing canvas. */
.editor-styles-wrapper:has(.topic-content) > :is(.is-root-container,.edit-post-visual-editor__post-title-wrapper), .editor-styles-wrapper .topic-content { max-width: 70rem; }
.editor-styles-wrapper .topic-content .wp-block { max-width: none; }
.editor-styles-wrapper .topic-content :is(.topic-hero,.topic-split,.topic-grid,.topic-path) > .wp-block-group__inner-container > .wp-block { margin-inline: 0; margin-block: 0; width: auto; }
@media(max-width:63.99rem) {
    .topic-content .topic-cta { align-items: flex-start; flex-direction: column; }
}
@media(max-width:60rem) {
    .topic-content .topic-hero, .topic-content .topic-split { grid-template-columns: 1fr; }
    .topic-content .topic-hero > .wp-block-group__inner-container > .topic-photo { min-height: 20rem; }
    .topic-content .topic-grid--four { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:39.99rem) {
    .topic-content .topic-cta :is(.wp-block-buttons,.wp-block-button,.wp-block-button__link) { width: 100%; }
}
@media(max-width:42rem) {
    .topic-content .topic-grid--three, .topic-content .topic-grid--two { grid-template-columns: 1fr; }
    .topic-content .topic-grid--four { grid-template-columns: 1fr; }
    .topic-content .topic-path { grid-template-columns: 1fr; gap: .75rem; padding: 1.5rem; }
    .topic-content .topic-hero > .wp-block-group__inner-container > .topic-photo { min-height: 17rem; }
}
