.main-renewal-page {
  margin: 0;
  background: #fff;
  color: #111;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) {
  background: transparent !important;
  box-shadow: none !important;
}

.main-renewal-page .main-nav.renewal-nav {
  --main-nav-height: clamp(146px, 12.03125vw, 231px);
  --main-nav-menu-width: min(1520px, 80vw);
  --main-nav-menu-items-width: min(1368px, 72vw);
  --main-nav-menu-slot: min(152px, 8vw);
  height: clamp(146px, 12.03125vw, 231px);
}

html[lang="en"] .main-renewal-page .main-nav.renewal-nav,
html[lang="zh-CN"] .main-renewal-page .main-nav.renewal-nav {
  --main-nav-menu-width: min(1600px, 78vw);
  --main-nav-menu-slot: calc(var(--main-nav-menu-width) / 10);
  --main-nav-menu-items-width: calc(var(--main-nav-menu-width) * .9);
}

.main-renewal-page .main-nav.renewal-nav .container-xxl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-rows: minmax(102px, 7.864583vw) minmax(44px, 4.166667vw);
  height: 100%;
  padding-left: clamp(28px, 3vw, 58px) !important;
  padding-right: clamp(28px, 2vw, 38px) !important;
  align-items: center;
}

.main-renewal-page .main-nav.renewal-nav .navbar-brand {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  align-self: start;
  margin-top: clamp(42px, 2.65vw, 51px);
  padding: 0;
}

.main-renewal-page .main-nav.renewal-nav .brand-logo {
  width: clamp(150px, 10.8vw, 207px) !important;
  max-height: none !important;
}

.main-renewal-page .main-nav.renewal-nav #mainNavCollapse {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: stretch;
  justify-content: center;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse {
  display: contents !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse > .navbar-nav {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  align-self: center;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse > .d-flex {
  display: contents !important;
}

.main-renewal-page .main-nav.renewal-nav #mainNavCollapse > .navbar-nav {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse > .navbar-nav {
  display: grid !important;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  width: var(--main-nav-menu-items-width);
  margin-right: var(--main-nav-menu-slot) !important;
  transform: translate(-9px, clamp(10px, .68vw, 13px));
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse > .navbar-nav > .nav-item {
  min-width: 0;
  justify-self: stretch;
  display: flex;
  justify-content: center;
}

.main-renewal-page .main-nav.renewal-nav #mainNavCollapse > .d-flex {
  margin-left: clamp(16px, 2.1vw, 40px);
}

.main-renewal-page .main-nav.renewal-nav .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 4px !important;
  font-size: clamp(12px, .83vw, 16px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: 0;
  text-align: center;
}

.main-renewal-page .main-nav.renewal-nav .nav-cta {
  min-width: 0;
  height: auto;
  padding: 0 4px !important;
  border: 0;
  border-radius: 0;
  font-size: clamp(12px, .83vw, 16px);
  font-weight: 600 !important;
  line-height: 1.08;
  background: transparent;
  justify-content: center;
  text-align: center;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-cta {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: end;
  align-self: center;
  width: var(--main-nav-menu-slot);
  margin-right: max(28px, calc((100vw - var(--main-nav-menu-width)) / 2));
  transform: translate(calc(var(--main-nav-menu-slot) * .25), clamp(10px, .68vw, 13px));
}

.main-renewal-page .main-nav.renewal-nav .nav-lang-wrap {
  margin-left: clamp(12px, 2vw, 38px);
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-lang-wrap {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: start;
  margin: clamp(32px, 2.25vw, 43px) 0 0;
}

.main-renewal-page .main-nav.renewal-nav.scrolled {
  --main-nav-height: 82px;
  height: 82px;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .10) !important;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .container-xxl {
  display: grid;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
  grid-template-rows: 82px;
  align-items: center;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .navbar-brand {
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  align-self: center;
  margin-top: 0;
  margin-right: 0;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .brand-logo {
  width: 86px !important;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .brand-logo-light {
  opacity: 0;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .brand-logo-dark {
  opacity: 1;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .nav-link,
.main-renewal-page .main-nav.renewal-nav.scrolled .nav-cta,
.main-renewal-page .main-nav.renewal-nav.scrolled .nav-lang-wrap button {
  color: #111 !important;
}

.main-renewal-page .main-nav.renewal-nav.scrolled #mainNavCollapse {
  display: contents !important;
}

.main-renewal-page .main-nav.renewal-nav.scrolled #mainNavCollapse > .navbar-nav {
  grid-column: 1 / -1;
  grid-row: 1;
  justify-self: center;
  display: grid !important;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: center;
  width: var(--main-nav-menu-items-width);
  margin: 0 var(--main-nav-menu-slot) 0 0 !important;
  gap: 0;
  transform: translateX(-9px);
}

.main-renewal-page .main-nav.renewal-nav.scrolled #mainNavCollapse > .navbar-nav > .nav-item {
  min-width: 0;
  justify-self: stretch;
  display: flex;
  justify-content: center;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .nav-link {
  width: 100%;
  padding: 0 4px !important;
  font-size: clamp(12px, .729167vw, 14px) !important;
  line-height: 1.1 !important;
  white-space: nowrap;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .nav-cta {
  grid-column: 1 / -1;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  width: var(--main-nav-menu-slot);
  min-width: 0;
  height: auto;
  margin-right: max(28px, calc((100vw - var(--main-nav-menu-width)) / 2));
  padding: 0 4px !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: clamp(12px, .729167vw, 14px);
  line-height: 1.1;
  transform: translateX(calc(var(--main-nav-menu-slot) * .25));
}

.main-renewal-page .main-nav.renewal-nav.scrolled #mainNavCollapse > .d-flex {
  display: contents !important;
}

.main-renewal-page .main-nav.renewal-nav.scrolled .nav-lang-wrap {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  margin: 0;
}

.main-renewal-page .main-nav.renewal-nav .navbar-nav > .dropdown > .dropdown-menu {
  display: none !important;
}

.main-mega-panel {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  min-height: clamp(380px, 21.875vw, 420px);
  height: auto;
  padding: clamp(34px, 1.98vw, 38px) 0 clamp(44px, 2.8vw, 54px);
  background: rgba(255, 255, 255, .88);
  border-top: 1px solid rgba(0, 0, 0, .035);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}

.main-nav.renewal-nav:hover .main-mega-panel,
.main-nav.renewal-nav:focus-within .main-mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.main-mega-inner {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0;
  width: var(--main-nav-menu-width);
  margin: 0 auto;
}

.main-mega-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(18px, 1.15vw, 22px);
  min-width: 0;
  text-align: center;
}

.main-mega-column a {
  color: #111;
  font-size: clamp(13px, .78vw, 15px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-decoration: none;
  text-align: center;
  white-space: nowrap;
}

html[lang="en"] .main-renewal-page .main-nav.renewal-nav .nav-link,
html[lang="en"] .main-renewal-page .main-nav.renewal-nav .nav-cta,
html[lang="zh-CN"] .main-renewal-page .main-nav.renewal-nav .nav-link,
html[lang="zh-CN"] .main-renewal-page .main-nav.renewal-nav .nav-cta {
  font-size: clamp(10px, .62vw, 12px) !important;
  line-height: 1.16 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

html[lang="en"] .main-mega-column,
html[lang="zh-CN"] .main-mega-column {
  gap: clamp(17px, 1.04vw, 20px);
}

html[lang="en"] .main-mega-column a,
html[lang="zh-CN"] .main-mega-column a {
  width: 100%;
  max-width: 100%;
  font-size: clamp(10px, .62vw, 12px);
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.main-mega-column a:hover {
  color: #000;
  font-weight: 500;
}

.main-renewal-page .main-nav.renewal-nav .nav-cta:hover {
  background: transparent !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled):hover,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):focus-within {
  background: #fff !important;
  box-shadow: none !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-link,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-cta,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-lang-wrap button {
  color: rgba(20, 20, 20, .86) !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled):hover .nav-link,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):focus-within .nav-link,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):hover .nav-cta,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):focus-within .nav-cta,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):hover .nav-lang-wrap button,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled):focus-within .nav-lang-wrap button {
  color: #111 !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-link:hover,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-link.active,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-lang-wrap button:hover,
.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-lang-wrap button.active {
  color: #000 !important;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .nav-cta {
  border-color: transparent;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .brand-logo-light {
  opacity: 1;
}

.main-renewal-page .main-nav.renewal-nav:not(.scrolled) .brand-logo-dark {
  opacity: 0;
}

.renewal-main {
  overflow: hidden;
}

.renewal-hero {
  display: grid;
  min-height: min(1107px, 57.65625vw);
  overflow: hidden;
  background: #dedbd4;
}

.renewal-hero-media,
.renewal-hero-fallback {
  grid-area: 1 / 1;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  margin: -2px;
  object-fit: cover;
  transition: opacity .35s ease;
}

.renewal-hero-media {
  z-index: 1;
  opacity: 0;
}

.renewal-hero-fallback {
  z-index: 2;
  opacity: 1;
}

.renewal-hero.is-video-ready .renewal-hero-media {
  opacity: 1;
}

.renewal-hero.is-video-ready .renewal-hero-fallback {
  opacity: 0;
  pointer-events: none;
}

.renewal-hero-pill {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: center;
  position: fixed;
  left: 50%;
  bottom: clamp(30px, 4.8vw, 92px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-width: clamp(320px, 24vw, 400px);
  min-height: clamp(72px, 5vw, 96px);
  padding: clamp(18px, 1.35vw, 26px) clamp(36px, 2.8vw, 53px);
  border-radius: 999px;
  background: #121212;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
  z-index: 990;
  will-change: transform, opacity;
  transform: translateX(-50%);
  animation: renewal-pill-fixed-weave 2.8s ease-in-out infinite;
  transition: opacity .24s ease, background .2s ease;
}

.renewal-hero-pill.is-fixed {
  animation-name: renewal-pill-fixed-weave;
}

.renewal-hero-pill.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.renewal-hero-pill:hover {
  color: #fff;
  background: #000;
}

@keyframes renewal-pill-weave {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes renewal-pill-fixed-weave {
  0%, 100% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, -10px);
  }
}

@media (max-width: 640px) {
  .renewal-hero-pill {
    min-width: min(360px, calc(100vw - 40px));
    min-height: 64px;
    padding: 16px 28px;
    font-size: 16px;
    text-align: center;
  }

  .renewal-hero-pill.is-fixed {
    bottom: 22px;
  }
}

.renewal-section {
  padding: clamp(88px, 8.3vw, 160px) 0;
}

.renewal-container {
  width: min(1680px, calc(100% - 11.5vw));
  margin: 0 auto;
}

.renewal-intro {
  min-height: min(1072px, 55.833333vw);
  display: flex;
  align-items: flex-start;
  padding-top: min(225px, 11.71875vw);
  padding-bottom: 0;
}

.intro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.intro-left {
  display: flex;
  min-height: min(686px, 35.73vw);
  flex-direction: column;
  justify-content: space-between;
}

.intro-copy h1,
.academics-heading h2,
.location-copy h2 {
  margin: 0;
  font-family: var(--lieul-title-mixed);
  font-size: clamp(30px, 2.45vw, 47px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: 0;
}

.section-heading h2 {
  margin: 0;
  font-family: var(--lieul-title-mixed);
  font-size: clamp(42px, 3.020833vw, 58px);
  line-height: 1.04;
  font-weight: 600;
  letter-spacing: 0;
}

.intro-copy p,
.academics-heading p {
  margin: clamp(20px, 2vw, 38px) 0 0;
  color: #111;
  font-size: clamp(16px, 1.145833vw, 22px);
  font-weight: 400;
  line-height: 1.72;
}

.section-heading p {
  margin: clamp(54px, 3.854167vw, 74px) 0 0;
  color: #111;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 400;
  line-height: 1.72;
}

.intro-square-cards,
.intro-tall-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.intro-square-card {
  aspect-ratio: 1;
}

.intro-tall-card {
  aspect-ratio: 1200 / 1990;
}

.image-card,
.treatment-card,
.feature-card,
.academic-slide,
.lifting-visual {
  display: block;
  overflow: hidden;
  background: #f3f3f3;
  text-decoration: none;
}

.image-card {
  display: grid;
}

.intro-card-label {
  grid-area: 1 / 1;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--lieul-title-mixed);
  font-size: clamp(28px, 2.1vw, 41px);
  font-weight: 600;
  line-height: 1.18;
  text-align: center;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .18);
}

.image-card::after {
  content: "";
  grid-area: 1 / 1;
  z-index: 1;
  background: rgba(0, 0, 0, .18);
  pointer-events: none;
}

.image-card img {
  grid-area: 1 / 1;
}

.image-card img,
.treatment-card img,
.feature-card img,
.academic-slide img,
.lifting-visual img,
.lifting-visual-video,
.location-map img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-card img,
.feature-card img,
.academic-slide img {
  transition: transform .45s ease;
}

.image-card:hover img,
.feature-card:hover img,
.academic-slide:hover img {
  transform: scale(1.035);
}

.renewal-lifting {
  min-height: min(2530px, 131.770833vw);
  padding-top: min(150px, 7.8125vw);
  padding-bottom: min(160px, 8.333333vw);
}

.section-heading {
  margin-bottom: clamp(120px, 7.239583vw, 139px);
}

.lifting-visual {
  position: relative;
  background: #fff;
  aspect-ratio: 1680 / 986;
}

.lifting-visual-video,
.lifting-visual-fallback {
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: opacity .35s ease;
}

.lifting-visual-video {
  z-index: 1;
  opacity: 0;
}

.lifting-visual-fallback {
  z-index: 2;
  opacity: 1;
}

.lifting-visual.is-video-ready .lifting-visual-video {
  opacity: 1;
}

.lifting-visual.is-video-ready .lifting-visual-fallback {
  opacity: 0;
  pointer-events: none;
}

.treatment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: min(110px, 5.729167vw);
}

.treatment-card {
  display: grid;
  align-items: center;
  aspect-ratio: 881 / 1091;
  padding: 0;
  justify-items: center;
}

.treatment-image {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 100%;
}

.treatment-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.treatment-title {
  grid-area: 1 / 1;
  align-self: end;
  display: block;
  margin: 0 0 clamp(144px, 8.333333vw, 160px);
  color: #111;
  font-size: clamp(30px, 2.15vw, 41px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.treatment-button {
  grid-area: 1 / 1;
  align-self: end;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(160px, 10.8vw, 208px);
  min-height: clamp(44px, 3.1vw, 60px);
  margin: 0 0 clamp(58px, 3.541667vw, 68px);
  background: #202020;
  color: #fff;
  font-size: clamp(13px, .9vw, 17px);
  font-weight: 500;
  text-align: center;
}

.renewal-feature-band {
  min-height: min(1474px, 76.770833vw);
  display: flex;
  align-items: center;
  background: #f2f2f2;
}

.feature-grid {
  width: min(1370px, calc(100% - 18vw));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 16px;
}

.feature-card {
  display: flex;
  flex-direction: column;
  background: #fff;
}

.feature-card img {
  aspect-ratio: 1568 / 1091;
  height: auto;
}

.feature-copy {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(132px, 8.9vw, 171px);
  padding: clamp(28px, 1.75vw, 34px) 18px;
  background: #fff;
  text-align: center;
}

.feature-copy h3 {
  margin: 0;
  color: #111;
  font-size: clamp(19px, 1.25vw, 24px);
  font-weight: 600;
  line-height: 1.2;
}

.feature-copy p {
  margin: clamp(14px, 1.15vw, 22px) 0 0;
  color: #7b7b7b;
  font-size: clamp(15px, .9375vw, 18px);
  font-weight: 400;
  line-height: 1.6;
}

.main-renewal-page .feature-card.lieul-reveal,
.main-renewal-page .feature-card.lieul-reveal.is-revealed,
.main-renewal-page .academic-slide.lieul-reveal,
.main-renewal-page .academic-slide.lieul-reveal.is-revealed,
.main-renewal-page .image-card.lieul-reveal,
.main-renewal-page .image-card.lieul-reveal.is-revealed,
.main-renewal-page .treatment-card.lieul-reveal,
.main-renewal-page .treatment-card.lieul-reveal.is-revealed {
  opacity: 1 !important;
  transform: none !important;
}

.renewal-academics {
  min-height: min(1298px, 67.604167vw);
  display: flex;
  align-items: center;
  background: #fff;
}

.academics-heading {
  margin-bottom: clamp(42px, 4vw, 76px);
}

.academic-slider {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}

.academic-track {
  display: flex;
  gap: 12px;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.academic-slide {
  flex: 0 0 calc((100% - 12px) / 2);
  aspect-ratio: 1651 / 1091;
}

.slider-button {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: clamp(54px, 3.333333vw, 64px);
  height: clamp(58px, 3.645833vw, 70px);
  border: 0;
  background: transparent;
  transform: translateY(-50%);
}

.slider-button::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: clamp(18px, 1.145833vw, 22px);
  height: clamp(18px, 1.145833vw, 22px);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.slider-button.prev {
  left: 0;
}

.slider-button.next {
  right: 0;
}

.slider-button.prev::before {
  transform: rotate(-135deg);
}

.slider-button.next::before {
  transform: rotate(45deg);
}

.slider-button:hover {
  background: transparent;
}

.slider-button:disabled {
  opacity: 0;
  pointer-events: none;
}

.slider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 32px;
}

.slider-dots button {
  width: 5px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c9c9c9;
}

.slider-dots button.active {
  background: #111;
}

.renewal-location {
  min-height: min(1091px, 56.822917vw);
  display: flex;
  align-items: center;
  background: #f3f3f3;
}

.location-grid {
  width: min(1680px, calc(100% - 12vw));
  display: grid;
  grid-template-columns: minmax(520px, 930px) minmax(360px, 580px);
  gap: clamp(62px, 3.854167vw, 74px);
  align-items: center;
}

.location-map {
  position: relative;
  aspect-ratio: 930 / 620;
  overflow: hidden;
  background: #e8e8e8;
}

.main-naver-map,
.main-map-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.main-naver-map {
  z-index: 2;
  opacity: 0;
  transition: opacity .24s ease;
}

.main-map-fallback {
  z-index: 1;
  opacity: 1;
}

.location-map.is-loaded .main-naver-map {
  opacity: 1;
}

.location-map.is-loaded .main-map-fallback {
  opacity: 0;
  pointer-events: none;
}

.location-copy .address {
  margin: 24px 0 28px;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
}

.location-copy dl {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
}

.location-copy dt {
  margin-top: 18px;
  font-weight: 600;
}

.location-copy dd {
  margin: 0;
  font-weight: 400;
}

.location-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 34px;
}

.location-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid #999;
  color: #111;
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  background: transparent;
}

.location-actions a.primary {
  grid-column: 1 / -1;
  background: #000;
  color: #fff;
  border-color: #000;
}

.location-actions a:hover {
  background: #111;
  border-color: #111;
  color: #fff;
}

.main-renewal-page .site-footer:not(.site-footer-detail) {
  min-height: min(281px, 14.635417vw);
  padding: 0 !important;
  background: #000 !important;
  color: #aaa !important;
}

.main-renewal-page .site-footer:not(.site-footer-detail) .footer-inner {
  width: 100% !important;
  min-height: min(281px, 14.635417vw);
  margin: 0 !important;
  padding: 0 clamp(54px, 3.125vw, 60px) !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  gap: 48px !important;
  box-sizing: border-box;
}

.main-renewal-page .footer-brand-group {
  display: flex;
  align-items: center;
  gap: clamp(34px, 1.927083vw, 37px);
  min-height: min(124px, 6.458333vw);
}

.main-renewal-page .footer-logo {
  display: block;
  width: clamp(238px, 13.59375vw, 261px);
  flex: 0 0 auto;
  opacity: .74;
}

.main-renewal-page .footer-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.main-renewal-page .footer-meta {
  min-height: min(124px, 6.458333vw);
  padding-left: clamp(38px, 2.083333vw, 40px);
  border-left: 1px solid rgba(255, 255, 255, .38);
  color: rgba(255, 255, 255, .58);
  font-size: clamp(13px, .78125vw, 15px);
  font-weight: 500 !important;
  line-height: 2 !important;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.main-renewal-page .footer-meta strong {
  color: rgba(255, 255, 255, .90);
  font-weight: 700;
}

.main-renewal-page .site-footer:not(.site-footer-detail) .footer-links {
  display: flex;
  align-items: flex-start;
  align-self: center;
  gap: clamp(30px, 1.979167vw, 38px);
  color: #aaa;
  font-size: clamp(13px, .78125vw, 15px);
  font-weight: 500 !important;
  transform: translateY(calc(-1 * min(50px, 2.604167vw)));
}

.main-renewal-page .site-footer:not(.site-footer-detail) .footer-links a,
.main-renewal-page .site-footer:not(.site-footer-detail) .footer-links button {
  color: #aaa !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

.main-renewal-page .site-footer.site-footer-detail,
.main-renewal-page .site-footer-detail {
  min-height: 332px !important;
  padding: 46px 20px 40px !important;
  background: #000 !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-inner,
.main-renewal-page .site-footer-detail .footer-detail-inner {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-logo,
.main-renewal-page .site-footer-detail .footer-detail-logo {
  width: clamp(150px, 10.4vw, 200px) !important;
  margin-bottom: 20px !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-meta,
.main-renewal-page .site-footer-detail .footer-detail-meta {
  width: 100% !important;
  gap: 5px !important;
  font-size: clamp(10px, .62vw, 12px) !important;
  line-height: 1.5 !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-meta > *,
.main-renewal-page .site-footer-detail .footer-detail-meta > * {
  display: block !important;
  width: 100% !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-links,
.main-renewal-page .site-footer-detail .footer-detail-links {
  margin-top: 22px !important;
  gap: clamp(24px, 2vw, 36px) !important;
  font-size: clamp(10px, .62vw, 12px) !important;
}

@media (max-width: 1199px) {
  .main-renewal-page .main-nav.renewal-nav .container-fluid {
    position: relative;
  }

  .main-renewal-page .main-nav.renewal-nav .navbar-toggler {
    position: absolute;
    top: 50%;
    right: 18px;
    z-index: 5;
    margin: 0;
    transform: translateY(-50%);
  }

  .main-renewal-page .main-nav.renewal-nav:not(.scrolled) #mainNavCollapse,
  .main-renewal-page .main-nav.renewal-nav.scrolled #mainNavCollapse {
    display: none !important;
  }

  .main-mega-panel {
    display: none;
  }

  .main-renewal-page .main-nav.renewal-nav:not(.scrolled) .navbar-toggler-icon {
    filter: none;
  }

  .renewal-container,
  .feature-grid,
  .location-grid {
    width: min(100% - 44px, 980px);
  }

  .intro-grid,
  .location-grid {
    grid-template-columns: 1fr;
  }

  .intro-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .treatment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .main-renewal-page .main-nav.renewal-nav,
  .main-renewal-page .main-nav.renewal-nav.scrolled {
    position: fixed;
    inset: 0 0 auto 0;
    height: 72px !important;
    padding: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(17, 17, 17, .14) !important;
    box-shadow: none !important;
  }

  .main-renewal-page .main-nav.renewal-nav:not(.scrolled) {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .main-renewal-page .main-nav.renewal-nav > .container-xxl {
    position: relative;
    display: block !important;
    width: 100%;
    height: 72px !important;
    padding: 0 18px !important;
  }

  .main-renewal-page .main-nav.renewal-nav .navbar-brand {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 72px;
    margin: 0;
    padding: 0;
    z-index: 6;
    pointer-events: auto !important;
    touch-action: manipulation;
    transform: translate(-50%, -50%);
  }

  .main-renewal-page .main-nav.renewal-nav .brand-logo-light,
  .main-renewal-page .main-nav.renewal-nav.scrolled .brand-logo-light {
    opacity: 1 !important;
  }

  .main-renewal-page .main-nav.renewal-nav .brand-logo-dark,
  .main-renewal-page .main-nav.renewal-nav.scrolled .brand-logo-dark {
    opacity: 0 !important;
  }

  .main-renewal-page .main-nav.renewal-nav .brand-logo {
    width: 86px !important;
    max-height: 40px !important;
  }

  .main-renewal-page .main-nav.renewal-nav .navbar-toggler {
    position: absolute;
    top: 50%;
    right: 18px;
    margin: 0;
    padding: 8px;
    transform: translateY(-50%);
  }

  .main-renewal-page .main-nav.renewal-nav:not(.scrolled) .navbar-toggler-icon {
    filter: none;
  }

  .renewal-hero {
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #dedbd4;
  }

  .renewal-hero-media,
  .renewal-hero-fallback {
    object-fit: cover;
  }

  .renewal-section {
    padding: 72px 0;
  }

  .renewal-intro {
    min-height: auto;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .renewal-lifting,
  .renewal-academics,
  .renewal-location {
    min-height: auto;
  }

  .renewal-lifting {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .renewal-container,
  .feature-grid,
  .location-grid {
    width: min(100% - 28px, 520px);
  }

  .intro-left {
    min-height: auto;
    gap: 28px;
  }

  .intro-grid,
  .intro-left,
  .intro-tall-cards {
    gap: 10px;
  }

  .intro-copy h1,
  .academics-heading h2,
  .location-copy h2 {
    font-size: 28px;
    line-height: 1.04;
  }

  .section-heading h2 {
    font-size: 31px;
    line-height: 1.18;
  }

  .intro-copy p,
  .academics-heading p,
  .section-heading p {
    font-size: 15px;
    line-height: 1.68;
  }

  .intro-copy p,
  .academics-heading p {
    margin-top: 18px;
  }

  .section-heading {
    margin-bottom: 34px;
  }

  .section-heading p {
    margin-top: 24px;
  }

  .intro-card-label {
    font-size: 21px;
    line-height: 1.16;
  }

  .intro-cards,
  .treatment-grid,
  .feature-grid {
    grid-template-columns: 1fr;
  }

  .intro-square-cards,
  .intro-tall-cards {
    gap: 10px;
  }

  .main-renewal-page .renewal-intro .image-card {
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .main-renewal-page .renewal-intro .image-card > * {
    pointer-events: none !important;
  }

  .lifting-visual {
    aspect-ratio: 1680 / 986;
  }

  .treatment-grid {
    gap: 12px;
    margin-top: 24px;
  }

  .treatment-title {
    margin-bottom: 112px;
    font-size: 28px;
  }

  .treatment-button {
    min-width: 150px;
    min-height: 42px;
    margin-bottom: 52px;
    font-size: 13px;
  }

  .renewal-feature-band {
    min-height: auto;
    padding: 72px 0;
  }

  .feature-grid {
    gap: 18px;
  }

  .feature-copy {
    min-height: auto;
    padding: 24px 14px;
  }

  .feature-copy h3 {
    font-size: 18px;
  }

  .feature-copy p {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
  }

  .academics-heading {
    margin-bottom: 32px;
  }

  .academics-heading br {
    display: none;
  }

  .academic-slide {
    flex-basis: 100%;
  }

  .slider-button {
    width: 38px;
    height: 54px;
  }

  .location-actions {
    grid-template-columns: 1fr;
  }

  .location-actions a.primary {
    grid-column: auto;
  }

  .location-grid {
    gap: 32px;
  }

  .location-copy .address {
    margin: 18px 0 22px;
    font-size: 15px;
    line-height: 1.65;
  }

  .location-copy dl,
  .location-actions a {
    font-size: 14px;
  }

  .location-actions {
    margin-top: 24px;
  }

  .main-renewal-page .site-footer:not(.site-footer-detail),
  .main-renewal-page .site-footer:not(.site-footer-detail) .footer-inner {
    min-height: 0;
  }

  .main-renewal-page .site-footer:not(.site-footer-detail) .footer-inner {
    flex-direction: column !important;
    align-items: flex-start;
    justify-content: flex-start !important;
    padding: 44px 28px 36px !important;
    gap: 28px !important;
  }

  .main-renewal-page .footer-brand-group {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    min-height: 0;
    gap: 24px;
  }

  .main-renewal-page .footer-logo {
    width: 190px;
  }

  .main-renewal-page .footer-meta {
    min-height: 0;
    padding-left: 0;
    border-left: 0;
    font-size: 12px;
    line-height: 1.8 !important;
    justify-content: flex-start;
  }

  .main-renewal-page .site-footer:not(.site-footer-detail) .footer-links {
    flex-wrap: wrap;
    gap: 16px 22px;
    font-size: 12px;
    transform: none;
  }

  .main-renewal-page .site-footer.site-footer-detail,
  .main-renewal-page .site-footer-detail {
    min-height: 292px !important;
    padding: 38px 18px 34px !important;
  }

  .main-renewal-page .site-footer.site-footer-detail .footer-detail-inner,
  .main-renewal-page .site-footer-detail .footer-detail-inner {
    width: 100% !important;
  }

  .main-renewal-page .site-footer.site-footer-detail .footer-detail-logo,
  .main-renewal-page .site-footer-detail .footer-detail-logo {
    width: 142px !important;
    margin-bottom: 18px !important;
  }

  .main-renewal-page .site-footer.site-footer-detail .footer-detail-meta,
  .main-renewal-page .site-footer-detail .footer-detail-meta,
  .main-renewal-page .site-footer.site-footer-detail .footer-detail-links,
  .main-renewal-page .site-footer-detail .footer-detail-links {
    font-size: 10px !important;
  }
}

.main-renewal-page .site-footer.site-footer-detail,
.main-renewal-page .site-footer-detail {
  background: #000 !important;
  min-height: 0 !important;
  padding: 34px 20px 28px !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-logo,
.main-renewal-page .site-footer-detail .footer-detail-logo {
  width: clamp(136px, 9.2vw, 176px) !important;
  margin-bottom: 17px !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-meta,
.main-renewal-page .site-footer-detail .footer-detail-meta,
.main-renewal-page .site-footer.site-footer-detail .footer-detail-links,
.main-renewal-page .site-footer-detail .footer-detail-links {
  font-size: clamp(9px, .56vw, 11px) !important;
  line-height: 1.48 !important;
}

.main-renewal-page .site-footer.site-footer-detail .footer-detail-meta strong,
.main-renewal-page .site-footer-detail .footer-detail-meta strong,
.main-renewal-page .site-footer.site-footer-detail .footer-detail-links,
.main-renewal-page .site-footer-detail .footer-detail-links,
.main-renewal-page .site-footer.site-footer-detail .footer-detail-links a,
.main-renewal-page .site-footer.site-footer-detail .footer-detail-links button,
.main-renewal-page .site-footer-detail .footer-detail-links a,
.main-renewal-page .site-footer-detail .footer-detail-links button {
  color: #fff !important;
  font-weight: 500 !important;
}
