/* Shared identity, navigation and reading experience for every school and school section. */
.school-space { background:#f4f6fa; color:#334155; --school-blue:#1554aa; --school-ink:#18314e; --school-line:#e4eaf2; }
.school-space .pc-layout__body { width:var(--pc-content-width); max-width:var(--pc-content-max)!important; padding:14px 0 40px; display:block; }
.school-space .pc-breadcrumb { margin:0 0 14px; padding:0; font-size:12px; line-height:20px; }
.school-space .pc-frame__main { min-width:0; }
.school-space .pc-frame__aside { position:static; }
.school-space .pc-sidebar-stack { gap:18px; }
.school-space a:focus-visible,.school-space button:focus-visible,.school-space select:focus-visible,.school-space summary:focus-visible { outline:3px solid #5e9deb; outline-offset:3px; }
.school-content-identity { display:flex; align-items:center; gap:22px; position:relative; padding:20px 26px; margin:0 0 18px; border:1px solid #dce6f2; border-radius:12px; background:linear-gradient(105deg,#fff 50%,#eef5ff); min-width:0; box-shadow:0 5px 20px #263d5a04; }
.school-content-identity:before { content:""; position:absolute; left:30px; top:0; width:48px; height:3px; background:#18a99b; border-radius:0 0 3px 3px; }
.school-content-identity:not(.school-content-identity--home) .school-identity-logo { width:72px; height:72px; padding:8px; }
.school-content-identity:not(.school-content-identity--home) .school-identity-copy { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.school-content-identity:not(.school-content-identity--home) .school-identity-eyebrow { width:100%; margin:0; }
.school-content-identity:not(.school-content-identity--home) h2 { margin:0; font-size:27px; }
.school-identity-logo { flex:none; width:94px; height:94px; display:grid; place-items:center; background:#fff; border:1px solid #e8edf4; border-radius:50%; padding:10px; text-decoration:none; }
.school-identity-logo img { width:100%; height:100%; object-fit:contain; }
.school-identity-logo>span { font-size:36px; color:var(--school-blue); }
.school-identity-copy { min-width:0; flex:1; }
.school-identity-eyebrow { margin:0 0 7px; color:#78889b; font-size:12px; letter-spacing:.5px; }
.school-identity-eyebrow>span { margin:0 7px; color:#b6c6d9; }
.school-content-identity :is(h1,h2) { margin:0 0 9px; color:var(--school-ink); font-size:28px; font-weight:700; letter-spacing:.3px; line-height:1.35; overflow-wrap:anywhere; }
.school-content-identity h2 a { color:inherit; text-decoration:none; }
.school-content-identity--home :is(h1,h2) { font-size:32px; }
.school-content-identity .pc-school-name { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px 10px; }
.school-content-identity .pc-school-name__college { font-size:13px; margin-left:0; }
.school-identity-tags { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.school-identity-tags>span { padding:2px 8px; border:1px solid #e5eaf0; border-radius:4px; background:#fff; color:#69798b; font-size:11px; line-height:1.6; }
.school-identity-tags .school-identity-scope { border-color:#d3e4f8; color:var(--school-blue); background:#eff6ff; }
.school-identity-intro { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; margin:10px 0 0; max-width:780px; font-size:13px; line-height:1.8; color:#6b7c90; }
.school-intro-link { display:inline-block; margin-top:5px; color:#386fae; font-size:12px; text-decoration:none; }
.school-identity-actions { flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:10px; padding-left:26px; border-left:1px solid #dfe8f3; }
.school-identity-actions p { display:flex; align-items:baseline; gap:7px; margin:0; color:#7b8a9b; font-size:12px; }
.school-identity-actions strong { font-size:27px; font-weight:600; color:var(--school-blue); font-variant-numeric:tabular-nums; }
.school-action-primary { display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:10px 17px; border:1px solid var(--school-blue); border-radius:6px; background:var(--school-blue); color:#fff; text-decoration:none; font-size:13px; font-weight:600; line-height:1.5; cursor:pointer; }
.school-action-primary:hover { background:#0c4592; color:#fff; }
.school-content-home { color:#51739a; font-size:12px; text-decoration:none; }
.school-content-navigation { border:1px solid var(--school-line); border-radius:10px; background:#fff; overflow:hidden; }
.school-navigation-title { padding:18px 18px 12px; background:linear-gradient(120deg,#f0f6ff,#fff); }
.school-navigation-title>span { display:block; margin-bottom:4px; color:#8a9bb0; font-size:11px; letter-spacing:1px; }
.school-navigation-title h2 { margin:0; color:var(--school-ink); font-size:18px; font-weight:650; }
.school-content-nav { padding:7px 9px 11px; }
.school-content-nav a { display:flex; align-items:center; gap:9px; min-height:42px; padding:9px 11px; border-radius:5px; color:#4f6279; text-decoration:none; font-size:13px; line-height:1.6; }
.school-nav-dot { width:5px; height:5px; border:1px solid #a6b7ca; border-radius:50%; flex:none; }
.school-content-nav a>span:nth-child(2) { flex:1; }
.school-content-nav small { min-width:22px; text-align:center; font-size:11px; color:#90a0b2; font-variant-numeric:tabular-nums; }
.school-content-nav a:hover { color:var(--school-blue); background:#f4f7fc; }
.school-content-nav a[aria-current=page] { color:var(--school-blue); background:#eaf2ff; font-weight:650; }
.school-content-nav a[aria-current=page] .school-nav-dot { border-color:var(--school-blue); background:var(--school-blue); }
.school-content-nav a[aria-current=page] small { color:var(--school-blue); }
.school-nav-scope { border-top:1px solid #e9eef4; margin:0; padding:10px 18px; font-size:11px; line-height:1.8; color:#6f849b; }
.school-scope-panel { display:block; padding:18px; border:1px solid var(--school-line); border-radius:10px; background:#fff; margin:0; }
.school-scope-panel h2 { margin:0 0 6px; color:var(--school-ink); font-size:15px; font-weight:650; }
.school-scope-panel p { margin:0 0 15px; font-size:12px; line-height:1.7; color:#8898aa; }
.school-scope-panel label { display:block; margin:14px 0 7px; font-size:12px; color:#6b7f98; }
.school-scope-panel select { width:100%; min-width:0; height:38px; border:1px solid #dce5f1; border-radius:5px; padding:0 9px; font-size:13px; color:#385373; background:#fff; }
.school-scope-submit { width:100%; margin-top:14px; padding:9px 12px; border:1px solid #cddff5; border-radius:5px; color:var(--school-blue); background:#f0f6ff; font-size:13px; cursor:pointer; }
.school-space .school-scope-filters .schools-type-tabs { display:flex; margin:12px 0 0; padding:0; gap:5px; }
.school-space .school-scope-filters .schools-type-tabs + .schools-type-tabs { border-top:1px solid #edf1f6; padding-top:12px; }
.school-space .schools-type-tabs :is(a,span.is-active) { padding:5px 8px; font-size:12px; color:#617994; }
.school-space .schools-type-tabs .is-active { color:var(--school-blue); border-color:#bed5f2; background:#ebf3ff; }
.school-collection { background:#fff; border:1px solid var(--school-line); border-radius:10px; padding:20px 26px 0; overflow:hidden; }
.school-collection-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.school-collection-heading p { margin:0 0 6px; font-size:12px; color:#8d9caf; }
.school-collection-heading h1 { margin:0; color:var(--school-ink); font-size:24px; font-weight:650; line-height:1.45; }
.school-collection-heading>span { flex:none; font-size:12px; color:#8597ad; }
.school-collection-heading strong { font-size:25px; font-weight:550; color:var(--school-blue); }
.school-collection-search { display:flex; gap:8px; margin:0 0 10px; }
.school-search-input { display:flex; align-items:center; gap:10px; flex:1; min-width:0; padding:0 13px; border:1px solid #dce5f1; border-radius:6px; background:#f9fbfe; color:#8fa6c0; }
.school-search-input .icon { width:17px; height:17px; flex:none; }
.school-search-input input { min-width:0; width:100%; height:42px; padding:0; border:0; outline:none; background:transparent; color:#354d69; font-size:13px; }
.school-search-input:focus-within { border-color:#709dde; box-shadow:0 0 0 3px #eaf2ff; }
.school-search-state { display:flex; justify-content:space-between; gap:15px; margin:0 0 12px; color:#7186a0; font-size:12px; line-height:1.8; }
.school-search-state a { flex:none; color:var(--school-blue); }
.school-list-caption { display:flex; justify-content:space-between; gap:15px; padding:8px 0; border-bottom:1px solid var(--school-line); color:#97a5b6; font-size:11px; }
.school-article-row { display:flex; align-items:flex-start; gap:20px; padding:14px 0; border-bottom:1px solid #edf1f6; }
.school-row-date { flex:0 0 56px; padding-top:4px; color:#99a8b8; font-size:12px; text-align:center; font-variant-numeric:tabular-nums; }
.school-row-date time { display:flex; flex-direction:column; gap:3px; }
.school-row-date strong { font-size:19px; line-height:1.4; font-weight:500; color:#7189a5; }
.school-row-date span { font-size:11px; }
.school-row-body { min-width:0; flex:1; }
.school-row-body h2 { margin:0; color:#243d5b; font-size:17px; font-weight:550; line-height:1.6; overflow-wrap:anywhere; }
.school-row-body h2 a { color:inherit; text-decoration:none; }
.school-row-body h2 a:hover { color:var(--school-blue); text-decoration:underline; text-underline-offset:4px; }
.school-row-meta { display:flex; gap:6px 10px; flex-wrap:wrap; margin-top:8px; color:#8c9caf; font-size:11px; }
.school-row-meta span:first-child { color:#6489b7; }
.school-row-meta span+span:before { content:"·"; margin-right:10px; color:#c4ceda; }
.school-row-arrow { padding-top:4px; color:#bdcad9; font-size:18px; }
.school-article-row:hover .school-row-arrow { color:#5786c0; }
.school-collection-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:20px -28px 0; padding:16px 28px; background:#fafbfd; border-top:1px solid var(--school-line); }
.school-collection-footer a { font-size:12px; color:#6781a1; text-decoration:none; }
.school-empty { padding:48px 24px; text-align:center; }
.school-empty>span { color:#7da7d8; font-size:40px; }
.school-empty h2 { font-size:18px; color:#455e7b; margin:10px 0; }
.school-empty p { color:#8c9caf; font-size:13px; margin-bottom:18px; }.school-empty a { font-size:13px; color:var(--school-blue); }
.school-content-note { padding:12px 15px; margin:0 0 16px; background:#f6f8fb; border-left:3px solid #adc4df; color:#73859b; font-size:13px; line-height:1.8; }
.school-reading-return { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; padding:0 2px; font-size:12px; color:#8b9eb3; }
.school-reading-return a { color:#497bb7; text-decoration:none; }
.school-article-page .article-paper { padding:0 var(--pc-reading-padding); border:1px solid var(--school-line); border-radius:10px; box-shadow:none; overflow:hidden; }
.school-article-page .article-heading { margin:0 calc(-1 * var(--pc-reading-padding)); padding:28px var(--pc-reading-padding) 22px; border:0; border-bottom:1px solid #e7edf5; background:#fff; }
.school-article-page .article-heading h1 { font-size:28px; line-height:1.55; color:var(--school-ink); }
.school-article-page .article-body { padding:28px 0; }
.school-article-page { --article-body-size:16px; }
.school-article-page .article-body .pc-richtext { font-size:var(--article-body-size); line-height:1.95; }
.school-article-page .article-body .pc-richtext h2 { margin-top:28px; padding:9px 14px; font-size:20px; border-left:3px solid #1d9f99; background:#f2f6fb; color:#254768; }
.school-article-page .article-body .pc-richtext h3 { color:#315778; font-size:18px; }
.school-article-page .article-end { gap:16px; flex-wrap:wrap; font-size:12px; }
.school-article-page .article-sidebar-follow { position:static; }
.school-article-page .article-help { margin-top:18px; }
.school-space .school-detail-section { padding:22px; border-color:var(--school-line); }
.school-space .school-detail-section .pc-section-heading__title { font-size:21px; color:var(--school-ink); }
.school-space .school-detail-section .pc-table { table-layout:fixed; width:100%; min-width:0; border:1px solid #e4ebf4; }
.school-space .school-detail-section .pc-table :is(th,td) { overflow-wrap:anywhere; }
.school-space .school-detail-section .pc-table th { font-size:12px; color:#6c819c; background:#f0f5fc; padding:10px; }
.school-space .school-detail-section .pc-table td { padding:11px 10px; font-size:13px; }
.school-space .school-detail-section .pc-table td a { color:#245eab; text-decoration:none; }
.school-space .school-detail-section .pc-table td a:hover { text-decoration:underline; }
.school-space .school-section-menu { padding:16px 18px; }
.school-space .school-section-menu h2 { padding:0; border:0; font-size:14px; }
.school-space .school-section-nav { gap:5px; }
.school-space .school-section-nav a { padding:7px 8px; font-size:12px; }
.school-space #school-plans th:nth-child(1) { width:9%; }.school-space #school-plans th:nth-child(2) { width:13%; }.school-space #school-plans th:nth-child(3) { width:19%; }.school-space #school-plans th:nth-child(4) { width:8%; }.school-space #school-plans th:nth-child(5) { width:26%; }.school-space #school-plans th:nth-child(6) { width:12%; }.school-space #school-plans th:nth-child(7) { width:13%; }
@media(max-width:1300px) {.school-content-identity { padding:18px 22px; }.school-collection { padding:22px 22px 0; }.school-collection-footer { margin-inline:-22px; padding-inline:22px; }.school-space .school-detail-section { padding:18px; }.school-article-row { gap:15px; }.school-article-page .article-heading { padding:24px var(--pc-reading-padding) 20px; }.school-article-page .article-body { padding:24px 0; } }
@media(prefers-reduced-motion:no-preference) { .school-space a,.school-space button { transition:color .15s,background-color .15s,border-color .15s; } }
