.guide-page{background:#f4f7fb;color:#183453}.guide-page header{position:sticky;top:0;z-index:20;background:#fff}.guide-page header nav{display:flex;gap:20px}.guide-page main{max-width:1320px;margin:auto;padding:0 34px}.guide-hero{padding:66px 0 44px}.guide-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.13;letter-spacing:-2px;margin:20px 0;color:#133d74}.guide-hero p{font-size:19px;line-height:1.8}.guide-hero small{display:block;margin-top:24px;color:#5c6f85}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.outline{border:1px solid #aac0dc;border-radius:9px;padding:12px 18px;display:inline-block;text-decoration:none;background:#fff;color:#17477e;font-weight:700}.notice{background:#fff5ce;border-left:5px solid #e2b320;padding:22px 26px;border-radius:12px;margin:22px 0;line-height:1.85}.notice b{font-size:19px}.notice details summary{cursor:pointer;font-weight:700}.guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:38px;align-items:start;padding:30px 0 70px}.toc{position:sticky;top:102px;display:flex;flex-direction:column;gap:6px;padding:20px;background:#143e75;color:white;border-radius:14px}.toc b{margin-bottom:10px}.toc a{color:#fff;padding:11px 0;text-decoration:none;border-bottom:1px solid #ffffff26;font-size:14px}.toc a span{color:#fbd549;margin-right:12px}.chapter{background:white;border:1px solid #dce5ef;border-radius:16px;padding:34px;margin-bottom:26px;scroll-margin-top:105px;line-height:1.85}.chapter h2{color:#153e73;font-size:30px;line-height:1.35;margin:10px 0 23px}.chapter h3{font-size:19px;color:#174a7f;margin:25px 0 8px}.chapter p{margin:14px 0}.chapter li{margin-bottom:13px;padding-left:4px}.chapter a{color:#155698}.chapter .primary{color:white}.ref{font-size:13px;color:#61758a}.table-wrap{overflow-x:auto;margin:23px 0}table{border-collapse:collapse;width:100%;min-width:540px;font-size:14px}th,td{padding:14px;border-bottom:1px solid #dbe4ee;text-align:left;vertical-align:top}th{background:#eaf2fb;color:#173c70}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cards article{background:#f3f7fc;border-radius:12px;padding:18px}.cards h3{margin-top:0}.tool{background:#f1f6fc;padding:24px;border:1px solid #d6e3f2;border-radius:12px;margin:25px 0}.tool label{font-weight:700;display:block;margin-bottom:8px}.tool select,.tool input,.consult-fields select{padding:12px;font:inherit;border:1px solid #afc4de;border-radius:8px;background:#fff;color:#153e73;max-width:100%;width:100%}.tool input[type=date]{max-width:300px}.tool small,.consultation small{display:block;color:#64758a;line-height:1.7;margin-top:16px}.check-row{display:flex!important;align-items:start;gap:10px;font-weight:400!important}.check-row input{width:18px;margin-top:6px;flex-shrink:0}.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rank-card{background:#f5f8fc;padding:22px;border-radius:12px;border:1px solid #d9e5f1}.rank-card .rank-no{font-size:25px;font-weight:800;color:#bd9215}.rank-card h3{font-size:17px;margin:9px 0}.rank-card .ratio{font-size:32px;font-weight:800;color:#174778}.rank-card p{font-size:14px}.rank-card a{font-size:13px}.consultation{background:#153e73;color:white}.consultation h2,.consultation p{color:white}.consultation .eyebrow{color:#fdd448}.consultation .primary{background:#f6ca42;color:#153e73}.consult-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.consult-fields label{font-size:14px}.consult-fields select{margin-top:8px}.consultation small{color:#d6e2ef}.guide-page footer{margin:0}.guide-page a:focus-visible,.guide-page input:focus-visible,.guide-page select:focus-visible,.guide-page summary:focus-visible{outline:3px solid #e5b928;outline-offset:4px}.guide-page .brand-sub{display:block}@media(max-width:950px){.guide-layout{grid-template-columns:1fr;gap:20px}.toc{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.toc b{grid-column:1/-1}.guide-page main{padding:0 20px}.chapter{padding:26px}}@media(max-width:600px){.guide-page header{padding:14px 16px;align-items:start}.guide-page header nav{gap:10px;font-size:11px}.guide-page header nav a:last-child{display:none}.guide-hero{padding:38px 0 24px}.guide-hero p{font-size:16px}.toc{grid-template-columns:1fr 1fr;padding:16px}.toc a{font-size:12px}.chapter{padding:22px 18px}.chapter h2{font-size:25px}.cards,.rank-grid,.consult-fields{grid-template-columns:1fr}.notice{padding:18px}.guide-page main{padding:0 14px}.tool{padding:18px}.action-row a{font-size:13px}.table-wrap{margin-left:-6px;margin-right:-6px}}
/* Keep long tables and school names inside the guide's mobile grid. */
.guide-page .chapters,.guide-page .toc,.guide-page .chapter,.guide-page .guide-layout{min-width:0}.guide-page .chapter,.guide-page .notice{overflow-wrap:anywhere}.guide-page .table-wrap{max-width:100%}@media(max-width:950px){.guide-page .guide-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.guide-page header{height:auto;min-height:72px;gap:12px}.guide-page header nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}.guide-page header .brand{flex-shrink:0;font-size:21px}.guide-page .toc{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Contain the expandable building-address tables within each card. */
.guide-page .rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-page .rank-card,.guide-page .rank-card details,.guide-page .tool{min-width:0}.guide-page .rank-card .table-wrap{max-width:100%;margin-left:0;margin-right:0}.guide-page .rank-card summary{cursor:pointer;font-weight:700;font-size:14px}@media(max-width:600px){.guide-page .rank-grid{grid-template-columns:minmax(0,1fr)}}
.reform-badge{display:inline-block;margin-top:8px;padding:3px 7px;border-radius:6px;background:#e8eef5;color:#234d79;font-size:11px;line-height:1.6}.reform-badge.changed{background:#fff1bb;color:#6c4a00}.guide-page caption{text-align:left;padding:10px 0;font-size:12px;color:#61758a}.guide-page #q10 table{min-width:1050px}.guide-page #q10 td:first-child{min-width:200px}.guide-page #q10 td small{font-size:12px;line-height:1.6}.guide-page #q9 table{min-width:700px}
/* Ten independent guide pages: the menu stays in document flow. */
.question-menu{display:flex;gap:8px;flex-wrap:wrap;max-width:1320px;margin:18px auto 0;padding:0 34px;box-sizing:border-box}
.question-menu a{display:block;padding:10px 13px;border:1px solid #c9d8e9;border-radius:9px;background:#fff;color:#17477e;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.question-menu a span{color:#82620d;margin-right:4px}
.question-menu a[aria-current=page]{background:#153e73;color:#fff;border-color:#153e73}
.question-menu a[aria-current=page] span{color:#fbd549}
.chapter-pager{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;line-height:1.7}
.chapter-pager a{color:#155698;text-decoration:none;padding:9px 13px;background:#fff;border:1px solid #c9d8e9;border-radius:8px}
.question-page .chapters{max-width:1050px;margin:0 auto 50px}
.question-page .policy{max-width:1050px;margin:22px auto;box-sizing:border-box}
@media(max-width:950px){.question-menu{padding:0 20px}}
@media(max-width:600px){.question-menu{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:4px 14px 12px;scroll-snap-type:x proximity}.question-menu a{flex:0 0 auto;scroll-snap-align:start}.chapter-pager{gap:8px;font-size:13px}.question-page main{padding-top:2px}}
