@font-face {
  font-family: "Goudy Bookletter";
  src: url(../fonts/goudy-bookletter-1911.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Marcellus SC";
  src: url(../fonts/marcellus-sc.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Spectral";
  src: url(../fonts/spectral-300.woff2) format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Spectral";
  src: url(../fonts/spectral-400.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Spectral";
  src: url(../fonts/spectral-500.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Spectral";
  src: url(../fonts/spectral-300-italic.woff2) format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Spectral";
  src: url(../fonts/spectral-400-italic.woff2) format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
:root {
  --green:#133427;
  --green-deep:#0E281E;
  --green-ink:#0A1D15;
  --board:#10301F;
  --gilt:#C2A56A;
  --gilt-hi:#FBEFC9;
  --gilt-dark:#7E6431;
  --gilt-deep:#9C7B3A;
  --ivory:#EEE7D5;
  --ivory-2:rgba(238,231,213,.88);
  --stone:#E3DED0;
  --stone-2:#D6D0BF;
  --ink:#14301F;
  --ink-2:#3E5246;
  --oxblood:#6A2420;
  --claret:#4E1A1E;
  --claret-deep:#3E1418;
  --green-lift:#1D4534;
  --cream:#F3ECDC;
  --cream-2:#EAE1CB;
  --rule-g:rgba(194,165,106,.38);
  --rule-s:rgba(20,48,31,.22);
  --display:"Goudy Bookletter",Georgia,"Times New Roman",serif;
  --text:"Spectral",Georgia,"Times New Roman",serif;
  --wrap:1240px;
  --gut:clamp(22px,4.4vw,64px);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--green);
  color: var(--ivory);
  font-family: var(--text);
  font-weight: 400;
  font-size: 17.67px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "onum" 1, "kern" 1;
  overflow-x: hidden;
}
img,
svg {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
}
p {
  margin: 0 0 1em;
}
h1,
h2,
h3,
h4 {
  font-family: var(--display);
  font-weight: 400;
  margin: 0;
  line-height: 1.08;
  font-feature-settings: "onum" 1, "kern" 1;
}
.wrap {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 var(--gut);
}
.sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
:focus-visible {
  outline: 1px solid var(--gilt);
  outline-offset: 4px;
}
.skip {
  position: absolute;
  left: 12px;
  top: -60px;
  background: var(--gilt);
  color: var(--green-ink);
  padding: 8px 14px;
  z-index: 100;
  text-decoration: none;
}
.skip:focus {
  top: 12px;
}
.tex {
  position: relative;
  isolation: isolate;
}
.tex::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ln {
  text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100%/0 1px no-repeat;
  transition: background-size .45s cubic-bezier(.2, .7, .2, 1), color .3s;
}
.ln:hover,
.ln:focus-visible {
  background-size: 100% 1px;
}
.ln-under {
  text-decoration: none;
  background: linear-gradient(var(--rule-g), var(--rule-g)) 0 100%/100% 1px no-repeat, linear-gradient(var(--gilt), var(--gilt)) 0 100%/0 1px no-repeat;
  transition: background-size .5s cubic-bezier(.2, .7, .2, 1), color .3s;
  padding-bottom: 3px;
}
.ln-under:hover,
.ln-under:focus-visible {
  background-size: 100% 1px, 100% 1px;
  color: var(--gilt);
}
.cream .ln-under {
  background-image: linear-gradient(var(--rule-s), var(--rule-s)), linear-gradient(var(--oxblood), var(--oxblood));
}
.cream .ln-under:hover,
.cream .ln-under:focus-visible {
  color: var(--oxblood);
}
.btn {
  display: inline-flex;
  align-items: center;
  gap: .7em;
  font-family: var(--text);
  font-size: 15px;
  letter-spacing: .08em;
  text-decoration: none;
  color: var(--gilt);
  border: 1px solid var(--gilt);
  padding: .95em 1.6em .9em;
  transition:
    background-color .35s,
    color .35s,
    translate .35s cubic-bezier(.2, .7, .2, 1);
}
.btn:hover,
.btn:focus-visible {
  background: var(--gilt);
  color: var(--green-ink);
  translate: 0 -2px;
}
.cream .btn {
  color: var(--ink);
  border-color: var(--ink);
}
.cream .btn:hover,
.cream .btn:focus-visible {
  background: var(--claret);
  border-color: var(--claret);
  color: var(--cream);
}
.site-head {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  transition: background-color .45s, box-shadow .45s;
}
.site-head .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 104px;
  max-width: 1360px;
  transition: height .45s cubic-bezier(.2, .7, .2, 1);
}
.site-head.scrolled {
  background: rgba(17, 47, 35, .97);
  box-shadow: 0 1px 0 rgba(194, 165, 106, .34);
}
.site-head.scrolled .wrap {
  height: 80px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--ivory);
  text-decoration: none;
  --logo-accent:var(--gilt);
  transition: opacity .3s;
}
.brand:hover {
  opacity: .84;
}
.brand .mark {
  width: 76px;
  height: 40px;
  overflow: visible;
  flex: none;
}
.wordmark {
  display: flex;
  flex-direction: column;
  line-height: 1;
  border-left: 1px solid rgba(194, 165, 106, .7);
  padding-left: 14px;
}
.wm-name {
  font-family: "Marcellus SC", var(--display);
  font-size: 16.32px;
  letter-spacing: .09em;
  white-space: nowrap;
}
.wm-sub {
  font-family: "Marcellus SC", var(--display);
  font-size: 10.5px;
  letter-spacing: .32em;
  margin-top: 7px;
  opacity: .75;
  white-space: nowrap;
}
.nav {
  display: flex;
  gap: clamp(18px, 2.3vw, 34px);
  align-items: center;
}
.nav a {
  font-size: 15.5px;
  letter-spacing: .045em;
  color: var(--ivory);
  text-decoration: none;
  padding: 6px 0;
  background: linear-gradient(var(--gilt), var(--gilt)) 50% 100%/0 1px no-repeat;
  transition: background-size .4s cubic-bezier(.2, .7, .2, 1), color .3s;
}
.nav a:hover,
.nav a:focus-visible,
.nav a[aria-current=page] {
  color: var(--gilt);
  background-size: 100% 1px;
}
.burger {
  display: none;
  position: relative;
  width: 46px;
  height: 46px;
  border: 0;
  background: none;
  color: var(--gilt);
  cursor: pointer;
  padding: 0;
  margin-right: -10px;
  flex: none;
}
.burger span {
  position: absolute;
  left: 11px;
  right: 11px;
  height: 1.3px;
  background: currentColor;
  transition:
    transform .45s cubic-bezier(.6, 0, .2, 1),
    opacity .3s,
    top .45s cubic-bezier(.6, 0, .2, 1);
}
.burger span:nth-child(1) {
  top: 16px;
}
.burger span:nth-child(2) {
  top: 22.5px;
}
.burger span:nth-child(3) {
  top: 29px;
}
.menu-open .burger span:nth-child(1) {
  top: 22.5px;
  transform: rotate(45deg);
}
.menu-open .burger span:nth-child(2) {
  opacity: 0;
}
.menu-open .burger span:nth-child(3) {
  top: 22.5px;
  transform: rotate(-45deg);
}
.drawer {
  position: fixed;
  inset: 0;
  z-index: 35;
  background: var(--green-deep);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 96px var(--gut) 40px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .45s, visibility 0s .45s;
}
.menu-open .drawer {
  visibility: visible;
  opacity: 1;
  transition: opacity .45s;
}
.drawer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule-g);
}
.drawer li {
  border-bottom: 1px solid var(--rule-g);
}
.drawer a {
  display: block;
  font-family: var(--display);
  font-size: clamp(25.2px, 7.2vw, 34.2px);
  color: var(--gilt);
  text-decoration: none;
  padding: .42em 0 .32em;
  transition: padding-left .35s, color .3s;
}
.drawer a:hover,
.drawer a:focus-visible {
  padding-left: 10px;
  color: var(--ivory);
}
.drawer .d-meta {
  margin-top: 30px;
  font-size: 15.5px;
  color: var(--ivory-2);
  line-height: 1.7;
}
.drawer .d-meta a {
  font-family: var(--text);
  font-size: 15.5px;
  display: inline;
  padding: 0;
  color: var(--ivory);
}
.drawer .d-brand {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid var(--rule-g);
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--ivory);
  --logo-accent:var(--gilt);
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.drawer .d-brand .mark {
  width: 54px;
  height: 29px;
  overflow: visible;
  flex: none;
}
.drawer .d-brand span {
  color: var(--ivory-2);
  line-height: 1.5;
}
.menu-open {
  overflow: hidden;
}
.menu-open .site-head {
  background: var(--green-deep);
  box-shadow: none;
}
.hero {
  position: relative;
  min-height: max(760px, 100vh);
  min-height: max(760px, 100svh);
  overflow: hidden;
  background: var(--green);
}
.hero .portrait {
  position: absolute;
  right: max(0px, calc(50vw - 720px));
  bottom: 0;
  height: calc(100% - 40px);
  width: auto;
  max-width: none;
  aspect-ratio: 880/1000;
  -webkit-mask-image:
    linear-gradient(
      to right,
      transparent 0,
      #000 30%,
      #000 80%,
      transparent 100%),
    linear-gradient(
      to bottom,
      transparent 0,
      #000 12%,
      #000 72%,
      transparent 99%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(
      to right,
      transparent 0,
      #000 30%,
      #000 80%,
      transparent 100%),
    linear-gradient(
      to bottom,
      transparent 0,
      #000 12%,
      #000 72%,
      transparent 99%);
  mask-composite: intersect;
}
.hero .glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 38% 46% at 72% 34%,
      rgba(194, 165, 106, .07),
      transparent 70%);
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 var(--gut);
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 44px;
}
.hero-copy {
  max-width: 720px;
  padding-top: 150px;
  margin-bottom: auto;
  margin-top: auto;
}
.hero h1 {
  font-size: clamp(57.6px, 7.74vw, 115.2px);
  line-height: .94;
  color: var(--gilt);
  letter-spacing: -.005em;
  margin-left: -.04em;
}
.hero h1 .l {
  display: block;
}
.hero .rule {
  width: 88px;
  height: 1px;
  background: var(--gilt);
  margin: 34px 0 28px;
  transform-origin: left;
}
.hero .lede {
  font-family: var(--text);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(20.7px, 1.89vw, 27px);
  line-height: 1.3;
  color: var(--ivory);
  margin: 0 0 14px;
  max-width: 24em;
}
.hero .meta {
  font-size: 15.5px;
  letter-spacing: .06em;
  color: var(--ivory-2);
  margin: 0;
}
.hero .meta .dot {
  color: var(--gilt);
  padding: 0 .45em;
}
.laurels {
  list-style: none;
  margin: 50px 0 0;
  padding: 24px 30px 22px;
  background: rgba(29, 69, 52, .94);
  border-top: 1px solid var(--gilt);
  box-shadow:
    inset 0 3px 0 rgba(29, 69, 52, .94),
    inset 0 4px 0 var(--rule-g),
    0 24px 40px -24px rgba(0, 0, 0, .45);
  display: grid;
  grid-template-columns: 1.25fr 1.05fr 1fr 1.05fr;
  gap: 0;
  max-width: 1100px;
  position: relative;
}
.laurels::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--rule-g);
}
.laurels li {
  padding: 0 24px 0 0;
  margin-right: 24px;
  border-right: 1px solid rgba(194, 165, 106, .5);
}
.laurels li:last-child {
  border-right: 0;
  margin-right: 0;
}
.laurels .yr {
  display: block;
  font-family: var(--display);
  font-size: 27px;
  line-height: 1;
  color: var(--gilt);
  margin-bottom: 8px;
}
.laurels .yr i {
  font-family: var(--text);
  font-style: italic;
  font-weight: 400;
  font-size: 16.32px;
  color: var(--ivory-2);
  margin-right: .35em;
}
.laurels .t {
  display: block;
  font-size: 15.5px;
  line-height: 1.42;
  color: var(--ivory);
}
.laurels .t em {
  font-style: normal;
  color: var(--ivory-2);
  display: block;
}
.sec {
  padding: clamp(88px, 10vw, 150px) 0;
}
.cream {
  background: var(--cream);
  color: var(--ink);
}
.cream h2,
.cream h3 {
  color: var(--ink);
}
.claret {
  background: var(--claret);
  color: var(--ivory);
}
.kicker {
  font-family: var(--text);
  font-size: 13.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gilt);
  margin: 0 0 20px;
}
.cream .kicker {
  color: var(--oxblood);
}
.h2 {
  font-size: clamp(36px, 3.87vw, 55.8px);
  color: var(--gilt);
  letter-spacing: -.005em;
}
.sticky-top {
  top: 122px;
}
.hall {
  background: var(--claret);
  padding: clamp(90px, 10vw, 150px) 0;
}
.hall-grid {
  max-width: 1240px;
}
.hall-head {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
  padding-bottom: clamp(56px, 6vw, 84px);
}
.hall-head h2 {
  font-size: clamp(30.6px, 2.97vw, 43.2px);
  line-height: 1.12;
  color: var(--ivory);
  max-width: 16em;
}
.hall-q {
  font-style: italic;
  font-weight: 400;
  font-size: 17.21px;
  line-height: 1.55;
  color: var(--ivory-2);
  max-width: 26em;
  margin: 0;
}
.hall-figs {
  margin: 30px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  border-top: 1px solid var(--rule-g);
  padding-top: 24px;
}
.hall-figs dt {
  font-family: var(--display);
  font-size: 45px;
  line-height: .95;
  color: var(--gilt);
}
.hall-figs dd {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--ivory-2);
}
.hall-links {
  margin: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 34px;
  align-items: flex-start;
  font-size: 15.84px;
}
.hall-links .ln-under {
  color: var(--ivory);
}
.hall-page {
  padding: clamp(60px, 7vw, 100px) 0 clamp(70px, 8vw, 120px);
}
.board-wrap {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  filter: drop-shadow(0 40px 56px rgba(25, 4, 6, .5));
}
.crown {
  position: relative;
  height: 118px;
  background: var(--board);
  border: 1px solid rgba(194, 165, 106, .55);
  border-bottom: 0;
  border-radius: 50% 50% 0 0/86px 86px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 6px;
}
.crown::before {
  content: "";
  position: absolute;
  inset: 7px 7px 0 7px;
  border: 1px solid rgba(194, 165, 106, .32);
  border-bottom: 0;
  border-radius: 50% 50% 0 0/80px 80px 0 0;
  pointer-events: none;
}
.crown .mark {
  width: 92px;
  height: 48px;
  overflow: visible;
  color: var(--gilt);
  --logo-accent:var(--ivory);
  position: relative;
}
.board {
  position: relative;
  background: var(--board);
  border: 1px solid rgba(194, 165, 106, .55);
  border-top: 0;
  padding: 26px clamp(22px, 4.2vw, 64px) clamp(40px, 4vw, 58px);
}
.board::after {
  content: "";
  position: absolute;
  inset: 0 7px 7px 7px;
  border: 1px solid rgba(194, 165, 106, .32);
  border-top: 0;
  pointer-events: none;
}
.board-head {
  text-align: center;
  position: relative;
}
.board-title {
  font-family: var(--display);
  font-size: clamp(22.5px, 2.43vw, 34.2px);
  letter-spacing: .2em;
  color: var(--gilt);
  margin: 0 0 6px;
  padding-left: .2em;
}
.board-sub {
  font-style: italic;
  font-weight: 400;
  font-size: 16.32px;
  color: var(--ivory-2);
  margin: 0;
}
.board-rule {
  height: 7px;
  border-top: 1px solid var(--rule-g);
  border-bottom: 1px solid var(--rule-g);
  margin: 34px 0 6px;
}
.honors {
  list-style: none;
  margin: 0;
  padding: 0;
}
.honor {
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 34px;
  align-items: baseline;
  padding: 24px 0 22px;
  border-bottom: 1px solid rgba(194, 165, 106, .2);
}
.honor.lead {
  display: block;
  text-align: center;
  padding: 30px 0 30px;
  border-bottom: 3px double var(--rule-g);
}
.honor.lead .when {
  display: block;
  text-align: center;
  font-size: 43.2px;
  margin-bottom: 12px;
}
.honor.lead .name {
  font-size: clamp(23.4px, 2.34vw, 32.4px);
  letter-spacing: .14em;
}
.honor.lead .what {
  font-size: 16.74px;
}
.honors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 64px;
  background: linear-gradient(var(--rule-g), var(--rule-g)) 50% 0/1px 100% no-repeat;
}
.honors .honor {
  grid-template-columns: 96px 1fr;
  column-gap: 24px;
}
.honors .honor:nth-last-child(-n+2) {
  border-bottom: 0;
}
.honor .when {
  text-align: right;
  font-family: var(--display);
  font-size: 27px;
  line-height: 1;
  color: var(--gilt);
  white-space: nowrap;
}
.honor .when i {
  display: block;
  font-family: var(--text);
  font-style: italic;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: .02em;
  color: var(--ivory-2);
  margin-bottom: 5px;
}
.honor .when .lz {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--gilt);
  transform: rotate(45deg);
  vertical-align: .25em;
  opacity: .8;
}
.honor .name {
  font-family: var(--display);
  font-size: clamp(16.74px, 1.49vw, 20.46px);
  letter-spacing: .08em;
  line-height: 1.22;
  color: var(--gilt);
  text-transform: uppercase;
  display: block;
}
.honor .what {
  display: block;
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--ivory-2);
  margin-top: 7px;
}
.board-foot {
  border-top: 1px solid var(--rule-g);
  margin-top: 4px;
  padding-top: 6px;
}
.board-foot div {
  border-top: 1px solid var(--rule-g);
  height: 0;
}
.gild-on .g {
  background-image:
    linear-gradient(
      100deg,
      var(--gilt) 0%,
      var(--gilt) 41%,
      #E8D39C 46%,
      var(--gilt-hi) 50%,
      #E8D39C 54%,
      rgba(194, 165, 106, .16) 59%,
      rgba(194, 165, 106, .16) 100%);
  background-size: 300% 100%;
  background-position: var(--gx,100%) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.gild-on .honor .what {
  opacity: var(--wo,0);
  transition: opacity 1.2s ease .5s;
}
.gild-on .honor.lit .what {
  --wo:1;
}
.fifty-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.fifty .statement {
  font-family: var(--display);
  font-size: clamp(27px, 2.7vw, 38.7px);
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 44px;
  max-width: 20em;
}
.fifty-grid {
  align-items: end;
}
.fifty .statement {
  margin: 0;
}
.fifty .cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  color: var(--ink-2);
  font-size: 17.21px;
  border-top: 3px double var(--gilt-deep);
  padding-top: 34px;
  margin-top: clamp(50px, 6vw, 80px);
}
.fifty .cols p {
  margin: 0;
}
.fifty .figure {
  font-family: var(--display);
  font-size: clamp(135px, 15.3vw, 225px);
  line-height: .8;
  color: var(--gilt-deep);
  margin: 0 0 .12em;
  letter-spacing: -.02em;
}
.fifty .figure-cap {
  font-style: italic;
  font-weight: 400;
  font-size: 19.53px;
  color: var(--ink);
  margin: 18px 0 0;
  max-width: 13em;
  line-height: 1.4;
  padding-top: 18px;
  border-top: 2px solid var(--oxblood);
  display: inline-block;
}
.fifty .figure-cap b {
  font-weight: 400;
  font-style: normal;
}
.index {
  margin-top: clamp(90px, 10vw, 140px);
}
.index-head {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
  margin-bottom: 34px;
}
.index h3 {
  font-size: clamp(30.6px, 2.88vw, 41.4px);
  line-height: 1.1;
}
.index .index-note {
  font-size: 16.74px;
  font-style: italic;
  font-weight: 400;
  color: var(--ink-2);
  margin: 0;
  max-width: 24em;
}
.index ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.index li {
  border-bottom: 1px solid var(--rule-s);
}
.index a {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1.15fr) 22px;
  gap: 22px;
  align-items: baseline;
  padding: 20px 0 18px;
  text-decoration: none;
  color: var(--ink);
  transition: padding .4s cubic-bezier(.2, .7, .2, 1), background-color .4s;
}
.index .no {
  font-family: var(--display);
  font-size: 17.67px;
  letter-spacing: .06em;
  color: var(--gilt-deep);
}
.index .pa {
  font-family: var(--display);
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.15;
}
.index .pd {
  font-size: 15.5px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  color: var(--ink-2);
}
.index .pr {
  width: 22px;
  height: 9px;
  align-self: center;
  color: var(--oxblood);
  transition: translate .4s cubic-bezier(.2, .7, .2, 1);
}
.index a:hover,
.index a:focus-visible {
  padding-left: 14px;
  padding-right: 6px;
  background: rgba(86, 28, 32, .05);
}
.index a:hover .pr,
.index a:focus-visible .pr {
  translate: 6px 0;
}
.index a:hover .pa {
  color: var(--oxblood);
}
.news-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(40px, 7vw, 110px);
  align-items: stretch;
}
.notice {
  border-top: 1px solid var(--gilt);
  padding-top: 26px;
}
.notice .date {
  display: flex;
  gap: 18px;
  align-items: baseline;
  font-size: 15px;
  letter-spacing: .06em;
  color: var(--ivory-2);
  margin-bottom: 26px;
}
.notice .date .tag {
  color: var(--green-ink);
  background: var(--gilt);
  padding: 3px 10px 2px;
  letter-spacing: .12em;
  font-size: 12.5px;
  text-transform: uppercase;
}
.notice h2 {
  font-size: clamp(32.4px, 3.33vw, 48.6px);
  color: var(--gilt);
  line-height: 1.08;
  margin-bottom: 28px;
}
.notice p {
  color: var(--ivory-2);
  max-width: 34em;
}
.notice .links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 34px;
  align-items: center;
  margin-top: 34px;
  font-size: 15.5px;
}
.news-side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 44px;
  border-top: 1px solid var(--rule-g);
  padding-top: 26px;
}
.saying {
  margin: 0;
}
.saying blockquote {
  margin: 0;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22.5px, 2.02vw, 28.8px);
  line-height: 1.38;
  color: var(--ivory);
  text-indent: -.42em;
}
.saying figcaption {
  margin-top: 24px;
  font-size: 15.5px;
  letter-spacing: .04em;
  color: var(--ivory-2);
  display: flex;
  gap: 14px;
  align-items: center;
}
.saying figcaption::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--gilt);
  flex: none;
}
.record {
  margin: 0;
  border-top: 3px double var(--rule-g);
}
.record div {
  display: grid;
  grid-template-columns: 104px 1fr;
  gap: 16px;
  align-items: baseline;
  padding: 14px 0 13px;
  border-bottom: 1px solid rgba(194, 165, 106, .2);
}
.record dt {
  font-size: 12.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gilt);
}
.record dd {
  margin: 0;
  font-family: var(--display);
  font-size: 19.53px;
  line-height: 1.25;
  color: var(--ivory);
}
.crains {
  padding: clamp(100px, 11vw, 160px) 0;
}
.crains blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(34.2px, 4.59vw, 68.4px);
  line-height: 1.1;
  color: var(--ivory);
  max-width: 15.5em;
  text-indent: -.36em;
}
.crains blockquote .q {
  color: var(--gilt);
}
.crains .src {
  margin-top: 38px;
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 15.5px;
  letter-spacing: .05em;
  color: var(--ivory-2);
}
.crains .src::before {
  content: "";
  width: 60px;
  height: 1px;
  background: var(--gilt);
}
.crains .src cite {
  font-style: italic;
}
.career-grid {
  display: grid;
  grid-template-columns: 6fr 5fr;
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
}
.career .h2 {
  color: var(--ink);
}
.register {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.register li {
  padding: 18px 0 16px;
  border-bottom: 1px solid var(--rule-s);
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
}
.register .r1 {
  font-family: var(--display);
  font-size: 23.25px;
  color: var(--ink);
  line-height: 1.2;
}
.register .r2 {
  font-size: 15.84px;
  color: var(--ink-2);
}
.career .step {
  margin: 34px 0 0;
  font-size: 17.21px;
  color: var(--ink);
  max-width: 32em;
  padding-left: 22px;
  border-left: 2px solid var(--oxblood);
}
.career .teach {
  margin-top: 26px;
  font-size: 16.32px;
  color: var(--ink-2);
  max-width: 34em;
}
.edu {
  position: relative;
}
.edu .edu-card {
  border: 1px solid var(--ink);
  padding: 36px 36px 32px;
  position: relative;
  background: var(--cream-2);
}
.edu .edu-card::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--rule-s);
  pointer-events: none;
}
.edu h3 {
  font-family: var(--text);
  font-size: 13.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-bottom: 22px;
}
.edu dl {
  margin: 0;
}
.edu dt {
  font-family: var(--display);
  font-size: 22.32px;
  color: var(--ink);
  line-height: 1.25;
}
.edu dd {
  margin: 2px 0 18px;
  font-size: 15.84px;
  color: var(--ink-2);
  font-style: italic;
  font-weight: 400;
}
.edu .q {
  margin: 26px 0 0;
  padding-top: 26px;
  border-top: 1px solid var(--rule-s);
}
.edu .q blockquote {
  margin: 0;
  font-style: italic;
  font-weight: 400;
  font-size: 21.39px;
  line-height: 1.42;
  color: var(--ink);
  text-indent: -.4em;
}
.edu .q figcaption {
  margin-top: 14px;
  font-size: 15px;
  color: var(--ink-2);
}
.civic {
  background: var(--green);
}
.civic-head {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
  padding-bottom: 34px;
  margin-bottom: 50px;
  border-bottom: 1px solid var(--rule-g);
}
.civic-head .intro {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(18.6px, 1.58vw, 22.32px);
  line-height: 1.4;
  color: var(--ivory-2);
  margin: 0;
}
.lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 80px);
  align-items: start;
}
.lists h3 {
  font-size: 13.5px;
  font-family: var(--text);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gilt);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gilt);
}
.lists ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lists li {
  padding: 14px 0 13px;
  border-bottom: 1px solid rgba(194, 165, 106, .2);
  font-size: 16.74px;
  line-height: 1.4;
  color: var(--ivory);
}
.lists li span {
  display: block;
  font-size: 15.5px;
  font-style: italic;
  font-weight: 400;
  color: var(--ivory-2);
}
.lists .hl {
  font-family: var(--display);
  font-size: 21.39px;
  color: var(--gilt);
}
.lists .hl span {
  font-family: var(--text);
  margin-top: 2px;
}
.ccq {
  margin: 34px 0 0;
  padding: 26px 28px 24px;
  border: 1px solid var(--rule-g);
  font-size: 15.84px;
  color: var(--ivory-2);
  position: relative;
}
.ccq b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(25.2px, 2.34vw, 32.4px);
  line-height: 1.15;
  color: var(--gilt);
  margin-bottom: 8px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
}
.contact .note {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(19.8px, 1.71vw, 24.3px);
  line-height: 1.42;
  color: var(--ink);
  margin: 26px 0 0;
  max-width: 21em;
}
.contact .for {
  font-size: 16.32px;
  color: var(--ink-2);
  margin-top: 22px;
  max-width: 26em;
}
.details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--rule-g);
}
.details > div {
  padding: 24px 24px 24px 0;
  border-bottom: 1px solid rgba(194, 165, 106, .2);
}
.details > div:nth-child(odd) {
  border-right: 1px solid rgba(194, 165, 106, .2);
}
.details > div:nth-child(even) {
  padding-left: 28px;
}
.details .lab {
  display: block;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gilt);
  margin-bottom: 8px;
}
.details .val {
  font-family: var(--display);
  font-size: clamp(18.9px, 1.62vw, 23.4px);
  line-height: 1.3;
  color: var(--ivory);
  text-decoration: none;
}
.details a.val:hover {
  color: var(--gilt);
}
.details .wide {
  grid-column: 1/-1;
  border-right: 0 !important;
  padding-left: 0 !important;
}
.cream .details {
  border-top: 3px double var(--gilt-deep);
}
.cream .details > div {
  border-color: var(--rule-s) !important;
}
.cream .details .lab {
  color: var(--oxblood);
}
.cream .details .val {
  color: var(--ink);
}
.cream .details a.val {
  background: linear-gradient(var(--oxblood), var(--oxblood)) 0 100%/0 1px no-repeat;
  transition: background-size .45s cubic-bezier(.2, .7, .2, 1), color .3s;
}
.cream .details a.val:hover {
  color: var(--oxblood);
  background-size: 100% 1px;
}
.site-foot {
  background: var(--green-ink);
  color: var(--ivory-2);
  padding: 80px 0 40px;
  font-size: 15.5px;
}
.foot-grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr 1.2fr;
  gap: 40px;
}
.site-foot .f-firm {
  margin: 26px 0 0;
  max-width: 22em;
}
.site-foot .f-hon {
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(194, 165, 106, .22);
  max-width: 22em;
  font-size: 14.5px;
  line-height: 1.5;
}
.site-foot .f-hon span {
  display: block;
  font-family: var(--display);
  font-size: 27px;
  line-height: 1;
  color: var(--gilt);
  margin-bottom: 6px;
}
.site-foot h4 {
  font-family: var(--text);
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gilt);
  margin: 0 0 16px;
}
.site-foot ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-foot li {
  margin: 0 0 8px;
}
.site-foot a {
  color: var(--ivory);
  text-decoration: none;
}
.site-foot a:hover {
  color: var(--gilt);
}
.site-foot .brand {
  color: var(--ivory);
}
.site-foot address {
  font-style: normal;
  line-height: 1.7;
}
.foot-base {
  margin-top: 64px;
  padding-top: 24px;
  border-top: 1px solid rgba(194, 165, 106, .22);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
}
.foot-base a {
  text-decoration: underline;
  text-decoration-color: rgba(194, 165, 106, .5);
  text-underline-offset: 3px;
}
.page-head {
  padding: 190px 0 90px;
  position: relative;
  overflow: hidden;
  background: var(--green);
}
.page-head .wrap {
  position: relative;
}
.page-head .ghost {
  position: absolute;
  right: var(--gut);
  bottom: -16px;
  width: 340px;
  height: 179px;
  color: var(--gilt);
  --logo-accent:var(--gilt);
  opacity: .16;
  pointer-events: none;
}
.page-head .crumb {
  font-size: 14.5px;
  letter-spacing: .06em;
  color: var(--ivory-2);
  margin: 0 0 26px;
}
.page-head .crumb a {
  color: var(--ivory);
}
.page-head h1 {
  font-size: clamp(41.4px, 5.76vw, 82.8px);
  color: var(--gilt);
  line-height: 1;
  max-width: 13em;
}
.page-head .intro {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(18.9px, 1.71vw, 24.3px);
  line-height: 1.42;
  color: var(--ivory);
  max-width: 27em;
  margin: 30px 0 0;
}
.sketch {
  padding: clamp(70px, 8vw, 110px) 0 clamp(90px, 10vw, 140px);
}
.sketch-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: start;
}
.sketch-card {
  border: 1px solid var(--ink);
  padding: clamp(30px, 4.4vw, 56px);
  position: relative;
  background: var(--cream-2);
}
.sketch-card::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--rule-s);
  pointer-events: none;
}
.sketch-card h2 {
  font-size: clamp(28.8px, 2.88vw, 39.6px);
  margin-bottom: 18px;
}
.sketch-card p {
  font-size: 17.21px;
  color: var(--ink-2);
  max-width: 32em;
  margin-bottom: 30px;
}
.sketch-card .btn {
  position: relative;
}
.related h3 {
  font-family: var(--text);
  font-size: 13.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-bottom: 14px;
}
.related ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.related li {
  border-bottom: 1px solid var(--rule-s);
}
.related a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0 12px;
  text-decoration: none;
  color: var(--ink);
  font-family: var(--display);
  font-size: 20.46px;
  line-height: 1.25;
  transition: padding .35s, color .3s;
}
.related a i {
  font-style: normal;
  display: inline-block;
  min-width: 2.3em;
  font-size: 16.32px;
  letter-spacing: .06em;
  color: var(--gilt-deep);
}
.related a:hover,
.related a:focus-visible {
  padding-left: 10px;
  color: var(--oxblood);
}
.related .pr {
  width: 22px;
  height: 9px;
  align-self: center;
  color: var(--oxblood);
  transition: translate .35s;
  flex: none;
}
.related a:hover .pr {
  translate: 5px 0;
}
.outline li {
  padding: 14px 0 13px;
}
.outline .o1 {
  display: block;
  font-family: var(--display);
  font-size: 20.46px;
  line-height: 1.28;
  color: var(--ink);
}
.outline .o2 {
  display: block;
  font-size: 15.5px;
  font-style: italic;
  font-weight: 400;
  color: var(--ink-2);
  margin-top: 3px;
}
.article {
  padding: clamp(70px, 8vw, 110px) 0 clamp(90px, 10vw, 140px);
}
.article-grid {
  display: grid;
  grid-template-columns: minmax(0, 3.2fr) minmax(0, 8.8fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: start;
}
.article aside {
  font-size: 15.5px;
  color: var(--ink-2);
  line-height: 1.6;
  position: sticky;
  top: 122px;
}
.article .art-fig {
  font-family: var(--display);
  font-size: clamp(64.8px, 6.3vw, 93.6px);
  line-height: .85;
  color: var(--gilt-deep);
  margin: 0 0 26px;
}
.article aside dl {
  margin: 0;
  border-top: 3px double var(--gilt-deep);
}
.article aside dt {
  font-size: 12.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-top: 16px;
}
.article aside dd {
  margin: 3px 0 0;
  color: var(--ink);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rule-s);
}
.article .art-links {
  margin: 22px 0 0;
  font-size: 15.5px;
}
.article .body {
  font-size: 18.6px;
  line-height: 1.66;
  color: var(--ink);
  max-width: 37em;
}
.article .body p {
  margin: 0 0 1.15em;
}
.article .body .first {
  font-family: var(--display);
  font-size: clamp(22.5px, 1.98vw, 27px);
  line-height: 1.32;
  color: var(--ink);
  margin-bottom: 1.1em;
}
.article .body h2 {
  font-size: 27px;
  margin: 1.8em 0 .6em;
  color: var(--ink);
  padding-top: 22px;
  border-top: 1px solid var(--rule-s);
}
.article .pull {
  margin: 1.6em 0 1.6em;
  padding: 30px 0 30px 30px;
  border-left: 2px solid var(--oxblood);
}
.article .pull blockquote {
  margin: 0;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.42;
  color: var(--ink);
}
.article .pull figcaption {
  margin-top: 14px;
  font-size: 15.5px;
  color: var(--ink-2);
}
.article .ext {
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid var(--ink);
  display: flex;
  flex-wrap: wrap;
  gap: 16px 36px;
  align-items: center;
  font-size: 15.84px;
}
.cpage {
  padding: clamp(70px, 8vw, 110px) 0 clamp(90px, 10vw, 140px);
}
.cpage .note-big {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(20.7px, 1.89vw, 26.1px);
  line-height: 1.42;
  color: var(--ink);
  max-width: 22em;
  margin: 0 0 20px;
}
.cpage .note-sub {
  font-size: 16.8px;
  color: var(--ink-2);
  max-width: 28em;
}
.rv-on [data-rv] {
  opacity: 0;
}
@media (max-width:1180px) {
  .honors .honor {
    grid-template-columns: 80px 1fr;
    column-gap: 20px;
  }
  .laurels {
    grid-template-columns: 1fr 1fr;
    row-gap: 22px;
    max-width: 640px;
  }
  .laurels li:nth-child(2n) {
    border-right: 0;
    margin-right: 0;
  }
}
@media (max-width:1020px) {
  .page-head .ghost {
    width: 220px;
    height: 116px;
    opacity: .12;
  }
  .nav {
    display: none;
  }
  .burger {
    display: block;
  }
  .site-head .wrap,
  .site-head.scrolled .wrap {
    height: 80px;
  }
  .fifty-grid,
  .index,
  .news-grid,
  .career-grid,
  .contact-grid,
  .sketch-grid {
    grid-template-columns: 1fr;
  }
  .civic-head,
  .hall-head,
  .index-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .hall-head {
    gap: 30px;
  }
  .edu {
    position: static;
  }
  .article-grid {
    grid-template-columns: 1fr;
  }
  .article aside {
    order: 2;
    position: static;
  }
  .foot-grid {
    grid-template-columns: 1fr 1fr;
  }
  .hero .portrait {
    right: -60px;
  }
}
@media (max-width:720px) {
  body {
    font-size: 18px;
  }
  .site-head .wrap,
  .site-head.scrolled .wrap {
    height: 72px;
  }
  .brand {
    gap: 11px;
  }
  .brand .mark {
    width: 54px;
    height: 29px;
  }
  .wordmark {
    padding-left: 11px;
  }
  .wm-name {
    font-size: 14.5px;
  }
  .wm-sub {
    font-size: 9.5px;
    margin-top: 6px;
  }
  .hero {
    min-height: 100vh;
    min-height: 100svh;
  }
  .hero .portrait {
    top: 52px;
    bottom: auto;
    right: -36px;
    height: min(64svh, 520px);
    -webkit-mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 34%,
        #000 88%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 55%,
        transparent 96%);
    mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 34%,
        #000 88%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 55%,
        transparent 96%);
  }
  .hero .glow {
    background:
      radial-gradient(
        ellipse 60% 34% at 70% 20%,
        rgba(194, 165, 106, .08),
        transparent 70%);
  }
  .hero-inner {
    padding-bottom: max(18px, 2.6svh);
    justify-content: flex-end;
  }
  .hero-copy {
    padding-top: 0;
    margin: 0;
  }
  .hero h1 {
    font-size: clamp(46.5px, 13.39vw, 59.52px);
    line-height: .95;
  }
  .hero .rule {
    margin: min(20px, 2.4svh) 0 min(16px, 2svh);
    width: 60px;
  }
  .hero .lede {
    font-size: clamp(19.2px, 5.28vw, 22.08px);
    margin-bottom: 8px;
    max-width: 14em;
  }
  .hero .meta {
    font-size: 14px;
    letter-spacing: .03em;
    line-height: 1.45;
  }
  .hero .meta .dot {
    display: none;
  }
  .hero .meta .place {
    display: block;
  }
  .laurels {
    margin: min(20px, 2.4svh) calc(var(--gut) * -1) 0;
    padding: min(14px, 1.8svh) var(--gut) min(14px, 1.8svh);
    grid-template-columns: 1fr 1fr;
    row-gap: min(14px, 1.8svh);
  }
  .hero-copy {
    position: relative;
    isolation: isolate;
  }
  .hero-copy::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    left: calc(var(--gut) * -1);
    right: calc(var(--gut) * -1);
    top: -84px;
    bottom: -40px;
    background:
      linear-gradient(
        to bottom,
        rgba(19, 52, 39, 0) 0,
        rgba(19, 52, 39, .9) 58px,
        var(--green) 84px);
  }
  .laurels li {
    padding-right: 12px;
    margin-right: 12px;
  }
  .laurels .yr {
    font-size: 21.12px;
    margin-bottom: 3px;
  }
  .laurels .yr i {
    font-size: 14px;
  }
  .laurels .t {
    font-size: 13.5px;
    line-height: 1.32;
  }
  .hall-head h2 {
    font-size: 27.9px;
  }
  .hall-figs {
    gap: 18px;
  }
  .hall-figs dt {
    font-size: 37.2px;
  }
  .hall-links {
    flex-direction: column;
    margin-top: 26px;
  }
  .honors {
    grid-template-columns: 1fr;
    background: none;
  }
  .honors .honor:nth-last-child(2) {
    border-bottom: 1px solid rgba(194, 165, 106, .2);
  }
  .honor.lead .when {
    font-size: 33.48px;
  }
  .honor.lead .name {
    font-size: 21.12px;
  }
  .fifty .cols {
    margin-top: 40px;
  }
  .board {
    padding: 18px 20px 34px;
  }
  .crown {
    height: 92px;
    border-radius: 50% 50% 0 0/66px 66px 0 0;
  }
  .crown::before {
    border-radius: 50% 50% 0 0/60px 60px 0 0;
  }
  .crown .mark {
    width: 70px;
    height: 37px;
  }
  .board-title {
    letter-spacing: .14em;
    font-size: 22.08px;
  }
  .board-sub {
    font-size: 15.5px;
  }
  .honor,
  .honors .honor {
    grid-template-columns: 1fr;
    row-gap: 6px;
    padding: 20px 0 18px;
    text-align: center;
  }
  .honor .when {
    text-align: center;
    font-size: 24.18px;
  }
  .honor .when i {
    display: inline;
    margin: 0 .3em 0 0;
    font-size: 15px;
  }
  .honor .name {
    font-size: 18.24px;
    letter-spacing: .08em;
  }
  .honor .what {
    font-size: 15.5px;
    margin-top: 4px;
  }
  .honor .when .lz {
    display: none;
  }
  .honor .when i:only-child {
    display: inline;
  }
  .fifty .cols {
    grid-template-columns: 1fr;
    gap: 1em;
  }
  .fifty .figure {
    font-size: 139.5px;
  }
  .fifty .sticky,
  .index .sticky {
    position: static;
  }
  .index a {
    grid-template-columns: 34px 1fr 18px;
    gap: 4px 12px;
  }
  .index .no {
    grid-row: 1;
    grid-column: 1;
    font-size: 17px;
  }
  .index .pa {
    grid-column: 2;
    grid-row: 1;
  }
  .index .pd {
    grid-column: 2;
    grid-row: 2;
  }
  .index .pr {
    grid-column: 3;
    grid-row: 1/3;
  }
  .record div {
    grid-template-columns: 88px 1fr;
  }
  .record dd {
    font-size: 18.24px;
  }
  .lists {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .details {
    grid-template-columns: 1fr;
  }
  .details > div {
    padding: 20px 0 !important;
    border-right: 0 !important;
  }
  .foot-grid {
    grid-template-columns: 1fr;
  }
  .page-head {
    padding: 130px 0 64px;
  }
  .page-head .ghost {
    display: none;
  }
  .edu .edu-card {
    padding: 28px 24px;
  }
  .crains blockquote {
    text-indent: -.3em;
  }
  .related a {
    font-size: 19.2px;
  }
}
@media (max-width:380px) {
  .brand {
    gap: 9px;
  }
  .brand .mark {
    width: 48px;
    height: 26px;
  }
  .wordmark {
    padding-left: 9px;
  }
  .wm-name {
    font-size: 13.5px;
    letter-spacing: .07em;
  }
  .wm-sub {
    font-size: 9px;
    letter-spacing: .28em;
  }
}
@media (max-width:720px) and (max-height:700px) {
  .hero .portrait {
    height: 56svh;
  }
  .hero h1 {
    font-size: clamp(40.92px, 11.72vw, 52.08px);
  }
  .hero .lede {
    font-size: 18.24px;
  }
  .laurels .t {
    font-size: 12.8px;
  }
  .laurels .yr {
    font-size: 19.2px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
.cpage .firm-line {
  margin: 30px 0 0;
  padding-top: 20px;
  border-top: 3px double var(--gilt-deep);
  font-family: var(--display);
  font-size: 20.46px;
  line-height: 1.3;
  color: var(--ink);
  max-width: 20em;
}
.cpage .firm-line span {
  display: block;
  font-family: var(--text);
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-bottom: 8px;
}
@media (min-width:1021px) {
  .sketch-card {
    position: sticky;
    top: 110px;
  }
}
.wordmark {
  flex-direction: column-reverse;
}
.wordmark .wm-sub {
  margin-top: 0;
  margin-bottom: 6px;
}
.brand .his-logo {
  display: block;
  height: 36px;
  aspect-ratio: 4902/760;
  background: currentColor;
  -webkit-mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  flex: none;
}
.brand .his-logo-full {
  height: 58px;
  aspect-ratio: 4902/984;
  -webkit-mask-image: url(../img/logo-full.svg?v=76);
  mask-image: url(../img/logo-full.svg?v=76);
}
@media (max-width:760px) {
  .brand .his-logo {
    height: 30px;
  }
  .brand .his-logo-full {
    height: 50px;
  }
}
.fig.fig-words {
  font-size: .62em;
  line-height: 1.1;
  white-space: nowrap;
}
.crown .his-logo {
  display: block;
  position: relative;
  height: 34px;
  aspect-ratio: 4902/760;
  background: var(--gilt);
  -webkit-mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  margin-bottom: 22px;
}
.drawer .d-brand .his-logo {
  display: block;
  height: 30px;
  aspect-ratio: 4902/760;
  background: var(--ivory);
  -webkit-mask: url(../img/logo-top.svg?v=76) left center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) left center/contain no-repeat;
}
@media (max-width:760px) {
  .crown .his-logo {
    height: 26px;
    margin-bottom: 16px;
  }
}
.gild-on .g {
  background: none;
  color: var(--gilt);
  -webkit-text-fill-color: var(--gilt);
}
.gild-on .honor .what,
.honor .what {
  opacity: 1;
  transition: none;
}
:root {
  --gilt-text:#D9C18C;
}
.lockup {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  line-height: 0;
}
.lockup .pllc {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 5px;
  overflow: visible;
}
.lockup .pllc text {
  font-family:
    "Marcellus SC",
    Georgia,
    serif;
  font-size: 176.4px;
  fill: currentColor;
}
.brand .his-logo {
  height: 42px;
}
.site-head.scrolled .brand .his-logo {
  height: 38px;
}
.brand .lockup-foot .his-logo {
  height: 52px;
  -webkit-mask-image: url(../img/logo-top.svg?v=76);
  mask-image: url(../img/logo-top.svg?v=76);
  aspect-ratio: 4902/760;
}
.brand .lockup-foot .pllc {
  margin-top: 7px;
}
.crown {
  height: 132px;
}
.crown .lockup {
  margin-bottom: 18px;
  color: var(--gilt);
}
.crown .lockup .his-logo {
  margin-bottom: 0;
}
.drawer .d-brand .lockup {
  color: var(--ivory-2);
}
.kicker,
.lists h3,
.details .lab,
.site-foot h4,
.record dt {
  font-size: 14.5px;
}
.hall .kicker,
.civic .kicker,
.lists h3,
.details .lab,
.site-foot h4,
.record dt {
  color: var(--gilt-text);
}
.cream .details .lab {
  color: var(--oxblood);
}
.index .no,
.related a i {
  color: var(--gilt-dark);
}
.honor .what {
  font-size: 15.84px;
}
.honor .when i {
  font-size: 15.5px;
}
.index .pd {
  font-size: 15.84px;
}
.hero .portrait {
  opacity: 1;
}
.hero .lede {
  font-weight: 400;
  color: var(--ivory);
  margin-bottom: 18px;
}
.hero .meta {
  font-size: 17.67px;
  letter-spacing: .015em;
  line-height: 1.5;
  color: var(--ivory);
}
.hero .meta span {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero .meta span::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--gilt);
  transform: rotate(45deg);
  flex: none;
}
.seals {
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 720px;
  background: var(--cream);
  color: var(--ink);
  border-top: 3px double var(--gilt-deep);
  box-shadow: 0 24px 44px -26px rgba(0, 0, 0, .55);
}
.seals li {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 24px 18px 20px;
}
.seals li + li {
  border-left: 1px solid var(--rule-s);
}
.seal-img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 96px;
}
.seal-img img {
  max-height: 100%;
  width: auto;
  max-width: 100%;
}
.seals .t {
  font-size: 15px;
  line-height: 1.42;
  color: var(--ink-2);
}
.seals .t b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: 18.6px;
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 4px;
}
.index .pa-and {
  white-space: nowrap;
}
.hall-head {
  align-items: end;
}
.hall-crains {
  margin: 0;
  border-left: 1px solid var(--gilt);
  padding-left: 30px;
}
.hall-crains blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(22.5px, 1.98vw, 27.9px);
  line-height: 1.28;
  color: var(--ivory);
  text-indent: -.36em;
}
.hall-crains figcaption {
  margin-top: 16px;
  font-size: 15.5px;
  color: var(--ivory-2);
}
.board-title {
  text-transform: uppercase;
  font-size: clamp(19.8px, 2.07vw, 29.7px);
  letter-spacing: .16em;
}
.lead-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 15.5px;
  color: var(--ivory);
}
.quoted {
  padding: clamp(54px, 6vw, 80px) 0;
}
.quoted-grid {
  display: flex;
  align-items: baseline;
  gap: 20px clamp(40px, 6vw, 90px);
  flex-wrap: wrap;
  border-top: 3px double var(--gilt-deep);
  border-bottom: 1px solid var(--rule-s);
  padding-top: 30px;
  padding-bottom: 28px;
}
.quoted-h {
  font-family: var(--text);
  font-size: 14.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oxblood);
}
.pubs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  align-items: baseline;
}
.pubs li {
  font-family: var(--display);
  font-size: clamp(25.2px, 2.52vw, 36px);
  line-height: 1.1;
  color: var(--ink);
  display: flex;
  align-items: center;
}
.pubs li + li::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--gilt-deep);
  transform: rotate(45deg);
  margin: 0 clamp(22px, 3vw, 44px);
}
.career-lite {
  background: var(--green);
}
.lite-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(40px, 7vw, 110px);
  align-items: center;
}
.career-lite .register {
  border-top: 3px double var(--rule-g);
}
.career-lite .register li {
  border-bottom: 1px solid rgba(194, 165, 106, .24);
}
.career-lite .register .r1 {
  color: var(--ivory);
}
.career-lite .register .r2 {
  color: var(--ivory-2);
}
.career-lite .teach {
  margin: 26px 0 0;
  font-size: 16.8px;
  color: var(--ivory-2);
  max-width: 34em;
}
.career-lite .more {
  margin: 24px 0 0;
  font-size: 15.84px;
}
.career-lite .more a {
  color: var(--ivory);
}
.lite-q {
  margin: 0;
  padding: 34px 0 34px 34px;
  border-left: 1px solid var(--gilt);
}
.lite-q blockquote {
  margin: 0;
  font-style: italic;
  font-size: clamp(20.7px, 1.89vw, 26.1px);
  line-height: 1.4;
  color: var(--ivory);
  text-indent: -.4em;
}
.lite-q figcaption {
  margin-top: 18px;
  font-size: 15.5px;
  color: var(--ivory-2);
}
.notice-new {
  margin: 28px 0 0;
  max-width: 26em;
  padding: 18px 22px 17px;
  background: var(--cream-2);
  border-left: 2px solid var(--oxblood);
  font-size: 16.8px;
  line-height: 1.55;
  color: var(--ink);
}
.notice-new .lab {
  display: block;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-bottom: 6px;
}
.contact .details > div {
  grid-column: 1/-1;
  border-right: 0 !important;
  padding-left: 0 !important;
}
@media (max-width:1020px) {
  .lite-grid {
    grid-template-columns: 1fr;
  }
  .hall-head {
    align-items: start;
  }
}
@media (max-width:760px) {
  .brand .his-logo,
  .site-head.scrolled .brand .his-logo {
    height: 34px;
  }
  .lockup .pllc {
    margin-top: 4px;
  }
  .brand .lockup-foot .his-logo {
    height: 44px;
  }
  .crown {
    height: 104px;
  }
  .crown .lockup {
    margin-bottom: 12px;
  }
  .crown .his-logo {
    height: 24px;
  }
  .hero .meta {
    font-size: 16.5px;
    line-height: 1.45;
  }
  .hero .meta span {
    gap: 10px;
  }
  .hero .meta .place {
    display: flex;
  }
  .seals {
    margin: min(20px, 2.4svh) calc(var(--gut) * -1) 0;
    max-width: none;
  }
  .seals li {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 14px 13px;
    align-items: start;
    text-align: left;
  }
  .seal-img {
    height: 50px;
    justify-content: flex-start;
  }
  .seals .t {
    font-size: 13px;
    line-height: 1.36;
  }
  .seals .t b {
    font-size: 16.5px;
    margin-bottom: 2px;
  }
  .hall-crains {
    padding-left: 20px;
  }
  .board-title {
    font-size: 18.24px;
    letter-spacing: .1em;
    line-height: 1.35;
  }
  .pubs {
    flex-direction: column;
    align-items: flex-start;
  }
  .pubs li + li::before {
    display: none;
  }
  .pubs li {
    font-size: 26.04px;
  }
  .lite-q {
    padding: 24px 0 24px 22px;
  }
  .register .r1 {
    font-size: 21.12px;
  }
}
@media (max-width:380px) {
  .brand .his-logo,
  .site-head.scrolled .brand .his-logo {
    height: 30px;
  }
}
.lockup .pllc {
  width: 0;
  min-width: 100%;
}
.seals {
  position: relative;
  z-index: 2;
}
@media (max-width:760px) {
  .brand .his-logo,
  .site-head.scrolled .brand .his-logo {
    height: 37px;
  }
  .hero .meta {
    font-size: 15.5px;
    letter-spacing: 0;
  }
}
@media (max-width:380px) {
  .brand .his-logo,
  .site-head.scrolled .brand .his-logo {
    height: 34px;
  }
}
.pubs {
  align-items: baseline;
}
.pubs li {
  display: block;
}
.pubs li + li::before {
  display: inline-block;
  vertical-align: .32em;
}
@media (max-width:760px) {
  .pubs li + li::before {
    display: none;
  }
}
.said-grid {
  display: grid;
  grid-template-columns: 4fr 5fr 3fr;
  gap: clamp(30px, 5vw, 80px);
  align-items: start;
}
.said .h2 {
  color: var(--ink);
  font-size: clamp(30.6px, 3.06vw, 43.2px);
}
.said-q {
  margin: 0;
  padding-top: 22px;
  border-top: 3px double var(--gilt-deep);
}
.said-q blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(20.7px, 1.8vw, 26.1px);
  line-height: 1.3;
  color: var(--ink);
  text-indent: -.36em;
}
.said-q figcaption {
  margin-top: 14px;
  font-size: 15.5px;
  color: var(--ink-2);
}
.said-q cite {
  font-style: italic;
}
.cpage .notice-new {
  margin-top: 0;
}
@media (max-width:1020px) {
  .said-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width:721px) and (max-aspect-ratio:1/1) {
  .hero .portrait {
    top: 96px;
    bottom: auto;
    height: min(50svh, 700px);
    right: max(var(--gut), calc(50vw - 520px));
    -webkit-mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 26%,
        #000 80%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 60%,
        transparent 98%);
    mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 26%,
        #000 80%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 60%,
        transparent 98%);
  }
  .hero-copy {
    padding-top: 0;
    margin-top: auto;
    margin-bottom: 0;
    position: relative;
    isolation: isolate;
  }
  .hero-copy::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    left: calc(var(--gut) * -1);
    right: calc(var(--gut) * -1);
    top: -90px;
    bottom: -30px;
    background:
      linear-gradient(
        to bottom,
        rgba(19, 52, 39, 0) 0,
        rgba(19, 52, 39, .92) 70px,
        var(--green) 96px);
  }
  .seals {
    position: relative;
    z-index: 2;
  }
}
.quoted-grid {
  align-items: center;
}
.pubs-logos {
  align-items: center;
}
.pubs-logos li {
  display: flex;
  align-items: center;
}
.pubs-logos img {
  display: block;
  height: auto;
  max-width: 100%;
}
.pubs-logos .pub-wsj {
  width: clamp(250px, 24vw, 330px);
}
.pubs-logos .pub-trib {
  width: clamp(210px, 19.5vw, 270px);
}
.pubs-logos li + li::before {
  display: inline-block;
  vertical-align: middle;
  flex: none;
}
@media (max-width:760px) {
  .pubs-logos {
    gap: 22px;
  }
  .pubs-logos .pub-wsj {
    width: min(300px, 100%);
  }
  .pubs-logos .pub-trib {
    width: min(240px, 80%);
  }
}
@media (max-width:760px) {
  .pubs-logos {
    align-items: flex-start;
  }
  .pubs-logos li + li::before {
    display: none;
  }
}
@media (max-width:720px) {
  .hero .portrait {
    right: auto;
    left: 50%;
    transform: translateX(-53%);
    -webkit-mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 12%,
        #000 90%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 72%,
        transparent 99%);
    mask-image:
      linear-gradient(
        to right,
        transparent 0,
        #000 12%,
        #000 90%,
        transparent 100%),
      linear-gradient(
        to bottom,
        #000 72%,
        transparent 99%);
  }
}
@media (max-width:720px) {
  .hero-copy::before {
    top: -130px;
    background:
      linear-gradient(
        to bottom,
        rgba(19, 52, 39, 0) 0,
        rgba(19, 52, 39, .35) 50px,
        rgba(19, 52, 39, .78) 100px,
        rgba(19, 52, 39, .94) 130px,
        var(--green) 160px);
  }
}
@media (max-width:720px) and (max-height:700px) {
  .hero-copy::before {
    top: -70px;
    background:
      linear-gradient(
        to bottom,
        rgba(19, 52, 39, 0) 0,
        rgba(19, 52, 39, .6) 40px,
        rgba(19, 52, 39, .94) 70px,
        var(--green) 92px);
  }
}
:root {
  --stone-hi:#ECE6D6;
  --stone-lo:#D3CBB6;
}
.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr auto;
  column-gap: clamp(40px, 6vw, 110px);
  align-items: end;
}
.hero-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  margin: 0;
  padding-top: 130px;
}
.hero .seals {
  grid-column: 1;
  grid-row: 2;
  margin-top: 40px;
}
.niche {
  grid-column: 2;
  grid-row: 1/3;
  align-self: end;
  justify-self: end;
  margin: 0 clamp(0px, 2vw, 30px) 0 0;
  position: relative;
  height: clamp(500px, calc(100svh - 196px), 720px);
  aspect-ratio: 1280/1880;
  filter: drop-shadow(0 34px 44px rgba(4, 16, 11, .5));
}
.niche .arch {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: 50% 50% 0 0/24% 24% 0 0;
  background:
    radial-gradient(
      ellipse 70% 46% at 50% 30%,
      rgba(255, 252, 242, .55),
      transparent 72%),
    linear-gradient(
      180deg,
      var(--stone-hi) 0%,
      #E1DAC8 55%,
      var(--stone-lo) 100%);
}
.niche .arch::before {
  content: "";
  position: absolute;
  inset: 9px 9px 0;
  border: 1px solid rgba(126, 100, 49, .42);
  border-bottom: 0;
  border-radius: 50% 50% 0 0/23% 23% 0 0;
  pointer-events: none;
  z-index: 1;
}
.niche img {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 94%;
  height: auto;
  max-width: none;
  transform: translateX(-50%);
}
.niche::after {
  content: "";
  position: absolute;
  left: -16px;
  right: -16px;
  bottom: -5px;
  height: 5px;
  background: var(--gilt);
  border-top: 1px solid #E3CD98;
  border-bottom: 1px solid #8C7039;
}
.hero .meta-two {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  font-family: var(--display);
  font-size: clamp(19.8px, 1.62vw, 23.4px);
  line-height: 1.25;
  letter-spacing: .005em;
  color: var(--ivory);
}
.hero .meta-two span {
  display: block;
}
.hero .meta-two span::before {
  display: none;
}
.hero .meta-two .meta-sep {
  width: 46px;
  height: 1px;
  background: var(--gilt);
  margin: 13px 0 12px;
}
.decades .dec-h {
  font-size: clamp(30.6px, 3.24vw, 46.8px);
  line-height: 1.12;
  color: var(--ink);
  max-width: 20em;
  padding-bottom: clamp(30px, 3.2vw, 44px);
  margin-bottom: clamp(34px, 3.6vw, 50px);
  border-bottom: 3px double var(--gilt-deep);
}
.dec-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.dec-lead {
  font-size: clamp(19.53px, 1.63vw, 22.79px);
  line-height: 1.56;
  color: var(--ink);
  margin: 0;
}
.dec-side p {
  font-size: 18.14px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0;
}
.dec-side .dec-close {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 2px solid var(--oxblood);
  font-family: var(--display);
  font-size: clamp(21.6px, 1.89vw, 26.1px);
  line-height: 1.22;
  color: var(--ink);
  display: inline-block;
  max-width: 14em;
}
.decades .index {
  margin-top: clamp(76px, 8vw, 116px);
}
.index .index-note .ln-under {
  font-style: normal;
  white-space: nowrap;
}
.lead-q {
  margin: 0 0 clamp(56px, 6vw, 86px);
  max-width: 1080px;
}
.lead-q::before {
  content: "";
  display: block;
  width: 64px;
  height: 1px;
  background: var(--gilt);
  margin-bottom: 32px;
}
.lead-q blockquote {
  margin: 0;
}
.lead-q blockquote p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(29.7px, 3.42vw, 48.6px);
  line-height: 1.16;
  color: var(--ivory);
  text-indent: -.36em;
  letter-spacing: -.003em;
}
.lead-q figcaption {
  margin-top: 26px;
  font-size: 14.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gilt-text);
}
.career-lite .lite-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
  border-top: 1px solid var(--rule-g);
  padding-top: clamp(36px, 4vw, 52px);
}
.lite-h {
  font-size: clamp(25.2px, 2.16vw, 30.6px);
  color: var(--gilt);
  margin-bottom: 6px;
}
.career-lite .register {
  margin-top: 18px;
}
.career-lite .lite-side .teach {
  margin: 0;
}
.quoted-five {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  row-gap: 30px;
}
.quoted-five .pubs-more {
  margin: 0;
  font-style: italic;
  font-size: 15.5px;
  color: var(--ink-2);
  text-align: right;
}
.pubs-five {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
}
.pubs-five li {
  display: flex;
  align-items: center;
}
.pubs-five li + li::before {
  margin: 0 clamp(10px, 1.5vw, 24px);
}
.pubs-five .pub-wsj {
  width: clamp(150px, 15vw, 214px);
}
.pubs-five .pub-nyt {
  width: clamp(150px, 15vw, 212px);
}
.pubs-five .pub-trib {
  width: clamp(118px, 12vw, 170px);
}
.pubs-five .pub-lat {
  width: clamp(150px, 15vw, 214px);
}
.pub-crains {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  color: #1e1917;
  white-space: nowrap;
}
.pub-crains b {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(22.5px, 1.98vw, 28.8px);
  letter-spacing: -.01em;
}
.pub-crains i {
  font-style: normal;
  font-family: var(--text);
  font-weight: 500;
  font-size: clamp(8.5px, .72vw, 10.5px);
  letter-spacing: .26em;
  text-transform: uppercase;
  margin-top: 4px;
}
@media (max-width:1020px) {
  .dec-grid,
  .career-lite .lite-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pubs-five {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 26px 22px;
    justify-items: center;
  }
  .pubs-five li + li::before {
    display: none;
  }
}
@media (max-width:760px) {
  .quoted-five {
    grid-template-columns: 1fr;
    row-gap: 22px;
  }
  .quoted-five .pubs-more {
    text-align: left;
    grid-row: 3;
  }
  .pubs-five {
    grid-template-columns: 1fr 1fr;
    gap: 26px 18px;
    justify-items: start;
  }
  .pubs-five li:last-child {
    grid-column: 1/-1;
  }
  .pubs-five .pub-wsj,
  .pubs-five .pub-nyt,
  .pubs-five .pub-lat {
    width: min(156px, 100%);
  }
  .pubs-five .pub-trib {
    width: min(128px, 100%);
  }
  .pub-crains {
    align-items: flex-start;
  }
  .pub-crains b {
    font-size: 25.11px;
  }
  .pub-crains i {
    font-size: 9px;
  }
  .lead-q blockquote p {
    font-size: clamp(25.11px, 7.07vw, 29.76px);
    text-indent: -.3em;
  }
  .lead-q figcaption {
    font-size: 13px;
    line-height: 1.5;
  }
  .decades .dec-h {
    font-size: clamp(26.97px, 7.44vw, 31.62px);
  }
  .dec-lead {
    font-size: 19.2px;
  }
}
@media (max-width:720px), (min-width:721px) and (max-aspect-ratio:1/1) {
  .hero-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-content: end;
  }
  .niche {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    margin: 0;
  }
  .hero-copy {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    padding-top: 0;
    margin: 0;
  }
  .hero-copy::before {
    display: none;
  }
  .hero .seals {
    grid-row: 3;
  }
}
@media (max-width:720px) {
  .hero-inner {
    padding-top: 84px;
    padding-bottom: max(16px, 2svh);
  }
  .niche {
    height: clamp(240px, 37svh, 330px);
    filter: drop-shadow(0 20px 26px rgba(4, 16, 11, .5));
  }
  .niche::after {
    left: -12px;
    right: -12px;
    height: 4px;
    bottom: -4px;
  }
  .hero-copy {
    padding-top: min(22px, 2.6svh);
  }
  .hero h1 {
    font-size: clamp(40.92px, 11.53vw, 50.22px);
  }
  .hero .rule {
    margin: min(14px, 1.8svh) 0 min(12px, 1.5svh);
  }
  .hero .lede {
    font-size: clamp(18.24px, 4.99vw, 20.16px);
    margin-bottom: min(10px, 1.2svh);
  }
  .hero .meta-two {
    font-size: clamp(16.32px, 4.51vw, 18.24px);
  }
  .hero .meta-two .meta-sep {
    margin: 7px 0 6px;
    width: 36px;
  }
  .hero .seals {
    margin-top: min(18px, 2.2svh);
  }
}
@media (min-width:721px) and (max-aspect-ratio:1/1) {
  .hero-inner {
    padding-top: 120px;
  }
  .niche {
    height: min(44svh, 560px);
  }
  .hero-copy {
    padding-top: 40px;
  }
}
@media (min-width:721px) and (max-width:1180px) and (min-aspect-ratio:1/1) {
  .niche {
    height: clamp(440px, calc(100svh - 230px), 600px);
  }
  .hero h1 {
    font-size: clamp(52.2px, 6.66vw, 75.6px);
  }
  .hero .seals li {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px 18px 15px;
  }
  .hero .seal-img {
    height: 58px;
    justify-content: flex-start;
  }
  .hero .seals .t {
    font-size: 14px;
  }
}
@media (max-width:720px) and (max-height:700px) {
  .hero-inner {
    padding-top: 78px;
  }
  .niche {
    height: min(29svh, 200px);
  }
  .hero-copy {
    padding-top: 12px;
  }
  .hero h1 {
    font-size: clamp(35.34px, 9.86vw, 40.92px);
  }
  .hero .rule {
    margin: 10px 0 9px;
    width: 48px;
  }
  .hero .lede {
    font-size: 18px;
    margin-bottom: 6px;
  }
  .hero .meta-two {
    font-size: 16.5px;
  }
  .hero .meta-two .meta-sep {
    margin: 5px 0 4px;
  }
  .hero .seals {
    margin-top: 12px;
  }
  .hero .seals li {
    padding: 9px 12px 10px;
    gap: 5px;
  }
  .hero .seal-img {
    height: 40px;
  }
  .hero .seals .t {
    font-size: 12.5px;
    line-height: 1.32;
  }
  .hero .seals .t b {
    font-size: 15.5px;
  }
}
.decades .dec-h {
  max-width: none;
  text-wrap: balance;
}
.index .index-note .ln-under {
  display: inline-block;
  margin-top: 10px;
}
.page-head.ph-compact {
  padding: clamp(136px, 13vw, 168px) 0 clamp(48px, 5vw, 70px);
}
.ph-compact h1 {
  font-size: clamp(39.6px, 4.68vw, 68.4px);
  max-width: 15em;
}
.ph-compact .intro {
  margin-top: 22px;
  font-size: clamp(17.67px, 1.53vw, 21.86px);
  max-width: 30em;
}
.ph-compact .crumb {
  margin-bottom: 18px;
}
.ph-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
}
.ph-logo {
  color: var(--gilt);
  opacity: .34;
  padding-bottom: 8px;
}
.ph-logo .his-logo {
  display: block;
  height: 58px;
  aspect-ratio: 4902/760;
  background: currentColor;
  -webkit-mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
}
.ph-num {
  position: relative;
  width: clamp(130px, 12vw, 176px);
  aspect-ratio: 176/214;
  border: 1px solid rgba(194, 165, 106, .6);
  border-bottom: 0;
  border-radius: 50% 50% 0 0/36% 36% 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: -1px;
}
.ph-num::before {
  content: "";
  position: absolute;
  inset: 7px 7px 0;
  border: 1px solid rgba(194, 165, 106, .3);
  border-bottom: 0;
  border-radius: 50% 50% 0 0/34% 34% 0 0;
}
.ph-num::after {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  bottom: 0;
  height: 3px;
  background: var(--gilt);
}
.ph-num .g {
  font-family: var(--display);
  font-size: clamp(45px, 4.14vw, 61.2px);
  line-height: 1;
  color: var(--gilt);
  letter-spacing: .04em;
  padding-top: .32em;
}
.gilding {
  background-image:
    linear-gradient(
      100deg,
      var(--gilt) 0%,
      var(--gilt) 41%,
      #E8D39C 46%,
      var(--gilt-hi) 50%,
      #E8D39C 54%,
      rgba(194, 165, 106, .18) 59%,
      rgba(194, 165, 106, .18) 100%);
  background-size: 300% 100%;
  background-position: var(--gx,100%) 0;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
}
.cream2 {
  background: var(--cream-2);
  color: var(--ink);
}
.stone {
  background: var(--stone);
  color: var(--ink);
}
.baize {
  background: var(--green);
  color: var(--ivory);
}
.lab-sm {
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 14px;
}
.baize .lab-sm {
  color: var(--gilt-text);
}
.ab-personal {
  padding: clamp(70px, 8vw, 120px) 0;
}
.ab-personal-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 100px);
  align-items: center;
}
.frame {
  margin: 0;
  max-width: 420px;
  padding: 14px;
  background: var(--stone);
  border: 1px solid var(--gilt-deep);
  box-shadow: 0 30px 50px -34px rgba(20, 48, 31, .45);
  position: relative;
}
.frame::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(126, 100, 49, .28);
  pointer-events: none;
}
.frame img {
  width: 100%;
  height: auto;
  display: block;
}
.ab-statement {
  font-family: var(--display);
  font-size: clamp(25.2px, 2.43vw, 34.2px);
  line-height: 1.22;
  color: var(--ink);
  margin: 0 0 34px;
  padding-left: 28px;
  border-left: 2px solid var(--oxblood);
  text-wrap: pretty;
}
.ab-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 44px);
  padding-top: 28px;
  border-top: 3px double var(--gilt-deep);
}
.ab-body p {
  margin: 0;
  font-size: 16.8px;
  line-height: 1.62;
  color: var(--ink-2);
}
.ab-teach {
  background: var(--cream-2);
  color: var(--ink);
  padding: clamp(80px, 9vw, 130px) 0;
}
.ab-teach .h2 {
  color: var(--ink);
  font-size: clamp(30.6px, 3.15vw, 45px);
  max-width: 17em;
}
.ab-teach .kicker {
  color: var(--oxblood);
}
.ab-teach-head {
  margin-bottom: clamp(40px, 4.5vw, 60px);
}
.ab-teach-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: stretch;
}
.ab-lab {
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 14px;
}
.ab-course {
  background: var(--green);
  color: var(--ivory);
  padding: clamp(30px, 3.4vw, 46px);
  position: relative;
}
.ab-course::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid var(--rule-g);
  pointer-events: none;
}
.ab-course .ab-lab {
  color: var(--gilt-text);
}
.ab-school {
  font-family: var(--display);
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.2;
  margin: 0 0 18px;
  color: var(--ivory);
}
.ab-courses {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  border-top: 1px solid var(--rule-g);
}
.ab-courses li {
  font-family: var(--display);
  font-size: clamp(27px, 2.7vw, 37.8px);
  line-height: 1.1;
  color: var(--gilt);
  padding: 16px 0 14px;
  border-bottom: 1px solid var(--rule-g);
}
.ab-mt {
  margin: 0;
  font-size: 15.84px;
  color: var(--ivory-2);
}
.ab-mt b {
  display: block;
  font-weight: 400;
  font-family: var(--display);
  font-size: 20.46px;
  color: var(--ivory);
  margin-bottom: 2px;
}
.ab-programs {
  padding-top: 4px;
}
.ab-prog-major {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.ab-prog-major li {
  font-family: var(--display);
  font-size: clamp(22.5px, 2.07vw, 28.8px);
  line-height: 1.2;
  color: var(--ink);
  padding: 16px 0 14px;
  border-bottom: 1px solid var(--rule-s);
}
.ab-prog-major li span {
  display: block;
  font-family: var(--text);
  font-size: 15.5px;
  font-style: italic;
  color: var(--ink-2);
  margin-top: 3px;
}
.ab-prog-minor {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ab-prog-minor li {
  font-size: 17.21px;
  color: var(--ink);
  padding: 9px 0;
  border-bottom: 1px solid var(--rule-s);
}
.ab-lab-2 {
  margin-top: 0;
}
.ab-more {
  margin: 26px 0 0;
  font-size: 15.84px;
}
.ab-career {
  background: var(--green);
  padding: clamp(80px, 9vw, 130px) 0;
}
.ab-career-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: start;
}
.ab-career .h2 {
  font-size: clamp(30.6px, 3.15vw, 45px);
  margin-bottom: clamp(30px, 3.4vw, 46px);
}
.plates {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.plate {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 24px 22px 22px;
  color: #2a2312;
  background:
    linear-gradient(
      160deg,
      #D9C391 0%,
      #C4A86C 38%,
      #B39456 70%,
      #C9AF77 100%);
  border: 1px solid #8C7039;
  box-shadow:
    inset 0 1px 0 rgba(255, 246, 214, .6),
    inset 0 -1px 0 rgba(90, 70, 30, .45),
    0 18px 30px -18px rgba(0, 0, 0, .6);
}
.plate::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(70, 52, 18, .35);
  pointer-events: none;
}
.plate::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  background:
    linear-gradient(
      100deg,
      transparent,
      rgba(255, 250, 228, .55),
      transparent);
  transform: translateX(var(--sx,-120%)) skewX(-14deg);
  pointer-events: none;
  opacity: var(--so,0);
}
.pl-name {
  font-family: var(--display);
  font-size: clamp(19.53px, 1.63vw, 23.25px);
  line-height: 1.15;
  color: #231d0f;
}
.pl-what {
  font-size: 15px;
  line-height: 1.45;
  color: #3b311a;
  font-style: italic;
}
.pl-lab {
  font-size: 12.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #4a3d1f;
}
.plate-own {
  margin-top: 18px;
  align-items: center;
  text-align: center;
  padding: 26px 30px 24px;
  gap: 12px;
}
.plate-own .lockup {
  color: #231d0f;
  width: min(340px, 100%);
}
.plate-own .his-logo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4902/760;
  background: currentColor;
  -webkit-mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
}
.plate-own .pllc {
  margin-top: 6px;
}
.ab-also {
  border-top: 1px solid var(--gilt);
  padding-top: 22px;
  margin-top: clamp(64px, 6vw, 94px);
}
.ab-also h3 {
  font-family: var(--text);
  font-size: 14px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gilt-text);
  margin-bottom: 6px;
}
.ab-also ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ab-also li {
  font-family: var(--display);
  font-size: 19.53px;
  line-height: 1.25;
  color: var(--ivory);
  padding: 14px 0 13px;
  border-bottom: 1px solid rgba(194, 165, 106, .22);
}
.ab-also li span {
  display: block;
  font-family: var(--text);
  font-size: 15.5px;
  font-style: italic;
  color: var(--ivory-2);
  margin-top: 3px;
}
.ab-record {
  padding: clamp(80px, 9vw, 130px) 0 clamp(50px, 5vw, 70px);
}
.ab-record-h {
  color: var(--ink);
  font-size: clamp(28.8px, 2.88vw, 41.4px);
  margin-bottom: clamp(34px, 3.6vw, 50px);
}
.ab-record-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 4.4vw, 70px);
}
.ab-record-grid h3 {
  font-family: var(--text);
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--oxblood);
  padding-bottom: 13px;
  border-bottom: 3px double var(--gilt-deep);
}
.ab-record-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ab-record-grid li {
  padding: 13px 0 12px;
  border-bottom: 1px solid var(--rule-s);
  font-size: 16.74px;
  line-height: 1.38;
  color: var(--ink);
}
.ab-record-grid li span {
  display: block;
  font-size: 15.5px;
  font-style: italic;
  color: var(--ink-2);
  margin-top: 2px;
}
.ab-record-grid .hl {
  font-family: var(--display);
  font-size: 20.46px;
}
.ab-record-grid .hl span {
  font-family: var(--text);
}
.ab-edu {
  margin: 0;
}
.ab-edu dt {
  font-family: var(--display);
  font-size: 22.32px;
  line-height: 1.22;
  color: var(--ink);
  padding-top: 14px;
}
.ab-edu dd {
  margin: 3px 0 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rule-s);
  font-style: italic;
  font-size: 15.84px;
  color: var(--ink-2);
}
.ab-close {
  padding: clamp(40px, 4vw, 60px) 0 clamp(90px, 9vw, 130px);
}
.ab-close-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: end;
  border-top: 1px solid var(--rule-s);
  padding-top: clamp(40px, 4vw, 56px);
}
.ab-q {
  margin: 0;
}
.ab-q blockquote {
  margin: 0;
}
.ab-q p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(24.3px, 2.34vw, 33.3px);
  line-height: 1.22;
  color: var(--ink);
  text-indent: -.36em;
}
.ab-q figcaption {
  margin-top: 18px;
  font-size: 15.5px;
  color: var(--ink-2);
  display: flex;
  align-items: center;
  gap: 14px;
}
.ab-q figcaption::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--oxblood);
  flex: none;
}
.ab-ccq {
  margin: 0;
  padding: 24px 26px 22px;
  background: var(--green);
  color: var(--ivory-2);
  font-size: 15.5px;
  position: relative;
}
.ab-ccq::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid var(--rule-g);
  pointer-events: none;
}
.ab-ccq b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(22.5px, 1.98vw, 27.9px);
  line-height: 1.15;
  color: var(--gilt);
  margin-bottom: 8px;
}
@media (max-width:1020px) {
  .ph-grid {
    grid-template-columns: 1fr;
  }
  .ph-logo,
  .ph-mark {
    display: none;
  }
  .ab-personal-grid,
  .ab-teach-grid,
  .ab-career-grid,
  .ab-close-grid {
    grid-template-columns: 1fr;
  }
  .ab-record-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ab-also {
    margin-top: 10px;
  }
  .frame {
    justify-self: center;
  }
}
@media (max-width:760px) {
  .page-head.ph-compact {
    padding: 112px 0 40px;
  }
  .ph-compact h1 {
    font-size: clamp(35.34px, 9.67vw, 42.78px);
  }
  .ph-compact .intro {
    font-size: 17.76px;
    margin-top: 16px;
  }
  .ph-compact .crumb {
    margin-bottom: 12px;
    font-size: 13.5px;
  }
  .ab-personal {
    padding: 44px 0 64px;
  }
  .ab-personal-grid {
    gap: 36px;
  }
  .frame {
    max-width: 300px;
  }
  .ab-statement {
    font-size: 23.25px;
    padding-left: 20px;
  }
  .ab-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .plates {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .plate {
    padding: 20px 20px 18px;
  }
  .ab-record-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ab-courses li {
    font-size: 27.9px;
  }
}
.ph-num-wide {
  width: clamp(170px, 15vw, 214px);
  aspect-ratio: 214/200;
}
.ph-num-wide .g {
  font-size: clamp(36px, 3.24vw, 48.6px);
}
.pa-intro {
  padding: clamp(64px, 7vw, 110px) 0;
}
.pa-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: stretch;
}
.pa-intro-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pa-first {
  font-family: var(--display);
  font-size: clamp(21.6px, 1.94vw, 27px);
  line-height: 1.34;
  color: var(--ink);
  margin: 0 0 30px;
}
.pa-second {
  margin: 0;
  padding-top: 26px;
  border-top: 3px double var(--gilt-deep);
  font-size: clamp(17.67px, 1.4vw, 19.53px);
  line-height: 1.6;
  color: var(--ink-2);
  font-style: italic;
}
.pa-ring-panel {
  margin: 0;
  padding: clamp(18px, 2.4vw, 34px);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pa-ring-panel::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid var(--rule-g);
  pointer-events: none;
}
.ring {
  width: 100%;
  height: auto;
  max-width: 640px;
  overflow: visible;
}
.ring-base {
  fill: none;
  stroke: rgba(194, 165, 106, .32);
  stroke-width: 1;
}
.ring-inner {
  fill: none;
  stroke: rgba(194, 165, 106, .2);
  stroke-width: 1;
}
.ring-run {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 2.2;
}
.ring-c1 {
  font-family: var(--display);
  font-size: 29.7px;
  fill: var(--ivory);
}
.node {
  cursor: pointer;
  outline: none;
}
.node-c {
  fill: var(--green);
  stroke: var(--gilt);
  stroke-width: 1.4;
  transition: fill .35s, stroke .35s;
}
.node-n {
  font-family: var(--display);
  font-size: 17.67px;
  fill: var(--gilt);
  letter-spacing: .04em;
  transition: fill .35s;
}
.node-l {
  font-family: var(--text);
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  fill: var(--ivory-2);
  transition: fill .35s;
}
.node:hover .node-c,
.node:focus-visible .node-c,
.node.hot .node-c {
  fill: var(--gilt);
}
.node:hover .node-n,
.node:focus-visible .node-n,
.node.hot .node-n {
  fill: var(--green-ink);
}
.node:hover .node-l,
.node:focus-visible .node-l,
.node.hot .node-l {
  fill: var(--gilt-text);
}
.node.dim .node-c {
  stroke: rgba(194, 165, 106, .35);
}
.node.dim .node-n {
  fill: rgba(194, 165, 106, .4);
}
.node.dim .node-l {
  fill: rgba(238, 231, 213, .38);
}
.pa-seven {
  background: var(--cream-2);
  color: var(--ink);
  padding: clamp(70px, 8vw, 120px) 0;
}
.pa-seven-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 30px;
  padding-bottom: 22px;
  border-bottom: 3px double var(--gilt-deep);
}
.pa-seven .h2 {
  color: var(--ink);
  font-size: clamp(28.8px, 2.88vw, 41.4px);
}
.pa-seven-head p {
  margin: 0;
  font-style: italic;
  color: var(--ink-2);
}
.pa-entries {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(40px, 5vw, 80px);
}
.pa-entries li {
  border-bottom: 1px solid var(--rule-s);
}
.pa-entries li:last-child {
  grid-column: 1/-1;
}
.pa-entries a {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 8px;
  padding: 26px 0 24px;
  text-decoration: none;
  color: var(--ink);
  transition: padding .4s cubic-bezier(.2, .7, .2, 1), background-color .4s;
}
.pe-no {
  grid-row: 1/4;
  font-family: var(--display);
  font-size: 20.46px;
  color: var(--gilt-dark);
  letter-spacing: .04em;
  padding-top: 4px;
}
.pe-t {
  font-family: var(--display);
  font-size: clamp(21.6px, 1.89vw, 27px);
  line-height: 1.15;
  transition: color .3s;
}
.pe-t .nw {
  white-space: nowrap;
}
.pe-d {
  font-size: 16.8px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 34em;
}
.pe-go {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-top: 4px;
}
.pe-go svg {
  color: var(--oxblood);
  transition: translate .4s cubic-bezier(.2, .7, .2, 1);
}
.pa-entries a:hover,
.pa-entries a:focus-visible {
  padding-left: 12px;
  background: rgba(86, 28, 32, .04);
}
.pa-entries a:hover .pe-t {
  color: var(--oxblood);
}
.pa-entries a:hover .pe-go svg {
  translate: 6px 0;
}
@media (max-width:1020px) {
  .pa-intro-grid {
    grid-template-columns: 1fr;
  }
  .pa-entries {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .pa-ring-panel {
    margin: 0 calc(var(--gut) * -1);
    padding: 18px 6px;
  }
  .node-l {
    display: none;
  }
  .node-c {
    r: 30px;
  }
  .node-n {
    font-size: 23.25px;
    transform: translateY(2px);
    transform-box: fill-box;
  }
  .ring-c1 {
    font-size: 37.2px;
  }
  .pa-first {
    font-size: 22.08px;
  }
  .pa-entries a {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .pa-seven-head {
    flex-direction: column;
    gap: 6px;
  }
}
.pe-go {
  display: block;
}
.pe-go svg {
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}
.ph-compact .wrap.ph-grid {
  position: relative;
}
@media (max-width:1020px) {
  .ph-num {
    position: absolute;
    right: var(--gut);
    top: -4px;
    width: 84px;
    margin: 0;
  }
  .ph-num-wide {
    width: 110px;
  }
  .ph-num .g {
    font-size: 27px;
  }
  .ph-num-wide .g {
    font-size: 22.32px;
  }
  .ph-num::after {
    left: -8px;
    right: -8px;
    height: 2px;
  }
  .ph-num::before {
    inset: 5px 5px 0;
  }
}
@media (max-width:1020px) {
  .ph-num {
    position: relative;
    right: auto;
    top: auto;
    order: -1;
    width: 70px;
    margin: 0 0 20px 10px;
  }
  .ph-num-wide {
    width: 96px;
  }
  .ph-num .g {
    font-size: 23.25px;
  }
  .ph-num-wide .g {
    font-size: 19.53px;
  }
}
@media (max-width:760px) {
  .ph-num {
    width: 58px;
    margin: 0 0 12px 8px;
  }
  .ph-num-wide {
    width: 80px;
  }
  .ph-num .g {
    font-size: 20.16px;
  }
  .ph-num-wide .g {
    font-size: 18px;
  }
}
.ph-practice h1 {
  max-width: 17em;
  font-size: clamp(37.8px, 4.32vw, 63px);
}
.pa-close {
  background: var(--cream);
  color: var(--ink);
  padding: clamp(60px, 6vw, 90px) 0 clamp(70px, 7vw, 100px);
}
.pa-pn {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 20px;
  align-items: stretch;
  border-top: 3px double var(--gilt-deep);
  border-bottom: 1px solid var(--rule-s);
}
.pn {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px 0 24px;
  text-decoration: none;
  color: var(--ink);
  transition: color .3s, padding .4s cubic-bezier(.2, .7, .2, 1);
}
.pn-next {
  text-align: right;
  align-items: flex-end;
}
.pn-all {
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-left: 30px;
  padding-right: 30px;
  border-left: 1px solid var(--rule-s);
  border-right: 1px solid var(--rule-s);
}
.pn-dir {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--oxblood);
}
.pn-prev .pn-dir svg {
  transform: scaleX(-1);
}
.pn-dir svg {
  transition: translate .4s cubic-bezier(.2, .7, .2, 1);
}
.pn-t {
  font-family: var(--display);
  font-size: clamp(18.9px, 1.62vw, 23.4px);
  line-height: 1.2;
}
.pn-t i {
  font-style: normal;
  font-size: .72em;
  color: var(--gilt-dark);
  letter-spacing: .05em;
  margin-right: .6em;
}
.pn:hover .pn-t,
.pn:focus-visible .pn-t {
  color: var(--oxblood);
}
.pn-prev:hover .pn-dir svg {
  translate: -6px 0;
}
.pn-next:hover .pn-dir svg {
  translate: 6px 0;
}
.pa-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 14px clamp(26px, 4vw, 60px);
  padding-top: 26px;
}
.pa-strip p {
  margin: 0;
}
.pa-strip-h {
  font-family: var(--display);
  font-size: 22.32px;
  color: var(--ink);
  margin-right: auto !important;
}
.pa-strip-v {
  font-size: 16.74px;
  color: var(--ink);
}
.pa-strip-v .lab {
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-right: 12px;
}
.pa-strip-v a:not(.ln-under) {
  color: var(--ink);
  text-decoration: none;
  background: linear-gradient(var(--oxblood), var(--oxblood)) 0 100%/0 1px no-repeat;
  transition: background-size .45s, color .3s;
}
.pa-strip-v a:not(.ln-under):hover {
  color: var(--oxblood);
  background-size: 100% 1px;
}
.pa-strip .ln-under {
  background-image: linear-gradient(var(--rule-s), var(--rule-s)), linear-gradient(var(--oxblood), var(--oxblood));
}
.pa-strip .ln-under:hover {
  color: var(--oxblood);
}
.ta-lead {
  padding: clamp(64px, 7vw, 104px) 0;
}
.ta-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
.ta-statement {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(27.9px, 2.97vw, 43.2px);
  line-height: 1.16;
  color: var(--ink);
  text-wrap: balance;
}
.ta-lead-side p {
  margin: 0;
  padding-top: 22px;
  border-top: 2px solid var(--oxblood);
  font-size: 17.21px;
  line-height: 1.62;
  color: var(--ink-2);
}
.ta-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ta-panel {
  display: flex;
}
.ta-panel.stone {
  justify-content: flex-end;
}
.ta-panel-in {
  width: 100%;
  max-width: 620px;
  padding: clamp(56px, 6vw, 90px) clamp(22px, 4.4vw, 64px);
}
.ta-panel h2 {
  font-size: clamp(23.4px, 2.16vw, 30.6px);
  line-height: 1.16;
  color: var(--ink);
  margin-bottom: 26px;
  max-width: 15em;
}
.ta-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.ta-list li {
  font-size: 17.67px;
  line-height: 1.4;
  color: var(--ink);
  padding: 14px 0 13px;
  border-bottom: 1px solid var(--rule-s);
}
.ta-list li span {
  font-style: italic;
  color: var(--ink-2);
  font-size: 15.84px;
  margin-left: .5em;
}
.ta-fid {
  padding: clamp(70px, 8vw, 120px) 0;
}
.ta-fid-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.ta-fid .h2 {
  font-size: clamp(28.8px, 2.88vw, 41.4px);
  margin-bottom: 24px;
}
.ta-fid-text p:not(.lab-sm) {
  font-size: 17.21px;
  color: var(--ivory-2);
  max-width: 28em;
  margin: 0 0 16px;
}
.ta-fid-text .ta-fid-his {
  font-family: var(--display);
  font-size: clamp(19.8px, 1.71vw, 23.4px);
  line-height: 1.3;
  color: var(--ivory);
  padding-top: 18px;
  border-top: 1px solid var(--rule-g);
  margin-top: 24px;
}
.fid {
  width: 100%;
  height: auto;
  overflow: visible;
}
.fid-ghost path {
  stroke: rgba(194, 165, 106, .18);
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 3 6;
}
.fid-th {
  stroke: var(--gilt);
  stroke-width: 1.6;
  fill: none;
}
.fid-sq {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.4;
}
.fid-sq-in {
  fill: rgba(194, 165, 106, .08);
  stroke: rgba(194, 165, 106, .4);
  stroke-width: 1;
}
.fid-c {
  font-family: var(--display);
  font-size: 23.25px;
  fill: var(--ivory);
}
.fid-role circle {
  fill: var(--gilt);
}
.fid-role text {
  font-family: var(--display);
  font-size: 24.3px;
  fill: var(--gilt);
}
.ta-whole {
  padding: clamp(64px, 7vw, 100px) 0 0;
}
.ta-whole-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
}
.ta-whole-q {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(22.5px, 2.16vw, 30.6px);
  line-height: 1.26;
  color: var(--ink);
  padding-left: 28px;
  border-left: 2px solid var(--gilt-deep);
}
.ta-whole-link {
  margin: 0;
  font-size: 16.32px;
  justify-self: end;
}
@media (max-width:1020px) {
  .ta-lead-grid,
  .ta-fid-grid,
  .ta-whole-grid {
    grid-template-columns: 1fr;
  }
  .ta-panels {
    grid-template-columns: 1fr;
  }
  .ta-panel-in {
    max-width: none;
  }
  .ta-whole-link {
    justify-self: start;
  }
  .pa-pn {
    grid-template-columns: 1fr 1fr;
  }
  .pn-all {
    grid-column: 1/-1;
    grid-row: 2;
    border: 0;
    border-top: 1px solid var(--rule-s);
    padding: 18px 0;
  }
}
@media (max-width:760px) {
  .pa-pn {
    grid-template-columns: 1fr;
  }
  .pn-next {
    text-align: left;
    align-items: flex-start;
    border-top: 1px solid var(--rule-s);
  }
  .pn-all {
    grid-row: auto;
    align-items: flex-start;
    text-align: left;
  }
  .pn {
    padding: 18px 0 16px;
  }
  .pa-strip {
    flex-direction: column;
    gap: 10px;
  }
  .ta-statement {
    font-size: 26.04px;
  }
  .fid-role text {
    font-size: 28.83px;
  }
  .fid-c {
    font-size: 26.04px;
  }
}
.ta-fid-text p.ta-fid-his {
  font-family: var(--display);
  font-size: clamp(19.8px, 1.71vw, 23.4px);
  line-height: 1.3;
  color: var(--ivory);
}
.pa-2 .ph-practice h1 {
  font-size: clamp(34.2px, 3.69vw, 54px);
  max-width: 19em;
}
.fid {
  max-width: 640px;
  justify-self: center;
}
.ep-read {
  padding: clamp(70px, 8vw, 120px) 0;
}
.ep-read-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 680px) minmax(0, 1fr);
  gap: clamp(30px, 4vw, 60px);
  align-items: start;
}
.ep-col {
  grid-column: 2;
}
.ep-col p {
  font-size: 18.6px;
  line-height: 1.72;
  color: var(--ink);
  margin: 0 0 1.15em;
}
.ep-col .ep-first {
  font-size: 20.46px;
  line-height: 1.62;
}
.dropcap {
  float: left;
  font-family: var(--display);
  font-size: 5.1em;
  line-height: .78;
  color: var(--gilt-deep);
  margin: .06em .1em 0 -.04em;
}
.ep-aside {
  grid-column: 3;
  position: sticky;
  top: 130px;
  border-top: 3px double var(--gilt-deep);
  padding-top: 20px;
}
.ep-aside p {
  margin: 0 0 22px;
  font-size: 15.84px;
  line-height: 1.55;
  color: var(--ink-2);
}
.ep-aside .lab-sm {
  margin-bottom: 6px;
}
.ep-for {
  font-family: var(--display);
  font-size: 18.6px !important;
  color: var(--ink) !important;
}
.ep-rec .ln-under {
  display: inline-block;
  margin-top: 6px;
}
.ep-arc {
  padding: clamp(70px, 8vw, 120px) 0;
}
.ep-arc-head {
  max-width: 22em;
  margin-bottom: clamp(44px, 5vw, 70px);
}
.ep-arc .h2 {
  font-size: clamp(27px, 2.7vw, 39.6px);
  line-height: 1.14;
}
.pat {
  position: relative;
}
.pat-line {
  position: absolute;
  left: 0;
  top: 7px;
  width: 66.66%;
  height: 2px;
}
.pat-run {
  position: absolute;
  inset: 0;
  background: var(--gilt);
  transform-origin: left center;
}
.pat-end {
  position: absolute;
  right: -9px;
  top: -8px;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--gilt);
  border-radius: 50%;
}
.pat-st {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pat-st li {
  position: relative;
  padding: 44px clamp(20px, 3vw, 48px) 0 0;
}
.pat-mk {
  position: absolute;
  left: -6px;
  top: 2px;
  width: 12px;
  height: 12px;
  background: var(--gilt);
  transform: rotate(45deg);
}
.pat-st li:last-child .pat-mk {
  left: -6px;
}
.pat-w {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(30.6px, 2.97vw, 43.2px);
  line-height: 1;
  color: var(--gilt);
  margin-bottom: 18px;
}
.pat-d {
  display: block;
  font-size: 16.74px;
  line-height: 1.55;
  color: var(--ivory-2);
  max-width: 20em;
}
.ep-rel {
  padding: clamp(60px, 6vw, 90px) 0 0;
}
.ep-rel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 2.4vw, 34px);
  margin-top: 16px;
}
.rel-card {
  display: grid;
  grid-template-columns: 56px 1fr;
  column-gap: 12px;
  row-gap: 8px;
  padding: 28px 30px 26px;
  background: var(--cream-2);
  border: 1px solid var(--rule-s);
  text-decoration: none;
  color: var(--ink);
  position: relative;
  transition:
    background-color .35s,
    translate .35s cubic-bezier(.2, .7, .2, 1),
    border-color .35s;
}
.rel-card::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(20, 48, 31, .08);
  pointer-events: none;
}
.rc-no {
  grid-row: 1/3;
  font-family: var(--display);
  font-size: 22.32px;
  color: var(--gilt-dark);
}
.rc-t {
  font-family: var(--display);
  font-size: clamp(19.8px, 1.71vw, 24.3px);
  line-height: 1.18;
}
.rc-d {
  font-size: 15.84px;
  color: var(--ink-2);
  line-height: 1.5;
}
.rel-card:hover,
.rel-card:focus-visible {
  background: var(--stone);
  translate: 0 -3px;
  border-color: var(--gilt-deep);
}
.rel-card:hover .rc-t {
  color: var(--oxblood);
}
@media (max-width:1180px) {
  .ep-read-grid {
    grid-template-columns: minmax(0, 680px) minmax(0, 1fr);
  }
  .ep-col {
    grid-column: 1;
  }
  .ep-aside {
    grid-column: 2;
  }
}
@media (max-width:1020px) {
  .ep-read-grid {
    grid-template-columns: 1fr;
  }
  .ep-aside {
    grid-column: 1;
    position: static;
  }
  .ep-rel-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .ep-col p {
    font-size: 17.76px;
  }
  .ep-col .ep-first {
    font-size: 19.2px;
  }
  .pat-line {
    left: 5px;
    top: 6px;
    width: 2px;
    height: calc(100% - 120px);
  }
  .pat-run {
    transform-origin: center top;
  }
  .pat-end {
    right: auto;
    left: -8px;
    top: auto;
    bottom: -9px;
  }
  .pat-st {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .pat-st li {
    padding: 0 0 0 38px;
  }
  .pat-mk {
    left: 0;
    top: 6px;
  }
  .pat-st li:last-child .pat-mk {
    left: 0;
  }
  .pat-w {
    font-size: 31.62px;
    margin-bottom: 10px;
  }
  .rel-card {
    padding: 22px 20px;
    grid-template-columns: 40px 1fr;
  }
}
.pat-seg {
  position: absolute;
  left: 0;
  top: 7px;
  width: 100%;
  height: 2px;
  background: var(--gilt);
  transform-origin: left center;
}
.pat-last .pat-mk::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1.5px solid var(--gilt);
}
@media (max-width:760px) {
  .pat-seg {
    left: 5px;
    top: 12px;
    width: 2px;
    height: calc(100% + 34px);
    transform-origin: center top;
  }
}
@media (min-width:1021px) {
  .ep-read-grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 680px) minmax(0, 1fr);
  }
  .ep-col {
    grid-column: 2;
    grid-row: 1;
  }
  .ep-aside {
    grid-column: 1;
    grid-row: 1;
  }
}
.ep-arc-head {
  max-width: none;
}
.ep-arc .h2 {
  max-width: 26em;
  text-wrap: balance;
}
.tx-lead {
  padding: clamp(64px, 7vw, 104px) 0;
}
.tx-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
.tx-lead-h {
  font-size: clamp(27px, 2.79vw, 39.6px);
  line-height: 1.16;
  color: var(--ink);
  text-wrap: balance;
}
.tx-lead-p {
  margin: 0;
  padding-top: 22px;
  border-top: 2px solid var(--oxblood);
  font-size: 17.67px;
  line-height: 1.6;
  color: var(--ink-2);
}
.tx-band {
  padding: clamp(76px, 8vw, 120px) 0;
}
.tx-three {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 64px);
  text-align: center;
}
.tx-w {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(48.6px, 5.4vw, 79.2px);
  line-height: 1;
  color: var(--gilt);
  margin-bottom: 16px;
}
.tx-three span {
  display: block;
  font-size: 16.32px;
  line-height: 1.55;
  color: var(--ivory-2);
  max-width: 19em;
  margin: 0 auto;
}
.tx-br {
  display: block;
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.5px;
}
.tx-br-h {
  width: 100%;
  height: 44px;
  margin: clamp(30px, 3.4vw, 46px) 0 0;
}
.tx-br-v {
  display: none;
}
.tx-multi {
  margin: 22px 0 0;
  text-align: center;
  font-family: var(--display);
  font-size: clamp(25.2px, 2.52vw, 36px);
  color: var(--ivory);
}
.tx-prof {
  padding: clamp(70px, 8vw, 110px) 0;
}
.tx-prof-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: stretch;
}
.tx-card {
  position: relative;
  background: var(--cream);
  border: 1px solid var(--oxblood);
  padding: clamp(34px, 3.6vw, 52px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tx-card::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(106, 36, 32, .3);
  pointer-events: none;
}
.tx-card h2 {
  font-size: clamp(27px, 2.61vw, 37.8px);
  line-height: 1.15;
  color: var(--ink);
}
.tx-teach ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.tx-teach li {
  font-family: var(--display);
  font-size: clamp(19.8px, 1.71vw, 23.4px);
  line-height: 1.22;
  color: var(--ink);
  padding: 14px 0 13px;
  border-bottom: 1px solid var(--rule-s);
}
.tx-teach li span {
  display: block;
  font-family: var(--text);
  font-size: 15.5px;
  font-style: italic;
  color: var(--ink-2);
  margin-top: 3px;
}
.tx-bl {
  margin: 22px 0 0;
  font-size: 16.32px;
  color: var(--ink-2);
}
.tx-bl .ln-under {
  display: inline-block;
  margin-top: 6px;
}
@media (max-width:1020px) {
  .tx-lead-grid,
  .tx-prof-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .tx-band .wrap {
    position: relative;
  }
  .tx-three {
    grid-template-columns: 1fr;
    text-align: left;
    gap: 30px;
    padding-left: 46px;
  }
  .tx-three span {
    margin: 0;
  }
  .tx-w {
    font-size: 48.36px;
    margin-bottom: 8px;
  }
  .tx-br-h {
    display: none;
  }
  .tx-br-v {
    display: block;
    position: absolute;
    left: var(--gut);
    top: 0;
    width: 30px;
    height: var(--brh,420px);
  }
  .tx-multi {
    text-align: left;
    padding-left: 46px;
    font-size: 26.04px;
    margin-top: 30px;
  }
}
.tx-br-h {
  height: auto;
  stroke-width: 1.4;
}
.tx-br-v {
  display: none;
}
@media (max-width:760px) {
  .tx-br-v {
    display: block;
    position: absolute;
    left: var(--gut);
    top: 6px;
    width: 16px;
    height: var(--brh,420px);
    border: 1.5px solid var(--gilt);
    border-right: 0;
    clip-path: inset(0 0 var(--brc,0%) 0);
  }
  .tx-br-v::after {
    content: "";
    position: absolute;
    left: -9px;
    top: calc(50% - 6px);
    width: 10px;
    height: 10px;
    border-left: 1.5px solid var(--gilt);
    border-bottom: 1.5px solid var(--gilt);
    transform: rotate(45deg);
    background: var(--green);
  }
}
.tx-multi {
  line-height: 1.15;
}
.fo-main {
  padding: clamp(64px, 7vw, 110px) 0;
}
.fo-grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.fo-panel {
  margin: 0;
  position: sticky;
  top: 120px;
  padding: clamp(24px, 3vw, 44px);
  display: flex;
  justify-content: center;
}
.fo-panel::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid var(--rule-g);
  pointer-events: none;
}
.rings {
  width: 100%;
  max-width: 520px;
  height: auto;
  overflow: visible;
}
.rg-core {
  fill: rgba(194, 165, 106, .14);
  stroke: var(--gilt);
  stroke-width: 1.4;
}
.rg-c {
  font-family: var(--display);
  font-size: 24.3px;
  fill: var(--ivory);
}
.rg-ring {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.2;
}
.rg[data-i="1"] .rg-ring {
  stroke: rgba(194, 165, 106, .8);
}
.rg[data-i="2"] .rg-ring {
  stroke: rgba(194, 165, 106, .6);
}
.rg-l {
  font-family: var(--text);
  font-size: 14.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  fill: var(--gilt-text);
}
.fo-lead {
  font-size: clamp(24.3px, 2.25vw, 32.4px);
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: 26px;
}
.fo-gen {
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 34px;
  padding-top: 20px;
  border-top: 2px solid var(--oxblood);
}
.fo-text .lab-sm {
  margin: 0 0 8px;
}
.fo-list {
  list-style: none;
  margin: 0 0 34px;
  padding: 0;
  border-top: 3px double var(--gilt-deep);
}
.fo-list li {
  font-size: 17.67px;
  line-height: 1.4;
  color: var(--ink);
  padding: 13px 0 12px;
  border-bottom: 1px solid var(--rule-s);
}
.fo-list-2 li {
  font-family: var(--display);
  font-size: 19.53px;
  line-height: 1.3;
}
.fo-list li span {
  display: block;
  font-family: var(--text);
  font-style: italic;
  font-size: 15.5px;
  color: var(--ink-2);
  margin-top: 2px;
}
.fo-list-2 {
  margin-bottom: 0;
}
.fo-adv {
  background: var(--cream-2);
  color: var(--ink);
  padding: clamp(56px, 6vw, 86px) 0;
}
.fo-adv-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: baseline;
}
.fo-adv-h {
  font-size: clamp(25.2px, 2.34vw, 34.2px);
  color: var(--ink);
  line-height: 1.15;
}
.fo-adv-p {
  margin: 0;
  font-size: 18.6px;
  line-height: 1.6;
  color: var(--ink);
}
.fo-adv-p .ln-under {
  font-size: 15.84px;
  display: inline-block;
  margin-left: 6px;
}
@media (max-width:1020px) {
  .fo-grid,
  .fo-adv-grid {
    grid-template-columns: 1fr;
  }
  .fo-panel {
    position: static;
  }
}
@media (max-width:760px) {
  .fo-panel {
    margin: 0 calc(var(--gut) * -1);
    padding: 20px 10px;
  }
  .rg-l {
    font-size: 18.24px;
  }
  .rg-c {
    font-size: 29.76px;
  }
}
.rg-l {
  font-size: 16.32px;
  letter-spacing: .14em;
}
@media (max-width:1020px) {
  .fo-panel {
    position: relative;
    top: auto;
  }
}
.cg-lead {
  padding: clamp(64px, 7vw, 104px) 0;
}
.cg-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
.cg-lead-h {
  font-size: clamp(26.1px, 2.7vw, 37.8px);
  line-height: 1.18;
  color: var(--ink);
  text-wrap: balance;
}
.cg-lead-side p {
  margin: 0;
  font-size: 17.21px;
  line-height: 1.62;
  color: var(--ink-2);
}
.cg-lead-side p:first-of-type {
  padding-top: 22px;
  border-top: 2px solid var(--oxblood);
}
.cg-link {
  margin-top: 18px !important;
  font-size: 15.84px !important;
}
.cg-band {
  padding: clamp(76px, 8vw, 120px) 0;
}
.cg-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.cg-band-p {
  font-family: var(--display);
  font-size: clamp(22.5px, 2.07vw, 28.8px);
  line-height: 1.24;
  color: var(--ivory);
  margin: 0 0 30px;
}
.cg-band-q {
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--rule-g);
  font-size: 15.5px;
  color: var(--ivory-2);
}
.cg-band-q b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  color: var(--gilt);
  margin-bottom: 6px;
}
.plaque {
  position: relative;
  padding: clamp(40px, 4.6vw, 66px) clamp(30px, 4vw, 60px);
  text-align: center;
  background: rgba(10, 29, 21, .38);
}
.plaque::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(194, 165, 106, .28);
  pointer-events: none;
}
.plaque-key {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.plaque-key rect {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.plaque-h {
  font-family: var(--display);
  font-size: clamp(15.81px, 1.4vw, 19.53px);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gilt);
  line-height: 1.4;
}
.plaque-rule {
  display: block;
  height: 7px;
  border-top: 1px solid var(--rule-g);
  border-bottom: 1px solid var(--rule-g);
  margin: 24px auto 8px;
  max-width: 420px;
}
.plaque-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.plaque-list li {
  padding: 22px 0 20px;
  border-bottom: 1px solid rgba(194, 165, 106, .2);
}
.plaque-list li:last-child {
  border-bottom: 0;
}
.pq-n {
  display: block;
  font-family: var(--display);
  font-size: clamp(25.2px, 2.43vw, 34.2px);
  line-height: 1.12;
  color: var(--gilt);
}
.pq-d {
  display: block;
  margin-top: 8px;
  font-size: 15.5px;
  font-style: italic;
  color: var(--ivory-2);
}
.cg-art {
  background: var(--cream-2);
  color: var(--ink);
  padding: clamp(60px, 6vw, 96px) 0;
}
.cg-art-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
.cg-art-h {
  font-size: clamp(28.8px, 2.88vw, 41.4px);
  color: var(--ink);
  line-height: 1.1;
}
.cg-art-text p {
  margin: 0;
  font-size: 17.67px;
  line-height: 1.62;
  color: var(--ink);
}
.cg-art-tie {
  margin-top: 18px !important;
  font-family: var(--display);
  font-size: clamp(19.8px, 1.71vw, 23.4px) !important;
  line-height: 1.3 !important;
  color: var(--ink-2) !important;
  padding-left: 22px;
  border-left: 2px solid var(--gilt-deep);
}
@media (max-width:1020px) {
  .cg-lead-grid,
  .cg-band-grid,
  .cg-art-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .plaque {
    padding: 36px 20px;
  }
  .pq-n {
    font-size: 25.11px;
  }
}
.np-split {
  padding: clamp(64px, 7vw, 104px) 0;
}
.np-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.np-h {
  font-size: clamp(26.1px, 2.7vw, 37.8px);
  line-height: 1.16;
  color: var(--ink);
  margin-bottom: 24px;
}
.np-left p:not(.lab-sm) {
  font-size: 17.21px;
  line-height: 1.62;
  color: var(--ink-2);
  margin: 0 0 14px;
  max-width: 36em;
}
.np-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.np-rel {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 10px;
  padding: 24px 26px 22px;
  background: var(--cream-2);
  border: 1px solid var(--rule-s);
  text-decoration: none;
  color: var(--ink-2);
  font-size: 15.5px;
  line-height: 1.5;
  transition:
    background-color .35s,
    translate .35s cubic-bezier(.2, .7, .2, 1),
    border-color .35s;
}
.np-rel b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: 22.32px;
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: 4px;
}
.np-rel:hover,
.np-rel:focus-visible {
  background: var(--stone);
  translate: 0 -3px;
  border-color: var(--gilt-deep);
}
.np-rel:hover b {
  color: var(--oxblood);
}
.np-band {
  padding: clamp(76px, 8vw, 120px) 0;
}
.np-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.np-band .h2 {
  font-size: clamp(27px, 2.7vw, 39.6px);
  line-height: 1.12;
  margin-bottom: 22px;
}
.np-band-text p:not(.lab-sm) {
  font-size: 16.74px;
  line-height: 1.6;
  color: var(--ivory-2);
  margin: 0;
}
.np-boards {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 3px double var(--rule-g);
}
.np-boards li {
  padding: 22px 0 20px;
  border-bottom: 1px solid rgba(194, 165, 106, .24);
}
.np-boards svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.bd-t {
  font-family: var(--display);
  font-size: 48.6px;
  fill: var(--gilt);
  stroke: var(--gilt);
  stroke-width: 0;
}
.bd-r {
  display: block;
  margin-top: 6px;
  font-size: 15.84px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ivory-2);
}
@media (max-width:1020px) {
  .np-split-grid,
  .np-band-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .bd-r {
    font-size: 14px;
  }
  .np-boards li {
    padding: 16px 0 14px;
  }
}
.ip-lead {
  padding: clamp(64px, 7vw, 104px) 0;
}
.ip-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
}
.ip-lead-h {
  font-size: clamp(28.8px, 3.06vw, 43.2px);
  line-height: 1.12;
  color: var(--ink);
}
.ip-lead-p {
  margin: 0;
  padding-top: 22px;
  border-top: 2px solid var(--oxblood);
  font-size: 17.67px;
  line-height: 1.62;
  color: var(--ink-2);
}
.ip-band {
  padding: clamp(76px, 8vw, 120px) 0;
}
.ip-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
  align-items: center;
}
.ip-track {
  position: relative;
  height: 260px;
}
.ip-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--gilt);
  transform-origin: left center;
  margin-top: -1px;
}
.ip-tip {
  position: absolute;
  right: -1px;
  top: 50%;
  width: 11px;
  height: 11px;
  margin-top: -5.5px;
  border-top: 2px solid var(--gilt);
  border-right: 2px solid var(--gilt);
  transform: rotate(45deg);
}
.ip-border {
  position: absolute;
  left: 56%;
  top: 0;
  bottom: 0;
  width: 0;
  border-left: 1.5px dashed rgba(238, 231, 213, .45);
}
.ip-border i {
  position: absolute;
  top: -4px;
  left: 12px;
  font-size: 14px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-style: normal;
  color: var(--ivory-2);
  white-space: nowrap;
}
.ip-w {
  position: absolute;
  left: var(--at);
  top: 50%;
  transform: translateY(-150%);
  font-family: var(--display);
  font-size: clamp(25.2px, 2.34vw, 34.2px);
  line-height: 1;
  color: var(--gilt);
}
.ip-w::after {
  content: "";
  position: absolute;
  left: 4px;
  top: calc(100% + 18px);
  width: 9px;
  height: 9px;
  background: var(--gilt);
  transform: rotate(45deg);
}
.ip-step {
  position: relative;
  padding: 40px 36px 36px;
  background: rgba(10, 29, 21, .38);
  text-align: center;
}
.ip-step::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(194, 165, 106, .28);
  pointer-events: none;
}
.ip-key {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.ip-key rect {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}
.ip-step-h {
  font-family: var(--display);
  font-size: clamp(57.6px, 5.4vw, 79.2px);
  line-height: 1;
  letter-spacing: .08em;
  color: var(--gilt);
  margin: 4px 0 14px;
}
.ip-step-n {
  font-family: var(--display);
  font-size: clamp(19.53px, 1.67vw, 23.25px);
  line-height: 1.22;
  color: var(--ivory);
  margin: 0 0 12px;
}
.ip-step-d {
  margin: 0;
  font-size: 15.5px;
  font-style: italic;
  color: var(--ivory-2);
}
.ip-note {
  background: var(--cream-2);
  color: var(--ink);
  padding: clamp(56px, 6vw, 90px) 0;
}
.ip-three {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(26px, 4vw, 64px);
  border-top: 3px double var(--gilt-deep);
  padding-top: 28px;
}
.ip-three b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(23.4px, 2.16vw, 30.6px);
  color: var(--ink);
  margin-bottom: 10px;
}
.ip-three span {
  display: block;
  font-size: 16.74px;
  line-height: 1.55;
  color: var(--ink-2);
}
@media (max-width:1020px) {
  .ip-lead-grid {
    grid-template-columns: 1fr;
  }
  .ip-band-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
}
@media (max-width:760px) {
  .ip-band-grid {
    grid-template-columns: 1fr;
  }
  .ip-track {
    height: 340px;
    margin: 0 0 0 6px;
  }
  .ip-line {
    left: 20px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: auto;
    margin: 0;
    transform-origin: center top;
  }
  .ip-tip {
    right: auto;
    left: 15.5px;
    top: auto;
    bottom: -1px;
    margin: 0;
    transform: rotate(135deg);
  }
  .ip-border {
    left: 0;
    right: 0;
    top: 50%;
    bottom: auto;
    height: 0;
    width: auto;
    border-left: 0;
    border-top: 1.5px dashed rgba(238, 231, 213, .45);
  }
  .ip-border i {
    top: auto;
    bottom: 8px;
    left: auto;
    right: 0;
  }
  .ip-w {
    left: 58px;
    top: var(--at);
    transform: translateY(-50%);
  }
  .ip-w::after {
    left: -42px;
    top: 50%;
    margin-top: -4.5px;
  }
  .ip-three {
    grid-template-columns: 1fr;
  }
}
.sp-teach {
  padding: clamp(76px, 8vw, 120px) 0;
}
.sp-teach-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.sp-teach .h2 {
  font-size: clamp(27px, 2.7vw, 39.6px);
  line-height: 1.12;
  margin-bottom: 20px;
}
.sp-teach-text p:not(.lab-sm) {
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ivory-2);
  margin: 0 0 24px;
}
.sp-teach-text .sp-mt {
  padding-top: 18px;
  border-top: 1px solid var(--rule-g);
  margin: 0;
}
.sp-mt b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: 22.32px;
  color: var(--ivory);
  margin-bottom: 2px;
}
.sp-board {
  position: relative;
  padding: clamp(34px, 4vw, 56px) clamp(28px, 4vw, 60px);
  background: #0F2A1F;
  border: 1px solid rgba(194, 165, 106, .5);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, .25);
}
.sp-board::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(194, 165, 106, .22);
  pointer-events: none;
}
.sp-board::after {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -8px;
  height: 8px;
  background: linear-gradient(#B79B5E, #8C7039);
}
.sp-board-lab {
  font-size: 13.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gilt-text);
  margin: 0 0 10px;
}
.sp-courses {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sp-courses li {
  position: relative;
  padding: 18px 0 22px;
}
.sp-c {
  display: block;
  font-family: var(--display);
  font-size: clamp(36px, 3.96vw, 57.6px);
  line-height: 1.04;
  color: var(--gilt);
}
.sp-u {
  display: block;
  height: 1.5px;
  background: var(--gilt);
  margin-top: 14px;
  width: 62%;
  transform-origin: left center;
  opacity: .8;
}
.sp-c .ch {
  display: inline-block;
  white-space: pre;
}
.sp-lect {
  padding: clamp(70px, 8vw, 110px) 0;
}
.programme {
  position: relative;
  background: var(--cream-2);
  border: 1px solid var(--rule-s);
  padding: clamp(40px, 5vw, 70px) clamp(26px, 5vw, 80px);
  max-width: 1080px;
  margin: 0 auto;
}
.programme::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(20, 48, 31, .1);
  pointer-events: none;
}
.programme-h {
  font-family: var(--display);
  font-size: clamp(18px, 1.71vw, 23.4px);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink);
  text-align: center;
  padding-bottom: 22px;
  border-bottom: 3px double var(--gilt-deep);
  margin-bottom: clamp(30px, 3.6vw, 46px);
}
.programme-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 80px);
  background: linear-gradient(var(--rule-s), var(--rule-s)) 50% 0/1px 100% no-repeat;
}
.pg-lectures ul,
.pg-programs ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pg-lectures li {
  font-style: italic;
  font-size: clamp(24.3px, 2.34vw, 32.4px);
  line-height: 1.2;
  color: var(--ink);
  padding: 10px 0 12px;
}
.pg-and {
  margin: 18px 0 0;
  font-size: 16.32px;
  color: var(--ink-2);
  max-width: 24em;
}
.pg-programs li {
  font-family: var(--display);
  font-size: clamp(19.53px, 1.72vw, 23.25px);
  line-height: 1.25;
  color: var(--ink);
  padding: 12px 0 11px;
  border-bottom: 1px solid var(--rule-s);
}
.pg-programs li span {
  display: block;
  font-family: var(--text);
  font-size: 15px;
  font-style: italic;
  color: var(--ink-2);
  margin-top: 2px;
}
.sp-write {
  background: var(--stone);
  color: var(--ink);
  padding: clamp(70px, 8vw, 110px) 0;
}
.sp-write-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 30px;
  margin-bottom: 30px;
}
.sp-write .h2 {
  color: var(--ink);
  font-size: clamp(28.8px, 2.88vw, 41.4px);
}
.sp-write-head p {
  margin: 0;
  font-style: italic;
  color: var(--ink-2);
}
.journals {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
}
.journals li {
  position: relative;
  background: var(--cream);
  border: 1px solid var(--rule-s);
  padding: 30px 26px 34px;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: center;
  box-shadow: 0 22px 34px -28px rgba(20, 48, 31, .45);
}
.journals li::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  height: 5px;
  border-top: 1px solid var(--gilt-deep);
  border-bottom: 1px solid var(--gilt-deep);
}
.journals li::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  height: 1px;
  background: var(--gilt-deep);
}
.jr-k {
  font-size: 12.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-top: 12px;
}
.jr-n {
  font-family: var(--display);
  font-size: clamp(20.7px, 1.89vw, 26.1px);
  line-height: 1.18;
  color: var(--ink);
  text-transform: none;
  margin: 22px 0 6px;
}
.sp-write-more {
  margin: 24px 0 0;
  font-style: italic;
  color: var(--ink-2);
}
@media (max-width:1020px) {
  .sp-teach-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .programme-grid {
    grid-template-columns: 1fr;
    background: none;
  }
  .journals {
    grid-template-columns: 1fr;
  }
  .journals li {
    min-height: 0;
    padding: 34px 22px 36px;
  }
  .sp-write-head {
    flex-direction: column;
    gap: 6px;
  }
  .sp-c {
    font-size: 35.34px;
  }
}
.sp-c .wd {
  display: inline-block;
  white-space: nowrap;
}
.sp-teach.cream .h2 {
  color: var(--ink);
}
.sp-teach.cream .lab-sm {
  color: var(--oxblood);
}
.sp-teach.cream .sp-teach-text p:not(.lab-sm) {
  color: var(--ink-2);
}
.sp-teach.cream .sp-teach-text .sp-mt {
  border-top: 3px double var(--gilt-deep);
}
.sp-teach.cream .sp-mt b {
  color: var(--ink);
}
.sp-board {
  background: var(--green);
  box-shadow: 0 30px 50px -30px rgba(20, 48, 31, .6);
}
.sp-c {
  font-size: clamp(34.2px, 3.51vw, 50.4px);
}
.sp-lect {
  padding-top: 0;
}
.ph-seals {
  list-style: none;
  margin: 0;
  padding: 16px 20px;
  display: flex;
  gap: 22px;
  align-items: center;
  background: var(--cream);
  border-top: 3px double var(--gilt-deep);
  box-shadow: 0 24px 40px -26px rgba(0, 0, 0, .55);
}
.ph-seals img {
  height: 78px;
  width: auto;
}
.yr-sec {
  padding: clamp(70px, 8vw, 120px) 0;
}
.yr-head {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
  margin-bottom: clamp(40px, 4vw, 56px);
}
.yr-sec .h2 {
  color: var(--ink);
  font-size: clamp(28.8px, 2.88vw, 41.4px);
}
.yr-note {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.55;
  font-style: italic;
  color: var(--ink-2);
}
.yr {
  position: relative;
  height: 330px;
  margin: 0 clamp(10px, 2vw, 30px);
}
.yr-axis {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
}
.yr-base {
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: var(--rule-s);
}
.yr-run {
  position: absolute;
  left: 0;
  right: 0;
  top: -1.5px;
  height: 3px;
  background: var(--gilt-deep);
  transform-origin: left center;
}
.yr-tick {
  position: absolute;
  left: var(--p);
  top: -7px;
  width: 1px;
  height: 14px;
  background: rgba(20, 48, 31, .4);
}
.yr-tick i {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-size: 13px;
  letter-spacing: .08em;
  color: var(--ink-2);
  opacity: .8;
}
.yr-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.yr-e {
  position: absolute;
  left: var(--p);
  top: 50%;
  width: 0;
}
.yr-mk {
  position: absolute;
  left: -8px;
  top: -8px;
  width: 16px;
  height: 16px;
  background: var(--cream);
  border: 2px solid var(--gilt-deep);
  transform: rotate(45deg);
  transition: background-color .4s;
}
.yr-e.lit .yr-mk,
.yr-e .yr-mk {
  background: var(--gilt-deep);
}
.yr-e.dim .yr-mk {
  background: var(--cream);
}
.yr-txt {
  position: absolute;
  left: -10px;
  width: 230px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 10px;
  border-left: 1px solid var(--rule-s);
}
.yr-up .yr-txt {
  bottom: 22px;
}
.yr-down .yr-txt {
  top: 46px;
}
.yr-e:last-child .yr-txt,
.yr-e:nth-last-child(2) .yr-txt {
  left: auto;
  right: -10px;
  padding-left: 0;
  padding-right: 10px;
  border-left: 0;
  border-right: 1px solid var(--rule-s);
  text-align: right;
  align-items: flex-end;
}
.yr-y {
  font-family: var(--display);
  font-weight: 400;
  font-size: 27px;
  line-height: 1;
  color: var(--gilt-deep);
}
.yr-n {
  font-family: var(--display);
  font-size: 18.6px;
  line-height: 1.2;
  color: var(--ink);
}
.yr-d {
  font-size: 14.5px;
  line-height: 1.4;
  font-style: italic;
  color: var(--ink-2);
}
.yr-e.dim .yr-txt {
  opacity: .25;
}
.yr-txt {
  transition: opacity .6s;
}
.news-light {
  background: var(--cream-2);
  color: var(--ink);
}
.news-light .notice {
  border-top-color: var(--gilt-deep);
}
.news-light .notice h2 {
  color: var(--ink);
}
.news-light .notice p {
  color: var(--ink-2);
}
.news-light .notice .date {
  color: var(--ink-2);
}
.news-light .notice .date .tag {
  background: var(--green);
  color: var(--ivory);
}
.news-light .btn {
  color: var(--ink);
  border-color: var(--ink);
}
.news-light .btn:hover {
  background: var(--claret);
  border-color: var(--claret);
  color: var(--cream);
}
.news-light .news-side {
  border-top-color: var(--rule-s);
}
.news-light .saying blockquote {
  color: var(--ink);
}
.news-light .saying figcaption {
  color: var(--ink-2);
}
.news-light .saying figcaption::before {
  background: var(--oxblood);
}
.news-light .record {
  border-top-color: var(--gilt-deep);
}
.news-light .record div {
  border-bottom-color: var(--rule-s);
}
.news-light .record dt {
  color: var(--oxblood);
}
.news-light .record dd {
  color: var(--ink);
}
@media (max-width:1020px) {
  .ph-seals {
    display: none;
  }
  .yr-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .yr-txt {
    width: 180px;
  }
}
@media (max-width:760px) {
  .yr {
    height: 640px;
    margin: 0;
  }
  .yr-axis {
    left: 50%;
    right: auto;
    top: 0;
    bottom: 0;
    width: 0;
  }
  .yr-base {
    left: -1px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 2px;
    height: auto;
  }
  .yr-run {
    left: -1.5px;
    right: auto;
    top: 0;
    bottom: 0;
    width: 3px;
    height: auto;
    transform-origin: center top;
  }
  .yr-tick {
    left: -7px;
    top: var(--p);
    width: 14px;
    height: 1px;
  }
  .yr-tick i {
    display: none;
  }
  .yr-e {
    left: 50%;
    top: var(--p);
  }
  .yr-e .yr-txt,
  .yr-e:last-child .yr-txt,
  .yr-e:nth-last-child(2) .yr-txt {
    top: -14px;
    bottom: auto;
    width: 44vw;
    max-width: 170px;
  }
  .yr-up .yr-txt,
  .yr-e.yr-up:last-child .yr-txt {
    left: auto;
    right: 18px;
    padding: 0 10px 0 0;
    border: 0;
    border-right: 1px solid var(--rule-s);
    text-align: right;
    align-items: flex-end;
  }
  .yr-down .yr-txt,
  .yr-e.yr-down:nth-last-child(2) .yr-txt {
    right: auto;
    left: 18px;
    padding: 0 0 0 10px;
    border: 0;
    border-left: 1px solid var(--rule-s);
    text-align: left;
    align-items: flex-start;
  }
  .yr-e:last-child .yr-txt {
    top: 4px;
  }
  .yr-e:nth-last-child(2) .yr-txt {
    top: -62px;
  }
  .yr-y {
    font-size: 22.32px;
  }
  .yr-n {
    font-size: 17px;
  }
  .yr-d {
    font-size: 13.5px;
  }
}
@media (max-width:760px) {
  .news-light .record div {
    grid-template-columns: 116px 1fr;
  }
  .yr {
    margin-bottom: 70px;
  }
}
.ct-sec {
  background: var(--stone);
  color: var(--ink);
  padding: clamp(64px, 7vw, 110px) 0 clamp(80px, 8vw, 120px);
}
.ct-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.ct-card {
  position: relative;
  background: var(--cream);
  padding: clamp(40px, 4.4vw, 64px) clamp(30px, 4.4vw, 64px);
  border: 1px solid rgba(20, 48, 31, .18);
  box-shadow: 0 40px 60px -40px rgba(20, 48, 31, .55), 0 2px 0 rgba(255, 255, 255, .5) inset;
}
.ct-card::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(126, 100, 49, .3);
  pointer-events: none;
}
.ct-logo .lockup {
  color: var(--ink);
  width: min(380px, 100%);
}
.ct-logo .his-logo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4902/760;
  background: currentColor;
  -webkit-mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
  mask: url(../img/logo-top.svg?v=76) center/contain no-repeat;
}
.ct-logo .pllc {
  margin-top: 7px;
}
.ct-rule {
  display: block;
  height: 1.5px;
  background: var(--ink);
  margin: 30px 0 26px;
  transform-origin: left center;
}
.ct-cols {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px 40px;
}
.ct-addr {
  font-style: normal;
  display: flex;
  flex-direction: column;
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ink);
}
.ct-lines {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 17.21px;
  line-height: 1.6;
}
.ct-lines li {
  display: flex;
  gap: 14px;
  align-items: baseline;
}
.ct-k {
  font-style: italic;
  color: var(--oxblood);
  min-width: .8em;
}
.ct-lines a {
  color: var(--ink);
  text-decoration: none;
  background: linear-gradient(var(--oxblood), var(--oxblood)) 0 100%/0 1px no-repeat;
  transition: background-size .45s, color .3s;
}
.ct-lines a:hover,
.ct-lines a:focus-visible {
  color: var(--oxblood);
  background-size: 100% 1px;
}
.ct-side .notice-new {
  margin: 0 0 34px;
  background: var(--cream);
}
.ct-direct {
  border-top: 3px double var(--gilt-deep);
  padding-top: 18px;
}
.ct-direct .lab-sm {
  margin: 0 0 4px;
}
.ct-big {
  margin: 0 0 22px;
  font-family: var(--display);
  font-size: clamp(22.5px, 2.07vw, 28.8px);
  line-height: 1.2;
}
.ct-big a {
  color: var(--ink);
  text-decoration: none;
  background: linear-gradient(var(--oxblood), var(--oxblood)) 0 100%/0 1px no-repeat;
  transition: background-size .45s, color .3s;
}
.ct-big a:hover,
.ct-big a:focus-visible {
  color: var(--oxblood);
  background-size: 100% 1px;
}
.ct-mail {
  font-size: clamp(18.9px, 1.71vw, 23.4px);
  word-break: break-word;
}
@media (max-width:1020px) {
  .ct-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .ct-card {
    padding: 34px 22px;
  }
  .ct-cols {
    grid-template-columns: 1fr;
  }
  .ct-addr,
  .ct-lines {
    font-size: 17.5px;
  }
  .ct-lines li {
    min-height: 44px;
    align-items: center;
  }
  .ct-lines a {
    padding: 8px 0;
  }
}
.ct-card {
  padding: clamp(40px, 4vw, 56px) clamp(28px, 3.4vw, 50px);
}
.ct-cols {
  grid-template-columns: auto auto;
  justify-content: space-between;
}
.ct-addr,
.ct-lines {
  font-size: 16.8px;
}
.ct-firm {
  font-family: var(--display);
  font-size: clamp(21.6px, 1.98vw, 27px);
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 16px;
}
.ct-lines2 {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 16.74px;
  color: var(--ink-2);
}
.ct-sep {
  width: 40px;
  height: 1px;
  background: var(--gilt-deep);
  margin: 9px 0;
}
@media (max-width:760px) {
  .ct-cols {
    grid-template-columns: 1fr;
  }
}
.ct-intro {
  font-style: normal !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
}
.ct-intro a {
  color: var(--ivory);
  text-decoration: none;
  font-family: var(--display);
  font-size: clamp(19.8px, 1.8vw, 25.2px);
  background: linear-gradient(var(--gilt), var(--gilt)) 0 100%/0 1px no-repeat;
  transition: background-size .45s, color .3s;
}
.ct-intro a:hover,
.ct-intro a:focus-visible {
  color: var(--gilt);
  background-size: 100% 1px;
}
.ct-dot {
  width: 6px;
  height: 6px;
  background: var(--gilt);
  transform: rotate(45deg);
}
@media (max-width:760px) {
  .ct-dot {
    display: none;
  }
  .ct-intro {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width:1180px) {
  .ct-grid {
    grid-template-columns: 1fr;
  }
  .ct-card {
    max-width: 720px;
  }
}
.niche,
.hero .niche {
  filter: none;
}
.niche .arch {
  box-shadow: 0 30px 46px -14px rgba(4, 16, 11, .6);
}
.niche::after {
  box-shadow: 0 16px 26px -8px rgba(4, 16, 11, .6);
}
.board-wrap {
  filter: none;
}
.board {
  box-shadow: 0 44px 60px -24px rgba(25, 4, 6, .55);
}
.crown {
  box-shadow: 0 -10px 40px -20px rgba(25, 4, 6, .35);
}
@media (max-width:1020px) {
  .ph-seals {
    display: flex;
    margin-top: 22px;
    padding: 10px 14px;
    width: max-content;
  }
  .ph-seals img {
    height: 52px;
  }
}
.ip-lead-p2 {
  border-top: 0 !important;
  padding-top: 12px !important;
}
.hero-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 28px;
  margin: 30px 0 0;
}
.hero-btn {
  font-size: 15px;
  padding: .85em 1.5em .8em;
}
.hero-tel {
  font-family: var(--display);
  font-size: clamp(19.53px, 1.58vw, 22.32px);
  color: var(--ivory);
  text-decoration: none;
  background: linear-gradient(var(--gilt), var(--gilt)) 0 100%/100% 1px no-repeat;
  padding-bottom: 3px;
  transition: color .3s;
}
.hero-tel:hover,
.hero-tel:focus-visible {
  color: var(--gilt);
}
@media (max-width:720px) {
  .niche {
    height: clamp(200px, 29svh, 262px);
  }
  .hero-cta {
    margin-top: min(14px, 1.7svh);
    gap: 10px 20px;
  }
  .hero-btn {
    font-size: 14px;
    padding: .72em 1.2em .68em;
  }
  .hero-tel {
    font-size: 18.24px;
  }
}
@media (max-width:720px) and (max-height:700px) {
  .niche {
    height: min(21svh, 140px);
  }
  .hero-inner {
    padding-top: 74px;
  }
  .hero h1 {
    font-size: clamp(31.62px, 8.93vw, 37.2px);
  }
  .hero .lede {
    font-size: 17px;
    margin-bottom: 4px;
  }
  .hero .meta-two {
    font-size: 15.5px;
  }
  .hero-cta {
    margin-top: 9px;
  }
  .hero-btn {
    font-size: 13px;
    padding: .6em 1em .56em;
  }
  .hero-tel {
    font-size: 17px;
  }
  .hero .seals {
    margin-top: 9px;
  }
}
@media (min-width:721px) and (max-width:1180px) and (min-aspect-ratio:1/1) {
  .hero-cta {
    margin-top: 20px;
  }
}
.niche {
  aspect-ratio: 896/1198;
  height: clamp(480px, calc(100svh - 230px), 640px);
}
.niche .arch {
  background: #C9C8C6;
  border-radius: 50% 50% 0 0/20% 20% 0 0;
}
.niche .arch::before {
  border-radius: 50% 50% 0 0/19% 19% 0 0;
  border-color: rgba(255, 250, 236, .55);
}
.niche img {
  left: 0;
  top: 0;
  bottom: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
  transform: none;
  z-index: 0;
}
.frame {
  max-width: 380px;
}
@media (max-width:720px) {
  .frame {
    max-width: 300px;
  }
}
@media (max-width:720px) {
  .niche {
    height: clamp(200px, 30svh, 262px);
  }
}
@media (max-width:720px) and (max-height:700px) {
  .niche {
    height: min(21svh, 140px);
  }
}
@media (min-width:721px) and (max-aspect-ratio:1/1) {
  .niche {
    height: min(40svh, 520px);
  }
}
@media (min-width:721px) and (max-width:1180px) and (min-aspect-ratio:1/1) {
  .niche {
    height: clamp(420px, calc(100svh - 250px), 560px);
  }
}
.niche {
  aspect-ratio: 896/1128;
}
@media (min-width:1181px) {
  .niche {
    align-self: center;
    margin-top: 118px;
    height: clamp(460px, calc(100svh - 250px), 616px);
  }
}
@media (min-width:721px) and (max-width:1180px) and (min-aspect-ratio:1/1) {
  .niche {
    align-self: center;
    margin-top: 110px;
  }
}
.nav-dd {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2px;
}
.nav-dd > a.is-section {
  color: var(--gilt);
  background-size: 100% 1px;
}
.dd-tog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 30px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ivory);
  cursor: pointer;
  transition: color .3s;
}
.dd-tog svg {
  transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}
.dd-tog:hover,
.dd-tog:focus-visible {
  color: var(--gilt);
}
.dd-panel {
  position: absolute;
  top: calc(100% + 14px);
  left: -26px;
  width: 390px;
  padding: 18px 0 10px;
  background: var(--green-deep);
  border: 1px solid rgba(194, 165, 106, .45);
  box-shadow: 0 30px 50px -20px rgba(0, 0, 0, .55);
  opacity: 0;
  visibility: hidden;
  translate: 0 -6px;
  transition:
    opacity .3s,
    translate .3s cubic-bezier(.2, .7, .2, 1),
    visibility 0s .3s;
  z-index: 50;
}
.dd-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  height: 16px;
}
.dd-panel::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(194, 165, 106, .18);
  pointer-events: none;
}
.nav-dd:hover .dd-panel,
.nav-dd:focus-within .dd-panel,
.nav-dd.open .dd-panel {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition: opacity .3s, translate .3s cubic-bezier(.2, .7, .2, 1);
}
.nav-dd:hover .dd-tog svg,
.nav-dd.open .dd-tog svg {
  transform: rotate(180deg);
}
.dd-h {
  margin: 0 24px 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--rule-g);
}
.dd-panel .dd-h a {
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gilt-text);
  padding: 0;
  background: none;
}
.dd-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dd-panel li a {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: baseline;
  padding: 9px 24px 8px;
  font-size: 15.5px;
  letter-spacing: .02em;
  line-height: 1.3;
  color: var(--ivory);
  background: none;
  transition: background-color .25s, color .25s;
}
.dd-panel li a i {
  font-style: normal;
  font-family: var(--display);
  font-size: 15px;
  color: var(--gilt);
}
.dd-panel li a:hover,
.dd-panel li a:focus-visible,
.dd-panel li a[aria-current=page] {
  background: rgba(194, 165, 106, .1);
  color: var(--gilt);
}
.drawer {
  overflow-y: auto;
  justify-content: safe center;
}
.drawer .d-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.drawer .d-row a {
  flex: 1;
}
.d-tog {
  position: relative;
  width: 46px;
  height: 46px;
  border: 0;
  background: none;
  color: var(--gilt);
  cursor: pointer;
  flex: none;
}
.d-tog span {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 22.5px;
  height: 1.3px;
  background: currentColor;
  transition: transform .35s;
}
.d-tog span:nth-child(2) {
  transform: rotate(90deg);
}
.d-pa.open .d-tog span:nth-child(2) {
  transform: rotate(0);
}
.drawer .d-sub {
  display: none;
  border-top: 0;
  padding: 0 0 12px 4px;
}
.d-pa.open .d-sub {
  display: block;
}
.drawer .d-sub li {
  border-bottom: 0;
}
.drawer .d-sub a {
  font-family: var(--text);
  font-size: 16.32px;
  color: var(--ivory);
  padding: 8px 0 7px;
  display: grid;
  grid-template-columns: 38px 1fr;
  line-height: 1.3;
}
.drawer .d-sub a i {
  font-style: normal;
  font-family: var(--display);
  color: var(--gilt);
  font-size: 15.5px;
}
.ph-word {
  width: clamp(150px, 13vw, 190px);
}
.ph-word .g {
  font-size: clamp(17.67px, 1.49vw, 22.32px);
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.3;
  padding-top: 1.2em;
}
@media (max-width:1020px) {
  .ph-word {
    width: 96px;
  }
  .ph-word .g {
    font-size: 12.5px;
    letter-spacing: .12em;
    padding-top: 1.1em;
  }
}
@media (max-width:760px) {
  .ph-word {
    width: 84px;
  }
  .ph-word .g {
    font-size: 11.5px;
  }
}
.dec-side .dec-lead {
  font-size: clamp(19.53px, 1.63vw, 22.79px);
  line-height: 1.56;
  color: var(--ink);
}
.decades.sec {
  padding-top: clamp(64px, 7vw, 104px);
  padding-bottom: clamp(56px, 6vw, 88px);
}
.decades .dec-h {
  padding-bottom: clamp(24px, 2.6vw, 34px);
  margin-bottom: clamp(28px, 3vw, 40px);
}
.dec-side .dec-close {
  margin-top: 22px;
}
.decades .index {
  margin-top: clamp(52px, 5.4vw, 76px);
}
.index-head {
  margin-bottom: 24px;
}
.index a {
  padding: 16px 0 14px;
}
.home .hall {
  padding-top: clamp(56px, 6vw, 84px);
  padding-bottom: clamp(64px, 7vw, 104px);
}
.home .hall-head {
  padding-bottom: clamp(36px, 4vw, 56px);
}
.pat-w {
  font-size: clamp(36px, 3.78vw, 55.8px);
  margin-bottom: 0;
}
.pat-st li {
  padding-top: 40px;
}
.yr {
  height: 460px;
}
.yr-y {
  font-size: clamp(30.6px, 2.7vw, 39.6px);
}
.yr-n {
  font-size: clamp(19.53px, 1.67vw, 23.25px);
}
.yr-d {
  font-size: 15.5px;
}
.yr-txt {
  width: 300px;
  gap: 4px;
}
.yr-up .yr-txt {
  bottom: 28px;
}
.yr-down .yr-txt {
  top: 56px;
}
.yr-tick i {
  font-size: 15px;
  top: 22px;
}
.yr-mk {
  width: 20px;
  height: 20px;
  left: -10px;
  top: -10px;
}
.yr-base {
  height: 3px;
  top: -1.5px;
}
.yr-run {
  height: 4px;
  top: -2px;
}
@media (max-width:1180px) {
  .yr-txt {
    width: 230px;
  }
}
@media (max-width:760px) {
  .yr {
    height: 760px;
  }
  .yr-y {
    font-size: 26.04px;
  }
  .yr-n {
    font-size: 17.76px;
  }
  .yr-d {
    font-size: 14.5px;
  }
  .yr-e .yr-txt,
  .yr-e:last-child .yr-txt,
  .yr-e:nth-last-child(2) .yr-txt {
    max-width: 172px;
  }
  .yr-e:nth-last-child(2) .yr-txt {
    top: -86px;
  }
  .yr-base {
    width: 3px;
    height: auto;
    left: -1.5px;
    top: 0;
  }
  .yr-run {
    width: 4px;
    height: auto;
    left: -2px;
    top: 0;
  }
}
.drawer a {
  font-size: clamp(23.4px, 6.66vw, 30.6px);
}
@media (max-width:1180px) {
  .nav {
    display: none;
  }
  .burger {
    display: block;
  }
  .site-head .wrap,
  .site-head.scrolled .wrap {
    height: 80px;
  }
}
.pat-w {
  font-size: clamp(30.6px, 2.97vw, 45px);
}
.ring-key {
  display: none;
}
@media (max-width:760px) {
  .pa-ring-panel {
    flex-direction: column;
    padding: 22px 18px 24px;
  }
  .ring {
    max-width: 320px;
  }
  .ring-c1 {
    font-size: 40.92px;
  }
  .ring-key {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    list-style: none;
    margin: 16px 0 0;
    padding: 14px 4px 0;
    width: 100%;
    border-top: 1px solid var(--rule-g);
    position: relative;
    z-index: 1;
  }
  .ring-key li {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: baseline;
    padding: 7px 0 6px;
    border-bottom: 1px solid rgba(194, 165, 106, .16);
    font-size: 13.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ivory-2);
    line-height: 1.35;
  }
  .ring-key li:last-child {
    border-bottom: 0;
  }
  .ring-key i {
    font-style: normal;
    font-family: var(--display);
    font-size: 17px;
    letter-spacing: .04em;
    text-transform: none;
    color: var(--gilt);
  }
}
.plate-own {
  background:
    linear-gradient(
      160deg,
      #E6CF96 0%,
      #CFAF68 34%,
      #B8934D 68%,
      #D4B776 100%);
  border-color: #7A5F2C;
  padding: 32px 34px 28px;
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 220, .7),
    inset 0 -1px 0 rgba(80, 60, 22, .5),
    0 24px 40px -20px rgba(0, 0, 0, .7);
}
.plate-own .lockup {
  color: #1A150A;
  width: min(400px, 100%);
}
.plate-own .pl-lab {
  color: #3E3217;
  font-size: 13px;
}
.plate-own .pl-what {
  color: #2F2612;
  font-size: 15.5px;
}
@media (max-width:760px) {
  .site-head .wrap {
    transition: height .35s cubic-bezier(.2, .7, .2, 1);
  }
  .site-head.scrolled .wrap {
    height: 62px;
  }
  .site-head.scrolled .brand .pllc {
    display: none;
  }
  .site-head.scrolled .brand .his-logo {
    height: 30px;
  }
  .site-head.scrolled .burger {
    transform: scale(.92);
  }
  section[id],
  [id] {
    scroll-margin-top: 76px;
  }
}
.pat {
  position: relative;
}
.pat-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 7px;
  height: 2px;
  background: var(--gilt);
  transform-origin: left center;
}
.pat-st li {
  padding: 44px 0 0;
}
.pat-st li:nth-child(2) {
  text-align: center;
}
.pat-st li:nth-child(2) .pat-mk {
  left: calc(50% - 6px);
}
.pat-st li:last-child {
  text-align: right;
}
.pat-st li:last-child .pat-mk {
  left: auto;
  right: -6px;
}
@media (max-width:760px) {
  .pat-line {
    left: 5px;
    right: auto;
    top: 8px;
    bottom: auto;
    width: 2px;
    height: calc(100% - 52px);
    transform-origin: center top;
  }
  .pat-st li,
  .pat-st li:nth-child(2),
  .pat-st li:last-child {
    text-align: left;
    padding: 0 0 0 38px;
  }
  .pat-st li:nth-child(2) .pat-mk,
  .pat-st li:last-child .pat-mk {
    left: 0;
    right: auto;
  }
  .pat-st {
    gap: 48px;
  }
}
.ab-body p {
  font-size: 18.14px;
  line-height: 1.62;
  color: var(--ink-2);
}
@media (max-width:760px) {
  .ab-body p {
    font-size: 17.76px;
  }
}
@media (max-width:720px) and (max-height:700px) {
  .niche {
    height: min(30svh, 200px);
  }
  .hero-inner {
    padding-top: 70px;
  }
  .hero-copy {
    padding-top: 8px;
  }
  .hero h1 {
    font-size: clamp(30.69px, 8.56vw, 35.34px);
  }
  .hero .rule {
    margin: 6px 0 6px;
    width: 40px;
  }
  .hero .lede {
    font-size: 16.5px;
    margin-bottom: 3px;
  }
  .hero .meta-two {
    font-size: 15px;
  }
  .hero .meta-two .meta-sep {
    margin: 3px 0 3px;
    width: 30px;
  }
  .hero-cta {
    margin-top: 7px;
  }
  .hero .seals {
    margin-top: 6px;
  }
  .hero .seals li {
    padding: 7px 11px 8px;
    gap: 4px;
  }
  .hero .seal-img {
    height: 34px;
  }
  .hero .seals .t {
    font-size: 12px;
    line-height: 1.3;
  }
  .hero .seals .t b {
    font-size: 14.5px;
  }
}
.pat-line {
  width: auto;
}
@media (max-width:760px) {
  .pat-line {
    width: 2px;
  }
}
@media (min-width:1181px) and (max-height:880px) {
  .hero-copy {
    padding-top: 112px;
  }
  .hero h1 {
    font-size: clamp(57.6px, min(7.74vw, 13.2svh), 115.2px);
  }
  .hero .rule {
    margin: 24px 0 20px;
  }
  .hero .seals {
    margin-top: 26px;
  }
  .niche {
    margin-top: 104px;
  }
}
.fo-open {
  padding: clamp(64px, 7vw, 108px) 0;
}
.fo-open-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.fo-open .fo-gen {
  margin: 0;
}
.fo-board .lab-sm {
  margin-bottom: 12px;
}
.fo-plates {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.fo-plates .plate {
  padding: 20px 24px 19px;
  gap: 5px;
}
.fo-plates .pl-name {
  font-size: clamp(19.53px, 1.58vw, 22.32px);
}
.fo-matter {
  padding: clamp(76px, 8vw, 116px) 0;
}
.fo-matter-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
}
.fo-matter .h2 {
  font-size: clamp(32.4px, 3.24vw, 46.8px);
  line-height: 1.08;
  margin-bottom: 24px;
}
.fo-matter-text p {
  font-size: 16.74px;
  line-height: 1.62;
  color: var(--ivory-2);
  margin: 0 0 16px;
}
.fo-matter-text .fo-src {
  font-size: 14.5px;
  font-style: italic;
  color: var(--gilt-text);
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid var(--rule-g);
}
.fo-tree {
  margin: 0;
}
.fo-tree svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.tr-narrow {
  display: none !important;
}
.fo-tree svg path,
.fo-tree svg rect {
  fill: none;
  stroke: var(--gilt);
  stroke-width: 1.3;
}
.fo-tree .tr-plate {
  fill: rgba(194, 165, 106, .1);
  stroke-width: 1.5;
}
.fo-tree .tr-d path {
  fill: rgba(194, 165, 106, .12);
  stroke-width: 1.4;
}
.fo-tree .tr-t path {
  fill: rgba(217, 193, 140, .2);
}
.fo-tree .tr-t .tr-tk {
  fill: none;
  stroke-width: 1;
}
.fo-tree text {
  font-family: var(--display);
  fill: var(--ivory);
  text-anchor: middle;
}
.fo-tree .tr-pt {
  font-size: 20.46px;
}
.fo-tree .tr-dn {
  font-size: 20.46px;
  fill: var(--gilt-text);
}
.fo-tree .tr-dl {
  font-family: var(--text);
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  fill: var(--ivory-2);
}
.fo-tree .tr-count {
  font-size: 22.32px;
  fill: var(--ivory);
}
.fo-tree .tr-n {
  fill: var(--gilt-text);
}
.fo-tree .tr-gov {
  font-family: var(--text);
  font-style: italic;
  font-size: 16.32px;
  fill: var(--gilt-text);
}
.fo-work {
  padding: clamp(70px, 8vw, 112px) 0;
}
.fo-work-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  border-bottom: 3px double var(--gilt-deep);
  padding-bottom: 18px;
}
.fo-work-head .lab-sm {
  margin: 0;
  order: 2;
}
.fo-work-h {
  font-size: clamp(27px, 2.7vw, 39.6px);
  line-height: 1.12;
  color: var(--ink);
}
.fo-work-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fo-work-list li {
  padding: 28px clamp(18px, 2vw, 30px) 6px;
  border-left: 1px solid var(--rule-s);
}
.fo-work-list li:first-child {
  border-left: 0;
  padding-left: 0;
}
.fw-n {
  display: block;
  font-family: var(--display);
  font-size: 41.4px;
  line-height: 1;
  color: var(--gilt-dark);
  margin-bottom: 14px;
}
.fo-work-list h3 {
  font-size: clamp(19.8px, 1.62vw, 23.4px);
  line-height: 1.18;
  color: var(--ink);
  margin-bottom: 12px;
  min-height: 2.36em;
}
.fo-work-list p {
  font-size: 16.32px;
  line-height: 1.58;
  color: var(--ink-2);
  margin: 0;
}
.fo-adv {
  background: var(--stone);
}
@media (max-width:1020px) {
  .fo-open-grid,
  .fo-matter-grid {
    grid-template-columns: 1fr;
  }
  .fo-work-list {
    grid-template-columns: 1fr 1fr;
  }
  .fo-work-list li:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }
}
@media (max-width:760px) {
  .tr-wide {
    display: none !important;
  }
  .tr-narrow {
    display: block !important;
  }
  .fo-tree .tr-pt {
    font-size: 19.2px;
  }
  .fo-tree .tr-dn {
    font-size: 18.24px;
  }
  .fo-tree .tr-dl {
    font-size: 9.8px;
    letter-spacing: .02em;
  }
  .fo-tree .tr-count {
    font-size: 21.12px;
  }
  .fo-work-list {
    grid-template-columns: 1fr;
  }
  .fo-work-list li {
    border-left: 0;
    padding: 22px 0 18px;
    border-bottom: 1px solid var(--rule-s);
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 12px;
  }
  .fo-work-list li > * {
    grid-column: 2;
  }
  .fw-n {
    grid-column: 1 !important;
    grid-row: 1/3;
    font-size: 33.48px;
    margin: 0;
  }
  .fo-work-list h3 {
    min-height: 0;
    margin-bottom: 8px;
  }
}
.np-split-grid {
  align-items: center;
}
.np-notes {
  background: var(--cream-2);
  border-top: 3px double var(--gilt-deep);
  padding: 26px clamp(24px, 2.6vw, 38px) 22px;
  position: relative;
}
.np-notes-lab {
  font-size: 14px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin: 0 0 6px;
}
.np-notes ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.np-notes li {
  font-family: var(--display);
  font-size: clamp(22.5px, 1.98vw, 27.9px);
  line-height: 1.2;
  color: var(--ink-2);
  padding: 12px 0 11px;
  border-bottom: 1px solid var(--rule-s);
}
.np-notes li.on {
  color: var(--ink);
}
.np-notes li.on span {
  background: linear-gradient(var(--gilt), var(--gilt)) 0 100%/var(--u,100%) 2px no-repeat;
  padding-bottom: 2px;
}
.np-notes li.on::after {
  content: "VI";
  float: right;
  font-size: 16.74px;
  line-height: 1.7;
  color: var(--gilt-dark);
}
.np-notes-src {
  margin: 14px 0 0;
  font-size: 14.5px;
  font-style: italic;
  color: var(--ink-2);
}
.np-life {
  padding: clamp(70px, 8vw, 110px) 0;
}
.np-life-head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: clamp(40px, 6vw, 96px);
  align-items: end;
  margin-bottom: clamp(44px, 5vw, 70px);
}
.np-life-head .lab-sm {
  grid-column: 1/-1;
}
.np-life-h {
  font-size: clamp(28.8px, 2.97vw, 43.2px);
  line-height: 1.1;
  color: var(--ink);
}
.np-life-head p:not(.lab-sm) {
  margin: 0;
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ink-2);
}
.np-st {
  position: relative;
}
.np-st-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 9px;
  height: 2px;
  background: var(--gilt-deep);
  transform-origin: left;
}
.np-st ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 36px);
  position: relative;
}
.np-mk {
  display: block;
  width: 20px;
  height: 20px;
  background: var(--stone);
  border: 2px solid var(--gilt-deep);
  transform: rotate(45deg);
  margin: 0 0 26px 1px;
  transition: background-color .4s;
}
.np-st li.lit .np-mk,
.np-st li:not(.dim) .np-mk {
  background: var(--claret);
  border-color: var(--claret);
}
.np-st li {
  transition: opacity .5s;
}
.np-st li.dim {
  opacity: .32;
}
.np-st h3 {
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 10px;
}
.np-st p {
  font-size: 15.84px;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0;
}
.bd-d {
  display: block;
  font-size: 15.5px;
  font-style: italic;
  color: var(--ivory-2);
  margin-top: 4px;
  letter-spacing: 0;
  text-transform: none;
}
.np-both {
  padding: clamp(64px, 7vw, 104px) 0;
}
.np-both-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.np-both-h {
  font-size: clamp(27px, 2.7vw, 39.6px);
  line-height: 1.12;
  color: var(--ink);
  margin-bottom: 20px;
}
.np-both-text p {
  font-size: 17.67px;
  line-height: 1.62;
  color: var(--ink);
  margin: 0;
  max-width: 34em;
}
.np-both-rel {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.np-both-rel .lab-sm {
  margin: 0;
}
@media (max-width:1020px) {
  .np-life-head,
  .np-both-grid {
    grid-template-columns: 1fr;
  }
  .np-life-head p:not(.lab-sm) {
    margin-top: 16px;
  }
}
@media (max-width:760px) {
  .np-st-line {
    left: 9px;
    right: auto;
    top: 6px;
    bottom: 6px;
    width: 2px;
    height: auto;
    transform-origin: top;
  }
  .np-st ol {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .np-st li {
    display: grid;
    grid-template-columns: 20px 1fr;
    column-gap: 20px;
  }
  .np-st li > * {
    grid-column: 2;
  }
  .np-mk {
    grid-column: 1 !important;
    grid-row: 1/3;
    margin: 4px 0 0;
  }
  .np-st h3 {
    margin-bottom: 6px;
  }
}
.np-life-h,
.fo-work-h,
.np-both-h,
.np-h {
  text-wrap: balance;
}
.ep-file {
  padding: clamp(70px, 8vw, 112px) 0;
}
.ep-file-head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
  margin-bottom: clamp(36px, 4vw, 56px);
}
.ep-file-h {
  font-size: clamp(28.8px, 2.97vw, 43.2px);
  line-height: 1.1;
  color: var(--ink);
}
.ep-file-head > p {
  margin: 0;
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ink-2);
}
.ep-folios {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}
.folio {
  position: relative;
  background: #FBF7EE;
  border: 1px solid rgba(20, 48, 31, .16);
  padding: 26px 26px 24px 40px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 14px 26px -18px rgba(20, 48, 31, .45);
}
.folio::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  background: var(--claret);
}
.folio::after {
  content: "";
  position: absolute;
  inset: 6px 6px 6px 16px;
  border: 1px solid rgba(126, 100, 49, .28);
  pointer-events: none;
}
.fl-n {
  position: absolute;
  right: 22px;
  top: 20px;
  font-family: var(--display);
  font-size: 20.46px;
  color: var(--gilt-dark);
}
.folio h3 {
  font-size: clamp(20.7px, 1.8vw, 24.3px);
  line-height: 1.15;
  color: var(--ink);
  margin: 0 40px 10px 0;
}
.folio p {
  margin: 0;
  font-size: 15.84px;
  line-height: 1.55;
  color: var(--ink-2);
}
.ep-notes {
  background: var(--stone);
  padding: clamp(60px, 6vw, 92px) 0;
}
.ep-notes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 4vw, 64px);
}
.ep-note {
  border-top: 3px double var(--gilt-deep);
  padding-top: 20px;
}
.ep-note-h {
  font-size: clamp(25.2px, 2.43vw, 34.2px);
  line-height: 1.12;
  color: var(--ink);
  margin-bottom: 14px;
}
.ep-note p:not(.lab-sm) {
  margin: 0;
  font-size: 16.74px;
  line-height: 1.6;
  color: var(--ink-2);
}
.ep-note .ln-under {
  display: inline-block;
  margin-top: 8px;
  font-size: 15.84px;
}
.ep-note-lec .ep-note-h {
  font-style: italic;
}
.tx-gen {
  padding: clamp(70px, 8vw, 112px) 0;
}
.tx-gen-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(40px, 5vw, 84px);
  align-items: center;
}
.tx-gen-h {
  font-size: clamp(28.8px, 2.88vw, 41.4px);
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 22px;
  text-wrap: balance;
}
.tx-gen-text p:not(.lab-sm) {
  font-size: 17.21px;
  line-height: 1.62;
  color: var(--ink-2);
  margin: 0 0 14px;
}
.tx-gens {
  margin: 0;
}
.tx-gens svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.gn-narrow {
  display: none !important;
}
.tx-gens path {
  fill: none;
  stroke: var(--gilt-deep);
  stroke-width: 1.5;
}
.tx-gens .gn-g path {
  fill: rgba(194, 165, 106, .13);
  stroke: var(--gilt-dark);
}
.tx-gens .gn-arc {
  stroke: var(--oxblood);
  stroke-width: 1.6;
  stroke-dasharray: none;
}
.tx-gens .gn-bar {
  stroke: var(--claret);
  stroke-width: 4;
}
.tx-gens text {
  font-family: var(--display);
  fill: var(--ink);
  text-anchor: middle;
}
.tx-gens .gn-n {
  font-size: 27px;
  fill: var(--gilt-dark);
}
.tx-gens .gn-l {
  font-size: 18.6px;
}
.tx-gens .gn-t {
  font-family: var(--text);
  font-size: 14px;
  font-style: italic;
  fill: var(--ink-2);
}
.tx-gens .gn-tl {
  text-anchor: start;
}
.tx-gens .gn-arc-l {
  font-family: var(--text);
  font-size: 15px;
  font-style: italic;
  fill: var(--oxblood);
}
.tx-gens .gn-plan {
  font-size: 19.53px;
  fill: var(--claret);
}
.tx-two {
  padding: clamp(64px, 7vw, 100px) 0;
}
.tx-two-h {
  font-size: clamp(25.2px, 2.43vw, 34.2px);
  line-height: 1.12;
  color: var(--ink);
  padding-bottom: 18px;
  border-bottom: 3px double var(--gilt-deep);
}
.tx-two-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tx-two-list li {
  padding: 26px clamp(20px, 2.4vw, 36px) 0;
  border-left: 1px solid var(--rule-s);
}
.tx-two-list li:first-child {
  border-left: 0;
  padding-left: 0;
}
.tx-two-list h3 {
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  color: var(--ink);
  margin-bottom: 12px;
}
.tx-two-list p {
  margin: 0;
  font-size: 16.32px;
  line-height: 1.6;
  color: var(--ink-2);
}
.tx-two-list .ln-under {
  display: inline-block;
  margin-top: 8px;
  font-size: 15.5px;
}
.cg-ways {
  padding: clamp(70px, 8vw, 112px) 0;
}
.cg-ways-head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: end;
  margin-bottom: clamp(36px, 4vw, 54px);
}
.cg-ways-h {
  font-size: clamp(28.8px, 2.97vw, 43.2px);
  line-height: 1.1;
  color: var(--ink);
}
.cg-ways-head > p {
  margin: 0;
  font-size: 17.21px;
  line-height: 1.6;
  color: var(--ink-2);
}
.cg-split {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.cs-row {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: clamp(20px, 3vw, 44px);
  align-items: center;
}
.cs-name {
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.15;
  color: var(--ink);
}
.cs-bar {
  display: flex;
  gap: 4px;
  min-height: 92px;
}
.cs-seg {
  flex: 0 0 calc(var(--w) - 2px);
  position: relative;
  overflow: hidden;
  padding: 16px 20px 15px;
  font-size: 15.5px;
  line-height: 1.45;
  transform-origin: left;
}
.cs-seg b {
  display: block;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(17.67px, 1.49vw, 20.46px);
  line-height: 1.2;
  margin-bottom: 4px;
}
.cs-fam {
  background: #D9C391;
  color: #2a2312;
}
.cs-cha {
  background: var(--claret);
  color: var(--cream);
}
.cs-cha b {
  color: #F0DFB6;
}
.cs-axis {
  display: flex;
  justify-content: space-between;
  margin: 0 0 0 calc(25% + clamp(5px, .75vw, 11px));
  padding-top: 10px;
  border-top: 1px solid var(--ink-2);
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-2);
  position: relative;
}
.cs-axis::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -5px;
  border: 5px solid transparent;
  border-left: 8px solid var(--ink-2);
  border-right: 0;
}
.cs-more {
  margin: clamp(34px, 3.6vw, 50px) 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--rule-s);
  font-size: 16.8px;
  line-height: 1.7;
  color: var(--ink);
}
.cs-more .lab-sm {
  display: inline;
  margin-right: 14px;
}
.cg-art {
  background: var(--cream-2);
}
.cg-art-grid {
  align-items: center;
}
.cg-art-mca {
  margin: 20px 0 0;
  font-size: 16.74px;
  line-height: 1.6;
  color: var(--ink-2);
  padding-left: 20px;
  border-left: 2px solid var(--gilt-deep);
}
.cg-labels {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
}
.wl {
  background: #FDFBF6;
  padding: 22px 22px 24px;
  box-shadow: 0 1px 2px rgba(20, 48, 31, .12), 0 16px 26px -20px rgba(20, 48, 31, .5);
  border-top: 1px solid rgba(20, 48, 31, .06);
}
.wl-no {
  display: block;
  font-size: 12.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--oxblood);
  margin-bottom: 12px;
}
.wl h3 {
  font-size: clamp(19.8px, 1.71vw, 23.4px);
  font-style: italic;
  color: var(--ink);
  margin-bottom: 10px;
}
.wl p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-2);
}
.ip-cases {
  padding: clamp(70px, 8vw, 112px) 0;
}
.ip-cases-head {
  margin-bottom: clamp(32px, 3.6vw, 50px);
}
.ip-cases-h {
  font-size: clamp(28.8px, 2.97vw, 43.2px);
  line-height: 1.1;
  color: var(--ink);
}
.ip-case-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}
.ip-case-list li {
  background: var(--cream-2);
  border-top: 3px double var(--gilt-deep);
  padding: 24px 22px 26px;
}
.xg {
  width: 120px;
  height: 40px;
  margin-bottom: 18px;
  overflow: visible;
}
.xg path {
  fill: none;
  stroke: var(--gilt-dark);
  stroke-width: 1.3;
}
.xg .xg-a {
  fill: rgba(194, 165, 106, .18);
}
.xg .xg-b {
  stroke: var(--oxblood);
  stroke-dasharray: 3 3;
}
.xg .xg-l {
  stroke-dasharray: 2 4;
  stroke: var(--ink-2);
}
.xg .xg-d {
  fill: var(--claret);
}
.ip-case-list h3 {
  font-size: clamp(19.53px, 1.67vw, 23.25px);
  line-height: 1.22;
  color: var(--ink);
}
.ip-note .lab-sm {
  margin-bottom: 16px;
}
.ta-course {
  padding: clamp(70px, 8vw, 112px) 0;
}
.ta-course-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(40px, 5vw, 84px);
  align-items: start;
}
.ta-course-text {
  position: sticky;
  top: 130px;
}
.ta-course-h {
  font-size: clamp(28.8px, 2.97vw, 43.2px);
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 20px;
}
.ta-course-text p:not(.lab-sm) {
  margin: 0;
  font-size: 17.21px;
  line-height: 1.62;
  color: var(--ink-2);
}
.ledger {
  list-style: none;
  margin: 0;
  padding: 6px 0;
  background: #FBF7EE;
  border: 1px solid rgba(20, 48, 31, .14);
  box-shadow: 0 18px 30px -22px rgba(20, 48, 31, .5);
  position: relative;
}
.ledger::before {
  content: "";
  position: absolute;
  left: 74px;
  top: 0;
  bottom: 0;
  width: 4px;
  border-left: 1px solid var(--oxblood);
  border-right: 1px solid var(--oxblood);
  transform-origin: top;
  transform: scaleY(var(--m,1));
}
.ledger li {
  display: grid;
  grid-template-columns: 74px 1fr 48px;
  align-items: start;
  border-bottom: 1px solid rgba(20, 48, 31, .12);
  padding: 20px 0 18px;
}
.ledger li:last-child {
  border-bottom: 0;
}
.lg-n {
  font-family: var(--display);
  font-size: 22.32px;
  color: var(--gilt-dark);
  text-align: center;
  padding-top: 1px;
}
.ledger li > div {
  padding: 0 0 0 28px;
}
.ledger h3 {
  font-size: clamp(19.8px, 1.71vw, 23.4px);
  line-height: 1.15;
  color: var(--ink);
  margin-bottom: 6px;
}
.ledger p {
  margin: 0;
  font-size: 15.84px;
  line-height: 1.55;
  color: var(--ink-2);
}
.lg-tick {
  width: 26px;
  height: 21px;
  margin: 4px auto 0;
  overflow: visible;
}
.lg-tick path {
  fill: none;
  stroke: var(--oxblood);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width:1020px) {
  .ep-file-head,
  .tx-gen-grid,
  .cg-ways-head,
  .ta-course-grid {
    grid-template-columns: 1fr;
  }
  .ep-file-head {
    gap: 16px;
  }
  .cg-ways-head {
    gap: 16px;
  }
  .ep-folios {
    grid-template-columns: 1fr 1fr;
  }
  .ip-case-list {
    grid-template-columns: 1fr 1fr;
  }
  .cg-labels {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .ta-course-text {
    position: static;
  }
}
@media (max-width:760px) {
  .ep-folios,
  .ep-notes-grid,
  .tx-two-list,
  .ip-case-list,
  .cg-labels {
    grid-template-columns: 1fr;
  }
  .ep-notes-grid {
    gap: 40px;
  }
  .tx-two-list li {
    border-left: 0;
    padding: 22px 0 20px;
    border-bottom: 1px solid var(--rule-s);
  }
  .gn-wide {
    display: none !important;
  }
  .gn-narrow {
    display: block !important;
    max-width: 380px;
    margin: 0 auto;
  }
  .tx-gens .gn-l {
    font-size: 18px;
  }
  .cs-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .cs-bar {
    flex-direction: column;
    gap: 4px;
    min-height: 0;
  }
  .cs-seg {
    flex: none;
  }
  .cs-axis {
    display: none;
  }
  .ip-case-list li {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 16px;
    align-items: center;
    padding: 18px 18px 20px;
  }
  .xg {
    margin: 0;
  }
  .ledger::before {
    left: 46px;
  }
  .ledger li {
    grid-template-columns: 46px 1fr 36px;
  }
  .ledger li > div {
    padding-left: 18px;
  }
  .lg-n {
    font-size: 19.2px;
  }
}
.cg-art-grid {
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
}
.wl {
  padding: 24px 24px 26px;
}
.xg {
  width: 156px;
  height: 52px;
}
.tx-gens .gn-t {
  font-size: 15.5px;
}
.tx-gens .gn-arc-l {
  font-size: 16.32px;
}
@media (max-width:1020px) {
  .cg-art-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .ip-case-list li {
    grid-template-columns: 132px 1fr;
  }
  .xg {
    width: 132px;
    height: 44px;
  }
}
.tx-two {
  padding-bottom: clamp(30px, 4vw, 56px);
}
.hero .meta-two {
  font-size: clamp(17.67px, 1.4vw, 20.46px);
}
.hero .meta-two .nw {
  display: inline;
  white-space: nowrap;
}
.hero .meta-two .meta-sep {
  margin: 11px 0 10px;
}
@media (max-width:760px) {
  .hero .meta-two {
    font-size: clamp(15.5px, 4.2vw, 17px);
  }
}
.decades.sec {
  padding-top: clamp(48px, 5vw, 72px);
  padding-bottom: clamp(56px, 6vw, 84px);
}
.decades .dec-grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: stretch;
}
.dec-main .dec-lead {
  margin: 0 0 22px;
}
.dec-main .dec-lead-2 {
  font-size: clamp(17.67px, 1.4vw, 19.53px);
  color: var(--ink-2);
}
.dec-main .dec-close {
  margin: 6px 0 0;
  padding-top: 18px;
  border-top: 2px solid var(--oxblood);
  font-family: var(--display);
  font-size: clamp(20.7px, 1.8vw, 25.2px);
  line-height: 1.22;
  color: var(--ink);
  display: inline-block;
}
.dec-pa {
  margin: 30px 0 0;
  font-size: 16.32px;
}
.dec-pa a,
.dec-more a {
  color: var(--ink);
}
.dec-about {
  background: var(--cream-2);
  border-top: 3px double var(--gilt-deep);
  padding: clamp(26px, 2.6vw, 36px) clamp(24px, 2.6vw, 38px) clamp(26px, 2.6vw, 34px);
  position: relative;
}
.dec-about .lab-sm {
  margin: 0 0 14px;
  color: var(--oxblood);
}
.dec-focus {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(19.53px, 1.63vw, 23.25px);
  line-height: 1.36;
  color: var(--ink);
}
.dec-register {
  margin-top: 24px;
  border-top: 1px solid var(--rule-s);
}
.dec-register li {
  padding: 13px 0 12px;
}
.dec-register .r1 {
  font-size: 19.53px;
}
.dec-register .r2 {
  font-size: 15.5px;
}
.dec-teach {
  margin: 16px 0 0;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-2);
}
.dec-more {
  margin: 20px 0 0;
  font-size: 16.32px;
}
@media (max-width:1020px) {
  .decades .dec-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}
@media (max-width:720px) {
  .decades.sec {
    padding-top: 40px;
  }
  .dec-about {
    margin: 0 calc(var(--gut) * -1);
    padding: 26px var(--gut) 28px;
  }
  .dec-focus {
    font-size: 20.16px;
  }
  .dec-register .r1 {
    font-size: 18.72px;
  }
}
.ab-focus {
  margin: 26px 0 0;
  padding: 22px 0 0 26px;
  border-left: 1px solid var(--gilt);
  font-family: var(--display);
  font-style: italic;
  font-size: clamp(18.9px, 1.62vw, 23.4px);
  line-height: 1.38;
  color: var(--ivory);
  max-width: 34em;
}
@media (max-width:720px) {
  .ab-focus {
    padding: 4px 0 4px 18px;
    font-size: 19.2px;
  }
}
.pa-q {
  margin: 0 auto clamp(40px, 4.4vw, 60px);
  max-width: 1040px;
  text-align: center;
}
.pa-q::before {
  content: "";
  display: block;
  width: 64px;
  height: 1px;
  background: var(--gilt-deep);
  margin: 0 auto 26px;
}
.pa-q blockquote {
  margin: 0;
}
.pa-q blockquote p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(25.2px, 2.7vw, 37.8px);
  line-height: 1.2;
  color: var(--oxblood);
}
.pa-q figcaption {
  margin-top: 18px;
  font-size: 14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gilt-dark);
}
@media (max-width:720px) {
  .pa-q {
    text-align: left;
  }
  .pa-q::before {
    margin-left: 0;
  }
  .pa-q blockquote p {
    font-size: 24.18px;
    text-indent: -.3em;
  }
  .pa-q figcaption {
    font-size: 12.5px;
    line-height: 1.5;
  }
}
.said-in {
  margin: 0 0 8px;
  font-size: 15.5px;
  color: var(--ink-2);
}
.said-crains blockquote {
  text-indent: -.36em;
}
.stw .sp-lect {
  padding: clamp(44px, 4.6vw, 64px) 0 clamp(36px, 3.6vw, 52px);
}
.stw .sp-teach {
  padding: 0 0 clamp(48px, 5vw, 70px);
}
.stw .sp-write {
  padding: clamp(48px, 5vw, 70px) 0;
}
.stw .quoted.sec {
  padding: clamp(44px, 4.6vw, 64px) 0;
}
.stw .programme {
  padding: clamp(30px, 3.6vw, 50px) clamp(24px, 4.4vw, 70px);
}
.contact.sec {
  padding: clamp(56px, 6vw, 88px) 0;
}
@media (max-width:760px) {
  .yr-down .yr-txt {
    top: -14px;
  }
  .yr-e:nth-last-child(2) .yr-txt {
    top: -86px;
  }
}
@font-face {
  font-family: "Spectral Crains";
  src: url(../fonts/spectral-700-crains.woff2?v=76) format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
.pub-crains {
  flex-direction: row;
  align-items: baseline;
  gap: .42em;
  font-family: "Spectral Crains", var(--text);
  font-weight: 700;
  font-size: clamp(13.02px, 1.19vw, 17.21px);
  letter-spacing: .035em;
  text-transform: uppercase;
  line-height: 1;
  color: #1e1917;
}
.pub-crains b,
.pub-crains i {
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
}
@media (max-width:760px) {
  .pub-crains {
    align-items: baseline;
    font-size: 17px;
  }
  .pub-crains b,
  .pub-crains i {
    font-size: inherit;
  }
}
@media (min-width:1021px) {
  .pubs-five .pub-wsj,
  .pubs-five .pub-nyt,
  .pubs-five .pub-lat {
    width: clamp(136px, 12vw, 174px);
  }
  .pubs-five .pub-trib {
    width: clamp(110px, 9.6vw, 140px);
  }
  .pubs-five li + li::before {
    margin: 0 clamp(10px, 1.3vw, 20px);
  }
  .pub-crains {
    font-size: clamp(13px, 1.03vw, 15px);
  }
}
.said-head {
  margin-bottom: clamp(26px, 2.8vw, 40px);
}
.said-cards {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(20px, 2.4vw, 34px);
  align-items: stretch;
}
.said-card {
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--cream);
  border: 1px solid rgba(20, 48, 31, .13);
  border-top: 0;
  padding: clamp(30px, 3vw, 44px) clamp(26px, 3.2vw, 48px) clamp(24px, 2.6vw, 34px);
}
.said-card::before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: 0;
  height: 5px;
  border-top: 1px solid var(--gilt-deep);
  border-bottom: 1px solid var(--gilt-deep);
}
.said-src {
  margin: 0 0 clamp(18px, 2vw, 26px);
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "Spectral Crains", var(--text);
  font-weight: 700;
  font-size: 13.5px;
  letter-spacing: .09em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--ink);
}
.said-src::after {
  content: "";
  flex: 1;
  min-width: 24px;
  height: 1px;
  background: var(--rule-s);
}
.said-card blockquote {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(22.5px, 2.02vw, 28.8px);
  line-height: 1.26;
  color: var(--ink);
  text-indent: -.38em;
}
.said-card blockquote p {
  margin: 0;
}
.said-cct blockquote {
  font-size: clamp(28.8px, 2.88vw, 41.4px);
  line-height: 1.12;
  color: var(--oxblood);
}
.said-card figcaption {
  margin-top: auto;
  padding-top: clamp(20px, 2.2vw, 28px);
  font-size: 15px;
  font-style: italic;
  color: var(--ink-2);
}
@media (max-width:760px) {
  .said-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .said-card {
    padding: 28px 24px 24px;
  }
  .said-card blockquote {
    font-size: 22.08px;
  }
  .said-cct blockquote {
    font-size: 28.83px;
  }
  .said-src {
    font-size: 12.5px;
  }
}
.yb {
  --lw:clamp(250px,27vw,350px);
  --gap:clamp(24px,3vw,48px);
}
.yb-scale,
.yb-row {
  display: grid;
  grid-template-columns: var(--lw) minmax(0, 1fr);
  column-gap: var(--gap);
}
.yb-scale {
  height: 30px;
}
.yb-scale .yb-track {
  grid-column: 2;
  position: relative;
}
.yb-tick {
  position: absolute;
  left: var(--p);
  bottom: 0;
  width: 1px;
  height: 8px;
  background: rgba(20, 48, 31, .4);
}
.yb-tick i {
  position: absolute;
  bottom: 13px;
  left: 50%;
  transform: translateX(-50%);
  font-style: normal;
  font-size: 13.5px;
  letter-spacing: .08em;
  color: var(--ink-2);
}
.yb-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule-s);
}
.yb-row {
  align-items: center;
  padding: clamp(16px, 1.7vw, 22px) 0;
  border-bottom: 1px solid var(--rule-s);
}
.yb-lab {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 18px;
  align-items: baseline;
}
.yb-y {
  grid-row: 1/3;
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(27px, 2.34vw, 34.2px);
  line-height: 1;
  color: var(--gilt-deep);
}
.yb-n {
  font-family: var(--display);
  font-size: clamp(17.67px, 1.49vw, 20.46px);
  line-height: 1.2;
  color: var(--ink);
}
.yb-d {
  grid-column: 2;
  font-size: 14.5px;
  line-height: 1.4;
  font-style: italic;
  color: var(--ink-2);
}
.yb-row .yb-track {
  position: relative;
  height: 40px;
  background-image:
    linear-gradient(
      to right,
      rgba(20, 48, 31, .13) 0 1px,
      transparent 1px);
  background-size: 29.4118% 100%;
  background-repeat: repeat-x;
  border-right: 1px solid rgba(20, 48, 31, .13);
}
.yb-bar {
  position: absolute;
  left: var(--a);
  right: 0;
  top: 50%;
  height: 10px;
  margin-top: -5px;
  background: var(--gilt-deep);
  transform-origin: left center;
}
.yb-mk {
  position: absolute;
  left: -9px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: var(--gilt-deep);
  border: 2px solid var(--cream);
  transform: rotate(45deg);
}
@media (max-width:760px) {
  .yb {
    --lw:0px;
    --gap:0px;
  }
  .yb-scale,
  .yb-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .yb-scale .yb-track {
    grid-column: 1;
  }
  .yb-tick:nth-child(4) i {
    display: none;
  }
  .yb-tick i {
    font-size: 12.5px;
  }
  .yb-row {
    row-gap: 12px;
    padding: 18px 0;
  }
  .yb-y {
    font-size: 26.04px;
  }
  .yb-n {
    font-size: 18.24px;
  }
  .yb-d {
    font-size: 14px;
  }
  .yb-row .yb-track {
    height: 26px;
  }
  .yb-bar {
    height: 8px;
    margin-top: -4px;
  }
  .yb-mk {
    width: 14px;
    height: 14px;
    margin-top: -7px;
    left: -8px;
  }
}
.yb-mk {
  left: calc(var(--a) - 9px);
}
@media (max-width:760px) {
  .yb-mk {
    left: calc(var(--a) - 8px);
  }
}
.yb-lab {
  grid-template-columns: clamp(84px, 6.6vw, 96px) minmax(0, 1fr);
  column-gap: 10px;
}
.said {
  padding-bottom: clamp(70px, 7vw, 104px);
}
@media (max-width:760px) {
  .yb-lab {
    grid-template-columns: 70px minmax(0, 1fr);
  }
  .said-src::after {
    display: none;
  }
}
.niche {
  aspect-ratio: 1000/1259;
}
.niche .arch {
  background: #D6CCB7;
}
.niche .arch::before {
  border-color: rgba(126, 100, 49, .34);
}
.niche img {
  object-position: 50% 100%;
}
.abn-head {
  padding-bottom: clamp(40px, 4.4vw, 60px);
}
.abn-head h1 {
  margin-bottom: 0;
}
.abn-h {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(28px, 2.5vw, 36px);
  line-height: 1.15;
  color: var(--ink);
  margin: 0 0 clamp(18px, 1.8vw, 24px);
}
.abn-rep,
.abn-teach,
.abn-edu,
.abn-rec {
  padding: clamp(56px, 6vw, 88px) 0;
}
.abn-rep p,
.abn-body p,
.abn-bg-text p,
.abn-edu p,
.abn-rec .abn-side p {
  margin: 0 0 1em;
  font-size: 17px;
  line-height: 1.66;
  color: var(--ink-2);
  max-width: 40em;
}
.abn-rep-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.abn-rep .abn-lead {
  font-family: var(--display);
  font-size: clamp(21px, 1.75vw, 25px);
  line-height: 1.38;
  color: var(--ink);
}
.abn-photo {
  justify-self: end;
  width: 100%;
  max-width: 440px;
  padding: 10px;
}
.abn-photo::before {
  inset: 4px;
}
.abn-teach {
  background: var(--cream-2);
}
.abn-split {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(36px, 6vw, 96px);
  align-items: start;
}
.abn-body {
  border-top: 3px double var(--gilt-deep);
  padding-top: clamp(20px, 2vw, 26px);
}
.abn-body p:last-child,
.abn-rep p:last-child,
.abn-bg-text p:last-child,
.abn-edu-b p:last-child {
  margin-bottom: 0;
}
.abn-more {
  margin: 0;
  font-size: 15.5px;
  letter-spacing: .02em;
}
.abn-more a {
  color: var(--oxblood);
}
.abn-more a::after {
  content: " →";
  font-size: .92em;
}
.abn-bg {
  padding: clamp(60px, 6.4vw, 96px) 0;
}
.abn-bg .abn-h {
  color: var(--gilt);
}
.abn-bg-grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.abn-bg .abn-bg-text p {
  color: var(--ivory-2);
}
.abn-plates .plates {
  grid-template-columns: 1fr;
  gap: 12px;
}
.abn-plates .plate {
  padding: 18px 22px 16px;
  gap: 4px;
}
.abn-plates .pl-name {
  font-size: clamp(19px, 1.5vw, 21px);
}
.abn-plates .pl-what {
  font-size: 14px;
}
.abn-plates .plate-own {
  margin-top: 12px;
  padding: 20px 26px 18px;
}
.abn-plates .plate-own .lockup {
  width: min(280px, 100%);
}
.abn-edu-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 80px);
  border-top: 3px double var(--gilt-deep);
  padding-top: clamp(20px, 2vw, 26px);
}
.abn-uq {
  margin: clamp(18px, 2vw, 26px) 0 0;
  padding: 4px 0 4px 22px;
  border-left: 1px solid var(--gilt-deep);
}
.abn-uq blockquote {
  margin: 0;
}
.abn-uq blockquote p {
  margin: 0;
  font-family: var(--display);
  font-style: normal;
  font-size: clamp(19px, 1.5vw, 21px);
  line-height: 1.42;
  color: var(--ink);
  text-indent: -.36em;
  max-width: none;
}
.abn-uq figcaption {
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: .06em;
  color: var(--gilt-dark);
}
.abn-rec .abn-split {
  align-items: center;
}
.abn-cct {
  margin: 0;
  padding-left: clamp(26px, 3vw, 44px);
  border-left: 1px solid var(--rule-s);
}
.abn-cct-in {
  margin: 0 0 12px;
  font-size: 15.5px;
  font-style: italic;
  color: var(--ink-2);
}
.abn-cct blockquote {
  margin: 0;
}
.abn-cct blockquote p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(25px, 2.3vw, 33px);
  line-height: 1.24;
  color: var(--oxblood);
  text-indent: -.36em;
}
@media (max-width:900px) {
  .abn-rep-grid,
  .abn-split,
  .abn-bg-grid,
  .abn-edu-grid {
    grid-template-columns: 1fr;
  }
  .abn-photo {
    justify-self: start;
  }
  .abn-edu-grid {
    gap: 26px;
  }
}
@media (max-width:760px) {
  .abn-rep,
  .abn-teach,
  .abn-edu,
  .abn-rec,
  .abn-bg {
    padding: 48px 0 52px;
  }
  .abn-rep p,
  .abn-body p,
  .abn-bg-text p,
  .abn-edu p,
  .abn-rec .abn-side p {
    font-size: 16.5px;
    line-height: 1.62;
  }
  .abn-rep .abn-lead {
    font-size: 20px;
  }
  .abn-h {
    font-size: 27px;
  }
  .abn-split {
    gap: 18px;
  }
  .abn-photo {
    max-width: none;
  }
  .abn-cct {
    padding-left: 18px;
  }
  .abn-cct blockquote p {
    font-size: 24px;
  }
  .abn-uq {
    padding-left: 16px;
  }
}
.stw-head .ph-grid {
  align-items: center;
}
.stw-photo {
  width: clamp(320px, 31vw, 430px);
  max-width: none;
  padding: 9px;
  background: var(--stone);
  margin: 0;
}
.stw-photo::before {
  inset: 4px;
}
.programme-h {
  font-size: clamp(17px, 1.45vw, 20px);
  padding-bottom: 18px;
}
.pg-lectures li,
.pg-programs li {
  font-family: var(--display);
  font-style: normal;
  font-size: clamp(18px, 1.4vw, 20px);
  line-height: 1.3;
  color: var(--ink);
  padding: 10px 0 9px;
  border-bottom: 1px solid var(--rule-s);
}
.pg-programs li span {
  font-size: 14px;
}
.pg-and {
  font-size: 15.5px;
  margin-top: 14px;
}
.stw .sp-teach {
  padding-bottom: clamp(40px, 4vw, 56px);
}
.sp-teach .h2 {
  font-size: clamp(24px, 2.1vw, 30px);
  margin-bottom: 14px;
}
.sp-teach-text p:not(.lab-sm) {
  font-size: 16.5px;
  margin-bottom: 18px;
}
.sp-mt b {
  font-size: 19px;
}
.sp-board {
  padding: clamp(24px, 2.6vw, 36px) clamp(24px, 3vw, 44px);
}
.sp-courses li {
  padding: 10px 0 14px;
}
.sp-c {
  font-size: clamp(26px, 2.4vw, 34px);
}
.sp-u {
  margin-top: 10px;
}
.stw .sp-write {
  padding: clamp(40px, 4.2vw, 58px) 0;
}
.sp-write .h2 {
  font-size: clamp(26px, 2.3vw, 32px);
}
.sp-write-head {
  margin-bottom: 20px;
}
.journals {
  gap: clamp(14px, 1.8vw, 24px);
}
.journals li {
  min-height: 0;
  padding: 28px 20px 30px;
  gap: 10px;
}
.journals li::before {
  left: 14px;
  right: 14px;
  top: 14px;
}
.journals li::after {
  left: 14px;
  right: 14px;
  bottom: 14px;
}
.jr-k {
  font-size: 11.5px;
  margin-top: 8px;
}
.jr-n {
  font-size: clamp(18px, 1.5vw, 21px);
  margin: 10px 0 2px;
}
.sp-write-more {
  margin-top: 16px;
  font-size: 15.5px;
}
@media (max-width:1020px) {
  .stw-head .ph-grid {
    grid-template-columns: 1fr;
  }
  .stw-photo {
    width: min(460px, 100%);
    position: relative;
  }
}
@media (max-width:760px) {
  .stw-photo {
    width: 100%;
  }
  .pg-lectures li,
  .pg-programs li {
    font-size: 18px;
  }
  .sp-c {
    font-size: 28px;
  }
  .jr-n {
    font-size: 19px;
  }
  .journals li {
    padding: 26px 18px 28px;
  }
}
.ct-head {
  padding-bottom: clamp(36px, 3.6vw, 50px) !important;
}
.ct-head h1 {
  margin-bottom: 0;
}
.ct-sec {
  padding: clamp(48px, 5vw, 72px) 0 clamp(56px, 5.6vw, 80px);
}
.ct-side .notice-new {
  margin: 0;
  font-size: 16.5px;
}
@media (max-width:1180px) {
  .ct-side {
    max-width: 720px;
  }
}
@media (max-width:760px) {
  .ct-sec {
    padding: 36px 0 48px;
  }
  .ct-side .notice-new {
    font-size: 16px;
  }
}
.sp-courses {
  width: fit-content;
  max-width: 100%;
}
.sp-u {
  width: 100%;
}
.ta-lead-side .ta-bl {
  border-top: 0;
  padding-top: 14px;
  font-size: 15.84px;
}
.tx-lead-side .tx-lead-ch {
  border-top: 0;
  padding-top: 14px;
  font-size: 16.32px;
}
.cg-lec {
  max-width: 520px;
  justify-self: end;
  width: 100%;
}
.cg-lec .wl {
  padding: 30px 32px 32px;
}
.cg-lec .wl h3 {
  font-size: clamp(22px, 1.9vw, 27px);
  margin-bottom: 12px;
}
.cg-lec .wl p {
  font-size: 15.84px;
}
@media (max-width:1020px) {
  .cg-lec {
    justify-self: start;
    max-width: none;
  }
}
.pa-close {
  padding: clamp(44px, 4.4vw, 64px) 0 clamp(52px, 5vw, 72px);
}
.pa-strip {
  padding-top: 20px;
}
.ep-rel {
  padding: clamp(44px, 4.4vw, 64px) 0 0;
}
.ep-rel .rel-card {
  grid-template-columns: 44px 1fr;
  padding: 20px 24px;
  align-items: baseline;
}
.ep-rel .rc-no {
  grid-row: auto;
}
@media (max-width:760px) {
  .pa-strip {
    gap: 8px;
  }
  .ep-rel .rel-card {
    padding: 18px 18px;
    grid-template-columns: 36px 1fr;
  }
}
.ip-band-grid {
  gap: clamp(40px, 6vw, 96px);
}
.ip-band-text {
  max-width: 30em;
}
.ip-band-text .lab-sm {
  color: var(--gilt-text);
}
.ip-band-p {
  margin: 10px 0 0;
  font-family: var(--display);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.3;
  color: var(--ivory);
}
@media (max-width:760px) {
  .ip-band-p {
    font-size: 21px;
  }
}
.ta-whole {
  background: var(--cream-2);
  padding: clamp(52px, 5.4vw, 80px) 0;
}
.ta-fid {
  padding: clamp(64px, 7vw, 104px) 0;
}
.ta-fid-grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
}
.ta-fid-h {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.2;
  color: var(--gilt-text);
  margin: 14px 0 0;
  max-width: 15em;
}
.ta-fid-whole {
  position: relative;
  padding-left: clamp(26px, 2.6vw, 40px);
}
.ta-fid-rule {
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--gilt);
  transform-origin: top;
}
.ta-fid-q {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(22.5px, 2.16vw, 30.6px);
  line-height: 1.28;
  color: var(--ivory);
}
.ta-fid-link {
  margin: 22px 0 0;
  font-size: 16.32px;
}
.ta-fid-link .ln-under {
  color: var(--ivory);
}
@media (max-width:1020px) {
  .ta-fid-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}
.np-yr {
  padding: clamp(64px, 7vw, 104px) 0;
}
.np-yr-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.np-yr-fig {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.np-yr-n {
  display: flex;
  font-family: var(--display);
  font-size: clamp(96px, 10.5vw, 156px);
  line-height: .9;
  color: var(--gilt-dark);
  letter-spacing: .01em;
}
.np-yr-n i {
  font-style: normal;
  display: inline-block;
}
.np-yr-rule {
  display: block;
  width: 100%;
  height: 3px;
  margin-top: 18px;
  border-top: 1px solid var(--gilt-deep);
  border-bottom: 1px solid var(--gilt-deep);
  transform-origin: left;
  font-size: clamp(96px, 10.5vw, 156px);
}
.np-yr-rule {
  max-width: none;
  width: 2.05em;
}
.np-yr-q {
  margin: 0;
  max-width: 34em;
}
.np-yr-q blockquote {
  margin: 0;
}
.np-yr-q blockquote p {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.3;
  color: var(--ink);
}
.np-yr-q figcaption {
  margin-top: 22px;
  font-family: "Marcellus SC", var(--display);
  font-size: 16px;
  letter-spacing: .12em;
  color: var(--oxblood);
}
.np-yr-q figcaption::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  background: var(--gilt-deep);
  vertical-align: middle;
  margin-right: 14px;
}
@media (max-width:1020px) {
  .np-yr-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}
@media (max-width:760px) {
  .np-yr-n {
    font-size: 88px;
  }
  .np-yr-rule {
    font-size: 88px;
  }
  .np-yr-q blockquote p {
    font-size: 23px;
  }
}
.np-split.stone .np-notes {
  background: var(--cream);
}
.np-rec {
  margin: 26px 0 0;
  border-top: 1px solid var(--rule-s);
  max-width: 36em;
}
.np-rec > div {
  display: grid;
  grid-template-columns: minmax(0, 15em) 1fr;
  gap: 6px 24px;
  padding: 13px 0 12px;
  border-bottom: 1px solid var(--rule-s);
}
.np-rec dt {
  font-size: 13.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oxblood);
  padding-top: 3px;
}
.np-rec dd {
  margin: 0;
  font-size: 16.32px;
  line-height: 1.5;
  color: var(--ink);
}
@media (max-width:760px) {
  .np-rec > div {
    grid-template-columns: 1fr;
  }
}
.np-band .bd-d {
  margin-top: 3px;
}
.np-band {
  padding: clamp(60px, 6vw, 88px) 0;
}
.np-band .np-boards li {
  padding: 15px 0 13px;
}
.np-band .np-boards svg {
  width: 86%;
}
.np-rec > div {
  grid-template-columns: minmax(0, 17.5em) 1fr;
}
@media (max-width:760px) {
  .np-band .np-boards svg {
    width: 100%;
  }
  .np-rec > div {
    grid-template-columns: 1fr;
  }
}
@media (max-width:720px) {
  .hero-inner {
    grid-template-rows: minmax(0, 1fr) auto auto;
    align-content: stretch;
    padding-top: 88px;
  }
  .niche {
    align-self: end;
    justify-self: center;
    height: min(100%, 58svh, 460px);
    max-height: calc((100vw - 2 * var(--gut)) * 1.259);
    min-height: 200px;
    margin: 0;
  }
  .hero-copy {
    text-align: center;
    padding-top: min(24px, 2.8svh);
  }
  .hero h1 {
    margin-left: 0;
  }
  .hero .rule {
    margin-left: auto;
    margin-right: auto;
    transform-origin: center;
  }
  .hero .lede {
    margin-left: auto;
    margin-right: auto;
  }
  .hero .meta-two {
    align-items: center;
  }
  .hero .meta-two .meta-sep {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width:720px) and (max-height:700px) {
  .hero-inner {
    padding-top: 76px;
  }
  .niche {
    height: min(100%, 44svh, 300px);
    min-height: 150px;
  }
}
@media (min-width:721px) and (max-aspect-ratio:1/1) {
  .hero-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-content: center;
    padding-top: 120px;
    padding-bottom: 48px;
    column-gap: clamp(32px, 5vw, 64px);
  }
  .hero-copy {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    padding-top: 0;
  }
  .niche {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    height: min(52svh, 560px, calc(46vw * 1.259));
    margin: 0;
  }
  .hero h1 {
    font-size: clamp(52px, 7.6vw, 84px);
  }
  .hero .seals {
    grid-column: 1/-1;
    grid-row: 2;
    margin-top: 40px;
    max-width: none;
  }
}
