.visit-study { --glacier: #091522; --ice: #e5f3fb; }

.visit-study .masthead { z-index: 4; }
.visit-study .masthead-inner { min-height: 74px; }
.visit-study .masthead .button {
  border: 0;
  font-size: 13px;
  min-height: 44px;
  padding-inline: 4px;
}
.visit-study .masthead .button:hover { background: transparent; color: white; }
.visit-study .text-link:has(.link-label) { text-decoration: none; }
.visit-study .text-link .link-label,
.visit-study .masthead .button .link-label { font: inherit; }
.visit-study .text-link .link-label,
.visit-study .masthead .button:hover .link-label {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.visit-study .text-link:hover .link-label { text-decoration-thickness: 2px; }

.visit-study .hero {
  background: radial-gradient(ellipse at 71% 40%, #26384c, #101f30 63%, var(--glacier));
}
.chamber-scene {
  position: absolute;
  z-index: -3;
  inset: 0 0 0 auto;
  width: 68%;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent 0%, #0009 25%, black 47%);
}
.chamber-scene img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 16%;
  filter: saturate(.58);
}
.visit-study .hero::before {
  background:
    radial-gradient(ellipse 17% 21% at 77% 12%, #071626ac, transparent),
    linear-gradient(180deg, #081420ea, #0a192b43 25%, transparent 45%, transparent 63%, #081522d4 100%),
    linear-gradient(90deg, #09152383, #0a18275c 43%, transparent 67%);
}
.visit-study .hero::after { content: none; }
.visit-study .snow {
  z-index: -1;
  mask-image: linear-gradient(180deg, transparent 3%, black 17%, black 89%, transparent);
}
.visit-study .hero-layout {
  min-height: max(625px, 100svh);
  display: flex;
  align-items: center;
  padding: 95px 0 66px;
}
.visit-study .hero h1 {
  font-family: var(--sans);
  font-size: clamp(49px, 7.2vw, 102px);
  font-weight: 780;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-shadow: 0 2px 28px #051120c4;
}
.visit-study .hero-description {
  max-width: 34ch;
  font-size: clamp(16px, 1.42vw, 21px);
  margin-top: 20px;
}
.visit-study .actions { gap: 4px 20px; margin-top: 18px; }
.visit-study .actions .text-link { color: #f5f9ff; }

.visit-study .featured-layout h2,
.visit-study .location h2,
.visit-study .closing h2 {
  letter-spacing: -.035em;
  line-height: 1.01;
}

.visit-study .featured-layout h2 {
  font-size: clamp(46px, 6.65vw, 95px);
  margin-top: 20px;
}

.visit-study .closing-layout {
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.visit-study .first-visit { background: #eef3f5; color: #142934; }
.visit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(0, .85fr);
  align-items: start;
  gap: clamp(40px, 8vw, 124px);
  padding-block: clamp(53px, 7vw, 96px);
}
.visit-layout h2 {
  margin: 0 0 26px;
  font: 400 clamp(48px, 6.65vw, 98px)/1.02 var(--serif);
  letter-spacing: -.036em;
}
.visit-answers { border-top: 1px solid #acbec7; }
.visit-answers div { padding: 15px 0; border-bottom: 1px solid #acbec7; }
.visit-answers dt { font-size: 16px; }
.visit-answers dd { margin-top: 5px; max-width: 50ch; color: #324c5c; }
.visit-john { margin: 0; width: min(100%, 370px); }
.visit-john img { width: 100%; aspect-ratio: 1.03; object-fit: cover; object-position: center 36%; }
.visit-john figcaption { padding-top: 15px; }
.visit-john h3 { font-size: 18px; }
.visit-john p { margin-block: 8px 14px; }
.call-button { background: #18374e; color: white; min-height: 46px; }
.call-button:hover { background: #284f6a; }
.phone-number { display: inline-block; margin: 6px 0 0 10px; font-size: 13px; }

@media (max-width: 690px) {
  .visit-study .masthead-inner { min-height: 64px; }
  .chamber-scene {
    width: 100%;
    height: clamp(405px, 64svh, 550px);
    mask-image: linear-gradient(180deg, black 53%, transparent 100%);
  }
  .chamber-scene img { object-position: 52% 18%; }
  .visit-study .hero::before {
    background:
      radial-gradient(ellipse 27% 16% at 74% 10%, #061423a8, transparent),
      linear-gradient(180deg, #081420e8, #0a18294d 16%, transparent 30%, transparent 37%, #0b1a2a90 61%, #101e2b 94%);
  }
  .visit-study .hero-layout {
    display: block;
    min-height: max(535px, min(93svh, 705px));
    padding: clamp(287px, 45.3svh, 375px) 0 37px;
  }
  .visit-study .hero h1 { font-size: clamp(32px, 10.4vw, 64px); }
  .visit-study .hero-description { margin-top: 14px; max-width: 27ch; }
  .visit-study .actions { margin-top: 13px; gap: 4px 17px; }
  .visit-study .actions .button { min-height: 46px; min-width: 144px; padding: 9px 12px; gap: 9px; }
  .visit-study .actions .text-link { font-size: 13px; gap: 6px; }
  .visit-layout { grid-template-columns: 1fr; gap: 31px; }
  .visit-layout h2 { font-size: clamp(47px, 11vw, 68px); }
  .visit-john { width: 100%; display: grid; grid-template-columns: minmax(102px, .7fr) minmax(0, 1.2fr); align-items: start; gap: 14px; }
  .visit-john img { aspect-ratio: 3 / 4; }
  .visit-john figcaption { padding-top: 0; }
  .visit-john p { font-size: 14px; }
  .phone-number { margin-left: 0; }
}
@media (max-height: 610px) and (min-width: 691px) {
  .visit-study .hero-layout { min-height: max(390px, 100svh); padding: 80px 0 21px; }
  .visit-study .hero h1 { font-size: clamp(43px, min(7.2vw, 13vh), 84px); }
  .visit-study .hero-description, .visit-study .actions { margin-top: 10px; }
}

.visit-study .official-logo {
  display: inline-grid;
  align-items: center;
  width: clamp(154px, 19vw, 222px);
  min-height: 44px;
  padding: 5px 8px;
  background: transparent;
}

.visit-study .official-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.visit-study .official-logo { padding-inline: 0; }
.mobile-menu { display: none; }
.snow-toggle {
  position: absolute;
  right: var(--gutter);
  bottom: 5px;
  min-height: 32px;
  padding: 4px 7px;
  border: 0;
  background: #0b1929dc;
  color: #e2edf8;
  font: 600 12px/1.2 var(--sans);
  cursor: pointer;
}
.snow-toggle:focus-visible,
.mobile-menu summary:focus-visible { outline: 2px solid #e5f3fb; outline-offset: 2px; }

@media (max-width: 690px) {
  .visit-study .masthead-inner { gap: 8px; }
  .visit-study .masthead .official-logo { width: clamp(104px, 34vw, 154px); }
  .visit-study .masthead .button { padding-inline: 0; gap: 4px; white-space: nowrap; font-size: 12px; }
  .mobile-menu { display: block; margin-left: auto; }
  .mobile-menu summary {
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    color: inherit;
    font-size: 12px;
    cursor: pointer;
    list-style: none;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary::after { content: ""; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); }
  .mobile-menu[open] summary::after { transform: rotate(225deg); }
  .mobile-menu nav {
    position: absolute;
    top: 100%;
    right: var(--gutter);
    min-width: 160px;
    padding: 5px 13px;
    background: #101f30;
    border: 1px solid #5f778b;
  }
  .mobile-menu nav a { display: flex; align-items: center; min-height: 44px; font-size: 14px; }
}

@media (orientation: landscape) and (max-height: 500px) {
  .visit-study .hero-layout {
    display: flex;
    min-height: 100svh;
    padding: 70px 0 40px;
  }
  .visit-study .hero h1 { font-size: clamp(35px, 11svh, 55px); }
  .visit-study .hero-description { margin-top: 12px; }
  .visit-study .actions { margin-top: 10px; }
  .chamber-scene {
    width: 68%;
    height: 100%;
    mask-image: linear-gradient(90deg, transparent, #0009 25%, black 47%);
  }
  .chamber-scene img { object-position: center 16%; }
  .visit-study .hero::before {
    background: linear-gradient(90deg, #09152394, transparent 72%),
      linear-gradient(180deg, #081420bd, transparent 35%, transparent 68%, #081522b5);
  }
}
