:root {
    --pmg-surface: #f7f6f2;
    --pmg-ink: #0b1523;
    --pmg-muted: #535e6b;
    --pmg-line: #d8d8d0;
    --pmg-blue: #194bff;
    --pmg-lime: #c9ff54;
    --pmg-paper: #fffefa;
    --pmg-teal: #194bff;
    --pmg-teal-bright: #194bff;
    --pmg-link: #194bff;
    --pmg-link-hover: #1238be;
    --pmg-accent: #194bff;
    --pmg-accent-hover: #1238be;
    --pmg-gold-text: #194bff;
    --pmg-serif: Georgia, "Times New Roman", serif;
    --pmg-shadow: none;
    --pmg-elev-2: none;
    --pmg-radius: 0;
    --pmg-page-hero-bg: #eef0f8;
    --pmg-page-hero-pattern: #194bff;
    --pmg-page-hero-pattern-opacity: .3;
    --bs-link-color: #194bff;
    --bs-link-hover-color: #1238be;
}
[data-bs-theme="dark"] {
    --pmg-surface: #101a28;
    --pmg-ink: #f4f3ec;
    --pmg-muted: #b4bfcd;
    --pmg-line: #354252;
    --pmg-blue: #9bb3ff;
    --pmg-paper: #162232;
    --pmg-teal: #9bb3ff;
    --pmg-link: #9bb3ff;
    --pmg-link-hover: #cedaff;
    --pmg-accent: #9bb3ff;
    --pmg-gold-text: #9bb3ff;
    --pmg-page-hero-bg: #0b1523;
    --pmg-page-hero-pattern: #9bb3ff;
    --pmg-page-hero-pattern-opacity: .36;
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pmg-header-height, 210px) + 24px); }
body, [data-bs-theme="dark"] body {
    background: var(--pmg-surface);
    color: var(--pmg-ink);
    overflow-x: clip;
    font-family: "Ubuntu", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
::selection { background: var(--pmg-lime); color: #0b1523; }
body .container { width: min(100% - 88px, 1300px); max-width: 1300px; padding-left: 0; padding-right: 0; }
a { color: var(--pmg-blue); text-underline-offset: 5px; }
a:hover, a:focus { color: var(--pmg-link-hover); }
body :focus-visible { outline: 2px solid var(--pmg-blue); outline-offset: 5px; box-shadow: none; }
body [hidden] { display: none !important; }
body .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
body .skip-link { border-radius: 0; background: var(--pmg-lime); color: #0b1523; box-shadow: none; }
body .header.pmg-site-header, body.home-page .header.pmg-site-header { z-index: 100; position: sticky; top: 0; width: 100%; background: var(--pmg-surface); }
body.home-page .pmg-site-header { --pmg-surface: var(--pmg-paper); }
body .pmg-topline { background: #0b1523; color: #f7f6f2; }
body.home-page .pmg-topline { background: var(--pmg-paper); color: var(--pmg-ink); border-bottom: 1px solid var(--pmg-line); }
body .pmg-topline-inner { min-height: 31px; justify-content: flex-start; gap: 24px; font-family: ui-monospace, Consolas, monospace; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; }
.pmg-topline-inner .pmg-top-identity { margin-right: 0; }
.pmg-topline-inner > span:nth-child(3) { margin-left: auto; }
body .pmg-topline a { color: #f7f6f2; }
body.home-page .pmg-topline a { color: inherit; }
body .pmg-topline i { display: none; }
body .branding, [data-bs-theme="dark"] .branding { padding: 19px 0; background: var(--pmg-surface); border-bottom: 1px solid var(--pmg-line); }
body .branding > .container { gap: 20px; }
body .pmg-brand { flex: 1; gap: 15px; color: var(--pmg-ink); }
body .pmg-brand:hover, body .pmg-brand:focus { color: var(--pmg-blue); }
body .pmg-brand-logo { display: block; flex: 0 0 auto; width: 112px; height: 80px; color: inherit; }
body .pmg-brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; }
@supports (mask-image: url('/assets/images/pmg-logo.svg')) {
    body .pmg-brand-logo { background: currentColor; mask: url('/assets/images/pmg-logo.svg') center / contain no-repeat; }
    body .pmg-brand-logo img { opacity: 0; }
}
body .pmg-brand strong { max-width: 355px; font-size: 17px; line-height: 1.3; font-weight: 600; letter-spacing: -.03em; }
body .pmg-header-tools { gap: 15px; }
body .pmg-header-search { border: 0; border-bottom: 1px solid var(--pmg-line); border-radius: 0; width: 205px; height: 44px; background: transparent; }
body .pmg-header-search input { color: var(--pmg-ink); padding-left: 0; font-size: 12px; }
body .pmg-header-search input::placeholder { color: var(--pmg-muted); }
body .pmg-header-search button { background: transparent; color: var(--pmg-ink); }
body .language-switcher, [data-bs-theme="dark"] .language-switcher { border: 0; border-radius: 0; background: transparent; }
body .language-switcher button { min-width: 37px; height: 44px; padding: 0 9px; border-radius: 0; color: var(--pmg-muted); background: transparent; font: 11px ui-monospace, Consolas, monospace; }
body .language-switcher button.active, [data-bs-theme="dark"] .language-switcher button.active { color: var(--pmg-blue); background: transparent; text-decoration: underline; text-underline-offset: 6px; }
body .color-mode-toggle { min-width: 44px; height: 44px; border: 1px solid var(--pmg-line); border-radius: 50%; color: var(--pmg-ink); background: transparent; }
body .color-mode-toggle:hover, [data-bs-theme="dark"] .color-mode-toggle:hover { background: var(--pmg-ink); color: var(--pmg-surface); }
body .pmg-header-admission { display: flex; justify-content: space-between; align-items: center; gap: 32px; min-height: 48px; padding: 0 19px; background: var(--pmg-lime); color: #0b1523; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.pmg-header-admission span { font: 25px var(--pmg-serif); }
body .pmg-header-admission:hover { background: #b5ee35; color: #0b1523; }
body .pmg-mobile-toggle { display: none; }
body .top-bar, [data-bs-theme="dark"] .top-bar { background: var(--pmg-surface); border-bottom: 1px solid var(--pmg-line); box-shadow: none; }
body .main-nav { margin-bottom: 0; }
body .pmg-primary-nav { display: flex; justify-content: space-between; align-items: stretch; list-style: none; margin: 0; padding: 0; width: 100%; gap: 4px; }
body .main-nav .nav .nav-link { min-height: 58px; padding: 14px 10px; color: var(--pmg-ink); font-size: 16px; font-weight: 500; border: 0; border-radius: 0; line-height: 1.45; background: transparent; gap: 9px; }
body .main-nav .nav .nav-link:hover, body .main-nav .nav .nav-link:focus, body .main-nav .nav .nav-link[aria-current="page"], body .main-nav .nav .nav-link[aria-expanded="true"] { color: var(--pmg-blue); background: transparent; }
.pmg-menu-group { position: relative; display: flex; flex-wrap: wrap; }
.pmg-chevron { width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
[aria-expanded="true"] > .pmg-chevron { transform: translateY(1px) rotate(225deg); }
body .pmg-submenu { position: absolute; z-index: 105; top: 100%; left: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; width: 540px; max-width: calc(100vw - 60px); max-height: calc(100dvh - var(--pmg-header-height,210px) - 16px); overflow-y: auto; padding: 22px 26px; margin: 0; border: 1px solid var(--pmg-line); border-top: 2px solid var(--pmg-blue); list-style: none; background: var(--pmg-surface); box-shadow: 0 18px 28px #0b152311; }
body .pmg-primary-nav > .pmg-menu-group:nth-last-child(-n+5) > .pmg-submenu { right: 0; left: auto; }
body .pmg-submenu > li { min-width: 0; }
body .pmg-menu-link { display: block; min-height: 48px; padding: 11px 0; color: var(--pmg-ink); border-bottom: 1px solid var(--pmg-line); font-size: 16px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body .pmg-menu-link:hover, body .pmg-menu-link:focus { color: var(--pmg-blue); }
body .pmg-submenu .pmg-menu-group { grid-column: 1 / -1; }
body .pmg-submenu .pmg-menu-group .pmg-submenu { position: static; width: 100%; max-height: none; overflow: visible; padding: 4px 14px 12px; border: 0; box-shadow: none; margin: 0; }
body .pmg-submenu .pmg-parent-link { flex: 1; }
body .pmg-mobile-search, body .pmg-mobile-lang { display: none; }
.pmg-home-intro { background: var(--pmg-paper); }
.pmg-signature-hero { border-bottom: 1px solid var(--pmg-line); }
.pmg-signature-grid { display: grid; grid-template-columns: minmax(0,.36fr) minmax(0,.64fr); gap: 36px; padding-block: 64px; align-items: center; }
.pmg-signature-hero .pmg-home-hero-copy { position: relative; padding: 0; align-self: center; }
body .pmg-eyebrow { display: flex; align-items: center; gap: 13px; color: var(--pmg-blue); margin-bottom: 22px; font: 10px/1.6 ui-monospace, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; }
.pmg-signature-hero .pmg-eyebrow::before { content: ""; flex: 0 0 22px; height: 6px; border-radius: 9px; background: var(--pmg-blue); }
.pmg-signature-hero h1 { font: normal clamp(44px,4.3vw,62px)/1.05 var(--pmg-serif); letter-spacing: -.062em; margin: 34px 0 28px; color: var(--pmg-ink); }
.pmg-signature-hero h1 em { display: block; color: var(--pmg-blue); font-weight: 400; white-space: nowrap; }
.pmg-signature-hero .pmg-hero-intro { color: var(--pmg-muted); max-width: 330px; font-size: 14px; line-height: 1.8; margin: 0 0 28px; }
body .pmg-editorial-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; padding: 13px 0; border-bottom: 1px solid currentColor; color: var(--pmg-ink); font-size: 11px; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; }
.pmg-editorial-link > span { font: normal 25px/1 var(--pmg-serif); transition: transform .2s; }
body .pmg-editorial-link:hover { color: var(--pmg-blue); }
.pmg-editorial-link:hover > span { transform: translate(3px,-3px); }
.pmg-teachers-portrait { min-width: 0; margin: 0; background: transparent; color: var(--pmg-muted); }
.pmg-portrait-media { --pmg-portrait-shadow: #0b15231a; position: relative; isolation: isolate; border: 1px solid var(--pmg-line); background: var(--pmg-paper); box-shadow: 0 6px 18px var(--pmg-portrait-shadow); }
[data-bs-theme="dark"] .pmg-portrait-media { --pmg-portrait-shadow: #00000059; }
.pmg-portrait-media::before { content: ""; position: absolute; inset: 6px -6px -6px 6px; z-index: -1; border: 1px solid var(--pmg-line); pointer-events: none; }
.pmg-portrait-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 42%, #ffffff08 46%, #ffffff26 50%, #ffffff08 54%, transparent 58%) 200% 0 / 250% 100% no-repeat; opacity: 0; }
.pmg-portrait-media > img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 0; }
.pmg-teachers-portrait figcaption { padding: 16px 0; border-bottom: 1px solid var(--pmg-line); color: var(--pmg-muted); font: 12px/1.6 ui-monospace, Consolas, monospace; letter-spacing: .03em; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pmg-portrait-media { transition: transform .45s cubic-bezier(.2,.65,.3,1), box-shadow .45s; }
    .pmg-portrait-media::before { transition: transform .45s, border-color .45s; }
    .pmg-portrait-media::after { transition: background-position .9s ease, opacity .2s; }
    .pmg-teachers-portrait figcaption { transition: border-color .45s; }
    .pmg-teachers-portrait:hover .pmg-portrait-media { transform: translateY(-3px); box-shadow: 0 18px 36px var(--pmg-portrait-shadow); }
    .pmg-teachers-portrait:hover .pmg-portrait-media::before { transform: translate(3px,3px); border-color: var(--pmg-blue); }
    .pmg-teachers-portrait:hover .pmg-portrait-media::after { background-position: -100% 0; opacity: 1; }
    .pmg-teachers-portrait:hover figcaption { border-color: var(--pmg-blue); }
}
.pmg-utility-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--pmg-line); }
.pmg-utility-links > a { display: flex; align-items: center; gap: 18px; min-width: 0; min-height: 108px; padding: 23px; border-right: 1px solid var(--pmg-line); color: var(--pmg-ink); font-size: 14px; }
.pmg-utility-links > a:first-child { padding-left: 0; }
.pmg-utility-links > a:last-child { border-right: 0; }
.pmg-utility-links > a:hover { color: var(--pmg-blue); background: var(--pmg-paper); }
body.home-page .pmg-utility-links > a:hover { background: var(--pmg-surface); }
.pmg-utility-links .pmg-utility-index { color: var(--pmg-blue); font: 10px ui-monospace, Consolas, monospace; }
.pmg-utility-links > a > span:last-child { margin-left: auto; font: 25px var(--pmg-serif); }
body .pmg-section { padding: 88px 0; }
body .pmg-section-heading { margin-bottom: 38px; }
body .pmg-heading-row { align-items: flex-end; gap: 24px; }
body .pmg-section-heading h2, body .pmg-admission-grid h2, .pmg-subjects-section h2, .pmg-school-story h2 { font: normal clamp(34px,3.9vw,54px)/1.12 var(--pmg-serif); letter-spacing: -.045em; color: var(--pmg-ink); margin: 0; }
body .pmg-news-grid, body .pmg-project-grid { gap: 30px; }
body .pmg-list-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
body .pmg-list-media { height: 220px; aspect-ratio: 16/10; overflow: hidden; background: var(--pmg-line); }
body .pmg-list-media img { height: 100%; object-fit: cover; border-radius: 0; transition: transform .35s; }
body .pmg-list-body { padding: 23px 0 26px; border-bottom: 1px solid var(--pmg-line); }
body .pmg-card-meta { color: var(--pmg-muted); font: 10px/1.6 ui-monospace, Consolas, monospace; text-transform: uppercase; }
body .pmg-card-meta i { display: none; }
body .pmg-list-body h3 { margin: 15px 0; font: 500 23px/1.3 "Ubuntu", sans-serif; letter-spacing: -.035em; color: var(--pmg-ink); }
body .pmg-list-body h3 a { color: inherit; }
body .pmg-list-body p { color: var(--pmg-muted); font-size: 14px; line-height: 1.7; }
body .pmg-inline-link { color: var(--pmg-blue); font-size: 12px; }
body .pmg-home-resources-section, [data-bs-theme="dark"] .pmg-home-resources-section { padding: 0 0 70px; background: transparent; border: 0; }
body .pmg-home-resources-grid { gap: 20px; }
body .pmg-home-resource-card, [data-bs-theme="dark"] .pmg-home-resource-card { border: 1px solid var(--pmg-line); border-radius: 0; box-shadow: none; min-height: 100px; background: var(--pmg-surface); color: var(--pmg-ink); }
body .pmg-home-resource-card-text { padding: 22px; }
body .pmg-home-resource-card-text > span { color: var(--pmg-blue); background: transparent; }
body .pmg-home-resource-card strong { font-size: 14px; font-weight: 500; }
body .pmg-home-resource-card-image img { object-fit: contain; }
body .pmg-admission-band, [data-bs-theme="dark"] .pmg-admission-band { position: relative; overflow: hidden; background: #0b1523; color: #f7f6f2; }
body .pmg-admission-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 90px; padding: 0; border: 0; background: transparent; }
body .pmg-admission-grid h2 { color: #f7f6f2; }
body .pmg-admission-grid p:not(.pmg-eyebrow) { max-width: 610px; color: #c4cdd8; font-size: 16px; line-height: 1.8; margin-top: 25px; }
body .pmg-admission-band .pmg-eyebrow { color: var(--pmg-lime); }
body .pmg-admission-band .pmg-editorial-link { color: #f7f6f2; margin-top: 12px; }
body .pmg-admission-actions { display: flex; flex-direction: column; justify-content: flex-end; gap: 14px; }
.pmg-admission-symbol { font: 95px/1 var(--pmg-serif); color: var(--pmg-lime); margin-bottom: 24px; }
body .pmg-admission-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; border: 1px solid #526071; border-radius: 0; padding: 22px 24px; background: #ffffff06; color: #f7f6f2; box-shadow: none; }
body .pmg-admission-action:hover, body .pmg-admission-action:focus-visible { border-color: var(--pmg-lime); background: #c9ff5410; color: var(--pmg-lime); }
body .pmg-admission-action > span { display: block; width: auto; height: auto; border-radius: 0; background: transparent; color: var(--pmg-lime); font-size: 25px; }
body .pmg-admission-action strong { color: inherit; font-size: 16px; font-weight: 500; }
.pmg-subjects-section { border-bottom: 1px solid var(--pmg-line); }
.pmg-subjects-section h2 { max-width: 690px; }
.pmg-subjects { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 48px 0 22px; border-top: 1px solid var(--pmg-line); }
.pmg-subjects > div { padding: 25px; border-right: 1px solid var(--pmg-line); }
.pmg-subjects > div:first-child { padding-left: 0; }
.pmg-subjects > div:last-child { border-right: 0; }
.pmg-subjects > div > span { font: italic 60px/1.4 var(--pmg-serif); color: var(--pmg-blue); }
.pmg-subjects h3 { font-size: 17px; font-weight: 500; margin: 16px 0; }
.pmg-home-gallery { padding-top: 0 !important; }
.pmg-gallery-highlights { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 22px; }
.pmg-gallery-highlights > a { display: block; min-width: 0; color: var(--pmg-ink); }
.pmg-gallery-highlights img { display: block; width: 100%; height: 280px; object-fit: cover; background: var(--pmg-paper); }
.pmg-gallery-highlights > a > span { display: flex; justify-content: space-between; gap: 16px; padding-top: 19px; font-size: 16px; }
.pmg-gallery-highlights > a > span > span { flex: 0 0 auto; font-size: 22px; }
.pmg-gallery-highlights > a:hover { color: var(--pmg-blue); }
.pmg-school-story { background: var(--pmg-paper); border-block: 1px solid var(--pmg-line); }
.pmg-school-story .pmg-home-content-text { max-width: 960px; margin-inline: auto; }
body .pmg-home-content-text { max-width: 100%; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 16px; }
body .pmg-home-content-text > p:first-child { font-size: inherit; color: var(--pmg-ink); }
body .pmg-home-feedback-section { background: var(--pmg-surface); }
body .pmg-home-feedback-card { max-width: 960px; margin: 0 auto; padding: 24px 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.pmg-home-feedback-card > i { color: var(--pmg-blue); }
body .pmg-home-feedback-card blockquote { font: inherit; font-size: 16px; line-height: 1.7; color: var(--pmg-ink); }
body .pmg-home-feedback-card h2 { font: 10px ui-monospace, monospace; color: var(--pmg-blue); text-transform: uppercase; letter-spacing: .1em; }
body .pmg-home-feedback-card footer strong { color: var(--pmg-ink); }
body .pmg-home-feedback-card footer span { color: var(--pmg-muted); }
body .pmg-page-hero, [data-bs-theme="dark"] .pmg-page-hero { position: relative; isolation: isolate; min-height: 184px; overflow: hidden; border-bottom: 1px solid var(--pmg-line); background: var(--pmg-page-hero-bg); color: var(--pmg-ink); }
body .pmg-page-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none; background: var(--pmg-page-hero-pattern); opacity: var(--pmg-page-hero-pattern-opacity); mask: url('/assets/images/page-hero-math.svg') right center / 1200px 300px no-repeat; }
body .pmg-page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, var(--pmg-page-hero-bg) 0%, var(--pmg-page-hero-bg) 25%, transparent 85%); }
body .pmg-page-hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 184px; padding-block: 34px; }
.pmg-page-hero-copy { min-width: 0; }
body .pmg-page-hero h1 { max-width: 1020px; font: normal clamp(32px,3.5vw,48px)/1.14 var(--pmg-serif); color: var(--pmg-ink); letter-spacing: -.035em; overflow-wrap: anywhere; }
body .pmg-page-hero p:not(.pmg-eyebrow) { color: var(--pmg-muted); font-size: 15px; }
body .pmg-page-hero .pmg-eyebrow { margin-bottom: 12px; color: var(--pmg-blue); }
body .pmg-page-hero .pmg-hero-actions { flex: 0 0 auto; margin: 0; }
body .pmg-page-hero .pmg-hero-actions .btn { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 11px 20px; border: 1px solid #c9ff54; background: #c9ff54; color: #0b1523; font-size: 14px; box-shadow: none; }
body .pmg-page-hero .pmg-hero-actions .btn:hover { border-color: #f7f6f2; background: #f7f6f2; }
body .pmg-page-hero + .breadcrumb-container, [data-bs-theme="dark"] .pmg-page-hero + .breadcrumb-container, body .breadcrumb-container { background: var(--pmg-surface); border-bottom: 1px solid var(--pmg-line); border-top: 0; }
body .pmg-page-hero + .breadcrumb-container .breadcrumb, body .breadcrumb { padding: 13px 0; margin: 0; font-size: 11px; background: transparent; }
body .pmg-page-hero + .breadcrumb-container .breadcrumb, body .pmg-page-hero + .breadcrumb-container .breadcrumb a, body .pmg-page-hero + .breadcrumb-container .breadcrumb-item, body .pmg-page-hero + .breadcrumb-container .breadcrumb-item.active { color: var(--pmg-muted); }
body .pmg-page-hero + .breadcrumb-container .breadcrumb-item + .breadcrumb-item::before { color: var(--pmg-muted); }
body .main-cols-wrapper, [data-bs-theme="dark"] .main-cols-wrapper, body .home-cols-wrapper { background: var(--pmg-surface); padding-top: 56px; }
body .main-cols-wrapper .col-main, body .main-cols-wrapper .col-side { padding-top: 0; }
body .pmg-content-card, body .pmg-article-shell, body .sidebar-card, body .col-side-inner .posts-block, body .sidebar-shell { border-radius: 0; box-shadow: none; }
body .sidebar-shell { top: calc(var(--pmg-header-height,210px) + 24px); }
.pmg-sidebar-actions { display: grid; gap: 10px; }
body .pmg-sidebar-actions > .btn { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 14px 18px; text-align: left; }
.pmg-sidebar-actions > .btn > i { flex: 0 0 20px; text-align: center; }
body .pmg-content-card { padding: 35px; border: 1px solid var(--pmg-line); background: var(--pmg-paper); }
body .pmg-prose { color: var(--pmg-ink); line-height: 1.85; overflow-wrap: anywhere; min-width: 0; }
body .pmg-prose h1, body .pmg-prose h2, body .pmg-prose h3 { color: var(--pmg-ink); font-family: var(--pmg-serif); font-weight: 400; letter-spacing: -.025em; }
body .pmg-prose img { max-width: 100%; height: auto; border-radius: 0; }
body .pmg-prose iframe, body .pmg-prose video { max-width: 100%; }
body .pmg-prose table { max-width: 100%; }
.pmg-table-overflow { max-width: 100%; overflow: auto; overscroll-behavior-inline: contain; margin: 24px 0; }
.pmg-table-overflow:focus-visible { outline-offset: 2px; }
body .pmg-document-item, body .pmg-admission-mini, body .pmg-timeline li, body .pmg-empty-state, body .sidebar-search, body .sidebar-shell .form-control { border-radius: 0; box-shadow: none; background: var(--pmg-paper); }
body .btn, body a.btn, body .form-control, body .form-select { border-radius: 0; }
body .btn-primary, body a.btn-primary { background: #194bff; border-color: #194bff; color: #fff; min-height: 44px; }
body .btn-primary:hover, body .btn-primary:focus, body a.btn-primary:hover { background: #1238be; border-color: #1238be; color: #fff; }
body .btn-secondary, body a.btn-secondary { background: var(--pmg-ink); color: var(--pmg-surface); border-color: var(--pmg-ink); }
body .pmg-footer { background: #0b1523; color: #b8c3d1; padding: 66px 0 25px; }
body .pmg-footer-grid { grid-template-columns: 1.4fr .8fr .8fr 1fr; gap: 45px; }
body .pmg-footer h2 { color: #f7f6f2; font: normal 29px/1.25 var(--pmg-serif); letter-spacing: -.035em; max-width: 350px; }
body .pmg-footer h3 { font: 16px/1.6 ui-monospace, Consolas, monospace; color: var(--pmg-lime); letter-spacing: .04em; text-transform: uppercase; margin: 10px 0 20px; }
body .pmg-footer-brand img { width: 64px; height: 64px; background: transparent; padding: 0; filter: brightness(0) invert(1); }
body .pmg-footer a { color: #e0e6ee; font-size: 16px; line-height: 1.65; }
body .pmg-footer a:hover, body .pmg-footer a:focus { color: var(--pmg-lime); }
body .pmg-footer address, body .pmg-footer-contact { font-size: 16px; line-height: 1.9; }
body .pmg-footer-social a { background: transparent; border: 1px solid #46515f; border-radius: 0; width: 44px; height: 44px; }
body .pmg-footer-bottom { margin-top: 56px; padding-top: 25px; border-color: #34404e; align-items: center; font: 16px/1.8 ui-monospace, Consolas, monospace; }
body .pmg-footer-bottom small { font-size: inherit; }
body .pmg-footer-links { gap: 4px; }
.pmg-footer-links a { display: block; padding-block: 6px; }
.pmg-footer-links summary { padding-block: 6px; color: #e0e6ee; font-size: 16px; line-height: 1.65; cursor: pointer; }
.pmg-footer-contact a { display: inline-block; padding-block: 3px; overflow-wrap: anywhere; }
.pmg-footer-links details > ul { padding: 13px 0 7px 13px; border-left: 1px solid #34404e; margin-top: 10px; }
body .back-to-top-wrap { z-index: 85; }
body .back-to-top { display: none; border-radius: 0 !important; width: 44px; height: 44px; padding: 0; }
[data-bs-theme="dark"] .pmg-signature-hero h1, [data-bs-theme="dark"] .pmg-school-story h2, [data-bs-theme="dark"] .pmg-subjects-section h2 { color: var(--pmg-ink); }
[data-bs-theme="dark"] .pmg-list-card, [data-bs-theme="dark"] .news-row-card { background: transparent; }
[data-bs-theme="dark"] .pmg-content-card { background: var(--pmg-paper); }
@media (min-width: 992px) {
    body .main-nav .pmg-primary-nav { flex-wrap: nowrap; }
    body .main-nav .pmg-primary-nav > .nav-item { width: auto; min-width: 0; flex: 0 1 auto; }
    body .main-nav .pmg-primary-nav > .pmg-menu-group { flex-wrap: nowrap; }
    body .main-nav .pmg-primary-nav > .nav-item > .nav-link { width: auto; min-width: 0; height: 100%; max-width: none; white-space: normal; }
}
@media (min-width: 1600px) {
    body .container { max-width: 1540px; width: calc(100% - 140px); }
    .pmg-signature-hero h1 { font-size: 76px; }
}
@media (max-width: 1199px) {
    body .container { width: calc(100% - 56px); }
    body .pmg-brand strong { font-size: 14px; max-width: 285px; }
    body .pmg-header-tools { gap: 9px; }
    body .pmg-header-search { width: 155px; }
    body .main-nav .nav .nav-link { padding-inline: 7px; }
    .pmg-signature-grid { gap: 28px; }
    .pmg-signature-hero h1 { font-size: clamp(44px,4.7vw,56px); }
    .pmg-utility-links > a { gap: 12px; padding-inline: 15px; font-size: 12px; }
    body .pmg-footer-grid { gap: 24px; }
}
@media (max-width: 991px) {
    body .pmg-topline { display: none; }
    body .branding, [data-bs-theme="dark"] .branding { padding: 12px 0; }
    body .pmg-brand-logo { width: 88px; height: 64px; }
    body .pmg-brand strong { max-width: 300px; font-size: 14px; }
    body .pmg-header-search, body .pmg-header-admission { display: none; }
    body .pmg-mobile-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; border: 1px solid var(--pmg-line); padding: 10px; background: transparent; color: var(--pmg-ink); }
    .pmg-mobile-toggle span { display: block; height: 1px; width: 22px; background: currentColor; transition: transform .2s; }
    .pmg-mobile-toggle span:last-child { display: none; }
    .pmg-mobile-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .pmg-mobile-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
    body .pmg-navigation { display: none; padding: 22px 0 28px; }
    body .pmg-navigation.is-open { display: block; max-height: 80svh; overflow-y: auto; overscroll-behavior: contain; }
    body.pmg-navigation-open { overflow: hidden; }
    body .pmg-menu-open .top-bar { position: fixed; top: var(--pmg-nav-top,80px); left: 0; right: 0; bottom: 0; overflow-y: auto; overscroll-behavior: contain; border-bottom: 0; }
    body .pmg-menu-open .pmg-navigation.is-open { max-height: none; overflow: visible; }
    body .pmg-primary-nav { display: block; }
    body .main-nav .nav > .nav-item { border-bottom: 1px solid var(--pmg-line); }
    body .main-nav .nav .nav-link { font-size: 18px; min-height: 56px; padding: 14px 0; justify-content: space-between; width: 100%; }
    body .pmg-menu-group > .pmg-parent-link { width: auto !important; flex: 1; }
    body .pmg-menu-group > .pmg-parent-link + button { width: 44px !important; justify-content: center !important; }
    body .pmg-submenu { position: static; width: 100%; max-width: 100%; max-height: none; overflow: visible; box-shadow: none; border: 0; padding: 0 18px 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
    body .pmg-submenu .pmg-menu-link { font-size: 16px; }
    body .pmg-mobile-search { display: flex; border: 1px solid var(--pmg-line); margin-bottom: 20px; border-radius: 0; height: 48px; background: transparent; }
    body .pmg-mobile-search input { flex: 1; min-width: 0; border: 0; padding: 0 15px; background: transparent; color: var(--pmg-ink); }
    body .pmg-mobile-search button { width: 48px; border: 0; background: var(--pmg-ink); color: var(--pmg-surface); }
    body .pmg-mobile-lang { display: none; }
    .pmg-signature-grid { grid-template-columns: 1fr; padding-block: 44px; gap: 34px; }
    .pmg-signature-hero h1 { max-width: 600px; font-size: 70px; margin-block: 25px; }
    .pmg-signature-hero .pmg-hero-intro { max-width: 500px; }
    .pmg-utility-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pmg-utility-links > a { min-height: 90px; border-bottom: 1px solid var(--pmg-line); padding-inline: 22px; }
    .pmg-utility-links > a:nth-child(2) { border-right: 0; }
    .pmg-utility-links > a:nth-child(3) { padding-left: 0; }
    body .pmg-news-grid, body .pmg-project-grid { gap: 22px; }
    body .pmg-admission-grid { gap: 40px; grid-template-columns: 1.2fr .8fr; }
    .pmg-subjects { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .pmg-subjects > div { border-bottom: 1px solid var(--pmg-line); }
    .pmg-subjects > div:nth-child(2) { border-right: 0; }
    .pmg-subjects > div:nth-child(3) { padding-left: 0; }
    .pmg-gallery-highlights { grid-template-columns: 1fr 1fr; }
    .pmg-gallery-highlights > a:first-child { grid-column: 1 / -1; }
    body .pmg-footer-grid { grid-template-columns: 1fr 1fr; gap: 45px; }
}
@media (max-width: 575px) {
    body .container { width: calc(100% - 36px); }
    body .branding > .container { gap: 8px; }
    body .pmg-brand { gap: 9px; }
    body .pmg-brand-logo { width: 72px; height: 54px; }
    body .pmg-brand strong { font-size: 10px; line-height: 1.3; max-width: 190px; }
    body .pmg-header-tools { gap: 2px; }
    body .pmg-header-tools > .language-switcher { display: none; }
    body .pmg-header-tools > .color-mode-toggle { display: none; }
    body .pmg-mobile-lang { display: flex; width: fit-content; margin-bottom: 15px; }
    body .pmg-mobile-lang button { font-size: 12px; min-width: 44px; }
    body .pmg-mobile-toggle { width: 42px; height: 44px; border: 0; }
    body .pmg-submenu { grid-template-columns: 1fr; gap: 0; padding: 0 15px 15px; }
    .pmg-signature-grid { padding-block: 32px; gap: 26px; }
    body .pmg-eyebrow { font-size: 9px; letter-spacing: .07em; }
    .pmg-signature-hero h1 { font-size: clamp(40px,11.5vw,61px); margin: 24px 0; letter-spacing: -.06em; }
    .pmg-signature-hero .pmg-hero-intro { font-size: 13px; max-width: 340px; margin-bottom: 16px; }
    .pmg-teachers-portrait figcaption { font-size: 11px; padding-block: 12px; }
    .pmg-utility-links > a, .pmg-utility-links > a:first-child, .pmg-utility-links > a:nth-child(3) { padding: 17px 9px; gap: 9px; font-size: 11px; min-height: 84px; }
    .pmg-utility-links .pmg-utility-index { font-size: 8px; }
    body .pmg-section { padding: 58px 0; }
    body .pmg-section-heading { margin-bottom: 28px; }
    body .pmg-heading-row { display: block; }
    body .pmg-heading-row > .pmg-editorial-link { margin-top: 15px; }
    body .pmg-news-grid, body .pmg-project-grid { grid-template-columns: 1fr; gap: 32px; }
    body .pmg-list-media { height: auto; }
    body .pmg-list-body h3 { font-size: 21px; }
    body .pmg-home-resources-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    body .pmg-home-resource-card { min-height: 115px; }
    body .pmg-home-resource-card-text { padding: 15px; }
    body .pmg-home-resource-card strong { font-size: 11px; }
    body .pmg-admission-grid { grid-template-columns: 1fr; gap: 32px; }
    .pmg-admission-symbol { display: none; }
    .pmg-subjects { margin-top: 30px; }
    .pmg-subjects > div { padding: 20px 14px; }
    .pmg-subjects h3 { font-size: 14px; }
    .pmg-subjects > div > span { font-size: 48px; }
    .pmg-gallery-highlights { grid-template-columns: 1fr; gap: 30px; }
    .pmg-gallery-highlights img { height: 235px; }
    body .pmg-page-hero, [data-bs-theme="dark"] .pmg-page-hero { min-height: 152px; }
    body .pmg-page-hero-inner { min-height: 152px; padding-block: 27px; gap: 18px; flex-wrap: wrap; }
    body .pmg-page-hero h1 { font-size: 32px; }
    body .pmg-content-card { padding: 20px; }
    body .main-cols-wrapper, [data-bs-theme="dark"] .main-cols-wrapper { padding-top: 32px; }
    body .pmg-footer { padding-top: 48px; }
    body .pmg-footer-grid { gap: 32px 20px; }
    body .pmg-footer-brand { grid-column: 1 / -1; }
    body .pmg-footer-grid > div:last-child { grid-column: 1 / -1; }
    body .pmg-footer h2 { font-size: 28px; }
    body .pmg-footer-bottom { display: flex; flex-wrap: wrap; margin-top: 35px; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
