.kg-site .kg-contact-page {
  --kg-gradient-shift: 0%;
  position: relative;
  min-height: 100vh;
  padding: 22px 0 40px;
  isolation: isolate;
  background: linear-gradient(118deg,#efc3d1 calc(var(--kg-gradient-shift)),#f2d8cf calc(60% + var(--kg-gradient-shift)),#f3e3b5 calc(100% + var(--kg-gradient-shift)));
}
.kg-site .kg-contact-page .kg-patches {
  opacity: 1;
}
.kg-site .kg-contact-page .kg-patch.pink,
.kg-site .kg-contact-page .kg-patch.lavender,
.kg-site .kg-contact-page .kg-patch.gold {
  background: #fffefa;
}
.kg-site .kg-contact-page .kg-contact-shell {
  position: relative;
  z-index: 1;
}
.kg-site .kg-contact-page .kg-mark.contact i {
  inset: auto;
  border: 1.2px solid #282323;
  border-radius: 0;
  background: transparent;
  transform: none;
}
.kg-site .kg-contact-page .kg-mark.contact i:nth-child(1) {
  inset: 1.875px 4.6875px 1.875px 4.6875px;
  border-radius: 50%;
  border-color: #77738f;
}
.kg-site .kg-contact-page .kg-mark.contact i:nth-child(2) {
  inset: 8.4375px 11.25px 1.875px 11.25px;
  border-radius: 50% 50% 4px 4px;
  border-color: #b76888;
}
.kg-site .kg-contact-page .kg-mark.contact i:nth-child(3) {
  left: 1.875px;
  right: 1.875px;
  bottom: 7.5px;
  height: 1px;
  border: 0;
  background: #987232;
}
.kg-site .kg-contact-page .kg-nav a[aria-current="page"] {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.kg-site .kg-contact-shell {
  width: min(1070px, calc(100% - clamp(64px, 12vw, 160px)));
  margin: 32px auto 0;
}
.kg-site .kg-contact-title {
  margin: 0;
  color: #24201f;
  font: 500 32px/1.15 "Quicksand",sans-serif;
  letter-spacing: -.025em;
}
.kg-site .kg-contact-layout {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(32px,5vw,70px);
  align-items: stretch;
}
.kg-site .kg-contact-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  margin: 0;
  border: 1px solid #302a28;
  background: #fffefa;
  overflow: hidden;
}
.kg-site .kg-contact-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.kg-site .kg-contact-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  min-width: 0;
  min-height: 0;
  padding: 24px 30px;
  text-align: center;
  background: #fffefa;
}
.kg-site .kg-contact-item p,
.kg-site .kg-contact-affiliation p,
.kg-site .kg-contact-links p {
  margin: 0;
}
.kg-site .kg-contact-label {
  margin-bottom: 5px !important;
  color: #675b57;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.kg-site .kg-contact-email {
  display: block;
  margin: 0;
  color: #24201f;
  font-size: 18px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.kg-site .kg-contact-affiliation p {
  color: #24201f;
  font-size: 16px;
  line-height: 1.5;
}
.kg-site .kg-contact-profile {
  display: inline-block;
  margin-top: 0;
  color: #6e3f53;
  font-size: 15px;
  text-decoration: none;
  text-underline-offset: 4px;
}
.kg-site .kg-contact-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}
.kg-site .kg-contact-profile:focus-visible,
.kg-site .kg-contact-links a:focus-visible {
  outline: 2px solid #8e4762;
  outline-offset: 4px;
}
.kg-site .kg-contact-profile:hover,
.kg-site .kg-contact-profile:focus-visible {
  text-decoration: underline;
}
@media(max-width:1020px) {
  .kg-site .kg-contact-shell {
    width: min(1070px, calc(100% - clamp(64px, 12vw, 160px)));
  }
  .kg-site .kg-contact-layout {
    grid-template-columns: minmax(0,1fr);
    gap: 22px;
  }
  .kg-site .kg-contact-photo,
  .kg-site .kg-contact-panel {
    width: min(100%,500px);
    justify-self: center;
  }
  .kg-site .kg-contact-panel {
    padding: 24px 30px;
  }
}
@media(max-width:850px) {
  .kg-site .kg-contact-page {
    padding-top: 19px;
  }
}
@media(max-width:680px) {
  .kg-site .kg-contact-page {
    padding: 16px 0 30px;
  }
  .kg-site .kg-contact-shell {
    width: calc(100% - clamp(32px, 18vw, 122px));
  }
  .kg-site .kg-contact-shell {
    margin-top: 20px;
  }
  .kg-site .kg-contact-title {
    font-size: 29px;
  }
  .kg-site .kg-contact-layout {
    grid-template-columns: minmax(0,1fr);
    gap: 16px;
  }
  .kg-site .kg-contact-photo {
    width: 100%;
    justify-self: center;
  }
  .kg-site .kg-contact-panel {
    width: 100%;
    min-height: 0;
    padding: 22px 18px;
    gap: 19px;
  }
}
/* Contact's visible page follows Home's content width. The shared shell rules
   above remain in place for the hidden layout reference. */
body#kg-contact .kg-contact-shell {
  width: min(960px, calc(100% - clamp(64px, 18vw, 320px)));
}
/* Keep the negative bottom edge of the gold patch from extending scroll height. */
body#kg-contact .kg-contact-page > .kg-patches {
  overflow: hidden;
}
@media(max-width:680px) {
  body#kg-contact .kg-contact-shell {
    width: calc(100% - clamp(32px, 18vw, 122px));
  }
}
