:root{--paper:#f9f8f3;--ink:#20292c;--blue:#204783;--muted:#535f61;--line:#d8dbd0;--serif:"Baskervville","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Inter",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{color:var(--blue)}:focus-visible{outline:3px solid #a9642e;outline-offset:4px}.wrap{width:min(1216px,calc(100% - 104px));margin:auto}.skip{position:absolute;left:10px;top:-60px;background:white;z-index:3;padding:8px}.skip:focus{top:8px}.sr{position:absolute;height:1px;width:1px;clip-path:inset(50%);overflow:hidden}.mast{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font:bold 31px/1 var(--serif);letter-spacing:-1.6px;text-decoration:none;white-space:nowrap}.brand img{width:35px;height:37px}.mast nav{display:flex;align-items:center;gap:28px}.mast nav a,.mast nav button,.foot button{font:600 13px var(--sans);text-decoration:none;color:var(--blue)}.mast nav button{border:1px solid #bdc4bc;padding:9px 13px;border-radius:4px;background:transparent;color:#303c43}.mast nav button span{margin-left:6px}.hero{background:#edf1eb;border-block:1px solid #d7dcd3;overflow:hidden}.hero-in{display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:2%;min-height:310px}.intro{padding:32px 0;position:relative;z-index:1}.kicker,.smallcaps,.meta,.review-date{font:600 10px/1.5 "IBM Plex Mono","Courier New",monospace;letter-spacing:1.4px;text-transform:uppercase}.kicker{color:var(--blue);display:flex;align-items:center;gap:9px}.kicker i{width:23px;height:2px;background:#b66046;display:inline-block}.kicker b{color:#8e9790}.hero h1{margin:14px 0;font:normal clamp(58px,5.45vw,83px)/.96 var(--serif);letter-spacing:-.063em}.hero h1 em{color:var(--blue)}.hero p{font-size:15px;color:#425053;line-height:1.55;max-width:455px;margin:0}.engraving{width:100%;height:310px;display:flex;align-items:center;justify-content:center}.engraving img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-top h2{font:normal 25px var(--serif);letter-spacing:-.9px;margin:0}.smallcaps{color:var(--muted)}#schools{padding:23px 0 25px;border-bottom:1px solid #c9cfc3;scroll-margin-top:12px}.tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.tab{background:#fdfcf7;border:1px solid #d2d6cb;color:#364046;padding:8px 12px;text-align:left;display:flex;align-items:center;gap:11px;min-height:38px;border-radius:5px;font-size:13px;font-weight:600}.tab b{width:20px;text-align:center;font:bold 19px/.9 var(--serif);color:var(--school)}.tab:hover{border-color:#8999aa;background:#f0f3ef}.tab[aria-selected=true]{color:white;background:var(--blue);border-color:var(--blue)}.tab[aria-selected=true] b{color:white}.results-layout{padding:30px 0 55px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:34px}.meta{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px;letter-spacing:1px}.sep{color:#9da69b}.dot,.review-date i{width:6px;height:6px;border-radius:50%;background:#526d60;display:inline-block}.panel h2{font:normal clamp(33px,3.3vw,47px)/1.12 var(--serif);letter-spacing:-.053em;margin:8px 0 4px}.sub{font-size:13px;color:var(--muted);margin-bottom:18px}article{margin:9px 0;background:#fffef9;border:1px solid var(--line);border-radius:6px}.row{padding:19px 20px 0;display:grid;grid-template-columns:45px minmax(0,1fr);gap:14px}.rank{border-right:1px solid var(--line);align-self:start;min-height:34px;font:italic 30px/1 var(--serif);color:var(--blue);letter-spacing:-1.4px}.rank small{font:9px/1.5 var(--sans);display:block;color:var(--muted);letter-spacing:1px}.row h3{font:600 24px/1.1 var(--serif);letter-spacing:-.9px;margin:0 0 7px}.row p{font-size:14px;color:#4b5658;line-height:1.55;margin:0}.row details{border-top:1px solid #e1e4da;margin-top:13px}.row summary{cursor:pointer;list-style:none;font:600 12px var(--sans);color:var(--blue);padding:10px 0 12px;display:flex;align-items:center;justify-content:space-between}.row summary::-webkit-details-marker{display:none}.row summary span{font-size:17px}.row details[open] summary span{transform:rotate(45deg)}.row ul{list-style:none;padding:0;margin:0}.row li{border-top:1px solid #e7e9e0;padding:11px 0}.row li a{font-size:14px;font-weight:600;text-underline-offset:3px}.row li small{margin-left:9px;font-size:11px;color:var(--muted)}.row li p{font-size:13px;margin-top:4px}.explain{background:#e8eee7;border:1px solid #cfd9cf;border-radius:5px;padding:23px}.book{width:36px;height:36px;color:var(--blue)}.explain h2{font:normal 26px/1.1 var(--serif);letter-spacing:-1.1px;margin:12px 0}.explain p{font-size:13px;line-height:1.6;color:#465453;margin:0}.explain button{margin-top:17px;width:100%;text-align:left;display:flex;justify-content:space-between;border:0;border-top:1px solid #c9d3c8;padding:13px 0 0;color:var(--blue);font-size:12px;font-weight:700;background:transparent}.review-date{font-size:9px;color:var(--muted);letter-spacing:.45px;display:flex;gap:7px;align-items:center}.foot{border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:22px 0 28px;color:var(--muted);font-size:12px}.foot strong{font:bold 20px var(--serif);color:var(--ink);letter-spacing:-1px}.foot button{border:0;background:none;margin-left:auto}dialog{background:var(--paper);color:var(--ink);border:1px solid #a3b0a4;border-radius:8px;padding:24px 28px;width:min(580px,calc(100% - 24px));max-height:84vh;box-shadow:0 18px 70px #182a3c36}dialog::backdrop{background:#18242c88}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{font-size:27px;border:0;background:transparent}dialog h2{font:normal 37px/1.1 var(--serif);letter-spacing:-1.5px;margin:15px 0}dialog h3{font:600 21px var(--serif);margin:18px 0 5px}dialog p,dialog li{font-size:14px;line-height:1.6;color:#485556}dialog p{margin:7px 0}dialog ol{padding-left:21px}dialog li{margin:7px 0}
@media(max-width:980px){.wrap{width:calc(100% - 56px)}.results-layout{grid-template-columns:minmax(0,1fr) 215px;gap:22px}.explain{padding:17px}.tab{padding:8px;gap:6px}.hero h1{font-size:60px}.engraving{height:270px}.hero-in{min-height:270px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.mast{height:61px}.brand{font-size:25px}.brand img{width:28px}.mast nav{gap:14px}.mast nav a,.mast nav button{font-size:12px}.hero-in{grid-template-columns:1.1fr .9fr;min-height:0}.intro{padding:24px 0}.hero h1{font-size:50px}.hero p{font-size:13px}.kicker{font-size:8px;gap:5px}.engraving{height:235px}.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.results-layout{grid-template-columns:1fr}.tab{font-size:12px}}
@media(max-width:510px){.mast nav a{display:none}.mast nav button{padding:7px 9px}.hero-in{display:block;position:relative}.hero h1{font-size:clamp(42px,10.3vw,53px);margin:13px 0}.hero p{max-width:100%}.engraving{position:absolute;right:-5px;top:34px;width:36%;height:108px;mask-image:linear-gradient(to right,transparent,#000 18%)}.intro{padding:24px 0 19px}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.tab b{width:16px;font-size:17px}.tab{min-height:36px;padding:7px}.section-top h2{font-size:22px}#schools{padding:19px 0}.row{padding:15px 12px 0;gap:9px;grid-template-columns:32px minmax(0,1fr)}.rank{font-size:25px}.row h3{font-size:21px}.row p{font-size:13px}.results-layout{padding-top:23px}.foot>span{display:none}.meta{font-size:9px}.foot button{font-size:12px}}
.school-note{margin:0 0 16px;border-block:1px solid #d6dcd1;background:#eef1e9;color:#263d46}.school-note summary{padding:11px 13px;font:600 13px var(--sans);list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.school-note summary::-webkit-details-marker{display:none}.school-note[open] summary span{transform:rotate(45deg)}.school-note>div{padding:0 14px 15px}.school-note p,.school-note a{font-size:13px;line-height:1.5}.school-note blockquote{font:italic 19px/1.35 var(--serif);margin:11px 0;padding-left:12px;border-left:2px solid #8c9d88}.school-note a{text-underline-offset:3px}.sortbar{display:inline-flex;border:1px solid #bdc7c2;border-radius:5px;padding:3px;background:#efefe8;gap:2px}.sortbar button{border:0;border-radius:3px;background:transparent;padding:7px 11px;color:#3b4850;font:600 12px var(--sans)}.sortbar button[aria-pressed=true]{background:var(--blue);color:white}.sortnote{margin:9px 0 15px;color:var(--muted);font:12px/1.5 var(--sans)}.placement{display:block;color:#855029;font:600 9px/1.5 "IBM Plex Mono","Courier New",monospace;letter-spacing:.7px;text-transform:uppercase;margin:0 0 5px}.placement[hidden]{display:none}.evidence-count{margin-top:9px;color:#586361;font:11px/1.5 var(--sans)}.evidence-count strong{color:#375168}.sub span{margin:0 3px}.panel article{scroll-margin-top:12px}
.edition-stats{margin-top:22px;border-top:1px solid var(--line);padding:15px 2px 0}.edition-stats h2{font:normal 21px/1.15 var(--serif);letter-spacing:-.6px;margin:0 0 10px}.edition-stats dl{margin:0}.edition-stats dl>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e4da;padding:7px 0}.edition-stats dt{font:12px var(--sans);color:var(--muted)}.edition-stats dd{font:600 13px "Courier New",monospace;color:var(--blue);margin:0}.review-date{margin-top:13px}
.brand{font-size:23px;letter-spacing:-.9px;line-height:.98;gap:10px}.brand strong{font-weight:normal}.brand img{width:37px;height:40px}.hero h1{font-size:clamp(44px,4.65vw,70px);line-height:1.01}.school-nav .tab{text-decoration:none}.school-nav .tab[aria-current=page]{background:var(--blue);color:white;border-color:var(--blue)}.school-nav .tab[aria-current=page] b{color:white}.crumbs{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin-top:20px}.crumbs a,.reading a,.explain a,.global-context{text-underline-offset:3px}.reading h2,.review-box h2{font:normal clamp(28px,2.7vw,40px)/1.12 var(--serif);letter-spacing:-.045em;margin:10px 0 12px}.reading h3{font:600 23px/1.2 var(--serif);margin:27px 0 7px;letter-spacing:-.6px}.reading p,.reading li{font:15px/1.65 var(--sans);color:#465257;max-width:76ch}.reading p{margin:8px 0 12px}.guide-link,.explain>a{font:600 13px var(--sans)}.numbers{margin:12px 0 18px}.numbers div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #cbd6c9;font-size:13px}.numbers dd{font:bold 14px var(--serif);color:var(--blue)}.global-context{display:inline-block;font-size:12px;margin:0 0 14px}.directory{border-collapse:collapse;width:100%;margin:23px 0 34px;font-size:14px}.directory th,.directory td{padding:11px 8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.directory td a{display:inline-block;margin:0 7px 5px 0}.directory thead th{background:#e9eee7;color:#31443d}.review-box{padding:20px;background:#edf1e9;border:1px solid var(--line);border-radius:5px;scroll-margin:16px}.review-box ul{margin-bottom:0;padding-left:17px}.method-page{max-width:760px;margin:40px 0}.method-page h1{font:normal 46px/1.06 var(--serif);letter-spacing:-.045em;margin:15px 0}.foot{flex-wrap:wrap}.foot a{font-size:12px}.foot strong{margin-right:auto}.panel article:target{border-color:#53739e;box-shadow:0 0 0 2px #53739e24}
@media(max-width:720px){.brand{font-size:19px}.mast nav{gap:12px}.hero h1{font-size:43px}.hero-in{grid-template-columns:1.25fr .75fr}.foot strong{font-size:17px}.hero p{font-size:13px}}
@media(max-width:510px){.hero-in{display:flex;flex-direction:column;align-items:stretch}.intro{padding:22px 0 18px}.hero h1{font-size:40px;max-width:100%}.hero .engraving{display:none}.mast nav a{display:none}.brand{font-size:19px}.reading h2{font-size:28px}.directory th,.directory td{padding:9px 5px}.method-page h1{font-size:36px}}
.report-link,.dir-reports{display:inline-block;font:600 12px/1.45 var(--sans);text-underline-offset:3px}.report-link{padding:0 0 12px}.directory .dir-reports{font-size:11px;margin-top:4px}.firm-reports{background:#fffef9;border:1px solid var(--line);border-radius:5px;margin:9px 0;scroll-margin-top:12px}.firm-reports>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;list-style:none}.firm-reports>summary::-webkit-details-marker{display:none}.firm-reports>summary strong{font:600 20px/1.2 var(--serif);letter-spacing:-.45px}.firm-reports>summary span{margin-left:auto;white-space:nowrap;font:11px var(--sans);color:var(--muted)}.firm-reports>summary:after{content:'+';color:var(--blue)}.firm-reports[open]>summary:after{content:'−'}.firm-reports ul{list-style:none;margin:0;padding:0 16px}.firm-reports li{border-top:1px solid var(--line);padding:13px 0;max-width:none}.firm-reports .report-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.report-heading strong{font-size:15px;color:var(--ink)}.report-heading span{font-size:11px;color:#566260}.firm-reports li p,.research-note{font-size:13px;line-height:1.55}.firm-reports li p{margin:5px 0}.firm-reports li a{font-size:12px;overflow-wrap:anywhere}.firm-reports .research-note{padding:0 16px}.report-filters{display:flex;gap:12px;margin:24px 0 13px}.report-filters label{display:grid;gap:5px;color:var(--muted);font-size:12px;flex:1}.report-filters input,.report-filters select{font:14px var(--sans);width:100%;border:1px solid #b8c2ba;border-radius:4px;padding:9px;background:#fffef9;color:var(--ink)}.report-filters[hidden],.firm-reports[hidden],.firm-reports li[hidden]{display:none}.report-list #report-status{font-size:13px}.report-list #report-status:empty{display:none}@media(max-width:510px){.report-filters{flex-direction:column}.firm-reports>summary{padding:12px}.firm-reports>summary strong{font-size:18px}}
