:root{--crim:#661F17;--navy:#1B3A6B;--gold:#D4A230;--cream:#FAF7F2;--ink:#231f1c;--mut:#6b625c;--line:#e0d8cd;--good:#2f6b4f;--warn:#8a3b3b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 "Source Sans 3",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.in{max-width:1120px;margin:0 auto;padding:0 30px}
.sec{padding:64px 0;border-bottom:1px solid var(--line)}
.sec.alt{background:#fff}
.sec.dark{background:var(--crim);color:#fff;border-bottom:none}
h1,h2,h3,h4{font-family:Merriweather,Georgia,serif;margin:0}
.eyebrow{font:700 12px/1 "Source Sans 3";letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.h2{font:700 30px/1.22 Merriweather,serif;color:var(--crim);margin:0 0 10px}
.dark .h2,.dark .eyebrow{color:#fff}.dark .eyebrow{color:var(--gold)}
.lede{font-size:19px;color:var(--mut);max-width:74ch;margin:0 0 30px}
.dark .lede{color:#f0e2d6}
/* hero */
.hero{position:relative;background:var(--crim);color:#fff;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.hero .in{position:relative;padding-top:74px;padding-bottom:64px}
.hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.06;font-weight:900;letter-spacing:-.015em;max-width:20ch}
.hero .sig{margin-top:22px;font-size:19px;color:#f2ded0;max-width:60ch}
.rule{width:64px;height:3px;background:var(--gold);margin:26px 0 0}
/* recognition */
.reco{background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:6px;padding:26px 28px;margin:-46px 0 0;position:relative;z-index:3;box-shadow:0 12px 34px rgba(35,31,28,.10)}
.reco h3{font-size:19px;color:var(--crim);margin-bottom:6px}
.reco .why{font-size:14.5px;color:var(--mut);margin:0 0 18px}
.fld{position:relative;max-width:560px}
input[type=text]{width:100%;font:16px/1.4 "Source Sans 3",sans-serif;padding:13px 14px;border:1px solid #c9bfb2;background:#fdfcfa;border-radius:2px}
input[type=text]:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,58,107,.14)}
.sug{position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid #c9bfb2;border-top:none;max-height:290px;overflow:auto;margin:0;padding:0;list-style:none;box-shadow:0 14px 30px rgba(0,0,0,.13)}
.sug li{padding:10px 14px;cursor:pointer;border-top:1px solid #f0ebe4;font-size:15px}
.sug li:hover,.sug li.on{background:#f6f1ea}
.sug .m{display:block;font-size:12.5px;color:var(--mut)}
.card-reco{display:none;margin-top:24px;border-top:1px solid var(--line);padding-top:22px}
.card-reco.show{display:block}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:16px;margin:0 0 18px}
.kv div b{display:block;font:900 23px/1.1 Merriweather,serif;color:var(--navy)}
.kv div span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);font-weight:600}
.guard{background:#f7f3ec;border-left:3px solid var(--gold);padding:13px 16px;font-size:14px;color:#5a5148;margin-top:6px}
.contact{display:flex;gap:16px;align-items:flex-start;background:#fbf8f3;border:1px solid var(--line);padding:18px 20px;margin-top:18px}
.contact .av{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font:700 19px Merriweather,serif;flex:none}
.contact b{display:block;font-family:Merriweather,serif}
.contact span{font-size:14.5px;color:var(--mut)}
.cxLines{display:block;margin-top:3px;font-size:14.5px}
.cxLines a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(0,32,91,.25)}
.cxLines a:hover{border-bottom-color:var(--navy)}
.cxDot{display:inline;margin:0 7px;color:var(--mut)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
.stats>div{background:var(--cream);padding:22px 20px}
.sec.alt .stats>div{background:#fff}
.stats b{display:block;font:900 34px/1 Merriweather,serif;color:var(--crim)}
.stats span{display:block;font-size:14px;color:var(--mut);margin-top:8px}
/* two-col honest */
.two{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:#fff}
.two>div{padding:30px 32px}
.two>div+div{border-left:1px solid var(--line)}
.two h3{font-size:20px;margin-bottom:4px}
.two .t{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:10px}
.fit .t{color:var(--good)}.nofit .t{color:var(--warn)}
.two ul{margin:14px 0 0;padding-left:0;list-style:none}
.two li{position:relative;padding-left:26px;margin-bottom:13px;font-size:16px}
.two li:before{position:absolute;left:0;top:0;font-weight:700}
.fit li:before{content:"\2713";color:var(--good)}
.nofit li:before{content:"\2014";color:var(--warn)}
/* distinctive grid */
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:26px}
/* 4 Aug 2026: navy top rule + 6px radius, matching .gcard on the alumni page and .pz-pcard on the
   student page. overflow:hidden is what makes the photo's top corners follow the curve. */
.dcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:6px;
  overflow:hidden;display:flex;flex-direction:column}
.dcard img{width:100%;height:210px;object-fit:cover;display:block}
.dcard .b{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.dcard h3{font-size:19px;color:var(--crim);margin-bottom:8px;line-height:1.25}
.dcard p{margin:0;font-size:15.5px;color:#3f3a35}
.dcard .only{display:block;margin-top:auto;padding-top:14px;font-size:12.5px;color:var(--mut);border-top:1px solid var(--line);padding-top:11px}
/* programs table */
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:15px}
th{background:var(--navy);color:#fff;text-align:left;padding:11px 13px;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase}
td{padding:11px 13px;border-top:1px solid var(--line);vertical-align:top}
tr:nth-child(even) td{background:#fdfbf8}
td.n{text-align:right;font-variant-numeric:tabular-nums;color:var(--mut)}
td a{color:var(--crim);text-decoration:none;border-bottom:1px solid rgba(102,31,23,.3)}
.pillbox{margin-top:12px;font-size:14.5px;color:var(--mut)}
/* asks */
.asks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:8px}
.ask{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:24px 24px 26px}
.dark .ask{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);border-top-color:var(--gold)}
.ask h3{font-size:18px;margin-bottom:8px;color:var(--crim)}
.dark .ask h3{color:#fff}
.ask p{margin:0 0 14px;font-size:15.5px}
.btn{display:inline-block;font:600 15px "Source Sans 3",sans-serif;padding:11px 20px;background:var(--crim);color:#fff;text-decoration:none;border-radius:2px}
.dark .btn{background:var(--gold);color:#3b2a06}
.note{font-size:14px;color:var(--mut);max-width:80ch}
.dark .note{color:#e7d5c6}
footer{padding:36px 0 60px;font-size:13.5px;color:var(--mut)}
footer p{max-width:88ch;margin:0 0 10px}
@media(max-width:760px){.two{grid-template-columns:1fr}.two>div+div{border-left:none;border-top:1px solid var(--line)}.reco{margin-top:0}}

/* passion matcher */
.pm{background:#fff;border:1px solid var(--line);border-top:3px solid var(--crim);border-radius:6px;padding:28px 30px}
.pm h3{font-size:21px;color:var(--crim);margin-bottom:6px}
.pm .why{font-size:15px;color:var(--mut);margin:0 0 18px;max-width:78ch}
.pm textarea{width:100%;max-width:720px;font:16px/1.5 "Source Sans 3",sans-serif;padding:13px 14px;border:1px solid #c9bfb2;background:#fdfcfa;border-radius:2px;resize:vertical;min-height:78px}
.pm textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,58,107,.14)}
.pm .row{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}
.pm button{font:600 15px "Source Sans 3",sans-serif;padding:11px 22px;background:var(--crim);color:#fff;border:none;border-radius:2px;cursor:pointer}
.pm button.ghost{background:transparent;color:var(--crim);border:1px solid var(--crim)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{font:600 13.5px "Source Sans 3",sans-serif;padding:6px 13px;border:1px solid #c9bfb2;background:#fbf8f3;border-radius:20px;cursor:pointer;color:#4a423b}
.chip:hover{border-color:var(--crim);color:var(--crim)}
.res{display:none;margin-top:26px;border-top:1px solid var(--line);padding-top:24px}
.res.show{display:block}
.mt{border:1px solid var(--line);border-left:3px solid var(--gold);padding:20px 22px;margin-bottom:16px;background:#fdfbf8}
.mt h4{font-size:19px;color:var(--crim);margin-bottom:3px}
.mt .dp{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);font-weight:600;margin-bottom:12px}
.mt .lab{font:700 11.5px/1 "Source Sans 3";letter-spacing:.1em;text-transform:uppercase;color:var(--navy);display:block;margin:14px 0 6px}
.mt p{margin:0;font-size:15.5px}
.mt .hit{background:#fdf3dc;padding:0 2px}
.mt a{color:var(--crim)}
.none{background:#f7f3ec;border-left:3px solid var(--warn);padding:18px 20px;font-size:15.5px}
.noid{font-size:14px;color:var(--mut);margin-top:18px;max-width:80ch;border-top:1px solid var(--line);padding-top:14px}

.pm .chip{background:#fbf8f3;color:#4a423b;border:1px solid #c9bfb2;font-weight:600}
.pm .chip:hover{border-color:var(--crim);color:var(--crim);background:#fff}
.saverow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.saverow input{max-width:220px}
.saverow .hint{font-size:13.5px;color:var(--mut);flex-basis:100%;margin:0}
.saved{margin-top:22px}
.saved h4{font-size:16px;color:var(--crim);margin-bottom:10px}
.slist{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.slist li{display:flex;gap:12px;align-items:baseline;padding:12px 14px;border-bottom:1px solid var(--line);background:#fff;font-size:15px;flex-wrap:wrap}
.slist li:last-child{border-bottom:none}
.slist b{font-family:Merriweather,serif;font-size:15.5px}
.slist .q{color:var(--mut);flex:1;min-width:200px}
.slist .d{font-size:12.5px;color:var(--mut)}
.slist button{background:none;border:none;color:var(--crim);font:600 13.5px "Source Sans 3",sans-serif;cursor:pointer;padding:0;text-decoration:underline}
.slist button.del{color:var(--warn)}
.empty{font-size:14.5px;color:var(--mut);font-style:italic}

/* Real (illustrative) headshot in place of the monogram, so the name on the counselor page and the face
   on the student page are the same person. Falls back to initials if a face is missing. */
.contact .avimg{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gold)}

/* Six figures, one line, no orphan row. Below 900px they stack two-up rather than wrapping unevenly. */
@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
/* The candid "what we are weak at" list. Same measure as .lede so it reads as prose, not as a spec sheet. */
.cxWeakList{margin:0;padding:0;list-style:none;max-width:82ch;border-top:1px solid var(--line)}
.cxWeakList li{padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.62;color:#3b3630}
.cxWeakList li b{color:var(--crim)}
/* Inline compose panel for sending a saved page. Sits under the list, same cream furniture as the gate. */
.cxSend{margin-top:18px;padding:20px 22px;background:var(--cream);border:1px solid var(--line);border-radius:8px}
.cxSend[hidden]{display:none}
.cxSend h4{margin:0 0 6px;font:800 17px/1.3 Merriweather,serif;color:var(--crim)}
.cxSend textarea{width:100%;padding:11px 12px;border:1px solid #d9cfc0;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical}

/* Named departmental awards (Scott, 5 Aug 2026). One block per department, its own honors page quoted. */
.cxawards{display:grid;gap:22px;margin-top:26px}
.cxaward h3{font:700 17px/1.3 Merriweather,Georgia,serif;color:#661F17;margin:0 0 8px}
.cxaward h3 a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(102,31,23,.25)}
.cxaward h3 a:hover{border-bottom-color:#661F17}
.cxaward table{width:100%;border-collapse:collapse}
.cxaward td{font:14.5px/1.6 'Source Sans 3',system-ui,sans-serif;color:#4A443C;
  border-top:1px solid #E6DDCD;padding:9px 14px 9px 0;vertical-align:top}
.cxaward td:first-child{width:220px;color:#1B3154}
