
      
    


      
     


      {} *{} {}
     


      #IE-warning {
        display: none;
        position: fixed;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: white;
      }
      .IE-warning-message {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
      }
    


        
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        
        @media (max-width: 639px) {
          
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        }
        @media (max-width: 767px) and (min-width: 640px) {
          
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        }
        @media (max-width: 991px) and (min-width: 768px) {
          
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        }
        @media (max-width: 1199px) and (min-width: 992px) {
          
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        }
        @media (min-width: 1200px) {
          
        .gp-component-id-3K0vaRfRI {
          overflow-wrap: break-word;width: 100%;
      }
        }


        
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;
      }
        
        @media (max-width: 639px) {
          
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;
      }
        }
        @media (max-width: 767px) and (min-width: 640px) {
          
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;max-width: 640px;
      }
        }
        @media (max-width: 991px) and (min-width: 768px) {
          
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;max-width: 768px;
      }
        }
        @media (max-width: 1199px) and (min-width: 992px) {
          
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;max-width: 992px;
      }
        }
        @media (min-width: 1200px) {
          
        .gp-component-id-JJ5krUIsgy {
          z-index: 15;position: relative;width: 100%;margin-right: auto;margin-left: auto;max-width: 1200px;
      }
        }


        
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        
        @media (max-width: 639px) {
          
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        }
        @media (max-width: 767px) and (min-width: 640px) {
          
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        }
        @media (max-width: 991px) and (min-width: 768px) {
          
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        }
        @media (max-width: 1199px) and (min-width: 992px) {
          
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        }
        @media (min-width: 1200px) {
          
        .gp-component-id-11QWiJeiCr.gp-component > [data-section-overlay] {
          z-index: 14;position: absolute;right: 0px;left: 0px;top: 0px;bottom: 0px;
      }
        }


        
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        
        @media (max-width: 639px) {
          
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        }
        @media (max-width: 767px) and (min-width: 640px) {
          
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        }
        @media (max-width: 991px) and (min-width: 768px) {
          
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        }
        @media (max-width: 1199px) and (min-width: 992px) {
          
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        }
        @media (min-width: 1200px) {
          
        .gp-component-id-Lw4qpoIXy {
          text-decoration-color: initial;text-decoration-style: solid;text-decoration-thickness: inherit;text-decoration-line: none;cursor: pointer;background-color: transparent;color: inherit;z-index: 15;position: relative;
      }
        }


        
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        
        @media (max-width: 639px) {
          
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        }
        @media (max-width: 767px) and (min-width: 640px) {
          
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        }
        @media (max-width: 991px) and (min-width: 768px) {
          
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        }
        @media (max-width: 1199px) and (min-width: 992px) {
          
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        }
        @media (min-width: 1200px) {
          
        .gp-component-id-11QWiJeiCr {
          min-height: 50px;position: relative;z-index: auto;
      }
        }


    :root {
      --paper: #f3f0e8;
      --sheet: #fffcf8;
      --ink: #171b22;
      --muted: #5c6470;
      --navy: #1c3348;
      --navy-2: #142838;
      --brass: #8c6a32;
      --line: rgba(23, 27, 34, 0.12);
      --serif: Newsreader, Georgia, "Times New Roman", serif;
      --sans: "Source Sans 3", "Segoe UI", sans-serif;
      --wrap: 1120px;
    }
    
    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }
    
    html {
      scroll-behavior: smooth;
    }
    
    body {
      display: flex;
      flex-direction: column;
      min-height: 100vh;
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--sans);
      font-size: 1.08rem;
      line-height: 1.6;
    }
    
    main {
      flex: 1;
    }
    
    img {
      max-width: 100%;
      display: block;
    }
    
    a {
      color: inherit;
    }
    
    ::selection {
      background: rgba(140, 106, 50, 0.22);
    }
    
    .skip {
      position: absolute;
      left: 1rem;
      top: -4rem;
      z-index: 30;
      padding: 0.55rem 0.8rem;
      background: var(--navy);
      color: var(--paper);
      text-decoration: none;
    }
    
    .skip:focus {
      top: 0.7rem;
    }
    
    a:focus-visible,
    .btn:focus-visible {
      outline: 2px solid var(--brass);
      outline-offset: 3px;
    }
    
    .wrap {
      width: min(var(--wrap), calc(100% - 2.4rem));
      margin-inline: auto;
    }
    
    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem 1.4rem;
      padding: 0.85rem clamp(1.1rem, 4vw, 2.4rem);
      background: rgba(243, 240, 232, 0.92);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(12px);
    }
    
    .site-header::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--navy), var(--brass));
    }
    
    .logo {
      font-family: var(--serif);
      font-size: 1.45rem;
      font-weight: 560;
      letter-spacing: -0.02em;
      text-decoration: none;
    }
    
    .nav {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1.15rem;
      order: 3;
      width: 100%;
    }
    
    .nav a {
      color: var(--muted);
      text-decoration: none;
      font-size: 0.98rem;
      font-weight: 500;
    }
    
    .nav a:hover,
    .nav a[aria-current="page"] {
      color: var(--ink);
    }
    
    .nav a[aria-current="page"] {
      box-shadow: inset 0 -2px 0 var(--brass);
    }
    
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.72rem 1.05rem;
      border-radius: 999px;
      background: var(--navy);
      color: #f7f4ee;
      font-weight: 600;
      font-size: 0.96rem;
      text-decoration: none;
      white-space: nowrap;
    }
    
    .btn:hover {
      background: var(--navy-2);
    }
    
    .btn.light {
      background: var(--sheet);
      color: var(--navy);
      box-shadow: inset 0 0 0 1px rgba(28, 51, 72, 0.35);
    }
    
    .hero {
      padding: 4.2rem 0 3.2rem;
    }
    
    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
      gap: clamp(2rem, 5vw, 4.5rem);
      align-items: end;
    }
    
    .eyebrow {
      margin: 0 0 0.8rem;
      color: var(--brass);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }
    
    h1,
    h2,
    h3 {
      font-family: var(--serif);
      font-weight: 500;
      letter-spacing: -0.025em;
      line-height: 1.05;
    }
    
    h1 {
      margin: 0;
      font-size: clamp(3.6rem, 8vw, 6.4rem);
    }
    
    .lede {
      max-width: 22ch;
      margin: 1.2rem 0 0;
      font-family: var(--serif);
      font-size: clamp(1.55rem, 2.6vw, 2.05rem);
      font-weight: 450;
      line-height: 1.25;
    }
    
    .roles {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1.05rem;
      margin: 1.6rem 0 0;
      padding: 0;
      list-style: none;
      max-width: 40rem;
      color: var(--navy);
      font-weight: 600;
    }
    
    .roles a {
      color: var(--navy);
    }
    
    .portrait-frame {
      justify-self: end;
      width: min(100%, 360px);
      padding: 0.7rem;
      background: var(--sheet);
      border: 1px solid var(--line);
      box-shadow: 0 22px 50px rgba(23, 27, 34, 0.08);
    }
    
    .portrait-frame img {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center 15%;
    }
    
    .section {
      padding: 1rem 0 4.5rem;
    }
    
    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 1rem;
      margin-bottom: 1.6rem;
      padding-bottom: 0.8rem;
      border-bottom: 1px solid var(--line);
    }
    
    h2 {
      margin: 0;
      font-size: clamp(2.2rem, 4vw, 3.3rem);
    }
    
    .section-head p {
      margin: 0;
      color: var(--muted);
    }
    
    .work {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 3rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .work li {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1rem;
      padding: 1.25rem 0;
      border-top: 1px solid var(--line);
    }
    
    .work span {
      font-family: var(--serif);
      font-style: italic;
      color: var(--brass);
      font-size: 1.15rem;
    }
    
    .work h3 {
      margin: 0 0 0.3rem;
      font-size: 1.45rem;
    }
    
    .work p {
      margin: 0;
      color: var(--muted);
    }
    
    .study {
      display: grid;
      grid-template-columns: 0.8fr 1.2fr;
      gap: 2rem 3rem;
      padding: 2rem 0 0;
    }
    
    .study h2 {
      font-size: clamp(2rem, 3vw, 2.7rem);
    }
    
    .courses {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .courses li {
      display: grid;
      grid-template-columns: minmax(0, 16rem) 1fr;
      gap: 1rem;
      padding: 0.85rem 0;
      border-top: 1px solid var(--line);
    }
    
    .courses strong {
      font-weight: 600;
    }
    
    .courses span {
      color: var(--muted);
    }
    
    .books {
      display: flex;
      flex-wrap: wrap;
      gap: 1.5rem 2rem;
    }
    
    .book {
      width: 180px;
      color: inherit;
      text-decoration: none;
    }
    
    .book img {
      width: 100%;
      height: 270px;
      object-fit: cover;
      background: var(--sheet);
      border: 1px solid var(--line);
      box-shadow: 0 16px 30px rgba(23, 27, 34, 0.08);
    }
    
    .book span {
      display: block;
      margin-top: 0.7rem;
      font-weight: 600;
    }
    
    .book:hover span {
      color: var(--navy);
    }
    
    .links {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.8rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .links a {
      display: block;
      padding: 1.15rem 1.2rem;
      background: var(--sheet);
      border: 1px solid var(--line);
      text-decoration: none;
    }
    
    .links a:hover {
      border-color: var(--brass);
    }
    
    .links strong {
      display: block;
      margin-bottom: 0.2rem;
      font-family: var(--serif);
      font-size: 1.35rem;
      font-weight: 500;
    }
    
    .links span {
      color: var(--muted);
    }
    
    .page-hero {
      padding: 3.4rem 0 1.4rem;
    }
    
    .page-hero h1 {
      font-size: clamp(3.2rem, 7vw, 5.4rem);
    }
    
    .measure {
      max-width: 44rem;
    }
    
    .prose p {
      margin: 0 0 1rem;
      font-size: 1.14rem;
    }
    
    .boards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      margin: 2rem 0 0;
      padding: 0;
      list-style: none;
    }
    
    .boards li {
      padding: 1.2rem 1.15rem 1.3rem;
      background: var(--sheet);
      border-top: 3px solid var(--navy);
    }
    
    .boards h3 {
      margin: 0 0 0.45rem;
      font-size: 1.45rem;
    }
    
    .boards p {
      margin: 0;
      color: var(--muted);
    }
    
    .pull {
      margin: 2.2rem 0;
      padding-left: 1.2rem;
      border-left: 2px solid var(--brass);
      font-family: var(--serif);
      font-size: clamp(1.7rem, 3vw, 2.3rem);
      line-height: 1.2;
    }
    
    .highlights {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .highlights li {
      display: grid;
      grid-template-columns: 9.5rem 1fr;
      gap: 1rem;
      align-items: baseline;
      padding: 1rem 0;
      border-top: 1px solid var(--line);
    }
    
    .highlights strong {
      font-family: var(--serif);
      font-size: 1.7rem;
      font-weight: 550;
      color: var(--navy);
    }
    
    .places {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.2rem 2.5rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    
    .places li {
      padding: 0.9rem 0;
      border-top: 1px solid var(--line);
    }
    
    .places strong {
      display: block;
    }
    
    .places span {
      color: var(--muted);
    }
    
    .visits {
      display: grid;
      gap: 1rem;
    }
    
    .visits a {
      display: block;
      padding: 1.2rem 1.25rem;
      background: var(--navy);
      color: #f7f4ee;
      text-decoration: none;
    }
    
    .visits a:hover {
      background: var(--navy-2);
    }
    
    .visits strong {
      display: block;
      margin-bottom: 0.35rem;
      font-family: var(--serif);
      font-size: 1.5rem;
      font-weight: 500;
    }
    
    .visits span {
      color: rgba(247, 244, 238, 0.78);
    }
    
    .quotes {
      display: grid;
      gap: 1.2rem;
      padding-bottom: 4rem;
    }
    
    .quote {
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 1.3rem;
      padding: 1.4rem;
      background: var(--sheet);
      border: 1px solid var(--line);
    }
    
    .quote img {
      width: 92px;
      height: 110px;
      object-fit: cover;
      object-position: center top;
    }
    
    .quote h2 {
      margin: 0 0 0.55rem;
      font-size: 1.7rem;
    }
    
    .quote blockquote {
      margin: 0;
    }
    
    .quote p {
      margin: 0;
    }
    
    .who {
      margin-top: 1rem;
    }
    
    .who strong {
      display: block;
      font-size: 1.05rem;
    }
    
    .who span {
      color: var(--muted);
    }
    
    .meeting {
      display: grid;
      grid-template-columns: 1.3fr 0.7fr;
      gap: 2rem;
      padding-bottom: 4.5rem;
    }
    
    .meeting .btn {
      margin-top: 1.2rem;
    }
    
    .contact-lines {
      margin: 1.4rem 0 0;
      padding: 0;
      list-style: none;
      font-size: 1.25rem;
    }
    
    .contact-lines a {
      color: var(--navy);
      font-weight: 600;
      text-decoration: none;
    }
    
    .contact-lines a:hover {
      text-decoration: underline;
    }
    
    .card {
      padding: 1.4rem 1.3rem;
      background: var(--sheet);
      border: 1px solid var(--line);
    }
    
    .card h2 {
      margin: 0 0 0.6rem;
      font-size: 1.8rem;
    }
    
    .card p {
      margin: 0.25rem 0;
    }
    
    .site-footer {
      padding: 2rem 0 1.6rem;
      background: var(--navy);
      color: #f4efe6;
    }
    
    .foot {
      display: grid;
      grid-template-columns: 1.3fr 1fr auto;
      gap: 1.2rem 2rem;
    }
    
    .foot p {
      margin: 0.15rem 0;
    }
    
    .foot strong {
      font-family: var(--serif);
      font-size: 1.4rem;
      font-weight: 500;
    }
    
    .foot a {
      color: #f4efe6;
      text-decoration: none;
    }
    
    .foot a:hover {
      color: #e4d2ad;
    }
    
    .legal {
      grid-column: 1 / -1;
      margin-top: 0.6rem;
      padding-top: 0.9rem;
      border-top: 1px solid rgba(244, 239, 230, 0.16);
      color: rgba(244, 239, 230, 0.72);
      font-size: 0.92rem;
    }
    
    @media (min-width: 900px) {
      .nav {
        order: 0;
        width: auto;
      }
    }
    
    @media (max-width: 860px) {
      .hero-grid,
      .work,
      .study,
      .links,
      .boards,
      .places,
      .meeting,
      .foot {
        grid-template-columns: 1fr;
      }
    
      .portrait-frame {
        justify-self: start;
        width: min(100%, 280px);
      }
    
      .highlights li,
      .courses li {
        grid-template-columns: 1fr;
        gap: 0.15rem;
      }
    
      .quote {
        grid-template-columns: 72px 1fr;
      }
    
      .quote img {
        width: 72px;
        height: 88px;
      }
    }
    
    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }
    }
  

