:root {
  --navy: #002147;
  --navy-2: #083765;
  --gold: #fdc800;
  --gold-dark: #e1ad00;
  --ink: #172235;
  --muted: #667085;
  --soft: #f4f6f9;
  --line: #dfe4eb;
  --white: #fff;
  --radius: 18px;
  --shadow: 0 18px 45px rgba(0, 33, 71, .10);
}
.admission-years{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1.2rem}.admission-years>span{margin-right:.3rem;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.admission-years a{border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;color:var(--navy);background:#fff;font-size:.8rem;font-weight:750;text-decoration:none}.admission-years a.active{border-color:var(--navy);color:#fff;background:var(--navy)}.admission-deadlines{background:#f4f7fa}.deadline-grid{display:grid;gap:1rem}.deadline-card{display:grid;grid-template-columns:68px 1fr;gap:1rem;border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff;box-shadow:0 10px 30px rgba(0,33,71,.05)}.deadline-card.past{opacity:.68}.deadline-date{width:68px;height:74px;display:grid;align-content:center;border-radius:12px;color:var(--navy);background:#fff0ad;text-align:center}.deadline-date strong{font-family:"Source Serif 4",serif;font-size:1.9rem;line-height:1}.deadline-date span{font-size:.67rem;font-weight:900;letter-spacing:.08em}.deadline-kind{color:#8a6c00;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.deadline-card h3{margin:.25rem 0;color:var(--navy);font-size:1.08rem}.deadline-card p{margin:0 0 .5rem;color:var(--muted);font-size:.85rem}.deadline-card time,.deadline-card a{display:block;color:var(--navy);font-size:.76rem;font-weight:750}.deadline-card a{margin-top:.45rem;color:#755c00}@media(min-width:768px){.deadline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--ink); background: #fff; font-family: Manrope, "Segoe UI", sans-serif; line-height: 1.68; overflow-x: hidden; }
a { color: var(--navy); text-decoration: none; }
a:hover { color: #00519c; }
img { max-width: 100%; }
h1, h2, h3, h4 { color: var(--navy); font-family: "Source Serif 4", Georgia, serif; font-weight: 700; letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
.container { --bs-gutter-x: 1.4rem; }
.skip-link { position: fixed; z-index: 99999; top: 10px; left: 10px; transform: translateY(-160%); padding: .8rem 1.1rem; border-radius: 8px; color: var(--navy); background: var(--gold); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

.btn { min-height: 44px; border-radius: 999px; padding: .65rem 1.15rem; font-weight: 800; letter-spacing: -.01em; }
.btn-gold { border-color: var(--gold); color: var(--navy); background: var(--gold); }
.btn-gold:hover, .btn-gold:focus { border-color: #ffe169; color: var(--navy); background: #ffe169; }
.btn-navy { color: #fff; background: var(--navy); border-color: var(--navy); }
.btn-navy:hover { color: var(--navy); background: var(--gold); border-color: var(--gold); }
.btn-outline-navy { color: var(--navy); border-color: var(--navy); background: transparent; }
.btn-outline-navy:hover { color: #fff; background: var(--navy); }

.school-topbar { padding: .55rem 0; color: #dbe6f2; background: var(--navy); }
.school-topbar a { color: #eef5fb; }
.school-topbar a:hover { color: var(--gold); }
.top-link { font-size: .8rem; }
.access-trigger { border: 0; border-radius: 7px; padding: .3rem .55rem; color: var(--navy); background: var(--gold); font-size: .8rem; font-weight: 800; }

.site-header { top: 0; z-index: 1020; border-bottom: 1px solid rgba(0, 33, 71, .08); background: rgba(255, 255, 255, .97); box-shadow: 0 5px 25px rgba(0, 33, 71, .06); backdrop-filter: blur(12px); }
.navbar { min-height: 78px; padding: .45rem 0; }
.navbar-brand { max-width: calc(100% - 65px); }
.navbar-brand img { width: 45px; height: 48px; object-fit: contain; }
.navbar-brand span { display: flex; min-width: 0; flex-direction: column; }
.navbar-brand strong { overflow: hidden; color: var(--navy); font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.navbar-brand small { overflow: hidden; color: var(--muted); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.navbar-toggler { border: 0; box-shadow: none !important; }
.nav-link { color: var(--ink); font-weight: 700; }
button.nav-link { width: 100%; border: 0; background: none; text-align: left; }
.nav-link:hover, .nav-link.active { color: var(--navy); }
.dropdown-menu { border: 0; border-radius: 12px; padding: .6rem; box-shadow: var(--shadow); }
.dropdown-item { border-radius: 8px; padding: .65rem .8rem; color: var(--ink); font-weight: 600; }
.dropdown-item:hover { color: var(--navy); background: #fff8d8; }
.search-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); color: var(--navy); background: #fff; }
.site-search { border-top: 1px solid var(--line); background: #fff; }
.site-search .form-control { min-height: 48px; border-color: #cbd3de; }

.hero-school { position: relative; min-height: 610px; display: flex; align-items: flex-end; overflow: hidden; background: var(--navy); }
.hero-media { position: absolute; inset: 0; background-image: linear-gradient(180deg, rgba(0, 33, 71, .18), rgba(0, 33, 71, .93)), url('../img/hero-school.jpg'); background-position: center; background-size: cover; transform: scale(1.01); }
.hero-media::after { position: absolute; right: -15%; bottom: -45%; width: 75%; height: 70%; border: 1px solid rgba(253, 200, 0, .28); border-radius: 50%; content: ""; }
.hero-content { position: relative; z-index: 1; padding-top: 5rem; padding-bottom: 6rem; color: #fff; }
.hero-kicker, .section-kicker { display: inline-block; margin-bottom: .85rem; color: var(--gold-dark); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-kicker { color: var(--gold); }
.hero-school h1 { max-width: 870px; margin-bottom: 1.2rem; color: #fff; font-size: clamp(2.5rem, 8vw, 5.7rem); }
.hero-school p { max-width: 700px; margin-bottom: 2rem; color: #eef3f8; font-size: 1.08rem; }
.hero-actions { display: flex; flex-direction: column; gap: .75rem; align-items: stretch; }
.hero-actions .btn { min-height: 54px; display: inline-flex; gap: .55rem; align-items: center; justify-content: center; }

.quick-actions { position: relative; z-index: 3; margin-top: -2.3rem; }
.quick-grid { overflow: hidden; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.quick-grid > a { display: flex; min-height: 100px; gap: .85rem; align-items: center; padding: 1.1rem; border-bottom: 1px solid var(--line); }
.quick-grid > a:last-child { border-bottom: 0; }
.quick-grid > a > i:last-child { margin-left: auto; color: #8a96a7; }
.quick-grid a:hover { color: var(--navy); background: #fffaf0; }
.quick-grid a:hover > i:last-child { color: var(--navy); transform: translateX(3px); }
.quick-icon { width: 48px; height: 48px; display: grid; flex: 0 0 48px; place-items: center; border-radius: 13px; color: var(--navy); background: #fff4bf; font-size: 1.3rem; }
.quick-grid strong, .quick-grid small { display: block; }
.quick-grid strong { line-height: 1.25; }
.quick-grid small { margin-top: .2rem; color: var(--muted); font-size: .78rem; }

.section-space { padding: 4.5rem 0; }
.section-soft { background: var(--soft); }
.section-heading { max-width: 680px; margin-bottom: 2.2rem; }
.section-heading h2 { margin-bottom: .65rem; font-size: clamp(2rem, 5vw, 3.2rem); }
.section-heading p { margin: 0; color: var(--muted); }
.section-heading.text-center { margin-right: auto; margin-left: auto; }
.more-link, .card-link { display: inline-flex; gap: .45rem; align-items: center; color: var(--navy); font-weight: 800; }
.more-link i, .card-link i { transition: transform .2s ease; }
.more-link:hover i, .card-link:hover i { transform: translateX(4px); }

.news-card, .list-card, .project-card { height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.news-card:hover, .list-card:hover, .project-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card-media { position: relative; aspect-ratio: 16 / 10; display: block; overflow: hidden; background: #e9eef4; }
.card-media img, .list-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.news-card:hover img, .list-card:hover img { transform: scale(1.04); }
.media-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #6f8197; background: linear-gradient(135deg, #e8edf3, #f8fafc); font-size: 2.8rem; }
.date-chip { position: absolute; right: .8rem; bottom: .8rem; border-radius: 8px; padding: .35rem .55rem; color: var(--navy); background: var(--gold); font-size: .72rem; font-weight: 900; }
.card-body { padding: 1.25rem; }
.content-type { display: block; margin-bottom: .6rem; color: #8a6c00; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.news-card h3, .project-card h3 { margin-bottom: .7rem; font-size: 1.22rem; }
.news-card h3 a, .project-card h3 a, .list-card h2 a { color: var(--navy); }
.news-card p, .project-card p, .list-card p { color: var(--muted); }
.news-card .card-link { margin-top: .5rem; }

.empty-state { max-width: 760px; margin: 0 auto; padding: 3.5rem 1.5rem; border: 1px dashed #bcc7d4; border-radius: var(--radius); background: #f9fafc; text-align: center; }
.empty-state > i { display: block; margin-bottom: 1rem; color: #8392a5; font-size: 2.8rem; }
.empty-state h2, .empty-state h3 { font-size: 1.35rem; }
.empty-state p { margin: 0; color: var(--muted); }
.empty-state.compact { padding: 2.2rem 1.5rem; }

.event-list { display: grid; gap: .8rem; }
.event-item { display: flex; gap: 1rem; align-items: center; padding: .85rem; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: #fff; }
.event-item:hover { color: var(--ink); border-color: #9caec3; box-shadow: 0 8px 25px rgba(0, 33, 71, .07); }
.event-item time { width: 60px; height: 64px; display: grid; flex: 0 0 60px; place-content: center; border-radius: 10px; color: var(--navy); background: var(--gold); text-align: center; }
.event-item time strong { display: block; font-size: 1.45rem; line-height: 1; }
.event-item time span { font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.event-content { min-width: 0; flex: 1; }
.event-content strong { display: block; color: var(--navy); line-height: 1.3; }
.event-content small { display: block; margin-top: .35rem; color: var(--muted); }

.admission-card { position: sticky; top: 125px; overflow: hidden; border-radius: 22px; padding: 2rem; color: #e9f0f7; background: var(--navy); box-shadow: var(--shadow); }
.admission-card::after { position: absolute; right: -55px; bottom: -75px; width: 180px; height: 180px; border: 28px solid rgba(253, 200, 0, .12); border-radius: 50%; content: ""; }
.admission-card h2 { color: #fff; font-size: 2rem; }
.admission-card p { color: #cad7e4; }
.admission-card ul { position: relative; z-index: 1; display: grid; gap: .75rem; margin: 1.5rem 0 1.8rem; padding: 0; list-style: none; }
.admission-card li { display: flex; gap: .6rem; }
.admission-card li i { color: var(--gold); }

.stats-section { padding: 3rem 0; background: var(--navy); }
.stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .15); border-radius: 16px; background: rgba(255, 255, 255, .15); }
.stats-grid > div { padding: 1.35rem .6rem; background: var(--navy); text-align: center; }
.stats-grid strong { display: block; color: var(--gold); font-size: clamp(2rem, 8vw, 4rem); line-height: 1; }
.stats-grid span { display: block; margin-top: .5rem; color: #d9e4ef; font-size: .72rem; font-weight: 800; text-transform: uppercase; }

.project-card { padding: 1.6rem; }
.project-icon { width: 56px; height: 56px; display: grid; margin-bottom: 1.3rem; place-items: center; border-radius: 15px; color: var(--navy); background: var(--gold); font-size: 1.45rem; }
.project-card .card-link { margin-top: .6rem; }

.cta-band { padding: 3.5rem 0; color: #fff; background: linear-gradient(105deg, #002147, #0b427b); }
.cta-band .container { display: flex; flex-direction: column; gap: 1.5rem; }
.cta-band span { color: var(--gold); font-weight: 800; text-transform: uppercase; }
.cta-band h2 { margin: .3rem 0 .6rem; color: #fff; }
.cta-band p { max-width: 680px; margin: 0; color: #d4e0ec; }
.cta-actions { display: flex; flex-direction: column; gap: .7rem; }

.page-hero, .article-hero { position: relative; overflow: hidden; padding: 3.5rem 0; color: #fff; background: var(--navy); }
.page-hero::after, .article-hero::after { position: absolute; right: -100px; bottom: -170px; width: 360px; height: 360px; border: 55px solid rgba(253, 200, 0, .1); border-radius: 50%; content: ""; }
.page-hero .container, .article-hero .container { position: relative; z-index: 1; }
.page-hero h1, .article-hero h1 { max-width: 950px; margin: 0; color: #fff; font-size: clamp(2.2rem, 6vw, 4.4rem); }
.breadcrumb { margin-bottom: 1.5rem; }
.breadcrumb-item, .breadcrumb-item.active, .breadcrumb-item + .breadcrumb-item::before { color: #b9c9d9; }
.breadcrumb-item a { color: #fff; }
.page-search { display: flex; flex-direction: column; gap: .7rem; max-width: 750px; margin-top: 1.8rem; }

.content-grid { display: grid; gap: 1.3rem; }
.list-card { display: flex; flex-direction: column; }
.list-card-media { min-height: 205px; display: block; overflow: hidden; background: #edf1f5; }
.list-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }
.list-card h2 { margin: .5rem 0 .8rem; font-size: 1.4rem; }
.list-card .card-link { margin-top: auto; padding-top: 1rem; }
.meta-line, .article-meta { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; color: var(--muted); font-size: .8rem; }
.pdf-badge { display: inline-flex; width: fit-content; gap: .3rem; align-items: center; border-radius: 999px; padding: .3rem .65rem; color: #9b1c1c; background: #fff0f0; font-size: .75rem; font-weight: 800; }

.article-hero { padding-bottom: 5rem; }
.article-hero .section-kicker { color: var(--gold); }
.article-meta { margin-top: 1.4rem; color: #c6d3df; }
.article-container { position: relative; margin-top: -2rem; padding-bottom: 5rem; }
.article-container > .row > div { border-radius: 20px; padding: 1rem; background: #fff; box-shadow: 0 12px 50px rgba(0, 33, 71, .08); }
.article-cover { width: 100%; max-height: 560px; border-radius: 14px; object-fit: cover; }
.article-lead { margin: 1.8rem 0; color: #34455a; font-size: 1.15rem; font-weight: 600; }
.article-body { color: #26364a; font-size: 1.03rem; }
.article-body h2, .article-body h3 { margin-top: 2rem; }
.article-body img { height: auto; border-radius: 10px; }
.article-body iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 12px; }
.article-body table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.article-body th, .article-body td { border: 1px solid var(--line); padding: .7rem; }
.article-body a { color: #0057a8; text-decoration: underline; text-underline-offset: 3px; }
.document-box { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 2.2rem; border: 1px solid #edc9c9; border-radius: 14px; padding: 1rem; background: #fff9f9; }
.document-box > div:first-child { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 10px; color: #b42318; background: #fee4e2; font-size: 1.5rem; }
.document-box > span { flex: 1 1 250px; }
.document-box h2 { margin: 0 0 .25rem; font-size: 1rem; }
.document-box p { margin: 0; color: var(--muted); font-size: .86rem; }
.document-actions { display: flex; gap: .5rem; }
.pdf-viewer { height: 70vh; min-height: 500px; overflow: hidden; margin-top: 1rem; border: 1px solid var(--line); border-radius: 12px; }
.pdf-viewer iframe { width: 100%; height: 100%; border: 0; }
.article-share { display: flex; gap: .7rem; align-items: center; margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.article-share a, .article-share button { width: 42px; height: 42px; display: grid; border: 1px solid var(--line); border-radius: 50%; place-items: center; color: var(--navy); background: #fff; }

.search-results { display: grid; gap: .8rem; }
.search-results > a { display: block; border: 1px solid var(--line); border-radius: 14px; padding: 1.2rem; }
.search-results > a:hover { background: var(--soft); }
.search-results span { color: #8a6c00; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.search-results h3 { margin: .3rem 0; font-size: 1.25rem; }
.search-results p { margin: 0; color: var(--muted); }

.error-page { min-height: 65vh; display: grid; padding: 5rem 0; place-items: center; }
.error-page span { display: block; color: var(--gold-dark); font-size: 5rem; font-weight: 900; line-height: 1; }
.error-page p { color: var(--muted); }

.site-footer { color: #d5e0eb; background: #00162f; }
.site-footer h2 { color: #fff; }
.footer-about { max-width: 470px; color: #9fb0c2; }
.footer-title { margin-bottom: 1rem; font-size: .92rem; letter-spacing: .05em; text-transform: uppercase; }
.footer-links { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.footer-links a, .link-button { border: 0; padding: 0; color: #aebed0; background: none; text-align: left; }
.footer-links a:hover, .link-button:hover { color: var(--gold); }
.footer-contact { display: grid; gap: .75rem; font-style: normal; }
.footer-contact a, .footer-contact span { display: flex; gap: .6rem; color: #b8c6d5; }
.footer-contact i { color: var(--gold); }
.footer-bottom { padding: 1.1rem 0; border-top: 1px solid rgba(255, 255, 255, .1); color: #8496aa; font-size: .76rem; }

/* Special pages and polished interface */
.special-hero { position: relative; overflow: hidden; padding: 4.2rem 0 5.5rem; color: #fff; background: radial-gradient(circle at 84% 20%, #174f86 0, var(--navy) 38%, #00152e 100%); }
.special-hero::after { position:absolute; right:-8rem; bottom:-12rem; width:28rem; height:28rem; border:1px solid rgba(253,200,0,.28); border-radius:50%; box-shadow:0 0 0 55px rgba(253,200,0,.035),0 0 0 110px rgba(253,200,0,.025); content:""; }
.special-hero .container { position:relative; z-index:1; }
.special-hero .breadcrumb, .article-hero .breadcrumb { --bs-breadcrumb-divider-color:#9db2c7; --bs-breadcrumb-item-active-color:#c8d5e2; }
.special-hero .breadcrumb a { color:#fff; }
.special-hero h1 { max-width:900px; margin:.2rem 0 1rem; color:#fff; font-size:clamp(2.6rem,8vw,5.4rem); }
.special-hero p { max-width:780px; margin:0; color:#dce7f2; font-size:clamp(1rem,2vw,1.2rem); }
.hero-facts { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.hero-facts span { padding:1rem .5rem; border-right:1px solid rgba(255,255,255,.16); color:#d9e5ef; text-align:center; font-size:.72rem; text-transform:uppercase; }
.hero-facts span:last-child { border:0; }.hero-facts strong { display:block; color:var(--gold); font-family:"Source Serif 4",serif; font-size:1.85rem; line-height:1; }
.admission-notice { display:flex; flex-direction:column; gap:1rem; border:1px solid #c8d6e5; border-left:5px solid var(--gold); border-radius:16px; padding:1.2rem; background:#f8fbff; }
.admission-notice>i { color:var(--navy); font-size:1.5rem; }.admission-notice p { margin:.2rem 0 0; color:var(--muted); }.admission-notice>a { align-self:flex-start; font-weight:800; white-space:nowrap; }
.profile-grid { display:grid; gap:1rem; }.profile-card { position:relative; display:flex; min-height:360px; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:20px; padding:1.4rem; background:#fff; box-shadow:0 8px 24px rgba(0,33,71,.05); }
.profile-card::after { position:absolute; right:-2rem; top:-2rem; width:8rem; height:8rem; border-radius:50%; background:#fff5c5; content:""; }.profile-no { position:relative; z-index:1; color:#a27e00; font-size:.75rem; font-weight:900; letter-spacing:.12em; }.profile-places { align-self:flex-start; margin:.8rem 0 1rem; border-radius:999px; padding:.28rem .6rem; color:#655000; background:#fff1a8; font-size:.7rem; font-weight:850; }
.profile-card h3 { position:relative; z-index:1; min-height:3.2rem; font-size:1.35rem; }.profile-card dl { margin:1rem 0; }.profile-card dl div { margin-bottom:.65rem; }.profile-card dt { color:var(--muted); font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; }.profile-card dd { margin:0; color:var(--ink); font-weight:750; }.score-row { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:auto; border-top:1px solid var(--line); padding-top:1rem; }.score-row span { display:flex; flex-direction:column; }.score-row small { color:var(--muted); font-size:.68rem; }.score-row strong { color:var(--navy); }
.special-title { margin-bottom:1.3rem; font-size:clamp(2rem,5vw,3rem); }.process-list { display:grid; gap:1rem; }.process-list>div { display:flex; gap:1rem; }.process-list>div>span { width:42px; height:42px; display:grid; flex:0 0 42px; border-radius:50%; place-items:center; color:var(--navy); background:var(--gold); font-weight:900; }.process-list strong { color:var(--navy); }.process-list p { margin:.2rem 0 0; color:var(--muted); }
.results-card { border:1px solid var(--line); border-radius:22px; padding:1.5rem; background:#fff; box-shadow:var(--shadow); }.results-card h2 { font-size:2rem; }.results-card>p { color:var(--muted); }.result-bars { display:grid; gap:.8rem; margin:1.5rem 0; }.result-bars>div { display:grid; grid-template-columns:62px 1fr 42px; gap:.7rem; align-items:center; font-size:.73rem; }.result-bars i { height:8px; overflow:hidden; border-radius:8px; background:#e7ecf1; }.result-bars b { height:100%; display:block; border-radius:8px; background:linear-gradient(90deg,var(--gold),#efb400); }
.budget-seal { display:flex; gap:.8rem; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:16px; padding:1rem; background:rgba(255,255,255,.08); }.budget-seal>i { color:var(--gold); font-size:2rem; }.budget-seal span { display:flex; flex-direction:column; }.budget-seal strong { color:#fff; }.budget-seal small { color:#b8c9d9; }
.budget-year { margin-bottom:2rem; border:1px solid var(--line); border-radius:22px; padding:1.1rem; background:#f8fafc; }.budget-year.is-current { border-top:5px solid var(--gold); }.budget-year-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; }.budget-year-head span { color:#8a6c00; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.budget-year-head h2 { margin:0; font-size:2.5rem; }.budget-progress { display:flex; flex-direction:column; text-align:right; }.budget-progress strong { color:var(--navy); font-size:1.35rem; }.budget-progress small { color:var(--muted); font-size:.7rem; }.budget-doc-grid { display:grid; gap:.8rem; }.budget-doc { display:flex; min-height:250px; flex-direction:column; border:1px solid var(--line); border-radius:16px; padding:1.1rem; background:#fff; }.budget-doc.is-expected { background:repeating-linear-gradient(135deg,#fff,#fff 10px,#f8fafc 10px,#f8fafc 20px); }.doc-icon { width:46px; height:46px; display:grid; margin-bottom:1rem; border-radius:12px; place-items:center; color:#a32019; background:#fff0ef; font-size:1.3rem; }.is-expected .doc-icon { color:#7b8796; background:#e9edf2; }.doc-period { color:#8a6c00; font-size:.67rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.budget-doc h3 { margin:.35rem 0; font-size:1.18rem; }.budget-doc p { color:var(--muted); font-size:.84rem; }.doc-bottom { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; border-top:1px solid var(--line); padding-top:.8rem; }.doc-bottom a,.doc-bottom span { font-size:.78rem; font-weight:850; }.doc-bottom time { color:var(--muted); font-size:.68rem; }.transparency-note { padding:1.4rem 0; background:#fff4bf; }.transparency-note .container { display:flex; flex-direction:column; gap:.7rem; }.transparency-note i { color:var(--navy); font-size:1.4rem; }.transparency-note p { margin:0; }.transparency-note a { font-weight:850; white-space:nowrap; }
.contact-overlap { position:relative; z-index:2; margin-top:-2.2rem; }.contact-cards { display:grid; overflow:hidden; border-radius:18px; background:#fff; box-shadow:var(--shadow); }.contact-cards>a { display:flex; gap:.9rem; align-items:center; padding:1.2rem; border-bottom:1px solid var(--line); }.contact-cards>a:last-child { border:0; }.contact-cards i { width:44px; height:44px; display:grid; flex:0 0 44px; border-radius:12px; place-items:center; color:var(--navy); background:#fff2b3; }.contact-cards span { display:flex; min-width:0; flex-direction:column; }.contact-cards small { color:var(--muted); }.contact-cards strong { overflow:hidden; text-overflow:ellipsis; }.contact-details { display:grid; gap:1rem; margin:2rem 0; }.contact-details>div { display:flex; gap:.8rem; }.contact-details i { color:#9a7800; font-size:1.2rem; }.contact-details span { display:flex; flex-direction:column; }.contact-details small { color:var(--muted); }.map-shell { overflow:hidden; border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 35px rgba(0,33,71,.08); }.map-shell iframe { width:100%; height:330px; display:block; border:0; }.contact-form { border:1px solid var(--line); border-top:5px solid var(--gold); border-radius:22px; padding:1.25rem; background:#fff; box-shadow:var(--shadow); }.form-heading { margin-bottom:1.4rem; }.form-heading h2 { font-size:2.2rem; }.form-heading p { color:var(--muted); }.contact-form label:not(.form-check-label) { display:block; margin-bottom:.4rem; color:#344054; font-size:.78rem; font-weight:800; }.contact-form .form-control,.contact-form .form-select { min-height:50px; border-color:#cbd4df; border-radius:10px; }.contact-form textarea.form-control { min-height:150px; }
.newsletter-band { color:#fff; background:linear-gradient(115deg,#073766,#002147); }.newsletter-band>.container { display:grid; gap:1.3rem; padding-top:2rem; padding-bottom:2rem; }.newsletter-copy { display:flex; gap:1rem; align-items:center; }.newsletter-copy>i { width:50px; height:50px; display:grid; flex:0 0 50px; border-radius:50%; place-items:center; color:var(--navy); background:var(--gold); font-size:1.25rem; }.newsletter-copy span { color:#c2d1df; font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.newsletter-copy h2 { margin:0; color:#fff; font-size:1.35rem; }.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:.6rem; }.newsletter-form>input { min-width:0; min-height:48px; border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:.6rem 1rem; color:#fff; background:rgba(255,255,255,.1); outline:0; }.newsletter-form>input::placeholder { color:#b9c9d8; }.newsletter-consent { grid-column:1/-1; color:#b9c9d8; font-size:.68rem; }.newsletter-consent a { color:#fff; text-decoration:underline; }
.footer-main { padding:4.5rem 0; }.footer-brand { display:flex; gap:1rem; align-items:center; color:#fff; }.footer-brand img { height:74px; object-fit:contain; }.footer-brand span { display:flex; flex-direction:column; }.footer-brand strong { color:#fff; font-family:"Source Serif 4",serif; font-size:1.2rem; }.footer-brand small { color:#8fa3b8; font-size:.73rem; }.footer-about { margin:1.2rem 0; }.footer-social { display:flex; gap:.5rem; }.footer-social a { width:40px; height:40px; display:grid; border:1px solid rgba(255,255,255,.15); border-radius:50%; place-items:center; color:#fff; }.footer-social a:hover { color:var(--navy); background:var(--gold); }.footer-contact a { align-items:flex-start; }.footer-write { display:inline-flex; gap:.5rem; align-items:center; margin-top:1rem; color:var(--gold); font-weight:800; }.footer-bottom>.container { display:flex; flex-direction:column; gap:.7rem; }.footer-bottom div div { display:flex; flex-wrap:wrap; gap:1rem; }.footer-bottom a { color:#a7b7c7; }
.back-to-top { position:fixed; z-index:1040; right:1rem; bottom:5.7rem; width:46px; height:46px; display:grid; visibility:hidden; transform:translateY(12px); border:0; border-radius:50%; place-items:center; color:var(--navy); background:var(--gold); box-shadow:0 10px 30px rgba(0,0,0,.2); opacity:0; transition:.2s ease; }.back-to-top.show { visibility:visible; transform:none; opacity:1; }
.chat-launcher { position:fixed; z-index:1040; right:1rem; bottom:1rem; min-height:52px; display:flex; gap:.55rem; align-items:center; border:0; border-radius:999px; padding:.65rem 1rem; color:#fff; background:var(--navy); box-shadow:0 12px 35px rgba(0,33,71,.28); font-weight:850; }.chat-launcher i { color:var(--gold); }.school-chat { position:fixed; z-index:1060; right:.7rem; bottom:.7rem; left:.7rem; display:flex; visibility:hidden; max-height:min(660px,calc(100vh - 1.4rem)); flex-direction:column; overflow:hidden; border:1px solid #cbd5df; border-radius:22px; background:#fff; box-shadow:0 24px 80px rgba(0,25,55,.28); opacity:0; transform:translateY(15px) scale(.98); transition:.2s ease; }.school-chat.open { visibility:visible; opacity:1; transform:none; }.school-chat header { display:flex; align-items:center; justify-content:space-between; padding:1rem; color:#fff; background:var(--navy); }.school-chat header>div { display:flex; gap:.7rem; align-items:center; }.chat-avatar { width:40px; height:40px; display:grid; border-radius:12px; place-items:center; color:var(--navy); background:var(--gold); }.school-chat header strong,.school-chat header small { display:block; }.school-chat header small { color:#bcd0e1; font-size:.65rem; }.school-chat header small i { width:7px; height:7px; display:inline-block; border-radius:50%; background:#47cd89; }.school-chat header button { border:0; color:#fff; background:none; }.chat-messages { min-height:260px; display:flex; flex-direction:column; gap:.65rem; overflow-y:auto; padding:1rem; background:#f5f7fa; }.chat-message { max-width:88%; border-radius:15px 15px 15px 4px; padding:.72rem .85rem; color:var(--ink); background:#fff; box-shadow:0 3px 12px rgba(0,33,71,.06); font-size:.84rem; white-space:pre-line; }.chat-message.user { align-self:flex-end; border-radius:15px 15px 4px 15px; color:#fff; background:var(--navy); }.chat-sources { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }.chat-sources a { border-radius:999px; padding:.25rem .5rem; color:var(--navy); background:#fff2b8; font-size:.66rem; font-weight:800; }.chat-form { display:flex; gap:.5rem; padding:.75rem; border-top:1px solid var(--line); }.chat-form textarea { min-height:44px; max-height:100px; flex:1; resize:none; border:1px solid #cbd5df; border-radius:12px; padding:.65rem .75rem; outline:0; }.chat-form button { width:44px; height:44px; flex:0 0 44px; border:0; border-radius:50%; color:var(--navy); background:var(--gold); }.chat-note { margin:0; padding:0 .9rem .7rem; color:var(--muted); font-size:.62rem; text-align:center; }
.article-body { font-size:1.02rem; }.article-body h2 { margin:2.2rem 0 .8rem; font-size:clamp(1.7rem,4vw,2.25rem); }.article-body h3 { margin:1.7rem 0 .7rem; font-size:1.4rem; }.article-body p,.article-body ul,.article-body ol { max-width:78ch; }.article-body blockquote { margin:1.5rem 0; border-left:4px solid var(--gold); padding:1rem 1.2rem; color:var(--navy); background:#fff9dc; font-family:"Source Serif 4",serif; font-size:1.18rem; }.article-body table { width:100%; display:block; overflow-x:auto; border-collapse:collapse; }.article-body th,.article-body td { border:1px solid var(--line); padding:.7rem; }.article-body th { color:#fff; background:var(--navy); }

.accessibility-panel { --bs-offcanvas-width: min(420px, 92vw); }
.access-option { min-height: 52px; display: flex; gap: .7rem; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: .7rem 1rem; color: var(--ink); background: #fff; font-weight: 700; text-align: left; }
.access-option:hover { border-color: var(--navy); background: var(--soft); }
.access-reset { margin-top: .6rem; color: #b42318; }
.cookie-banner { position: fixed; z-index: 1080; right: 1rem; bottom: 1rem; left: 1rem; display: none; max-width: 900px; gap: 1rem; align-items: center; justify-content: space-between; margin: 0 auto; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; padding: 1rem; color: #fff; background: #001a38; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.cookie-banner.show { display: flex; flex-direction: column; align-items: stretch; }
.cookie-banner strong { color: var(--gold); }
.cookie-banner p { margin: .25rem 0 0; color: #c9d5e1; font-size: .86rem; }
.cookie-actions { display: flex; flex-direction: column; gap: .5rem; flex: 0 0 auto; }

body.access-contrast { --ink: #000; --muted: #1b1b1b; --soft: #fff; --line: #000; background: #fff; }
body.access-contrast .site-header, body.access-contrast .news-card, body.access-contrast .list-card { border-color: #000; box-shadow: none; }
body.access-links a { text-decoration: underline !important; text-underline-offset: 3px; }
body.access-readable, body.access-readable * { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: .02em; }
body.access-no-motion *, body.access-no-motion *::before, body.access-no-motion *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }

.admission-tools{background:linear-gradient(145deg,#eef3f8,#fff)}.score-calculator,.admission-checklist{height:100%;border:1px solid var(--line);border-radius:22px;padding:1.25rem;background:#fff;box-shadow:var(--shadow)}.tool-heading{margin-bottom:1.3rem}.tool-heading h2{margin:0 0 .35rem;font-size:clamp(1.8rem,4vw,2.5rem)}.tool-heading p{margin:0;color:var(--muted)}.score-calculator label{display:block;margin-bottom:.4rem;color:#344054;font-size:.77rem;font-weight:800}.score-calculator .form-control,.score-calculator .form-select{min-height:50px;border-color:#cbd4df;border-radius:11px}.score-result{display:flex;flex-direction:column;margin:1.4rem 0;border-radius:17px;padding:1.2rem;color:#fff;background:var(--navy)}.score-result span{color:#bbcede;font-size:.72rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.score-result strong{color:var(--gold);font-family:"Source Serif 4",serif;font-size:3rem;line-height:1.1}.score-result small{color:#dbe6f0}.calculator-disclaimer{display:flex;gap:.65rem;margin:0;color:var(--muted);font-size:.76rem}.calculator-disclaimer i{color:#8a6c00;font-size:1.1rem}.check-progress{height:8px;overflow:hidden;margin-bottom:1.2rem;border-radius:8px;background:#e5eaf0}.check-progress i{width:0;height:100%;display:block;border-radius:8px;background:linear-gradient(90deg,var(--gold),#e4ae00);transition:width .25s}.check-task{display:block;margin-bottom:.65rem;cursor:pointer}.check-task input{position:absolute;opacity:0}.check-task span{display:flex;gap:.7rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.75rem;color:var(--ink);font-size:.82rem;font-weight:700}.check-task span>i{width:25px;height:25px;display:grid;flex:0 0 25px;border:1px solid #aeb9c6;border-radius:7px;place-items:center;color:transparent}.check-task input:checked+span{border-color:#c4a000;background:#fff9dc}.check-task input:checked+span>i{border-color:var(--gold);color:var(--navy);background:var(--gold)}.check-task input:focus-visible+span{outline:3px solid rgba(13,110,253,.25)}.check-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.privacy-chip{display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem;border:1px solid #b8d8ca;border-radius:16px;padding:1rem;color:#105c41;background:#edfaf4}.privacy-chip>i{font-size:1.5rem}.privacy-chip span{display:flex;flex:1;flex-direction:column}.privacy-chip small{color:#477665}.privacy-chip button{align-self:flex-start;border:0;color:#8b1c13;background:none;font-size:.78rem;font-weight:800}.center-grid{display:grid;gap:1rem}.center-grid article{display:flex;min-height:220px;flex-direction:column;border:1px solid var(--line);border-radius:20px;padding:1.3rem;background:#fff;box-shadow:0 8px 25px rgba(0,33,71,.06)}.center-grid article>i{width:46px;height:46px;display:grid;margin-bottom:1.2rem;border-radius:13px;place-items:center;color:var(--navy);background:#fff1ae;font-size:1.2rem}.center-grid article>span{color:var(--muted);font-size:.75rem}.center-grid article>strong{margin:.25rem 0 1rem;color:var(--navy);font-family:"Source Serif 4",serif;font-size:1.35rem}.center-grid article>a{display:inline-flex;gap:.4rem;align-items:center;margin-top:auto;font-weight:850}.center-preferences{display:grid;gap:1.5rem;margin-top:2rem;border-radius:22px;padding:1.5rem;color:#fff;background:var(--navy)}.center-preferences h2{color:#fff}.center-preferences p{color:#b9cad9}.preference-options{display:grid;gap:.6rem}.preference-options input{position:absolute;opacity:0}.preference-options span{display:flex;gap:.6rem;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:.75rem;cursor:pointer}.preference-options i{width:23px;height:23px;display:grid;border:1px solid #8fa5b9;border-radius:6px;place-items:center;color:transparent}.preference-options input:checked+span{border-color:var(--gold);background:rgba(253,200,0,.12)}.preference-options input:checked+span i{color:var(--navy);background:var(--gold)}.content-filter{display:grid;gap:.7rem;margin-bottom:.75rem;border:1px solid var(--line);border-radius:17px;padding:1rem;background:#f8fafc}.content-filter input,.content-filter select{width:100%;min-height:46px;border:1px solid #cbd4df;border-radius:10px;padding:.55rem .75rem;background:#fff}.filter-search{position:relative}.filter-search i{position:absolute;top:50%;left:.85rem;transform:translateY(-50%);color:#7e8b9a}.filter-search input{padding-left:2.5rem}.filter-count{margin-bottom:1.5rem;color:var(--muted);font-size:.78rem}.buyer-labels{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}.buyer-labels>span{border-radius:999px;padding:.25rem .55rem;color:#755c00;background:#fff2b6;font-size:.65rem;font-weight:850}.buyer-labels .buyer-status{color:#344054;background:#e9edf2}.buyer-labels .status-open{color:#07633f;background:#d9f3e7}.buyer-labels .status-awarded{color:#174f86;background:#dfeeff}.reference-number{font-family:monospace}.deadline{margin-bottom:.8rem;border-radius:9px;padding:.55rem;color:#7b5800;background:#fff8dc;font-size:.75rem}.list-actions{display:flex;gap:.5rem;align-items:center;margin-top:auto}.list-actions .card-link{margin-right:auto}.icon-action{width:40px;height:40px;display:grid;border:1px solid var(--line);border-radius:50%;place-items:center;color:var(--navy);background:#fff}.icon-action.active{border-color:var(--gold);background:#fff4bd}.chat-feedback{display:flex;gap:.35rem;align-items:center;margin-top:.6rem;border-top:1px solid var(--line);padding-top:.5rem;color:var(--muted);font-size:.66rem}.chat-feedback button{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:#fff}

.procedure-summary{display:grid;gap:1px;overflow:hidden;margin:2rem 0;border:1px solid var(--line);border-radius:16px;background:var(--line)}.procedure-summary>div{display:flex;flex-direction:column;padding:1rem;background:#f8fafc}.procedure-summary small{color:var(--muted);font-size:.68rem;text-transform:uppercase}.procedure-summary strong{color:var(--navy)}

.finance-overview{display:grid;gap:1px;overflow:hidden;margin-bottom:1rem;border:1px solid var(--line);border-radius:14px;background:var(--line)}.finance-overview>div{display:flex;flex-direction:column;padding:1rem;background:#fff}.finance-overview small,.doc-amount small{color:var(--muted);font-size:.68rem;text-transform:uppercase}.finance-overview strong{color:var(--navy);font-size:1.15rem}.finance-execution span{display:flex;align-items:center;justify-content:space-between}.finance-execution i{height:8px;overflow:hidden;margin-top:.5rem;border-radius:8px;background:#e7ecf1}.finance-execution b{height:100%;display:block;border-radius:8px;background:var(--gold)}.doc-amount{display:flex;flex-direction:column;margin-bottom:.7rem}.doc-amount strong{color:var(--navy)}

.achievements-section{background:#fffdf4}.achievement-card{height:100%;border:1px solid var(--line);border-radius:18px;padding:1.3rem;background:#fff}.achievement-card>i{width:48px;height:48px;display:grid;margin-bottom:1rem;border-radius:14px;place-items:center;color:var(--navy);background:var(--gold);font-size:1.2rem}.achievement-card>span{color:#8a6c00;font-size:.68rem;font-weight:900;text-transform:uppercase}.achievement-card h3{margin:.45rem 0;font-size:1.3rem}.achievement-card p{color:var(--muted)}
.event-registration{margin:2rem 0;border:1px solid #c6d4e2;border-top:5px solid var(--gold);border-radius:20px;padding:1.25rem;background:#f8fbff}.registration-heading{margin-bottom:1.2rem}.registration-heading h2{margin:0 0 .5rem}.registration-heading p{display:inline-block;margin:0 1rem .2rem 0;color:var(--muted);font-size:.8rem}.event-registration label:not(.form-check){display:block;margin-bottom:.35rem;font-size:.76rem;font-weight:800}.event-registration .form-control{min-height:48px;border-color:#cbd4df}.registration-closed{display:flex;gap:.8rem;align-items:center;border-radius:13px;padding:1rem;color:#7a5400;background:#fff4c8}.registration-closed i{font-size:1.4rem}.registration-closed span{color:#806c37;font-size:.78rem}

.subscription-settings{max-width:900px;display:grid;gap:1.5rem;margin:auto;border:1px solid var(--line);border-radius:22px;padding:1.3rem;background:#fff;box-shadow:var(--shadow)}.subscription-settings>div>label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:800}.subscription-options{display:grid;gap:.6rem}.subscription-options input{position:absolute;opacity:0}.subscription-options span{display:flex;gap:.6rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.8rem;cursor:pointer}.subscription-options i{width:24px;height:24px;display:grid;border:1px solid #adb8c5;border-radius:6px;place-items:center;color:transparent}.subscription-options input:checked+span{border-color:#c5a000;background:#fff8d8}.subscription-options input:checked+span i{color:var(--navy);background:var(--gold)}

.site-alerts{position:relative;z-index:1040}.site-alert{color:#fff;background:#1c5d93}.site-alert>.container{min-height:54px;display:flex;gap:.75rem;align-items:center;padding-top:.6rem;padding-bottom:.6rem}.site-alert>.container>i{font-size:1.2rem}.site-alert div>div{display:flex;min-width:0;flex:1;flex-direction:column}.site-alert strong{font-size:.8rem}.site-alert span{font-size:.73rem;opacity:.92}.site-alert a{border-radius:999px;padding:.4rem .7rem;color:inherit;background:rgba(255,255,255,.14);font-size:.7rem;font-weight:800;text-decoration:none;white-space:nowrap}.site-alert button{width:34px;height:34px;display:grid;flex:0 0 34px;border:0;border-radius:50%;place-items:center;color:inherit;background:rgba(255,255,255,.12)}.site-alert.alert-success{background:#176447}.site-alert.alert-warning{color:#2d2500;background:#f2c94c}.site-alert.alert-emergency{background:#a61f2b}.site-alert.alert-emergency strong{font-weight:900}
.document-hero p{max-width:650px;margin:1rem 0 0;color:#d6e0eb;font-size:1.05rem}.document-search{display:grid;gap:1rem;margin-bottom:3rem;border:1px solid var(--line);border-radius:20px;padding:1rem;background:#fff;box-shadow:var(--shadow-soft)}.document-search>div{display:grid;gap:.4rem}.document-search label{color:var(--navy);font-size:.75rem;font-weight:800}.document-search>div>span{position:relative}.document-search>div>span i{position:absolute;top:50%;left:.9rem;transform:translateY(-50%);color:#738196}.document-search input,.document-search select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;background:#fff}.document-search input{padding-left:2.6rem}.document-search .btn{align-self:end;min-height:48px}.document-results-head{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.2rem}.document-results-head h2{margin:.2rem 0 0;color:var(--navy);font-weight:800}.document-results-head p{margin:0;color:var(--muted);font-size:.8rem}.document-results-head p i{color:#1a7956}.document-library{display:grid;gap:.8rem}.document-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.9rem;align-items:start;border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff;transition:.2s ease}.document-card:hover{border-color:#b9c6d4;box-shadow:0 12px 35px rgba(0,33,71,.08);transform:translateY(-2px)}.document-card-icon{width:52px;height:58px;display:grid;align-content:center;justify-items:center;border-radius:10px;color:#a5261c;background:#fff0ef}.document-card-icon i{font-size:1.5rem}.document-card-icon span{font-size:.55rem;font-weight:900}.document-card-copy{min-width:0}.document-card-copy>div{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;color:#7b8798;font-size:.67rem;font-weight:750;text-transform:uppercase}.document-card-copy h3{margin:.35rem 0;color:var(--navy);font-family:var(--font-sans);font-size:1rem;font-weight:800}.document-card-copy p{margin:.35rem 0;color:var(--muted);font-size:.82rem}.document-card-copy small{color:#7b8798}.document-card-copy small a{color:var(--navy)}.document-card-actions{grid-column:1/-1;display:flex;gap:.5rem}.document-card-actions .btn{flex:1}.document-card-actions .btn-light{flex:0 0 46px}
.related-content{background:#f3f6f8}.related-heading{display:flex;flex-direction:column;gap:.5rem;margin:.3rem 0 1.5rem}.related-heading h2{margin:0;color:var(--navy);font-weight:800}.related-heading>a{color:var(--navy);font-size:.82rem;font-weight:800;text-decoration:none}.related-grid{display:grid;gap:1rem}.related-grid article{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.related-grid article>a{display:grid;grid-template-columns:110px 1fr;min-height:125px;color:inherit;text-decoration:none}.related-grid img,.related-placeholder{width:110px;height:100%;object-fit:cover}.related-placeholder{display:grid;place-items:center;color:var(--navy);background:#e7edf3;font-size:1.8rem}.related-grid article>a>div{padding:1rem}.related-grid small{color:#7a8796}.related-grid h3{margin:.25rem 0 .7rem;color:var(--navy);font-family:var(--font-sans);font-size:.95rem;font-weight:800}.related-grid article span{color:#8a6c00;font-size:.72rem;font-weight:800}
.faq-hero p{max-width:650px;margin:1rem 0 0;color:#d6e0eb}.faq-layout{display:grid;gap:2rem}.faq-help{border-radius:20px;padding:1.5rem;color:#fff;background:var(--navy)}.faq-help>i{color:var(--gold);font-size:2rem}.faq-help h2{margin:.7rem 0;font-size:1.3rem}.faq-help p{color:#c7d4e0}.faq-group{margin-bottom:2.5rem}.faq-group>.section-kicker{display:block;margin-bottom:.6rem}.faq-group .accordion{overflow:hidden;border:1px solid var(--line);border-radius:16px}.faq-group .accordion-item{border-color:var(--line)}.faq-group .accordion-button{padding:1.1rem;color:var(--navy);font-weight:800;background:#fff;box-shadow:none}.faq-group .accordion-button:not(.collapsed){color:var(--navy);background:#fff9df}.faq-group .accordion-button:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.faq-group .accordion-body{padding:1.2rem;color:#405065;background:#fff}

@media (min-width: 576px) {
  .document-card{grid-template-columns:58px minmax(0,1fr) auto;align-items:center}.document-card-actions{grid-column:auto}.document-card-actions .btn{flex:auto}.document-card-actions .btn-navy{white-space:nowrap}
  .hero-actions, .cta-actions, .page-search, .cookie-actions { flex-direction: row; align-items: center; }
  .hero-actions { align-items: flex-start; }
  .page-search .form-control { flex: 1; }
  .cookie-banner.show { flex-direction: row; align-items: center; }
  .article-container > .row > div { padding: 1.8rem; }
  .profile-grid, .budget-doc-grid { grid-template-columns:repeat(2,1fr); }
  .school-chat { right:1rem; bottom:1rem; left:auto; width:390px; }
  .procedure-summary{grid-template-columns:repeat(2,1fr)}
  .finance-overview{grid-template-columns:1fr 1fr 1.3fr}
  .subscription-settings{grid-template-columns:1fr 1fr;padding:2rem}.subscription-settings>button{grid-column:1/-1;justify-self:start}
}

@media (min-width: 768px) {
  .related-heading{flex-direction:row;align-items:end;justify-content:space-between}.related-grid{grid-template-columns:repeat(3,1fr)}.related-grid article>a{grid-template-columns:1fr}.related-grid img,.related-placeholder{width:100%;height:175px}
  .quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
  .quick-grid > a { border-right: 1px solid var(--line); }
  .quick-grid > a:nth-child(2n) { border-right: 0; }
  .quick-grid > a:nth-last-child(-n+2) { border-bottom: 0; }
  .content-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(4, 1fr); }
  .stats-grid strong { font-size: 3.2rem; }
  .document-box { padding: 1.2rem; }
  .admission-notice { flex-direction:row; align-items:center; }.admission-notice>div { flex:1; }
  .contact-cards { grid-template-columns:repeat(3,1fr); }.contact-cards>a { border-right:1px solid var(--line); border-bottom:0; }
  .contact-form { padding:2rem; }.transparency-note .container { flex-direction:row; align-items:center; }.transparency-note p { flex:1; }
  .footer-bottom>.container { flex-direction:row; align-items:center; justify-content:space-between; }
  .privacy-chip{flex-direction:row;align-items:center}.privacy-chip button{align-self:auto}.center-grid{grid-template-columns:repeat(3,1fr)}.center-preferences{grid-template-columns:1fr 1fr;align-items:center}.content-filter{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:center}
}

@media (min-width: 992px) {
  .faq-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}.faq-layout>aside{position:sticky;top:120px}
  .document-search{grid-template-columns:minmax(260px,2fr) 150px 190px auto auto;align-items:end;padding:1.25rem}.document-results-head{flex-direction:row;align-items:end;justify-content:space-between}
  .hero-school { min-height: 680px; align-items: center; }
  .hero-media { background-image: linear-gradient(90deg, rgba(0,33,71,.94) 4%, rgba(0,33,71,.70) 53%, rgba(0,33,71,.15) 100%), url('../img/hero-school.jpg'); }
  .hero-content { padding-top: 7rem; padding-bottom: 8rem; }
  .section-space { padding: 6rem 0; }
  .news-featured { display: grid; grid-template-columns: 1.05fr .95fr; }
  .news-featured .card-media { height: 100%; aspect-ratio: auto; }
  .news-featured .card-body { display: flex; flex-direction: column; justify-content: center; padding: 2rem; }
  .news-featured h3 { font-size: 1.75rem; }
  .cta-band .container { flex-direction: row; align-items: center; justify-content: space-between; }
  .cta-actions { flex: 0 0 auto; }
  .profile-grid { grid-template-columns:repeat(3,1fr); }.budget-doc-grid { grid-template-columns:repeat(3,1fr); }
  .newsletter-band>.container { grid-template-columns:1fr 1fr; align-items:center; }
  .score-calculator,.admission-checklist{padding:2rem}
}

@media (min-width: 1200px) {
  .school-topbar { padding: .45rem 0; }
  .site-header { top: 0; }
  .navbar { min-height: 90px; }
  .navbar-brand img { width: 58px; height: 62px; }
  .navbar-brand strong { font-size: 1.06rem; }
  .navbar-brand small { font-size: .72rem; }
  .nav-link { position: relative; padding: 1.9rem .58rem !important; font-size: .87rem; white-space: nowrap; }
  .nav-link::after:not(.dropdown-toggle) { display: none; }
  .nav-link.active::before { position: absolute; right: .58rem; bottom: 1rem; left: .58rem; height: 3px; border-radius: 3px; background: var(--gold); content: ""; }
  button.nav-link { width: auto; }
  .search-toggle { display: grid; place-items: center; }
  .quick-grid { grid-template-columns: repeat(4, 1fr); }
  .quick-grid > a { min-height: 118px; border-right: 1px solid var(--line); border-bottom: 0; padding: 1.25rem; }
  .quick-grid > a:last-child { border-right: 0; }
  .content-grid { grid-template-columns: repeat(3, 1fr); }
  .page-hero { padding: 5rem 0; }
  .article-container > .row > div { padding: 2.5rem; }
  .profile-grid { grid-template-columns:repeat(5,1fr); }.profile-card { min-height:390px; }
  .budget-doc-grid { grid-template-columns:repeat(5,1fr); }.budget-year { padding:1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .navbar-brand { gap: .55rem !important; }
  .navbar-brand img { width: 48px; height: 52px; }
  .navbar-brand strong { font-size: .9rem; }
  .navbar-brand small { max-width: 155px; font-size: .62rem; }
  .nav-link { padding-right: .38rem !important; padding-left: .38rem !important; font-size: .78rem; }
  .search-toggle { margin-left: .25rem !important; }
}

.team-filters{display:grid;gap:.8rem;align-items:end;margin-bottom:1rem;border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff;box-shadow:var(--shadow)}.team-filters>div{display:grid;gap:.35rem}.team-filters label{color:var(--muted);font-size:.72rem;font-weight:800}.team-count{color:var(--muted);font-size:.8rem}.team-group{margin-top:2.5rem}.team-grid{display:grid;gap:1rem}.team-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 12px 35px rgba(0,33,71,.07)}.team-photo{position:relative;height:260px;display:block;overflow:hidden;background:linear-gradient(145deg,#eaf0f6,#d7e0e9)}.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease}.team-photo>span{height:100%;display:grid;place-items:center;color:var(--navy);font-family:"Source Serif 4",serif;font-size:4rem;font-weight:800}.team-photo>i{position:absolute;right:.7rem;bottom:.7rem;border-radius:999px;padding:.35rem .55rem;color:var(--navy);background:var(--gold);font-size:.62rem;font-style:normal;font-weight:900;text-transform:uppercase}.team-card:hover .team-photo img{transform:scale(1.025)}.team-card>div{padding:1.15rem}.team-card>div>span{color:#806400;font-size:.66rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.team-card h3{margin:.35rem 0;font-size:1.25rem}.team-card p{margin:0;color:var(--ink);font-size:.88rem}.team-card small{display:block;margin-top:.4rem;color:var(--muted)}.team-more{display:inline-flex;gap:.4rem;align-items:center;margin-top:1rem;color:var(--navy);font-size:.75rem;font-weight:850}.team-profile>header{padding:2rem 0 4.5rem;color:#fff;background:linear-gradient(135deg,var(--navy),#063b72)}.team-profile .breadcrumb a,.team-profile .breadcrumb-item{color:#c7d7e7}.team-profile-head{display:grid;gap:1.5rem;align-items:center;padding-top:1rem}.team-profile-photo{width:160px;height:190px;overflow:hidden;border:4px solid rgba(255,255,255,.8);border-radius:22px;background:#fff0ad;box-shadow:0 20px 50px rgba(0,0,0,.2)}.team-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.team-profile-photo span{height:100%;display:grid;place-items:center;color:var(--navy);font-family:"Source Serif 4",serif;font-size:4rem;font-weight:800}.team-profile-head h1{margin:.4rem 0;color:#fff;font-size:clamp(2.3rem,7vw,4.5rem)}.team-profile-head p{margin:0;color:#d5e2ef;font-size:1.1rem}.team-subjects{display:inline-flex;gap:.5rem;margin-top:.8rem;border-radius:999px;padding:.5rem .8rem;color:var(--navy);background:var(--gold);font-size:.75rem;font-weight:800}.team-profile-body{position:relative;margin-top:-2rem;padding-bottom:4rem}.team-profile-body>.row>div,.team-profile-body aside>div{border-radius:18px;padding:1.4rem;background:#fff;box-shadow:var(--shadow)}.profile-info-box{display:flex;gap:1rem;margin-top:1.5rem}.profile-info-box>i{color:#9b7800;font-size:1.7rem}.profile-info-box h2{font-size:1.15rem}.profile-info-box p{margin:0;color:var(--muted)}.team-contact-card h2{margin-bottom:1rem;font-size:1.2rem}.team-contact-card>div,.team-contact-card>a:not(.btn){display:flex;gap:.7rem;margin-bottom:.8rem;color:var(--ink)}.team-contact-card i{color:#9b7800}.team-contact-card span{display:flex;min-width:0;flex-direction:column;overflow-wrap:anywhere}.team-contact-card span strong{color:var(--navy);font-size:.72rem}.team-contact-card>.btn{margin-top:.8rem}@media(min-width:576px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-profile-head{grid-template-columns:190px 1fr}.team-profile-photo{width:180px;height:220px}}@media(min-width:768px){.team-filters{grid-template-columns:minmax(240px,2fr) minmax(190px,1fr) auto auto}}@media(min-width:1200px){.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media (prefers-reduced-motion: reduce) { .team-photo img { transition: none; } }

.gallery-album-grid{display:grid;gap:1.2rem}.gallery-album-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.gallery-album-cover{position:relative;height:260px;display:block;overflow:hidden;background:#e7edf3}.gallery-album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-album-cover>span{height:100%;display:grid;place-items:center;color:var(--navy);font-size:3.5rem}.gallery-album-cover b{position:absolute;right:.8rem;bottom:.8rem;border-radius:999px;padding:.42rem .72rem;color:#fff;background:rgba(0,33,71,.88);font-size:.7rem}.gallery-album-card:hover img{transform:scale(1.025)}.gallery-album-card>div{padding:1.3rem}.gallery-album-card>div>span{color:#826600;font-size:.68rem;font-weight:900;text-transform:uppercase}.gallery-album-card h2{margin:.35rem 0 .65rem;font-size:1.45rem}.gallery-album-card p{color:var(--muted);font-size:.86rem}.gallery-album-page>header{padding:2.5rem 0 4.5rem;color:#fff;background:linear-gradient(135deg,var(--navy),#0b4379)}.gallery-album-page>header h1{max-width:900px;margin:.5rem 0;color:#fff;font-size:clamp(2.5rem,8vw,5rem)}.gallery-intro{max-width:760px;color:#dbe6f1}.gallery-total{margin-top:1.2rem;color:#fff;font-size:.78rem;font-weight:800}.gallery-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.gallery-photo-grid figure{min-width:0;margin:0;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 25px rgba(0,33,71,.08)}.gallery-photo-grid button{width:100%;height:180px;display:block;overflow:hidden;border:0;padding:0;background:#e7edf3;cursor:zoom-in}.gallery-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-photo-grid button:hover img{transform:scale(1.03)}.gallery-photo-grid figcaption{padding:.7rem;color:var(--ink);font-size:.75rem}.gallery-photo-grid figcaption small{display:block;color:var(--muted)}.gallery-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;color:#fff;background:rgba(3,13,27,.96)}.gallery-lightbox::backdrop{background:#030d1b}.gallery-lightbox[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:60px minmax(0,1fr);align-items:center}.gallery-lightbox-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem}.gallery-lightbox-bar button,.gallery-prev,.gallery-next{width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.12);font-size:1.25rem}.gallery-prev,.gallery-next{align-self:center}.gallery-lightbox figure{min-width:0;max-width:calc(100vw - 96px);max-height:calc(100dvh - 70px);display:grid;gap:.6rem;justify-items:center;margin:0}.gallery-lightbox figure img{max-width:100%;max-height:calc(100dvh - 125px);object-fit:contain}.gallery-lightbox figcaption{max-width:780px;color:#dce6f0;text-align:center;font-size:.78rem}.home-gallery{color:#fff;background:var(--navy)}.home-gallery h2{color:#fff}.home-gallery .section-heading p{color:#cbd8e4}.home-gallery .more-link{color:var(--gold)}.home-gallery-grid{display:grid;gap:1rem}.home-gallery-grid>a{position:relative;height:270px;overflow:hidden;border-radius:17px;color:#fff;background:#0b3e72}.home-gallery-grid img,.gallery-placeholder{width:100%;height:100%;display:grid;object-fit:cover;place-items:center;font-size:3rem}.home-gallery-grid>a>span:last-child{position:absolute;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:2.8rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,20,43,.95))}.home-gallery-grid small{color:var(--gold);font-size:.65rem;font-weight:850}.home-gallery-grid strong{font-size:1rem}.form-public-intro{max-width:760px;color:#dce7f1}.form-page{background:#f4f7fa}.public-form-shell{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.public-form-shell>aside{padding:1.5rem;color:#fff;background:linear-gradient(145deg,var(--navy),#0a4279)}.public-form-shell>aside>i{color:var(--gold);font-size:2.2rem}.public-form-shell>aside h2{margin:.8rem 0;color:#fff;font-size:1.45rem}.public-form-shell>aside p{color:#cfdae6}.public-form-shell>aside ul{display:grid;gap:.45rem;margin:1.5rem 0 0;padding:0;list-style:none;font-size:.8rem}.public-form-shell>aside li{display:flex;gap:.5rem}.public-form-shell>aside li i{color:var(--gold)}.public-form-shell>div{padding:1.3rem}.dynamic-fields{display:grid;gap:1rem}.dynamic-field{min-width:0}.dynamic-field .form-control,.dynamic-field .form-select{min-height:50px;border-color:#cbd5e0;border-radius:11px}.dynamic-field textarea.form-control{min-height:125px}.dynamic-field .form-label{color:var(--navy);font-size:.78rem;font-weight:800}.form-choice-group{display:grid;gap:.55rem}.form-choice-group label,.form-check-box{display:flex;gap:.65rem;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:.8rem;background:#fff}.form-choice-group input,.form-check-box input,.public-privacy input{width:18px;height:18px;flex:0 0 18px;margin-top:.12rem;accent-color:var(--navy)}.public-privacy{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;border-radius:12px;padding:1rem;background:#f1f5f8;font-size:.78rem}.public-form-submit{width:100%;min-height:52px}.required-note{margin:.7rem 0 0;color:var(--muted);font-size:.68rem;text-align:center}.form-closed{padding:2rem 1rem;text-align:center}.form-closed>i{color:#9b7800;font-size:3rem}.form-closed h2{margin:.7rem 0}.form-closed p{color:var(--muted)}
@media(min-width:576px){.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.dynamic-field.field-full{grid-column:1/-1}.public-form-shell>div{padding:2rem}}
@media(min-width:768px){.gallery-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.gallery-photo-grid button{height:230px}.home-gallery-grid{grid-template-columns:1.35fr 1fr}.home-gallery-grid>a:first-child{grid-row:span 2;height:100%}.home-gallery-grid>a:not(:first-child){height:230px}}
@media(min-width:992px){.gallery-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.public-form-shell{grid-template-columns:290px minmax(0,1fr)}.public-form-shell>aside{padding:2rem}.public-form-shell>div{padding:2.5rem}.public-form-submit{width:auto;padding-right:2rem;padding-left:2rem}}
@media(prefers-reduced-motion:reduce){.gallery-album-cover img,.gallery-photo-grid img{transition:none}}

/* Version 2.0 · calendar, personal center and notifications */
.calendar-hero{padding:2.2rem 0 2.7rem;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(253,200,0,.18),transparent 32%),linear-gradient(135deg,var(--navy),#08477f)}.calendar-hero .breadcrumb a,.calendar-hero .breadcrumb-item{color:#d5e3ef}.calendar-hero-grid{display:grid;gap:1.5rem;align-items:end}.calendar-hero h1{max-width:780px;margin:.35rem 0;color:#fff;font-size:clamp(2.5rem,9vw,5.2rem)}.calendar-hero p{max-width:680px;margin:0;color:#dce8f2;font-size:1rem}.calendar-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem}.calendar-hero .btn-outline-primary{border-color:rgba(255,255,255,.55);color:#fff}.calendar-page{background:#f4f7fa}.calendar-toolbar{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.calendar-navigation{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.calendar-navigation h2{width:100%;margin:.4rem 0 0;text-transform:capitalize}.calendar-view-toggle{display:flex;align-self:flex-start;border:1px solid var(--line);border-radius:12px;padding:.2rem;background:#fff}.calendar-view-toggle .btn{border:0;font-size:.75rem}.calendar-view-toggle .active{color:#fff;background:var(--navy)}.calendar-filter{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:1.2rem;padding-bottom:.35rem;scrollbar-width:thin}.calendar-filter label{flex:0 0 auto}.calendar-filter input{position:absolute;opacity:0}.calendar-filter span{display:block;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;color:var(--muted);background:#fff;font-size:.72rem;font-weight:800;cursor:pointer}.calendar-filter input:checked+span{border-color:#99b7d4;color:var(--navy);background:#eaf3fb}.calendar-layout{display:grid;gap:1rem}.calendar-month,.calendar-list{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr))}.calendar-weekdays span{padding:.65rem .15rem;color:var(--muted);font-size:.63rem;font-weight:850;text-align:center;text-transform:uppercase}.calendar-day{min-width:0;min-height:65px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:.3rem}.calendar-day:nth-child(7n){border-right:0}.calendar-day>strong{width:25px;height:25px;display:grid;border-radius:50%;place-items:center;color:var(--navy);font-size:.7rem}.calendar-day.today>strong{color:var(--navy);background:var(--gold)}.calendar-day>a{display:block;overflow:hidden;margin-top:.2rem;color:var(--ink);font-size:.58rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.calendar-day>a i{width:6px;height:6px;display:inline-block;margin-right:.2rem;border-radius:50%;background:var(--event-color)}.calendar-day>span{display:block;color:var(--muted);font-size:.55rem}.calendar-list{display:grid;gap:0;padding:.4rem 1rem}.calendar-event{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:.8rem;align-items:start;border-bottom:1px solid var(--line);padding:1rem 0}.calendar-event:last-child{border-bottom:0}.calendar-event-dot{width:8px;height:36px;border-radius:6px;background:var(--event-color)}.calendar-event small{color:var(--event-color);font-size:.62rem;font-weight:900;text-transform:uppercase}.calendar-event h3{margin:.2rem 0;font-size:1rem}.calendar-event time,.calendar-event div>span{display:block;color:var(--muted);font-size:.7rem}.calendar-event-actions{display:flex;gap:.35rem}.calendar-event-actions a,.calendar-event-actions button{width:36px;height:36px;display:grid;border:1px solid var(--line);border-radius:50%;place-items:center;color:var(--navy);background:#fff}.calendar-side{display:grid;gap:1rem}.info-card{border:1px solid var(--line);border-radius:18px;padding:1.3rem;background:#fff}.info-card>i{color:#9a7600;font-size:1.6rem}.info-card h2{margin:.7rem 0 .4rem;font-size:1.15rem}.info-card p{color:var(--muted);font-size:.78rem}.info-card a{font-size:.75rem;font-weight:850}.center-page{background:#f5f7fa}.center-role{display:grid;gap:1rem;margin-bottom:1.2rem;border-radius:20px;padding:1.2rem;background:#fff;box-shadow:var(--shadow)}.center-role h2{margin:0;font-size:1.4rem}.center-role>div:last-child{display:flex;flex-wrap:wrap;gap:.45rem}.center-role button{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;color:var(--muted);background:#fff;font-size:.72rem;font-weight:800}.center-role button.active{border-color:var(--gold);color:var(--navy);background:#fff4bd}.center-panel{height:100%;border:1px solid var(--line);border-radius:20px;padding:1.2rem;background:#fff;box-shadow:0 12px 35px rgba(0,33,71,.06)}.center-panel-heading{display:flex;gap:1rem;align-items:end;justify-content:space-between;margin-bottom:1rem}.center-panel-heading h2{margin:0;font-size:1.45rem}.center-panel-heading>a{font-size:.73rem;font-weight:850}.center-upcoming article{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:.8rem;align-items:center;border-bottom:1px solid var(--line);padding:.8rem 0}.center-upcoming article:last-child{border-bottom:0}.center-upcoming time{width:46px;height:52px;display:grid;border-radius:12px;place-content:center;text-align:center;background:#eef4f9}.center-upcoming time strong{color:var(--navy);font-size:1.2rem;line-height:1}.center-upcoming time span{color:var(--muted);font-size:.6rem}.center-upcoming small{color:#8a6b00;font-size:.58rem;font-weight:900;text-transform:uppercase}.center-upcoming h3{margin:.12rem 0;font-size:.9rem}.center-upcoming div>span{color:var(--muted);font-size:.65rem}.icon-link{width:36px;height:36px;display:grid;border:1px solid var(--line);border-radius:50%;place-items:center}.push-panel{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--navy),#0a477f)}.push-panel h2{color:#fff}.push-panel p,.push-panel>small{color:#c5d5e4}.push-icon{width:54px;height:54px;display:grid;margin-bottom:1rem;border-radius:17px;place-items:center;color:var(--navy);background:var(--gold);font-size:1.3rem}.push-preferences{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.push-preferences input{position:absolute;opacity:0}.push-preferences span{display:block;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45rem .65rem;font-size:.65rem;font-weight:750}.push-preferences input:checked+span{border-color:var(--gold);color:var(--navy);background:var(--gold)}.push-panel>small{display:block;margin-top:.8rem;font-size:.62rem}.center-saved-list,.center-submission-list{display:grid;gap:.55rem}.center-saved-list article,.center-submission-list article{display:flex;gap:.8rem;align-items:center;border:1px solid var(--line);border-radius:13px;padding:.8rem}.center-saved-list article>span,.center-submission-list article>span{display:flex;min-width:0;flex:1;flex-direction:column}.center-saved-list small,.center-submission-list small{color:var(--muted);font-size:.62rem}.center-saved-list a,.center-submission-list a{overflow:hidden;color:var(--navy);font-size:.83rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.center-saved-list button{border:0;color:#a32a21;background:none}.center-empty{margin:0;color:var(--muted);font-size:.8rem}.submission-saved-card{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem;border:1px solid #9ad5b9;border-radius:17px;padding:1rem;color:#075e3b;background:#eaf9f2}.submission-saved-card>i{font-size:1.5rem}.submission-saved-card>div{display:flex;flex:1;flex-direction:column}.submission-status-card{max-width:760px;margin:auto;border:1px solid var(--line);border-radius:24px;padding:1.4rem;background:#fff;box-shadow:var(--shadow)}.submission-status-icon{width:66px;height:66px;display:grid;margin-bottom:1rem;border-radius:19px;place-items:center;color:#08734a;background:#dff6ea;font-size:1.8rem}.submission-status-card h2{font-size:2.1rem}.submission-status-card>p{color:var(--muted)}.submission-status-card dl{display:grid;gap:.5rem;margin:1.5rem 0}.submission-status-card dl div{border-radius:11px;padding:.75rem;background:#f4f7fa}.submission-status-card dt{color:var(--muted);font-size:.62rem;text-transform:uppercase}.submission-status-card dd{margin:0;color:var(--navy);font-weight:800}.tracking-privacy{max-width:760px;display:flex;gap:.8rem;margin:1rem auto 0;border-radius:14px;padding:1rem;color:#675000;background:#fff8db}.tracking-privacy p{margin:0;font-size:.75rem}
@media(min-width:576px){.calendar-toolbar{flex-direction:row;align-items:center;justify-content:space-between}.calendar-navigation h2{width:auto;margin:0 0 0 .5rem}.submission-saved-card{flex-direction:row;align-items:center}.center-role{grid-template-columns:1fr auto;align-items:center}.submission-status-card{padding:2rem}.submission-status-card dl{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.calendar-day{min-height:105px;padding:.55rem}.calendar-day>a{font-size:.68rem}.center-grid{grid-template-columns:repeat(2,1fr)!important}.calendar-hero-grid{grid-template-columns:1fr auto}.submission-status-card dl div{padding:1rem}}
@media(min-width:992px){.calendar-layout{grid-template-columns:minmax(0,1fr) 280px}.calendar-day{min-height:125px}.calendar-side{align-content:start}.center-panel{padding:1.5rem}}
@media(min-width:1200px){.center-grid{grid-template-columns:repeat(4,1fr)!important}}

@media print {
  .school-topbar, .site-header, .site-footer, .newsletter-band, .article-share, .cookie-banner, .accessibility-panel, .cta-band, .back-to-top, .chat-launcher, .school-chat, .related-content, .gallery-lightbox { display: none !important; }
  .article-hero { padding: 1rem 0; color: #000; background: #fff; }
  .article-hero h1 { color: #000; }
  .article-container { margin-top: 0; }
  .article-container > .row > div { box-shadow: none; }
  .admission-tools .col-lg-7,.admission-tools~*,.score-calculator,.check-actions{display:none!important}.admission-tools .col-lg-5{width:100%}.admission-checklist{border:0;box-shadow:none}.check-task input:checked+span{background:#fff}
}

/* Version 2.0.2 · production content and visual corrections */
.site-header li:has(>a[href*="politika-za-poveritelnost"]){display:none}
.home-news-grid{display:grid;gap:1.2rem}.home-news-grid .news-card{display:flex;flex-direction:column}.home-news-grid .card-body{display:flex;flex:1;flex-direction:column}.home-news-grid .card-body>p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.home-news-grid .card-link{margin-top:auto}.home-news-grid h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.list-card-media{aspect-ratio:16/10;min-height:0}.list-card-media img{display:block}.content-grid .list-card h2{font-size:clamp(1.15rem,2vw,1.38rem)}
.page-hero h1{font-size:clamp(2rem,5vw,3.5rem)}.article-hero h1{font-size:clamp(2rem,5.2vw,3.65rem)}.article-hero-news h1{max-width:880px;font-size:clamp(1.85rem,4.4vw,3.15rem);line-height:1.1}
.site-footer{background:radial-gradient(circle at 10% 0,rgba(253,200,0,.08),transparent 29%),linear-gradient(145deg,#00162f,#002957)}.footer-main{padding-top:4.7rem;padding-bottom:4rem}.footer-brand img{filter:drop-shadow(0 12px 25px rgba(0,0,0,.3))}.footer-title{position:relative;padding-bottom:.75rem}.footer-title::after{position:absolute;bottom:0;left:0;width:34px;height:3px;border-radius:3px;background:var(--gold);content:""}.footer-links a,.link-button{display:inline-flex;align-items:center;transition:color .2s ease,transform .2s ease}.footer-links a:hover,.footer-links a:focus,.link-button:hover,.link-button:focus{color:#ffe169;transform:translateX(4px)}.footer-contact a{border-radius:10px;padding:.45rem;transition:background .2s ease,color .2s ease}.footer-contact a:hover{color:#fff;background:rgba(255,255,255,.08)}.footer-write{display:inline-flex;gap:.5rem;align-items:center;border-radius:999px;padding:.65rem 1rem;color:var(--navy);background:var(--gold);font-weight:850}.footer-write:hover{color:var(--navy);background:#ffe169}.footer-bottom{border-top-color:rgba(255,255,255,.16);background:rgba(0,10,24,.25)}
@media(min-width:576px){.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.home-news-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:575.98px){.article-hero h1{font-size:clamp(1.8rem,9vw,2.55rem)}}

/* Version 2.0.3 · editorial pages, galleries, footer and consent */
.article-head{max-width:1120px;text-align:center}.article-head .breadcrumb{margin-bottom:1.15rem}.article-head h1{max-width:1020px;margin:.55rem auto 0;font-size:clamp(1.75rem,4.1vw,3.4rem);line-height:1.12;text-wrap:balance;overflow-wrap:normal;word-break:normal}.article-hero-page .article-head h1{font-size:clamp(1.85rem,4.3vw,3.55rem)}.article-meta{margin-top:1.2rem}.article-layout{display:grid;gap:1.2rem;align-items:start}.article-main,.article-side-card{min-width:0;border:1px solid rgba(0,33,71,.08);border-radius:20px;background:#fff;box-shadow:0 12px 50px rgba(0,33,71,.08)}.article-main{padding:1rem}.article-body img{max-width:100%;cursor:zoom-in}.article-body :is(.gallery,.wp-block-gallery,.blocks-gallery-grid,.wpb_image_grid_ul,.article-image-grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.5rem 0;padding:0;list-style:none}.article-body :is(.gallery,.wp-block-gallery,.blocks-gallery-grid,.wpb_image_grid_ul,.article-image-grid)>*{min-width:0;margin:0!important}.article-body :is(.gallery,.wp-block-gallery,.blocks-gallery-grid,.wpb_image_grid_ul,.article-image-grid) img{width:100%;height:180px!important;display:block;object-fit:cover;border-radius:12px}.article-sidebar{display:grid;gap:1rem}.article-side-card{padding:1.2rem}.article-side-card h2{margin:.4rem 0 1rem;font-size:1.35rem}.side-related{display:grid}.side-related>a{display:grid;grid-template-columns:68px minmax(0,1fr);gap:.75rem;align-items:center;border-bottom:1px solid var(--line);padding:.75rem 0;color:var(--ink)}.side-related>a:first-child{padding-top:0}.side-related img,.side-related-icon{width:68px;height:58px;display:grid;border-radius:10px;object-fit:cover;place-items:center;color:var(--navy);background:#edf3f8}.side-related a>span:last-child{min-width:0;display:grid;gap:.15rem}.side-related small{color:var(--muted);font-size:.59rem}.side-related strong{display:-webkit-box;overflow:hidden;color:var(--navy);font-size:.76rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.side-all-link{display:inline-flex;gap:.4rem;align-items:center;margin-top:1rem;font-size:.74rem;font-weight:850}.side-quick-links{display:grid}.side-quick-links .section-kicker,.side-quick-links h2{grid-column:1/-1}.side-quick-links>a{display:flex;gap:.65rem;align-items:center;border-top:1px solid var(--line);padding:.7rem 0;color:var(--ink);font-size:.78rem;font-weight:750}.side-quick-links>a i{color:#8b6b00}.article-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;color:#fff;background:rgba(3,13,27,.97)}.article-lightbox::backdrop{background:#030d1b}.article-lightbox[open]{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:62px minmax(0,1fr);align-items:center}.article-lightbox-toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;color:#dbe6ef;font-size:.75rem}.article-lightbox-toolbar button,.lightbox-nav{width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.12)}.article-lightbox figure{min-width:0;max-width:calc(100vw - 104px);max-height:calc(100dvh - 70px);display:grid;gap:.7rem;justify-items:center;margin:0}.article-lightbox figure img{max-width:100%;max-height:calc(100dvh - 130px);object-fit:contain}.article-lightbox figcaption{max-width:760px;color:#dce6ef;font-size:.78rem;text-align:center}.content-grid-documents{grid-template-columns:1fr}.list-card-document{border-left:4px solid var(--gold)}.list-card-document .list-card-body{padding:1.25rem}.document-card-top{display:flex;gap:.55rem;align-items:center;color:#826400;font-size:.67rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.document-card-icon{width:38px;height:38px;display:grid;border-radius:10px;place-items:center;color:var(--navy);background:#fff3b6;font-size:1rem}.list-card-document h2{font-size:clamp(1.1rem,2.2vw,1.35rem)}.footer-app-button{display:inline-flex;gap:.55rem;align-items:center;margin-top:1.2rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.68rem 1rem;color:#fff;background:rgba(255,255,255,.08);font-size:.75rem;font-weight:850}.footer-app-button:hover,.footer-app-button:focus{border-color:var(--gold);color:var(--navy);background:var(--gold)}.footer-external-links i{margin-left:.25rem;font-size:.65rem}.footer-bottom .container{gap:1rem}.cookie-dialog{width:min(680px,calc(100% - 1.5rem));max-width:none;border:0;border-radius:22px;padding:0;color:var(--ink);background:#fff;box-shadow:0 30px 90px rgba(0,18,40,.4)}.cookie-dialog::backdrop{background:rgba(0,18,40,.7);backdrop-filter:blur(4px)}.cookie-dialog form{padding:1.25rem}.cookie-dialog header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.cookie-dialog h2{margin:.25rem 0 0;font-size:clamp(1.55rem,5vw,2.1rem)}.cookie-dialog header button{width:40px;height:40px;display:grid;flex:0 0 auto;border:0;border-radius:50%;place-items:center;color:var(--navy);background:#edf2f7}.cookie-dialog>form>p{margin:1rem 0;color:var(--muted);font-size:.82rem}.cookie-option{display:flex;gap:1rem;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:1rem 0}.cookie-option>div{display:grid;gap:.25rem}.cookie-option strong{color:var(--navy);font-size:.88rem}.cookie-option small{max-width:500px;color:var(--muted);font-size:.7rem}.cookie-switch input{position:absolute;opacity:0}.cookie-switch>span:first-of-type{position:relative;width:48px;height:27px;display:block;border-radius:999px;background:#bdc7d1;cursor:pointer}.cookie-switch>span:first-of-type::after{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);content:"";transition:transform .2s ease}.cookie-switch input:checked+span{background:var(--navy)}.cookie-switch input:checked+span::after{transform:translateX(21px)}.cookie-switch input:disabled+span{background:#62798f;cursor:not-allowed}.cookie-dialog-links{display:flex;flex-wrap:wrap;gap:.7rem 1rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.72rem;font-weight:750}.cookie-dialog footer{display:flex;flex-direction:column;gap:.55rem;margin-top:1.2rem}.cookie-banner{max-width:1060px}.app-install-fab{display:none!important}
@media(min-width:576px){.article-main{padding:1.6rem}.article-body :is(.gallery,.wp-block-gallery,.blocks-gallery-grid,.wpb_image_grid_ul,.article-image-grid){grid-template-columns:repeat(3,minmax(0,1fr))}.cookie-dialog form{padding:1.7rem}.cookie-dialog footer{flex-direction:row;justify-content:flex-end}}
@media(min-width:768px){.content-grid-documents{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.article-layout{grid-template-columns:minmax(0,1fr) 315px;gap:1.5rem}.article-main{padding:2.25rem}.article-sidebar{position:sticky;top:112px}.content-grid-documents{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.article-hero{padding-top:2.5rem}.article-head h1{font-size:clamp(1.7rem,8.4vw,2.35rem)}.article-body :is(.gallery,.wp-block-gallery,.blocks-gallery-grid,.wpb_image_grid_ul,.article-image-grid) img{height:145px!important}.article-lightbox[open]{grid-template-columns:44px minmax(0,1fr) 44px}.article-lightbox figure{max-width:calc(100vw - 88px)}.cookie-actions .btn{width:100%}}
@media print{.article-sidebar,.article-lightbox,.cookie-dialog{display:none!important}.article-layout{display:block}.article-main{border:0;box-shadow:none}}

/* Version 2.0.4 · compact editorial typography */
.content-single-news .article-head h1{max-width:820px;font-size:clamp(1.6rem,2.35vw,2.25rem);line-height:1.2;letter-spacing:-.02em}.content-single-news .article-hero{padding-top:2.8rem;padding-bottom:4.2rem}.content-single-news .article-meta{margin-top:1rem}.content-grid .list-card h2{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.34}.home-news-grid .news-card h3{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.36}.page-hero h1{font-size:clamp(1.85rem,3.6vw,3rem)}
@media(max-width:575.98px){.content-single-news .article-head h1{font-size:clamp(1.5rem,6.7vw,1.8rem)}.content-single-news .article-hero{padding-top:2rem;padding-bottom:3.5rem}}

/* Version 2.0.4 · document collections and buyer profile */
.article-documents{margin-top:2rem;border:1px solid var(--line);border-radius:18px;padding:1rem;background:#f6f8fb}.article-documents-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.article-documents-head small{color:#806400;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.article-documents-head h2{margin:.2rem 0 0;font-size:1.35rem}.article-documents-head>strong{width:40px;height:40px;display:grid;border-radius:12px;place-items:center;color:var(--navy);background:var(--gold)}.article-document-grid{display:grid;gap:.7rem}.article-document-grid article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:.8rem;border:1px solid rgba(0,33,71,.1);border-radius:13px;padding:.9rem;background:#fff}.article-document-icon{width:46px;height:46px;display:grid;border-radius:12px;place-items:center;color:#b32121;background:#ffeded;font-size:1.2rem}.article-document-grid small{color:var(--muted);font-size:.62rem}.article-document-grid h3{margin:.15rem 0 .55rem;font-size:.94rem;line-height:1.35}.article-document-grid article>div>div{display:flex;flex-wrap:wrap;gap:.8rem}.article-document-grid a{font-size:.7rem;font-weight:850}.buyer-intro{display:grid;gap:1.2rem;margin-bottom:1.2rem;border-radius:20px;padding:1.25rem;color:#fff;background:radial-gradient(circle at 100% 0,rgba(253,200,0,.2),transparent 35%),linear-gradient(135deg,var(--navy),#08477f)}.buyer-intro h2{margin:.45rem 0;color:#fff;font-size:clamp(1.5rem,3vw,2.1rem)}.buyer-intro p{max-width:760px;margin:0;color:#d9e5ef;font-size:.82rem}.buyer-status-key{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.buyer-status-key span{display:flex;gap:.4rem;align-items:center;font-size:.68rem;font-weight:800}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.is-open{background:#4ed596}.status-dot.is-closed{background:#a9bac9}.status-dot.is-awarded{background:var(--gold)}.buyer-section-grid{display:grid;gap:.7rem;margin-bottom:1.4rem}.buyer-section-grid button{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:.75rem;align-items:center;border:1px solid var(--line);border-radius:14px;padding:.85rem;color:var(--ink);background:#fff;text-align:left;box-shadow:0 8px 24px rgba(0,33,71,.05);transition:border-color .2s ease,transform .2s ease}.buyer-section-grid button>i:first-child{width:40px;height:40px;display:grid;border-radius:11px;place-items:center;color:var(--navy);background:#fff3b6}.buyer-section-grid button>i:last-child{color:#8b6b00}.buyer-section-grid button span{min-width:0;display:grid}.buyer-section-grid strong{font-size:.78rem}.buyer-section-grid small{color:var(--muted);font-size:.62rem}.buyer-section-grid button:hover,.buyer-section-grid button:focus-visible,.buyer-section-grid button.active{border-color:#caa400;transform:translateY(-2px)}
@media(min-width:768px){.article-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buyer-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.buyer-intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:1.6rem}}
@media(min-width:1200px){.buyer-section-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
