:root{--ink:#17303f;--teal:#1f6f78;--teal-dark:#174f56;--pale:#e4f0f1;--gold:#e9a23b;--paper:#faf7f1;--white:#fff;--line:#e5e1da;--muted:#617079;--r:16px;--serif:Georgia,'Iowan Old Style',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);line-height:1.1;letter-spacing:-.025em;font-weight:600}h1{font-size:clamp(2.7rem,5.4vw,4.8rem)}h2{font-size:clamp(1.9rem,3vw,2.8rem)}h3{font-size:1.12rem;line-height:1.25}p{color:#4b606a}a{color:var(--teal);text-underline-offset:3px}a:hover{color:var(--teal-dark)}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img,svg{max-width:100%}.shell{max-width:1160px;margin:0 auto;padding:0 25px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:-999px;top:12px;z-index:200;padding:10px;background:var(--ink);color:white}.skip:focus{left:15px}.site-header{background:#fffdf9;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}.header-inner{height:77px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-family:var(--serif);font-size:1.3rem;text-decoration:none;white-space:nowrap;font-weight:700;color:var(--ink)}.wordmark em{font-style:normal;color:var(--teal)}.logo-mark{display:inline-flex;width:32px;height:32px;background:var(--ink);color:var(--gold);align-items:center;justify-content:center;border-radius:8px;margin-right:7px;font:700 1.6rem var(--sans)}.header-inner nav{display:flex;align-items:center;gap:24px}.header-inner nav a{text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:600}.header-inner nav a[aria-current="page"],.header-inner nav a:hover{color:var(--teal)}.header-inner nav .header-school{border:1px solid var(--ink);padding:10px 16px;border-radius:9px}.mobile-menu{display:none;border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:white}.hero{background:linear-gradient(112deg,#fffdf9 0%,#fcfaf5 54%,#e8f0ee 100%);padding:85px 0 90px}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:45px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:800;color:var(--teal);margin-bottom:16px}.hero h1{margin-bottom:20px}.hero h1 span{color:var(--teal)}.hero-copy>p{font-size:1.13rem;max-width:560px}.hero .quiet-note{font-size:.78rem;color:var(--muted);margin:15px 0 0}.search-form{display:flex;align-items:flex-end;gap:9px;background:white;padding:12px;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 25px rgba(23,48,63,.06);max-width:870px}.search-form .field{display:block;min-width:0;flex:1}.search-form .grade-field{flex:0 0 145px}.field span,.stacked-form label{display:block;font-size:.79rem;font-weight:800;color:#45616a;margin-bottom:5px}.search-form input,.search-form select,.stacked-form input,.stacked-form textarea,.stacked-form select,.signup-row input{width:100%;border:1px solid #d3d9da;background:#fff;color:var(--ink);border-radius:9px;padding:12px 14px;min-height:47px}.search-form .field input,.search-form .field select{border:0;background:transparent;min-height:34px;padding:4px 7px}.search-form select{appearance:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:10px;padding:12px 19px;min-height:48px;font-weight:800;font-size:.91rem;border:2px solid transparent;line-height:1.2}.btn-main{background:var(--teal);color:#fff}.btn-main:hover{background:var(--teal-dark);color:#fff}.btn-outline{background:transparent;color:var(--ink);border-color:#bbc6c8}.btn-outline:hover{background:var(--pale)}.full{width:100%}.hero-visual{min-height:400px;position:relative;display:flex;align-items:center;justify-content:center}.hero-visual:before{content:'';position:absolute;width:325px;height:325px;border-radius:50%;background:#d5e7e4;top:20px;right:10px}.visual-card{position:absolute;box-shadow:0 14px 42px rgba(23,48,63,.13);border:1px solid rgba(23,48,63,.08);background:white;border-radius:18px;display:flex;align-items:center;gap:14px}.visual-main{width:320px;height:190px;top:92px;right:50px;padding:26px;transform:rotate(-5deg)}.visual-offset{bottom:52px;left:12px;padding:17px 20px;transform:rotate(4deg);color:var(--ink);font-weight:700}.visual-bottom{top:42px;left:20px;padding:16px;color:var(--teal);font-weight:800;font-size:.8rem;transform:rotate(7deg)}.visual-icon{width:95px;height:95px;background:var(--ink);color:var(--gold);border-radius:14px;font-size:4rem;line-height:1;display:flex;align-items:center;justify-content:center}.visual-lines{flex:1}.v-line{height:9px;background:#e9eeef;width:72%;border-radius:6px;margin-bottom:13px}.v-line.wide{width:100%}.visual-pill{display:inline-block;background:#e1eee9;color:#38766d;border-radius:20px;padding:7px 12px;font-size:.72rem;font-weight:700}.v-check{background:#e9f2ed;color:#2f885c;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.v-round{border-radius:50%;background:var(--pale);height:30px;width:30px;display:flex;align-items:center;justify-content:center}.section{padding:80px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:29px}.section-heading h2{margin-bottom:8px}.section-heading p{margin-bottom:0}.inline-arrow{font-weight:800;text-decoration:none;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.school-card{background:white;border:1px solid var(--line);border-radius:var(--r);padding:23px;display:flex;flex-direction:column;min-height:270px;box-shadow:0 3px 15px rgba(23,48,63,.025)}.card-top{display:flex;align-items:start;gap:13px}.school-symbol{background:var(--pale);border-radius:12px;width:45px;height:45px;flex:none;display:flex;align-items:center;justify-content:center;font:700 1.5rem var(--serif);color:var(--teal)}.school-card .city{margin:2px 0 4px;font-size:.62rem}.school-card h3{margin-bottom:8px}.school-card h3 a{text-decoration:none;color:var(--ink)}.school-card h3 a:hover{color:var(--teal)}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.tag{display:inline-block;color:#426a70;background:#e7f1f2;font-size:.69rem;font-weight:800;padding:4px 9px;border-radius:20px;letter-spacing:.01em}.tag-warm{background:#fdf0dc;color:#88601d}.tag-outline{border:1px solid #c2d5d6;background:transparent}.mini-line{font-size:.86rem;margin:4px 0;color:#52656b}.source-line{font-size:.73rem;color:#677980;margin:9px 0 10px}.card-actions{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.mini-link{text-decoration:none;font-size:.82rem;font-weight:800}.save-btn{border:1px solid #cad8da;border-radius:8px;background:white;color:var(--teal);font-weight:800;font-size:.78rem;padding:8px 11px}.save-btn[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:white}.pale-section{background:#eaf2ee}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-section.align-top{align-items:start}.split-section h2{margin-bottom:18px}.feature-frame,.form-panel,.sidebar-box{background:white;border:1px solid var(--line);border-radius:20px;padding:29px;box-shadow:0 14px 40px rgba(23,48,63,.05)}.feature-row{display:flex;align-items:flex-start;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.feature-row:last-child{border:0}.feature-row strong{color:var(--ink);display:block}.feature-row p{font-size:.86rem;margin:2px 0 0}.round-count{background:var(--pale);color:var(--teal);width:32px;height:32px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}.guide-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.guide-grid h2{margin-bottom:18px}.signup-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.signup-row input[type=email]{flex:1 1 200px}.form-small{font-size:.75rem;color:var(--muted);margin:5px 0 0;width:100%}.form-message{width:100%;font-weight:700;font-size:.86rem}.form-message.error{color:#9d3b32}.form-message.success{color:#27764e}.guide-cover{background:#163d4c;color:#fff;width:100%;max-width:400px;min-height:375px;margin:0 auto;border-radius:15px;box-shadow:17px 19px 0 #e9ddc9;display:flex;flex-direction:column;justify-content:space-between;padding:34px 33px 25px;position:relative;overflow:hidden}.guide-cover:after{content:'✷';position:absolute;right:-60px;top:30px;font-size:17rem;color:rgba(233,162,59,.11);line-height:1}.guide-cover small{font-weight:800;letter-spacing:.15em;color:#ffc874;font-size:.72rem}.guide-cover strong{font:600 clamp(2.2rem,3vw,3rem)/1.1 var(--serif);z-index:1}.guide-cover span{font-size:.92rem;color:#d4e5e7;z-index:1}.cover-bottom{font-family:var(--serif);color:#ffc874;font-size:.9rem;border-top:1px solid rgba(255,255,255,.2);padding-top:15px;z-index:1}.footer{background:var(--ink);color:#d9e2e3;padding:53px 0 20px}.footer p{color:#b9c7ca}.footer-brand{color:#fff}.footer-brand em{color:#86c6be}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;flex-wrap:wrap;max-width:450px;gap:12px 23px;align-content:flex-start}.footer a{color:#d9e2e3;text-decoration:none;font-size:.86rem}.footer a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:25px;color:#becacd;font-size:.76rem}.subhero{padding:58px 0 45px;background:linear-gradient(115deg,#fffdf9,#e8f1ef);border-bottom:1px solid var(--line)}.subhero h1{font-size:clamp(2.5rem,4.4vw,3.75rem);margin-bottom:13px}.subhero p{font-size:1.07rem;margin-bottom:0}.subhero .search-form{margin-top:26px}.subhero .eyebrow{margin-bottom:10px}.compact h2{font-size:1.7rem}.school-results{padding-top:50px}.pagination{display:flex;align-items:center;justify-content:center;gap:30px;margin:35px 0 0}.pagination a{font-weight:800}.pagination span{color:var(--muted);font-size:.85rem}.empty-state{text-align:center;max-width:590px;margin:30px auto 70px;padding:40px 18px}.empty-state h3{font-family:var(--serif);font-size:1.7rem}.text-back{display:inline-block;margin-bottom:22px;text-decoration:none;font-weight:700}.profile-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.profile-head h1{max-width:740px}.profile-actions{display:flex;gap:9px;flex-wrap:wrap}.profile-section{padding-top:48px}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;align-items:start}.profile-panel{background:white;padding:28px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px}.profile-panel h2{font-size:1.65rem}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px}.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.fact{border-bottom:1px solid var(--line);padding:18px 0}.fact-label{color:#5a6d74;font-size:.78rem;font-weight:800;margin-bottom:7px}.fact-value{font-weight:750;line-height:1.4}.fact-source{font-size:.72rem;color:#6a7b83;margin-top:7px}.unknown{font-weight:500;color:#7b858a}.profile-source p{font-size:.92rem}.source-list{display:grid;gap:13px}.source-list>div{display:flex;flex-wrap:wrap;gap:7px 15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;font-size:.8rem}.source-list span{color:var(--muted)}.profile-sidebar{display:grid;gap:18px}.sidebar-box{padding:26px;box-shadow:none}.sidebar-box.soft{background:#edf3f0}.sidebar-box .btn{margin-bottom:15px}.sidebar-box p{font-size:.91rem}.sidebar-box .inline-arrow{font-size:.86rem}.form-panel h2{font-size:1.6rem}.stacked-form{display:grid;gap:10px}.stacked-form textarea{resize:vertical;min-height:110px}.stacked-form label{margin:9px 0 -2px}.hidden-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.compare-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white;table-layout:fixed}.compare-table td,.compare-table th{border-bottom:1px solid var(--line);padding:18px;text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:.88rem}.compare-table th{background:#eff5f3;font-weight:800}.compare-table tr:last-child td{border-bottom:0}.compare-table td:first-child{font-weight:700;width:21%}.compare-table a{font-weight:700}.compare-mobile{overflow-x:auto}.compare-table{min-width:680px}.remove-btn{font-size:.76rem;min-height:34px;padding:5px 9px}.email-panel{margin:45px 0 0;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;background:#eaf2ee;border-radius:var(--r)}.email-panel h2{font-size:2rem}.inline-fields{display:flex;gap:8px}.inline-fields input{flex:1;min-width:0}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:75px;align-items:start}.prose{font-size:1.02rem}.prose h2{font-size:2rem;margin:1.4em 0 .5em}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.04rem}.prose p,.prose li{color:#485c64}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:10px}.prose-narrow{max-width:760px}.info-strip{border-radius:15px;padding:19px 23px;background:#e5f1f0;display:flex;gap:20px;align-items:center;margin:25px 0}.info-strip strong{font:600 2.4rem var(--serif);color:var(--teal)}.info-strip div strong{font:inherit;font-weight:800}.two-list{display:grid;grid-template-columns:1fr 1fr;gap:26px}.two-list>div{background:white;border:1px solid var(--line);padding:20px;border-radius:12px}.two-list ul{padding-left:20px}.tefa-aside{display:grid;gap:27px}.small-cover{min-height:330px;max-width:none;box-shadow:none}.small-cover strong{font-size:2.5rem}.tefa-aside .sidebar-box{background:white}.tefa-aside h3{font-family:var(--serif);font-size:1.35rem}.calc-outer{background:white;border:1px solid var(--line);border-radius:var(--r);padding:30px}.calc{display:grid;grid-template-columns:1fr 1fr;gap:33px;align-items:start}.calc-inputs .field{margin-bottom:16px}.calc-inputs .field label{display:block;font-size:.87rem;font-weight:800;margin-bottom:7px}.calc-inputs input,.calc-inputs select{padding:12px;width:100%;border:1px solid #d3d9da;border-radius:9px;background:white;min-height:45px}.calc-inputs .hint{font-size:.77rem;color:var(--muted);margin-top:5px}.calc-result{background:var(--ink);color:white;border-radius:var(--r);padding:25px;position:sticky;top:92px}.calc-result a{color:#ffd48c}.calc-result .sub{color:#b9cfd2;font-size:.87rem}.calc-result .big{font:600 3rem var(--serif);margin:5px 0}.calc-result .lines{display:grid;gap:13px;border-top:1px solid rgba(255,255,255,.2);padding-top:15px;margin-top:20px;font-size:.88rem}.calc-result .lines>div{display:flex;justify-content:space-between;gap:20px}.calc-result .lines .total{border-top:1px solid rgba(255,255,255,.2);padding-top:13px;font-weight:800}.calc-bar{display:flex;height:13px;overflow:hidden;background:#56727d;border-radius:10px;margin-top:20px}.calc-bar span{height:100%;transition:width .2s}.calc-bar .b-fund{background:#f0a63b}.calc-bar .b-aid{background:#e9cf90}.calc-bar .b-gap{background:#9ac2c4}.calc-bar .b-other{background:#dce4e2}.calc-key{display:flex;gap:12px;flex-wrap:wrap;color:#bfd0d2;font-size:.73rem;margin-top:9px}.calc-key span:before{content:'●';margin-right:4px}.calc-key .k-fund:before{color:#f0a63b}.calc-key .k-aid:before{color:#e9cf90}.calc-key .k-gap:before{color:#9ac2c4}.calc-key .k-other:before{color:#dce4e2}.calc-note{font-size:.72rem;color:#c2d1d3;line-height:1.6}.calc-flag{background:rgba(233,162,59,.15);color:#fce3b5;padding:10px;border-radius:7px;font-size:.73rem}.calc-cta{border-top:1px solid rgba(255,255,255,.2);padding-top:15px;font-size:.8rem}#toast{position:fixed;right:25px;bottom:23px;background:var(--ink);color:white;z-index:200;padding:13px 19px;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:300px;display:none}#toast.show{display:block}
@media(max-width:990px){.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-layout{grid-template-columns:1fr}.tefa-aside{grid-template-columns:1fr 1fr;align-items:start}.tefa-aside .guide-cover{min-height:330px}.split-section{gap:35px}.profile-grid{grid-template-columns:1fr}.profile-sidebar{grid-template-columns:1fr 1fr}}
@media(max-width:730px){.shell{padding:0 18px}.header-inner{height:66px}.wordmark{font-size:1.1rem}.logo-mark{height:28px;width:28px}.mobile-menu{display:block}.header-inner nav{display:none;position:absolute;left:0;right:0;top:66px;background:white;padding:16px 20px 22px;border-bottom:1px solid var(--line);flex-direction:column;gap:18px;align-items:stretch}.header-inner nav.open{display:flex}.header-inner nav .header-school{text-align:center}.hero{padding:65px 0}.hero h1{font-size:3rem}.section{padding:55px 0}.search-form{display:grid;grid-template-columns:1fr;max-width:none}.search-form .grade-field{flex:auto}.search-form .btn{width:100%}.card-grid,.split-section,.guide-grid,.profile-sidebar,.email-panel,.facts-grid,.two-list,.tefa-aside,.calc{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.guide-cover{max-width:350px}.profile-head{align-items:start;flex-direction:column;gap:17px}.profile-actions{width:100%}.profile-actions .btn{flex:1}.profile-panel{padding:18px}.panel-title{align-items:start;flex-direction:column;gap:3px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{gap:10px 15px}.inline-fields{flex-direction:column}.calc-result{position:static}.info-strip{flex-direction:column;align-items:flex-start}.info-strip strong{font-size:2rem}}
@media(max-width:430px){.hero h1{font-size:2.6rem}.wordmark{font-size:1rem}.logo-mark{margin-right:4px}.signup-row{display:grid}.guide-cover{min-height:350px}.school-card{min-height:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important}}

.edit-details{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;background:#f9fbfa}.edit-details summary{font-weight:800;color:var(--teal);cursor:pointer}.edit-details[open] summary{margin-bottom:12px}
