.sample-x{background:var(--amber);color:#0C1A2B;font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:8px 16px}
.dhero{background:radial-gradient(1100px 560px at 50% -10%,#1C3D6A 0%,var(--navy) 50%,var(--navy-deep) 100%);color:var(--on-navy);padding-block:0;border-bottom:1px solid var(--on-navy-rule)}
.dhero-in{text-align:center;max-width:880px;margin:0 auto;padding-block:clamp(48px,6vw,80px) clamp(40px,5vw,60px)}
.dhero .eyebrow{justify-content:center}
.dhero h1{font-family:var(--f-d);font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.06;letter-spacing:-.02em;margin:0;color:#fff;text-wrap:balance}
.dhero h1 em{font-style:italic;color:var(--amber)}
.dhero .sub{margin:22px auto 0;max-width:56ch;font-size:clamp(17px,2vw,19px);line-height:1.58;color:var(--on-navy-2)}
.dstats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 36px;margin-top:30px;font-family:var(--f-m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-2)}
.dstats b{font-family:var(--f-d);font-size:26px;letter-spacing:0;text-transform:none;color:#fff;display:block;margin-bottom:2px}

/* toolbar */
.tools{position:sticky;top:78px;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule);padding:14px 0}
.tools-in{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tools input[type=search]{flex:1 1 220px;font:inherit;font-size:15px;padding:11px 14px 11px 40px;border:1px solid var(--rule);border-radius:8px;background:var(--surface) no-repeat 13px center/18px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B83' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>");color:var(--ink)}
.tools select{font:inherit;font-size:14px;padding:11px 36px 11px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B83' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
.tools input:focus,.tools select:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:var(--amber)}
.tools .view{display:inline-flex;border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface)}
.tools .view a,.tools .view button{text-decoration:none;font:inherit;font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:11px 14px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.tools .view a.on,.tools .view button.on{background:var(--navy);color:#fff}
.tools .count{font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:auto}

/* grid */
.dir{padding-block:clamp(40px,5vw,64px) clamp(60px,8vw,100px)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.ac{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:22px 22px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;position:relative;transition:transform .2s,border-color .2s}
.ac:hover{transform:translateY(-3px);border-color:var(--amber)}
.ac .ac-top{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.ac .ac-top img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--amber)}
.ac b{font-family:var(--f-d);font-weight:600;font-size:19px;color:var(--ink);line-height:1.15;display:block}
.ac .role{font-size:13.5px;color:var(--muted);line-height:1.4;margin-top:3px}
.ac .bk{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding-top:12px;border-top:1px solid var(--rule)}
.ac .bk img{width:44px;height:auto;border-radius:2px 5px 5px 2px;box-shadow:0 10px 20px -10px rgba(8,20,38,.5)}
.ac .bk span{font-size:14px;color:var(--ink-2);line-height:1.35}
.ac .bk span i{display:block;font-style:normal;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.ac .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.ac .tags span{font-family:var(--f-m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);padding:3px 7px;border-radius:3px}
.ac .tags span.mqb{color:var(--amber-ink);background:var(--amber-wash);border-color:rgba(232,163,61,.5)}
/* books view */
.grid.books{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 22px}
.grid.books .ac{padding:0;border:0;background:transparent;box-shadow:none;gap:10px}
.grid.books .ac:hover{transform:translateY(-4px)}
.grid.books .ac .ac-top,.grid.books .ac .tags{display:none}
.grid.books .ac .bk{display:flex;flex-direction:column;gap:10px;border:0;padding:0;align-items:stretch}
.grid.books .ac .bk img{width:100%;border-radius:3px 8px 8px 3px;box-shadow:0 24px 40px -20px rgba(8,20,38,.55)}
.grid.books .ac .bk span{font-family:var(--f-d);font-weight:600;font-size:16px;color:var(--ink)}
.grid.books .ac .bk span i{font-family:var(--f-b);font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted);margin:3px 0 0;order:2}
.more{text-align:center;margin-top:36px}
.more .shown-lbl{font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.ac.hid{display:none!important}
.empty{display:none;text-align:center;padding:60px 20px;color:var(--muted);font-size:16px}
.empty.on{display:block}

/* alumni note */
.alum{background:var(--surface-2)}
.alum-in{display:grid;gap:22px;align-items:center;max-width:980px;margin:0 auto;padding:34px 38px;border-radius:16px;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow)}
@media (min-width:820px){.alum-in{grid-template-columns:1.3fr auto;gap:40px}}
.alum h3{font-family:var(--f-d);font-weight:600;font-size:clamp(22px,2.6vw,27px);margin:0 0 8px;color:var(--ink);line-height:1.2}
.alum p{margin:0;font-size:16px;line-height:1.58;color:var(--ink-2)}

.endcta{background:radial-gradient(900px 500px at 15% 90%,#1B3B66 0%,var(--navy-deep) 60%);color:var(--on-navy);text-align:center}
.endcta .eyebrow{justify-content:center}
.endcta h2{font-family:var(--f-d);font-weight:600;font-size:clamp(28px,4.4vw,44px);line-height:1.1;margin:0;color:#fff;text-wrap:balance}
.endcta p{color:var(--on-navy-2);font-size:18px;line-height:1.56;margin:20px auto 0;max-width:56ch}
.endcta .btn{margin-top:30px}
.endcta .fine{font-family:var(--f-m);font-size:12px;letter-spacing:.05em;color:var(--on-navy-2);margin-top:18px}
