:root{
  --bg:#F6F3EC;
  --card:#FFFFFF;
  --ink:#12160F;
  --ink2:#3E4A44;
  --mut:#77816F;
  --line:#E7E1D2;
  --pine:#0B3B2C;
  --pine2:#10503B;
  --cream:#F4F1E4;
  --lime:#D9F36B;
  --lime-ink:#22330A;
  --sand:#F1EAD6;
  --sand-ink:#7A5B12;
  --field-bg:#E7F0EA; --field-ink:#0B3B2C;
  --yes-bg:#E0F2E4; --yes-ink:#166534;
  --no-bg:#FBE7DD; --no-ink:#9A3412;
  --shadow:0 1px 2px rgba(18,22,15,.05), 0 4px 14px rgba(18,22,15,.04);
  --shadow-lg:0 4px 8px rgba(18,22,15,.05), 0 16px 40px rgba(18,22,15,.10);
}
*{box-sizing:border-box; margin:0; padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
     color:var(--ink); background:var(--bg); line-height:1.45; -webkit-font-smoothing:antialiased}
a{color:var(--pine2); text-decoration:none}
a:hover{text-decoration:underline}
.serif{font-family:ui-serif,"New York",Georgia,"Times New Roman",serif}
.wrap{max-width:1180px; margin:0 auto; padding:0 20px 64px}
header{position:sticky; top:0; z-index:10; background:rgba(246,243,236,.92);
       backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.header-in{max-width:1180px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; gap:26px; flex-wrap:wrap}
.wordmark{font-family:ui-serif,"New York",Georgia,serif; font-size:25px; font-weight:700; letter-spacing:-.01em; color:var(--ink); text-decoration:none}
.wordmark:hover{text-decoration:none}
.wordmark span{color:var(--pine); font-style:italic}
nav.mainnav{display:flex; gap:18px; font-size:14px; font-weight:600; flex-wrap:wrap}
nav.mainnav a{color:var(--ink2)}
nav.mainnav a.on{color:var(--pine); box-shadow:inset 0 -2px 0 var(--lime)}
nav.mainnav a:hover{text-decoration:none; color:var(--pine)}
.header-count{margin-left:auto; font-size:13px; color:var(--mut)}
.hero{padding:40px 0 6px}
.hero h1{font-family:ui-serif,"New York",Georgia,serif; font-size:54px; font-weight:600; letter-spacing:-.015em; line-height:1.1}
.hero h1 em{font-style:italic; color:var(--pine)}
.hero p{color:var(--ink2); margin-top:10px; font-size:15.5px; max-width:640px}
.filters{position:sticky; top:59px; z-index:9; padding:16px 0 10px;
         background:linear-gradient(var(--bg) 78%, rgba(246,243,236,0))}
.filter-row{display:flex; gap:8px; flex-wrap:wrap}
.filter-row select,.filter-row input{font-size:13px; padding:8px 11px; border:1px solid var(--line);
      border-radius:10px; background:var(--card); color:var(--ink); box-shadow:var(--shadow)}
.filter-row input{flex:1; min-width:180px}
h2.section{font-family:ui-serif,"New York",Georgia,serif; font-size:24px; font-weight:600; margin:30px 0 4px; letter-spacing:-.01em}
p.section-sub{color:var(--mut); font-size:13.5px; margin-bottom:16px}
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.grid.deans{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid,.grid.deans{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid,.grid.deans{grid-template-columns:1fr}}
.card{background:var(--card); border:1px solid rgba(18,22,15,.05); border-radius:18px; padding:18px;
      display:flex; flex-direction:column; gap:11px; box-shadow:var(--shadow);
      transition:box-shadow .18s, transform .18s}
.card:hover{box-shadow:var(--shadow-lg); transform:translateY(-2px)}
.card-top{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.badge{font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
       padding:4px 9px; border-radius:999px; background:#EFEDE6; color:var(--ink2)}
.badge.field{background:var(--field-bg); color:var(--field-ink)}
.badge.tier{background:var(--sand); color:var(--sand-ink)}
.verified{margin-left:auto; font-size:11.5px; color:var(--yes-ink); font-weight:600; white-space:nowrap}
.unverified{margin-left:auto; font-size:11.5px; color:var(--mut); white-space:nowrap}
.card h3{font-size:16.5px; line-height:1.3; letter-spacing:-.01em; font-weight:700}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--pine2); text-decoration:none}
.school{font-size:14px; font-weight:600}
.loc{font-size:13px; color:var(--mut)}
.glance{border-top:1px solid var(--line); padding-top:11px; display:grid;
        grid-template-columns:1fr 1fr 1fr; gap:8px}
.glance .k{font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--mut)}
.glance .v{font-size:13.5px; font-weight:700; margin-top:2px}
.v.soon{color:var(--lime-ink); background:var(--lime); display:inline-block; padding:1px 8px; border-radius:999px; margin-left:-8px}
.v.yes{color:var(--yes-ink)} .v.no{color:var(--no-ink)} .v.na{color:#A8AE9E; font-weight:500}
.card.dean{background:linear-gradient(140deg, var(--pine) 0%, var(--pine2) 100%); color:var(--cream);
           border:none; box-shadow:0 8px 28px rgba(11,59,44,.28)}
.card.dean h3 a{color:#fff}
.card.dean h3 a:hover{color:var(--lime)}
.card.dean .school{color:#fff}
.card.dean .loc{color:#B9CDBF}
.card.dean .badge.dean{background:var(--lime); color:var(--lime-ink)}
.card.dean .badge.tier{background:rgba(244,241,228,.14); color:var(--cream)}
.card.dean .verified{color:var(--lime)}
.card.dean .unverified{color:#9DBBA7}
.card.dean .glance{border-top-color:rgba(244,241,228,.18); grid-template-columns:1fr 1fr}
.card.dean .glance .k{color:#9DBBA7}
.card.dean .glance .v{color:#fff}
.card.dean .v.na{color:#8FAE99}
.chair{margin-top:2px; background:rgba(244,241,228,.08); border-left:3px solid var(--lime);
       border-radius:0 10px 10px 0; padding:11px 13px}
.chair .k{font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--lime)}
.chair p{font-size:13px; margin-top:3px; color:var(--cream)}
.chair p b{font-weight:700; color:#fff}
.detail{display:grid; grid-template-columns:1.6fr 1fr; gap:18px; margin-top:6px}
@media(max-width:800px){.detail{grid-template-columns:1fr}}
.applybox{background:linear-gradient(150deg, var(--pine), var(--pine2)); color:var(--cream);
          border-radius:18px; padding:22px; box-shadow:0 10px 32px rgba(11,59,44,.30)}
.applybox h4{font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--lime); margin-bottom:14px}
.applybox dl{display:grid; grid-template-columns:auto 1fr; gap:9px 16px; font-size:14px}
.applybox dt{color:#A9C4B2; font-weight:600}
.applybox dd{font-weight:600; color:#fff}
.cta{display:block; text-align:center; margin-top:18px; background:var(--lime); color:var(--lime-ink);
     font-weight:800; font-size:15px; padding:13px; border-radius:12px}
.cta:hover{text-decoration:none; background:#CBEA4E}
.cta-sub{text-align:center; font-size:12px; color:#A9C4B2; margin-top:9px}
.cta-sub a{color:var(--lime)}
.detail-main{background:var(--card); border:1px solid rgba(18,22,15,.05); border-radius:18px;
             padding:24px; box-shadow:var(--shadow)}
.detail-main h1{font-family:ui-serif,"New York",Georgia,serif; font-size:28px; font-weight:600;
                letter-spacing:-.01em; margin:10px 0 2px; line-height:1.2}
.detail-main p.body{font-size:14.5px; color:var(--ink2); margin-top:12px}
.resume-card{background:#FCFAF2; border:1px solid var(--line); border-radius:18px;
             padding:24px; margin-top:18px; box-shadow:var(--shadow)}
.resume-card .k{font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--pine)}
.resume-card h4{font-family:ui-serif,"New York",Georgia,serif; font-size:24px; font-weight:600; margin-top:4px}
.resume-card .sub{font-size:13.5px; color:var(--mut); margin-top:2px}
.resume-card dl{display:grid; grid-template-columns:110px 1fr; gap:9px 18px; font-size:14px; margin-top:16px}
.resume-card dt{color:var(--mut); font-weight:600}
.resume-card dd{color:var(--ink2)}
.resume-card dd b{color:var(--ink)}
.linkchips{display:flex; gap:8px; margin-top:18px; flex-wrap:wrap}
.linkchips a{font-size:13px; font-weight:600; color:var(--pine); border:1px solid #CBDCCB;
             background:#fff; padding:7px 13px; border-radius:999px}
.linkchips a:hover{text-decoration:none; border-color:var(--pine)}
nav.breadcrumb{font-size:13px; color:var(--mut); margin:18px 0 0}
nav.breadcrumb a{color:var(--pine2)}
footer.site{margin-top:52px; border-top:1px solid var(--line); padding-top:16px; font-size:12.5px; color:var(--mut)}
footer.site a{color:var(--pine2)}
.note{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 16px;
      font-size:13px; color:var(--ink2); margin-top:18px; box-shadow:var(--shadow)}
.empty{padding:40px 0; color:var(--mut); font-size:15px; text-align:center}
