*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f9f8f4;color:#242b2d;font:16px/1.7 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:#226b6a}button,select{font:inherit}img{max-width:100%;display:block}.design-bar{background:#213b3b;color:#fff;padding:12px 5%;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.design-bar label{font-size:13px}.design-bar select{padding:6px;background:white;color:#223b3b;border:0;border-radius:3px}.design-note{font-size:13px;margin:0}.site{max-width:1120px;margin:auto;padding:36px 56px 50px}.top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:26px;border-bottom:1px solid #d7dbd5}.wordmark{text-decoration:none;font-size:20px;font-weight:600;letter-spacing:-.6px}nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}nav a{text-decoration:none}nav a[aria-current]{border-bottom:1px solid #2d6865}.intro{display:grid;grid-template-columns:1fr 270px;gap:64px;align-items:center;margin:56px 0 42px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#466e69;margin:0 0 14px}.intro h1{font:400 70px/1.06 Georgia,serif;letter-spacing:-3px;margin:0 0 20px}.intro .role{font-size:17px;margin:0 0 23px}.intro .lead{font:400 26px/1.4 Georgia,serif;margin:0 0 26px}.social{display:flex;gap:17px;flex-wrap:wrap;font-size:13px;color:#30625e}.portrait img{width:270px;height:300px;object-fit:cover;object-position:center}.portrait figcaption{font-size:11px;color:#626b69;margin-top:10px}.portrait{margin:0}.body-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;border-top:1px solid #d7dbd5;padding-top:28px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:2px;margin:0 0 15px;color:#466e69}.body-grid p{font-size:14px;margin:0 0 19px}.media-item{display:block;text-decoration:none;padding:12px 0;border-top:1px solid #d7dbd5}.media-item:first-of-type{border-top:0;padding-top:0}.media-item small{display:block;font-size:11px;color:#59645f}.media-item span{font:400 19px/1.35 Georgia,serif;display:block;margin-top:4px}.teaching{margin-top:36px;padding-top:24px;border-top:1px solid #d7dbd5}.course{padding:13px 0;border-bottom:1px solid #e1e3dd}.course a{font-size:15px}.course p{font-size:13px;margin:6px 0;color:#55615c}.contact{margin-top:36px;display:flex;justify-content:space-between;gap:24px;font-size:12px;border-top:1px solid #d7dbd5;padding-top:24px}.contact p{margin:0}footer{font-size:11px;color:#66706a;margin-top:32px}.classic{background:white;color:#30373b}.classic .site{max-width:1060px}.classic .top{flex-direction:column;gap:16px}.classic .wordmark{font:400 38px/1.3 Georgia,serif}.classic .intro{grid-template-columns:1fr 290px;margin-top:36px;gap:46px;align-items:start}.classic .intro h1{font:400 32px/1.2 Georgia,serif;letter-spacing:-.6px}.classic .intro .lead{font:400 19px/1.6 Arial,sans-serif}.classic .intro .role{font-size:14px}.classic .portrait img{width:290px;height:260px}.classic .body-grid{grid-template-columns:1.6fr 1fr;gap:46px}.classic .eyebrow{display:none}.sidebar{background:#f6f8fa;color:#233547}.sidebar .site{display:grid;grid-template-columns:235px 1fr;gap:0 56px;max-width:1120px}.sidebar .top{grid-column:1;grid-row:1;display:block;border:0;padding:0}.sidebar .wordmark{font:400 29px/1.2 Georgia,serif;display:block;margin-bottom:20px}.sidebar nav{gap:15px;font-size:13px}.sidebar .intro{display:contents}.sidebar .portrait{grid-column:1;grid-row:2;margin:28px 0}.sidebar .portrait img{width:210px;height:210px;border-radius:50%}.sidebar .intro-copy{grid-column:2;grid-row:1 / span 2;padding-top:0}.sidebar .intro h1{font:400 44px/1.18 Georgia,serif;letter-spacing:-1px;max-width:500px}.sidebar .intro .lead{font-size:24px}.sidebar .eyebrow{margin-bottom:18px}.sidebar .body-grid{grid-column:2;display:block;padding-top:23px;margin-top:0}.sidebar .press{margin-top:30px}.sidebar .media-item{padding:10px 0}.sidebar .media-item span{font-size:18px}.sidebar .contact{grid-column:1;grid-row:3;display:block;margin-top:0;padding-top:20px;align-self:start}.sidebar .contact p{margin-bottom:16px}.sidebar .teaching{grid-column:2}.sidebar footer{grid-column:2}.sidebar .section-title,.sidebar .social,.sidebar .eyebrow{color:#3c647d}@media(max-width:720px){.site{padding:25px 24px}.intro{gap:25px;grid-template-columns:1fr 190px;margin:32px 0}.intro h1{font-size:50px}.intro .lead{font-size:23px}.portrait img{width:190px;height:240px}.body-grid{gap:30px}.classic .intro{grid-template-columns:1fr 200px;gap:24px}.classic .portrait img{height:210px;width:200px}.sidebar .site{grid-template-columns:180px 1fr;gap:0 28px}.sidebar .portrait img{width:160px;height:160px}.sidebar .intro h1{font-size:34px}.sidebar .intro .lead{font-size:21px}}@media(max-width:520px){.site{padding:24px 20px}.top{align-items:start;gap:18px;flex-direction:column}.intro,.classic .intro{display:flex;flex-direction:column;align-items:stretch}.intro h1{font-size:49px}.portrait img,.classic .portrait img{width:100%;height:260px;object-position:center 40%}.body-grid,.classic .body-grid{display:block}.press{margin-top:28px}.contact{display:block}.contact p{margin-bottom:15px}.sidebar .site{display:block}.sidebar .portrait{margin:24px 0}.sidebar .portrait img{width:140px;height:140px}.sidebar .intro{display:flex;flex-direction:column-reverse}.sidebar .intro-copy{padding-top:8px}.sidebar .intro h1{font-size:38px}.sidebar .contact{margin-top:28px}.design-bar{padding:12px 20px;gap:8px}.design-note{font-size:12px}}

/* Sidebar refinements: keep identity and resources with the portrait. */
.group-link{display:none}
.sidebar .top,.sidebar .portrait figcaption{display:none}
.sidebar .intro h1{display:block}
.sidebar .portrait{grid-row:1 / span 2;align-self:start;margin:0 0 28px}
.sidebar .role{margin:0 0 8px;font-size:18px}
.sidebar .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;margin:0 0 25px}
.sidebar .group-link{display:block;margin:22px 0 28px;font:400 19px/1.4 Georgia,serif}
.sidebar .group-link a{color:#3c647d;text-decoration-thickness:1px;text-underline-offset:6px}
.sidebar .group-link span{white-space:nowrap}
.sidebar .portrait .social{justify-content:flex-end;gap:9px 15px;font-size:15px;margin-top:22px;line-height:1.7}
.sidebar .contact{font-size:14px;line-height:1.7}
@media(max-width:520px){.sidebar .intro{display:flex;flex-direction:column}.sidebar .portrait{margin:12px 0 30px}.sidebar .portrait .social{justify-content:flex-start;max-width:290px}.sidebar .group-link{font-size:18px}.sidebar .role{font-size:17px}.sidebar .contact{margin-top:26px}}

/* Keep portrait resources compact and give the address a shared typographic rhythm. */
.sidebar .site{grid-template-columns:280px minmax(0,1fr);column-gap:44px}
.sidebar .portrait .social{flex-wrap:nowrap;gap:12px;font-size:15px;max-width:none}
.sidebar .portrait .social a,.sidebar .street-address{white-space:nowrap}
.sidebar .contact > p:nth-of-type(2){font-size:11px;text-transform:uppercase;letter-spacing:2px;line-height:1.9;color:#3c647d}
@media(min-width:521px) and (max-width:760px){.sidebar .site{grid-template-columns:250px minmax(0,1fr);column-gap:24px}}
@media(max-width:520px){.sidebar .portrait .social{justify-content:flex-start;gap:12px}.sidebar .contact > p:nth-of-type(2){letter-spacing:2px}}

.sidebar .portrait .social{width:210px;justify-content:center;gap:12px}
@media(min-width:521px) and (max-width:720px){.sidebar .portrait img{width:210px;height:210px}}
@media(max-width:520px){.sidebar .portrait img{width:210px;height:210px}.sidebar .portrait .social{justify-content:center}}

/* Neutral personal-site palette. */
.sidebar{background:#fff;color:#292929}
.sidebar .eyebrow,.sidebar .section-title,.sidebar .contact > p:nth-of-type(2){color:#626262}
.sidebar .social,.sidebar .group-link a{color:#305c91}
.sidebar a:hover{color:#194578}
.sidebar .body-grid,.sidebar .teaching,.sidebar .contact,.sidebar .media-item{border-color:#dedede}
.sidebar .course{border-color:#e8e8e8}
.sidebar .media-item small,.sidebar .course p,.sidebar footer{color:#666}
.sidebar .design-bar{background:#30343b;color:#fff}
.sidebar .design-bar select{color:#292929}

.frame-header{background:#30343b;color:#fff}
.frame-header-inner{max-width:1120px;margin:auto;padding:9px 56px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;line-height:1.6}
.frame-header a{text-decoration:none}
.sidebar .frame-header a:hover{color:#fff;text-decoration:underline}
@media(max-width:720px){.frame-header-inner{padding:9px 24px}}
@media(max-width:520px){.frame-header-inner{padding:9px 20px}}

.frame-header .header-group{display:inline-flex;align-items:center;gap:9px}
.frame-header .header-group img{width:34px;height:auto}

.frame-header .header-group img{width:38px;height:23px;object-fit:contain;background:#fff;border-radius:3px;padding:3px}

.sidebar .bio-shortcut{width:210px;text-align:center;margin:8px 0 0;font-size:15px;color:#305c91}
.sidebar .bio{grid-column:2;margin-top:36px;padding-top:24px;border-top:1px solid #dedede;scroll-margin-top:24px}
.sidebar .bio p{font-size:14px;margin:0 0 19px}

.sidebar .teaching .course:last-child{border-bottom:0}

.sidebar footer{border-top:1px solid #dedede;padding-top:24px}


.sidebar a{color:#4378ad}
.sidebar a:hover{color:#285e94}
.sidebar .social,.sidebar .group-link a,.sidebar .bio-shortcut{color:#4378ad}
.sidebar .frame-header a{color:#fff}

/* Slightly tighter spacing between content sections. */
.sidebar .press{margin-top:22px}
.sidebar .teaching,.sidebar .bio{margin-top:24px;padding-top:20px}
.sidebar .press .media-item:last-child{padding-bottom:0}
.sidebar .teaching .course:last-child{padding-bottom:0}
.sidebar .teaching .course:last-child p,.sidebar .bio p:last-child{margin-bottom:0}
.sidebar footer{margin-top:24px;padding-top:20px}

.sidebar .section-title{color:#292929}

.sidebar .press{border-top:1px solid #dedede;padding-top:20px}

.sidebar .media-item span{font-size:16px}

.sidebar .section-title{font-size:13px}

@media(max-width:520px){
  .sidebar .intro{margin-bottom:24px}
  .sidebar .group-link{margin-bottom:12px}
  .sidebar .portrait{width:210px;align-self:center;margin:0 auto 12px}
}

.mobile-address{display:none}
@media(max-width:520px){
  .sidebar .contact{display:none}
  .sidebar .portrait .mobile-address{display:block;margin:14px 0 0;text-align:center;font-size:11px;line-height:1.9;letter-spacing:1.5px;text-transform:uppercase;color:#626262}
  .sidebar .portrait .social{margin-top:14px}
}
