body {
  padding-top: 102px !important;
}

.memory-site {
  --site-black: #050505;
  --site-ink: #172033;
  --site-muted: #606a78;
  --site-soft: #f6f6f4;
  --site-line: #e8e8e8;
  --site-amber: #f5b94f;
  --site-amber-strong: #f0a51e;
  --site-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  --site-radius: 8px;
  color: var(--site-ink);
}

.memory-site a,
.memory-site button {
  -webkit-tap-highlight-color: transparent;
}

.memory-site a:focus-visible,
.memory-site button:focus-visible,
.memory-site input:focus-visible,
.memory-site textarea:focus-visible,
.memory-site select:focus-visible {
  outline: 3px solid rgba(245, 185, 79, 0.5) !important;
  outline-offset: 3px !important;
}

.site-button,
.memory-site .site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: var(--site-radius);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.site-button:hover,
.memory-site .site-button:hover {
  transform: translateY(-1px);
}

.site-button--primary,
.memory-site .site-button--primary {
  background: var(--site-amber);
  color: #111111;
  box-shadow: 0 14px 26px rgba(245, 185, 79, 0.25);
}

.site-button--primary:hover,
.memory-site .site-button--primary:hover {
  background: var(--site-amber-strong);
  color: #111111;
}

.site-button--secondary,
.memory-site .site-button--secondary {
  border-color: #111111;
  background: #111111;
  color: #ffffff;
}

.site-button--secondary:hover,
.memory-site .site-button--secondary:hover {
  border-color: var(--site-amber);
  background: var(--site-amber);
  color: #111111;
}

.site-button--on-dark,
.memory-site .site-button--on-dark {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(0, 0, 0, 0.28);
  color: #ffffff;
  backdrop-filter: blur(6px);
}

.site-cta {
  padding: 58px 24px;
  background: #ffffff;
}

.site-cta--compact {
  padding-top: 42px;
  padding-bottom: 42px;
}

.site-cta--flush {
  padding-right: 0;
  padding-left: 0;
}

.site-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(22px, 4vw, 48px);
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(245, 185, 79, 0.2);
  border-radius: var(--site-radius);
  background:
    linear-gradient(135deg, rgba(245, 185, 79, 0.16), rgba(255, 255, 255, 0) 36%),
    #0d0d0d;
  color: #ffffff;
  box-shadow: var(--site-shadow);
}

.site-cta h2 {
  margin: 0;
  color: #ffffff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
}

.site-cta p {
  max-width: 680px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

.site-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

#header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(0, 0, 0, 0.96) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
}

#header .header-inner {
  min-height: 102px !important;
}

#header .logo {
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
}

#header .logo img {
  width: 70px !important;
  height: 70px !important;
  object-fit: contain !important;
}

#header .headerTitle {
  margin-top: 10px !important;
  color: #ffffff !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
}

#header .header-right {
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 18px !important;
}

#header .enCN {
  align-self: flex-end !important;
  top: 14px !important;
  margin: 0 14px 0 0 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

#navbar > ul {
  align-items: center !important;
  gap: clamp(12px, 1.25vw, 22px) !important;
}

#navbar a {
  color: rgba(255, 255, 255, 0.84) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
}

#navbar a:hover {
  color: var(--site-amber) !important;
}

#navbar .nav-dropdown-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#navbar .chevron {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1 !important;
  transform: translateY(1px);
}

#navbar .nav-utility a {
  color: rgba(255, 255, 255, 0.7) !important;
}

#navbar #talkToUs {
  min-height: 42px !important;
  padding: 0 18px !important;
  border-radius: var(--site-radius) !important;
  background: var(--site-amber) !important;
  color: #111111 !important;
}

#navbar #talkToUs:hover {
  background: #ffffff !important;
}

#navbar .dropdown ul {
  border: 1px solid var(--site-line) !important;
  border-radius: var(--site-radius) !important;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.16) !important;
}

#navbar .dropdown ul a {
  color: #172033 !important;
}

.mobile-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--site-radius);
  background: rgba(255, 255, 255, 0.06);
  cursor: pointer;
  flex-direction: column;
}

.mobile-nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
}

.memory-site section,
.memory-site main > section {
  scroll-margin-top: 112px;
}

.memory-site main > .home {
  position: relative !important;
  height: auto !important;
  margin-top: -2px !important;
  background: #fff;
  overflow: hidden !important;
}

.memory-site main > .home::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.36) 42%, rgba(0, 0, 0, 0.04) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.44), rgba(0, 0, 0, 0) 42%);
  content: "";
  pointer-events: none;
}

.memory-site main > .home .slider {
  width: 100% !important;
}

.memory-site main > .home .slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: auto !important;
}

.memory-site main > .home .slide.active {
  display: block !important;
  position: relative !important;
}

.memory-site main > .home .slide img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: initial !important;
  object-position: center center !important;
  background: #fff;
}

.memory-site main > .home .controls .prev,
.memory-site main > .home .controls .next {
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.24) !important;
  color: #ffffff !important;
  font-size: 0 !important;
  line-height: 1 !important;
  backdrop-filter: blur(4px);
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.memory-site main > .home .controls .prev::before,
.memory-site main > .home .controls .next::before {
  font-size: 26px;
  line-height: 1;
}

.memory-site main > .home .controls .prev::before {
  content: "\2039";
}

.memory-site main > .home .controls .next::before {
  content: "\203A";
}

.memory-site main > .home .controls .prev:hover,
.memory-site main > .home .controls .next:hover {
  background: #f5b94f !important;
  color: #111111 !important;
  transform: translateY(-50%) scale(1.04) !important;
}

.memory-site main > .home .controls .prev {
  left: 18px !important;
}

.memory-site main > .home .controls .next {
  right: 18px !important;
}

.memory-site main > .home .indicator {
  z-index: 5 !important;
  bottom: 24px !important;
  display: inline-flex !important;
  gap: 7px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.2) !important;
  backdrop-filter: blur(4px);
}

.memory-site main > .home .indicator button {
  width: 9px !important;
  height: 9px !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.72) !important;
}

.memory-site main > .home .indicator button.active {
  width: 22px !important;
  border-radius: 999px !important;
  background: #f5b94f !important;
}

.home-hero-content {
  position: absolute;
  left: clamp(24px, 7vw, 104px);
  bottom: clamp(62px, 9vw, 116px);
  z-index: 4;
  max-width: min(640px, calc(100% - 48px));
  color: #ffffff;
}

.home-hero-content h1 {
  margin: 0;
  color: #ffffff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.96;
  text-shadow: 0 14px 38px rgba(0, 0, 0, 0.35);
}

.home-hero-content p {
  max-width: 560px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: clamp(16px, 1.7vw, 22px);
  font-weight: 700;
  line-height: 1.55;
}

.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.memory-site .section-header {
  padding-bottom: 28px !important;
}

.memory-site .section-header h2 {
  margin: 0 !important;
  color: #3f3f42 !important;
  font-size: clamp(38px, 5vw, 58px) !important;
  line-height: 1 !important;
}

.memory-site .section-header .eventInner p {
  display: block !important;
  width: 56px !important;
  height: 1px !important;
  margin: 24px auto 0 !important;
  overflow: hidden !important;
  background: #3f3f42 !important;
  color: transparent !important;
  font-size: 0 !important;
}

.memory-site #hero {
  min-height: 0 !important;
  height: auto !important;
  padding: 74px 24px 66px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%) !important;
}

.memory-site #hero .aboutUscontainer {
  max-width: 980px !important;
  padding-bottom: 28px !important;
}

.memory-site #hero h1 {
  margin: 0 0 20px !important;
  color: #3f3f42 !important;
  font-size: clamp(38px, 5vw, 58px) !important;
  line-height: 1 !important;
}

.memory-site #hero h2 {
  max-width: 980px !important;
  margin: 0 auto !important;
  color: #4f5662 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: clamp(16px, 1.6vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-transform: none !important;
}

.memory-site .legacy-pill-btn {
  min-width: 132px !important;
  height: auto !important;
  padding: 11px 24px !important;
  border-radius: 999px !important;
  background: #080808 !important;
  color: #ffffff !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.memory-site .legacy-pill-btn:hover {
  background: #f5b94f !important;
  color: #111111 !important;
  box-shadow: 0 12px 26px rgba(245, 185, 79, 0.25) !important;
  transform: translateY(-1px);
}

.memory-site section.introVideoSection {
  height: auto !important;
  padding: 56px 24px !important;
  background: #ffffff !important;
}

.memory-site iframe.introVideo {
  width: min(1044px, 100%) !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.12) !important;
}

#event .event-home-list {
  max-height: 720px;
  overflow-y: auto;
  padding-right: 10px;
  scroll-snap-type: y proximity;
}

#event .event-home-list .eventCol {
  scroll-snap-align: start;
}

#event .event-home-list::-webkit-scrollbar {
  width: 6px;
}

#event .event-home-list::-webkit-scrollbar-track {
  border-radius: 999px;
  background: #f1f1f1;
}

#event .event-home-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #f5b94f;
}

.memory-site #buy-tickets {
  padding: 68px 24px 76px !important;
  background: #f2f2f2 !important;
}

.memory-site #buy-tickets .page-wrapper {
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.memory-site #buy-tickets .post-wrapper {
  width: 100% !important;
  gap: clamp(22px, 3vw, 36px) !important;
}

.memory-site #buy-tickets .post,
.memory-site #buy-tickets .post-info {
  min-height: 336px !important;
}

.memory-site #buy-tickets .post {
  background: transparent !important;
}

.memory-site #buy-tickets .post-info {
  border: 1px solid #ececec !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08) !important;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.memory-site #buy-tickets .post-info:hover {
  box-shadow: 0 22px 50px rgba(15, 23, 42, 0.12) !important;
  transform: translateY(-3px);
}

.memory-site #buy-tickets .ourClassesTitle {
  color: #26313f !important;
  font-size: clamp(26px, 2.4vw, 33px) !important;
}

.memory-site #buy-tickets .ourClassesDesc {
  width: 100% !important;
  min-height: 132px !important;
  margin-top: 16px !important;
  color: #26313f !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.38 !important;
}

.memory-site #event {
  padding: 70px 0 78px !important;
  background: #ffffff !important;
}

.memory-site #event .event-home-list {
  width: min(1240px, calc(100% - 48px)) !important;
  max-height: 830px !important;
  gap: 22px !important;
  padding: 0 12px 0 0 !important;
}

.memory-site #event div.eventCol {
  overflow: hidden !important;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) !important;
  min-height: 330px !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08) !important;
}

.memory-site #event .imgRatio {
  height: 330px !important;
  background: #f7f7f7 !important;
}

.memory-site #event img.eventSideNav {
  object-fit: contain !important;
  background: #f7f7f7 !important;
}

.memory-site #event div.descRatio {
  min-height: 330px !important;
  padding: 34px clamp(28px, 4vw, 54px) !important;
}

.memory-site #event .bgrnd {
  max-width: 760px !important;
  color: #26313f !important;
  font-size: clamp(30px, 3.4vw, 44px) !important;
}

.memory-site #event .bgrnd2 {
  max-width: 760px !important;
  margin-top: 26px !important;
  color: #545c68 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: clamp(16px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

.memory-site #event .divEventBtn {
  text-align: left !important;
}

.memory-site #gallery.gallery {
  padding: 70px 0 76px !important;
  background: #f2f2f2 !important;
}

.memory-site #gallery .legacy-container {
  width: min(1240px, calc(100% - 48px)) !important;
}

.memory-site #gallery .legacy-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.memory-site #gallery .gallery-item {
  overflow: hidden !important;
  border-radius: 4px !important;
  background: #ffffff !important;
}

.memory-site #gallery .gallery-item img {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  transition: transform 220ms ease, filter 220ms ease;
}

.memory-site #gallery .gallery-preview-button:hover img {
  filter: brightness(0.92) !important;
  transform: scale(1.035);
}

.memory-site .legacy-pill-btn:focus-visible,
.memory-site main > .home button:focus-visible,
.memory-site #testimonials button:focus-visible,
.memory-site #gallery a:focus-visible {
  outline: 3px solid rgba(245, 185, 79, 0.5) !important;
  outline-offset: 3px !important;
}

.memory-site #testimonials {
  padding: 70px 0 76px !important;
  background: #ffffff !important;
}

.memory-site #contact.contact {
  padding: 70px 0 78px !important;
  background: #f2f2f2 !important;
}

.memory-site #contact .legacy-container {
  width: min(1240px, calc(100% - 48px)) !important;
}

.memory-site #contact .wholeContact {
  overflow: hidden !important;
  grid-template-columns: minmax(360px, 1fr) minmax(320px, 0.82fr) !important;
  gap: 0 !important;
  margin-top: 10px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08) !important;
}

.memory-site #contact .map iframe,
.memory-site #contact .iframe {
  height: 440px !important;
  background:
    linear-gradient(135deg, rgba(245, 185, 79, 0.12), rgba(35, 169, 242, 0.08)),
    #f8fafc !important;
}

.memory-site #contact .contact-info {
  display: grid !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 42px 38px 20px !important;
}

.memory-site #contact .contact-info h4 {
  margin: 0 0 6px !important;
  color: #26313f !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

.memory-site #contact .contact-info p,
.memory-site #contact .contact-info a {
  color: #545c68 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  text-transform: none !important;
}

.memory-site #contact .divContactBtn {
  grid-column: 2 !important;
  margin: 0 !important;
  padding: 0 38px 42px !important;
  text-align: left !important;
}

.classes-index,
.class-detail-page {
  background: #ffffff;
}

.classes-index__inner,
.class-detail-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 24px 86px;
}

.classes-index__header,
.class-detail-section__header {
  max-width: 760px;
  margin: 0 auto 42px;
  text-align: center;
}

.classes-index__header p,
.class-detail-section__header p,
.class-detail-hero__copy > p {
  margin: 0 0 10px;
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.classes-index__header h1,
.class-detail-section__header h2,
.class-detail-hero__copy h1 {
  margin: 0;
  color: #3f3f42;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.classes-index__header h1 {
  font-size: clamp(42px, 5vw, 68px);
}

.classes-index__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.classes-index__card {
  display: grid;
  grid-template-rows: 180px 1fr;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid #ededed;
  background: #ffffff;
  color: inherit;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.classes-index__card:hover,
.class-category-card:hover,
.class-schedule-card:hover {
  border-color: #f2a91f;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.11);
  transform: translateY(-3px);
}

.classes-index__media {
  position: relative;
  display: block;
  width: 132px;
  height: 132px;
  margin: 34px auto 0;
}

.classes-index__content {
  display: flex;
  flex-direction: column;
  padding: 10px 30px 30px;
  text-align: center;
}

.classes-index__title,
.class-category-card__title,
.class-schedule-card__title {
  color: #1c2638;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}

.classes-index__title {
  font-size: 34px;
}

.classes-index__desc,
.class-category-card__desc,
.class-schedule-card__desc,
.class-detail-hero__desc,
.class-long-description {
  color: #555b66;
  font-size: 16px;
  line-height: 1.75;
  white-space: pre-line;
}

.classes-index__desc {
  margin-top: 16px;
}

.classes-index__meta {
  margin-top: auto;
  padding-top: 22px;
  color: #777;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.classes-index__link,
.class-category-card__link,
.class-schedule-card__link,
.class-detail-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  margin: 22px auto 0;
  padding: 0 24px;
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.classes-index__card:hover .classes-index__link,
.class-category-card:hover .class-category-card__link,
.class-schedule-card:hover .class-schedule-card__link,
.class-detail-hero__cta:hover {
  background: #f2a91f;
  color: #111111;
}

.class-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  padding: 48px;
  border: 1px solid #eeeeee;
  background: #f7f7f7;
}

.class-detail-hero--type .class-detail-hero__media,
.class-detail-hero--category .class-detail-hero__media {
  background: #ffffff;
}

.class-detail-hero__back {
  display: inline-flex;
  margin-bottom: 28px;
  color: #555;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.class-detail-hero__back:hover {
  color: #f2a91f;
}

.class-detail-hero__copy h1 {
  font-size: clamp(48px, 6vw, 82px);
}

.class-detail-hero__desc {
  max-width: 680px;
  margin-top: 22px;
}

.class-detail-hero__cta {
  margin: 28px 0 0;
}

.class-detail-hero__media {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: #e9e9e9;
}

.class-detail-section {
  margin-top: 72px;
}

.class-detail-section__header h2 {
  font-size: clamp(38px, 4vw, 56px);
}

.class-category-grid,
.class-schedule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.class-category-card,
.class-schedule-card {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  min-height: 260px;
  overflow: hidden;
  border: 1px solid #eeeeee;
  background: #ffffff;
  color: inherit;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.class-category-card__media,
.class-schedule-card__media {
  position: relative;
  display: block;
  min-height: 100%;
  background: #eeeeee;
}

.class-category-card__body,
.class-schedule-card__body {
  display: flex;
  flex-direction: column;
  padding: 28px;
}

.class-category-card__title,
.class-schedule-card__title {
  font-size: 32px;
}

.class-category-card__desc,
.class-schedule-card__desc {
  display: -webkit-box;
  margin-top: 12px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.class-category-card__link,
.class-schedule-card__link {
  margin: auto 0 0;
}

.class-schedule-card__eyebrow {
  margin-bottom: 10px;
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
}

.class-schedule-card__venue {
  margin-top: 8px;
  color: #555b66;
  font-size: 14px;
  font-weight: 700;
}

.class-info-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 34px;
}

.class-info-panel > div {
  padding: 24px;
  border-left: 4px solid #f2a91f;
  background: #f7f7f7;
}

.class-info-panel span {
  display: block;
  margin-bottom: 8px;
  color: #777;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.class-info-panel strong {
  color: #1c2638;
  font-size: 20px;
}

.class-long-description {
  column-count: 2;
  column-gap: 48px;
  padding: 34px;
  background: #f7f7f7;
  text-align: justify;
}

.events-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 24px 90px;
  background: #ffffff;
}

.events-page__hero,
.events-page__section-header {
  max-width: 780px;
  margin: 0 auto 44px;
  text-align: center;
}

.events-page__hero > p,
.events-page__section-header > p {
  margin: 0 0 10px;
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.events-page__hero h1,
.events-page__section-header h2,
.events-page__featured h2,
.events-page__card h2 {
  margin: 0;
  color: #3f3f42;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.events-page__hero h1 {
  font-size: clamp(48px, 6vw, 78px);
}

.events-page__hero div {
  margin-top: 18px;
  color: #555b66;
  font-size: 18px;
  line-height: 1.75;
  white-space: pre-line;
}

.events-page__section {
  margin-top: 72px;
}

.events-page__section--featured {
  margin-top: 34px;
}

.events-page__section-header h2 {
  font-size: clamp(38px, 4vw, 56px);
}

.events-page__featured {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  overflow: hidden;
  border: 1px solid #eeeeee;
  background: #f7f7f7;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

.events-page__featured-media,
.events-page__card-media {
  background: #eeeeee;
}

.events-page__featured-media img,
.events-page__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events-page__featured-media {
  min-height: 440px;
}

.events-page__featured-body {
  display: flex;
  flex-direction: column;
  padding: clamp(34px, 5vw, 58px);
}

.events-page__featured h2 {
  margin-top: 14px;
  font-size: clamp(40px, 4vw, 62px);
}

.events-page__featured p,
.events-page__card p {
  color: #555b66;
  white-space: pre-line;
}

.events-page__featured p {
  margin: 22px 0 0;
  font-size: 17px;
  line-height: 1.75;
}

.events-page__date {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: #f2a91f;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.events-page__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: fit-content;
  min-height: 42px;
  margin-top: 26px;
  padding: 0 24px;
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.events-page__link:hover {
  background: #f2a91f;
  color: #111111;
}

.events-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.events-page__card {
  display: grid;
  grid-template-rows: 280px 1fr;
  overflow: hidden;
  border: 1px solid #eeeeee;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.events-page__card:hover {
  border-color: #f2a91f;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.11);
  transform: translateY(-3px);
}

.events-page__card-body {
  display: flex;
  flex-direction: column;
  padding: 28px;
}

.events-page__card h2 {
  margin-top: 12px;
  font-size: 34px;
}

.events-page__card p {
  display: -webkit-box;
  margin: 16px 0 0;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.events-page__card .events-page__link {
  margin-top: auto;
  padding-top: 0;
}

.gallery-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 50px 24px 92px;
  background: #ffffff;
}

.gallery-page--detail {
  padding-top: 42px;
}

.gallery-page__hero {
  max-width: 820px;
  margin: 0 auto 34px;
  padding: 0;
  overflow: visible;
  text-align: center;
}

.gallery-page--detail .gallery-page__hero {
  margin-bottom: 28px;
}

.gallery-page__hero > p {
  margin: 0 0 10px;
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.gallery-page__hero h1 {
  margin: 0;
  color: #3f3f42;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.gallery-page--detail .gallery-page__hero h1 {
  font-size: clamp(40px, 5vw, 64px);
}

.gallery-page__hero div {
  margin-top: 16px;
  color: #555b66;
  font-size: 17px;
  line-height: 1.7;
}

.gallery-page__content {
  width: 100%;
  padding: 0;
  overflow: visible;
}

.gallery-page__back {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-bottom: 28px;
  padding: 0 22px;
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.gallery-page__back:hover {
  background: #f2a91f;
  color: #111111;
}

.gallery-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.gallery-category-card {
  display: grid;
  grid-template-rows: 320px 1fr;
  overflow: hidden;
  border: 1px solid #eeeeee;
  background: #ffffff;
  color: inherit;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.gallery-category-card:hover,
.gallery-photo-card:hover {
  border-color: #f2a91f;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.11);
  transform: translateY(-3px);
}

.gallery-category-card__media,
.gallery-photo-card {
  display: block;
  overflow: hidden;
  background: #eeeeee;
}

.gallery-category-card__media img,
.gallery-photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.gallery-category-card:hover img,
.gallery-photo-card:hover img {
  transform: scale(1.035);
}

.gallery-category-card__body {
  display: flex;
  flex-direction: column;
  min-height: 190px;
  padding: 26px;
}

.gallery-category-card__count {
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.gallery-category-card__title {
  margin-top: 12px;
  color: #1c2638;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
}

.gallery-category-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 42px;
  margin-top: auto;
  padding: 0 24px;
  border-radius: 999px;
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}

.gallery-category-card:hover .gallery-category-card__link {
  background: #f2a91f;
  color: #111111;
}

.gallery-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}

.gallery-photo-card {
  aspect-ratio: 4 / 3;
  border: 1px solid #eeeeee;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
  cursor: zoom-in;
  padding: 0;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.gallery-photo-card .ant-image-img,
.gallery-photo-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-photo-card .ant-image {
  display: block;
  width: 100%;
  height: 100%;
}

.gallery-lightbox {
  display: none;
}

.gallery-lightbox:target {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(0, 0, 0, 0.88);
}

.gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
}

.gallery-lightbox__panel {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1180px, 94vw);
  height: min(760px, 86vh);
}

.gallery-lightbox__panel img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #111111;
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.gallery-lightbox__close:hover,
.gallery-lightbox__nav:hover {
  background: #f2a91f;
  color: #111111;
}

.gallery-lightbox__close {
  top: -18px;
  right: -18px;
  width: 42px;
  height: 42px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.gallery-lightbox__nav {
  top: 50%;
  width: 48px;
  height: 48px;
  font-size: 40px;
  line-height: 1;
  transform: translateY(-50%);
}

.gallery-lightbox__nav--prev {
  left: -24px;
}

.gallery-lightbox__nav--next {
  right: -24px;
}

.gallery-lightbox__count {
  position: absolute;
  bottom: -34px;
  left: 50%;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  transform: translateX(-50%);
}

.testimonials-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 58px 24px 94px;
  background: #ffffff;
}

.testimonials-page__hero {
  max-width: 860px;
  margin: 0 auto 54px;
  padding: 0;
  overflow: visible;
  text-align: center;
}

.testimonials-page__hero > p {
  margin: 0 0 10px;
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.testimonials-page__hero h1 {
  margin: 0;
  color: #3f3f42;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.testimonials-page__hero > div {
  margin-top: 18px;
  color: #555b66;
  font-size: 18px;
  line-height: 1.75;
  white-space: pre-line;
}

.testimonials-page__summary {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 1px;
  margin: 30px auto 0;
  overflow: hidden;
  border: 1px solid #eeeeee;
  background: #eeeeee;
}

.testimonials-page__summary div {
  padding: 16px 22px;
  background: #ffffff;
}

.testimonials-page__summary dt {
  color: #111111;
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.testimonials-page__summary dd {
  margin: 6px 0 0;
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.testimonials-page__list {
  display: grid;
  gap: 28px;
  padding: 0;
  overflow: visible;
}

.testimonial-story {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
  padding: clamp(28px, 4vw, 42px);
  border: 1px solid #eeeeee;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
}

.testimonial-story__media {
  position: sticky;
  top: 122px;
  width: 150px;
  height: 170px;
  overflow: hidden;
  background: #f1f1f1;
}

.testimonial-story__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-story__media span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #1f2937;
  font-size: 46px;
  font-weight: 800;
}

.testimonial-story__header {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.testimonial-story__header span {
  color: #f2a91f;
  font-size: 13px;
  font-weight: 800;
}

.testimonial-story__header h2 {
  margin: 0;
  color: #1c2638;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(32px, 3vw, 44px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.testimonial-story__body p {
  position: relative;
  margin: 22px 0 0;
  color: #4b5563;
  font-size: 17px;
  font-style: italic;
  line-height: 1.85;
  white-space: pre-line;
}

.testimonial-story__body p::before {
  content: "\201C";
  margin-right: 10px;
  color: #e8edf7;
  font-family: Arial, sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 800;
  line-height: 0;
  vertical-align: -18px;
}

.testimonial-story__body p::after {
  content: "\201D";
  margin-left: 10px;
  color: #e8edf7;
  font-family: Arial, sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 800;
  line-height: 0;
  vertical-align: -22px;
}

.testimonial-story__video {
  width: min(780px, 100%);
  margin-top: 22px;
  background: #000000;
}

.testimonial-story__video video,
.testimonial-story__video iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  background: #000000;
}

.download-page {
  --classplus-orange: #f97316;
  --classplus-amber: #ffb21a;
  --classplus-navy: #06233d;
  --classplus-text: #172033;
  --classplus-muted: #667085;
  --classplus-border: #e8edf3;
  --classplus-soft: #fff7ed;
  overflow: hidden;
  background: #ffffff;
  color: var(--classplus-text);
}

.download-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, 0.88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: clamp(34px, 5vw, 74px);
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
  padding: 42px 0 66px;
}

.download-hero::before {
  position: absolute;
  top: 34px;
  right: -120px;
  z-index: 0;
  width: min(52vw, 690px);
  height: min(52vw, 690px);
  border-radius: 50%;
  background:
    radial-gradient(circle at 46% 42%, rgba(255, 178, 26, 0.2), transparent 34%),
    linear-gradient(145deg, rgba(249, 115, 22, 0.13), rgba(255, 255, 255, 0));
  content: "";
}

.download-hero__copy,
.download-hero__screens {
  position: relative;
  z-index: 1;
}

.download-logo {
  display: block;
  width: min(170px, 48vw);
  height: auto;
  margin: 0 0 14px;
}

.download-hero h1,
.download-preview-section h2,
.download-features h2 {
  margin: 0;
  color: var(--classplus-navy);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
}

.download-hero h1 {
  font-size: clamp(58px, 7.2vw, 104px);
}

.download-hero__subtitle {
  max-width: 580px;
  margin: 12px 0 0;
  color: #1e293b;
  font-size: clamp(20px, 2.3vw, 30px);
  font-weight: 850;
  line-height: 1.2;
}

.download-hero__intro {
  max-width: 570px;
  margin: 20px 0 0;
  color: var(--classplus-muted);
  font-size: 17px;
  line-height: 1.72;
}

.download-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.download-actions a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #101828;
  border-radius: 8px;
  background: #101828;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease;
}

.download-actions a:nth-child(2) {
  border-color: var(--classplus-orange);
  background: var(--classplus-orange);
  color: #ffffff;
}

.download-actions a:hover {
  box-shadow: 0 18px 34px rgba(249, 115, 22, 0.22);
  transform: translateY(-2px);
}

.download-actions svg {
  width: 22px;
  height: 22px;
}

.download-manual-note {
  margin: 18px 0 0;
  color: #98a2b3;
  font-size: 13px;
  font-weight: 700;
}

.download-hero__screens {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 14px;
  min-height: 520px;
}

.download-phone {
  position: relative;
  overflow: hidden;
  border: 7px solid #111827;
  border-radius: 28px;
  background: #111827;
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.17);
}

.download-phone:nth-child(1) {
  transform: translateY(30px);
}

.download-phone:nth-child(2) {
  transform: translateY(-16px);
}

.download-phone:nth-child(3) {
  transform: translateY(56px);
}

.download-phone:nth-child(4) {
  transform: translateY(10px);
}

.download-phone img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 591 / 1280;
  object-fit: cover;
  border-radius: 20px;
}

.download-phone__glow {
  position: absolute;
  right: -30px;
  bottom: 90px;
  z-index: 0;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(249, 115, 22, 0.3);
  filter: blur(20px);
}

.download-preview-section {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(420px, 1.15fr);
  align-items: center;
  gap: 34px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 34px;
  padding: 28px 0 22px;
  border-top: 1px solid var(--classplus-border);
  border-bottom: 1px solid var(--classplus-border);
}

.download-preview-section h2,
.download-features h2 {
  font-size: clamp(36px, 4vw, 58px);
}

.download-preview-section p {
  max-width: 560px;
  margin: 12px 0 0;
  color: var(--classplus-muted);
  font-size: 16px;
  line-height: 1.7;
}

.download-preview-strip {
  display: grid;
  grid-template-columns: auto repeat(5, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--classplus-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.08);
}

.download-preview-strip svg {
  width: 34px;
  height: 34px;
  color: var(--classplus-orange);
}

.download-preview-strip span {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--classplus-soft);
  color: var(--classplus-navy);
  font-size: 13px;
  font-weight: 850;
}

.download-features {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 58px 0 90px;
}

.download-features h2 {
  text-align: center;
}

.download-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.download-feature-grid article {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 16px;
  min-height: 176px;
  padding: 24px;
  border: 1px solid var(--classplus-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  text-align: left;
}

.download-feature-icon {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff3e6;
  color: var(--classplus-orange);
}

.download-feature-icon svg {
  width: 25px;
  height: 25px;
}

.download-feature-grid h3 {
  margin: 0;
  color: var(--classplus-navy);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

.download-feature-grid p {
  margin: 10px 0 0;
  color: var(--classplus-muted);
  font-size: 14.5px;
  line-height: 1.62;
}

.download-manual-section {
  width: min(1180px, calc(100% - 48px));
  margin: -38px auto 84px;
}

.download-manual-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 26px;
  border: 1px solid rgba(249, 115, 22, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 178, 26, 0.18), rgba(255, 255, 255, 0) 42%),
    #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.download-manual-copy {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.download-manual-icon {
  display: inline-flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--classplus-soft);
  color: var(--classplus-orange);
  font-size: 25px;
}

.download-manual-card h2 {
  margin: 0;
  color: var(--classplus-navy);
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 900;
  line-height: 1.12;
}

.download-manual-card p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--classplus-muted);
  font-size: 15.5px;
  line-height: 1.6;
}

.download-manual-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--classplus-navy);
  color: #ffffff;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.download-manual-button:hover {
  background: #0b223a;
  box-shadow: 0 16px 30px rgba(12, 33, 56, 0.22);
  color: #ffffff;
  transform: translateY(-2px);
}

.download-manual-button svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 720px) {
  .download-manual-section {
    width: calc(100% - 36px);
    margin: -12px auto 58px;
  }

  .download-manual-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .download-manual-copy {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
  }

  .download-manual-icon {
    width: 48px;
    height: 48px;
    font-size: 22px;
  }

  .download-manual-button {
    width: 100%;
  }
}

.memory-site #testimonials .legacy-container {
  width: min(1280px, calc(100% - 48px)) !important;
}

.memory-site #testimonials .testimonial-carousel,
#testimonials .testimonial-carousel {
  position: relative !important;
  width: 100% !important;
  margin: 72px auto 0 !important;
  cursor: grab !important;
  touch-action: pan-y !important;
  user-select: none !important;
}

.memory-site #testimonials .testimonial-carousel:active,
#testimonials .testimonial-carousel:active {
  cursor: grabbing !important;
}

.memory-site #testimonials .testimonial-track {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr)) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  width: 100% !important;
  margin: 0 auto !important;
  animation: testimonial-page-in 320ms ease-out both !important;
}

.memory-site #testimonials .testimonial-arrow,
#testimonials .testimonial-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid #111111 !important;
  border-radius: 999px !important;
  background: #111111 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
}

.memory-site #testimonials .testimonial-arrow:hover,
#testimonials .testimonial-arrow:hover {
  background: #f5b94f !important;
  border-color: #f5b94f !important;
  color: #111111 !important;
}

.memory-site #testimonials .testimonial-arrow-prev,
#testimonials .testimonial-arrow-prev {
  left: -18px !important;
}

.memory-site #testimonials .testimonial-arrow-next,
#testimonials .testimonial-arrow-next {
  right: -18px !important;
}

@keyframes testimonial-page-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.memory-site #testimonials .testimonial-item {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  column-gap: clamp(22px, 3vw, 38px) !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 36px) !important;
}

.memory-site #testimonials .testimonial-img {
  position: static !important;
  width: 92px !important;
  height: 110px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}

.memory-site #testimonials .testimonial-copy {
  grid-column: 2 !important;
  min-width: 0 !important;
}

.memory-site #testimonials .testimonial-item h3 {
  margin: 6px 0 10px !important;
}

.memory-site #testimonials .testimonial-item p {
  position: relative !important;
  grid-column: auto !important;
  max-height: 190px !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 4px 30px 0 0 !important;
}

.memory-site #testimonials .testimonial-item p::before,
.memory-site #testimonials .testimonial-item p::after {
  color: #e8edf7 !important;
  font-family: Arial, sans-serif !important;
  font-size: 44px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.memory-site #testimonials .testimonial-item p::before {
  content: "\201C";
  margin-right: 10px;
  vertical-align: -18px;
}

.memory-site #testimonials .testimonial-item p::after {
  content: "\201D";
  margin-left: 10px;
  vertical-align: -22px;
}

.memory-site #testimonials .testimonial-home-video {
  grid-column: auto !important;
  width: 100% !important;
  max-width: 520px !important;
}

.memory-site #testimonials .testimonial-home-video video,
.memory-site #testimonials .testimonial-home-video iframe {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  background: #000000 !important;
}

.memory-site #testimonials .testimonial-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 34px 0 28px !important;
}

.memory-site #testimonials .testimonial-dots button {
  width: 14px !important;
  height: 14px !important;
  padding: 0 !important;
  border: 1px solid #5f82c9 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  cursor: pointer !important;
}

.memory-site #testimonials .testimonial-dots button.active {
  background: #5f82c9 !important;
}

@media (max-width: 991px) {
  body {
    padding-top: 65px !important;
  }

  .memory-site main > .home {
    margin-top: 10px !important;
  }

  .memory-site section,
  .memory-site main > section {
    scroll-margin-top: 78px;
  }

  .memory-site #event div.eventCol,
  .memory-site #contact .wholeContact,
  .memory-site #contact .divContactBtn {
    grid-template-columns: 1fr !important;
    grid-column: auto !important;
  }

  .memory-site #event .event-home-list {
    max-height: 760px !important;
  }

  .memory-site #gallery .legacy-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #event .event-home-list {
    max-height: 680px;
    padding-right: 0;
  }

  .memory-site #testimonials .legacy-container {
    width: min(760px, calc(100% - 30px)) !important;
  }

  .memory-site #testimonials .testimonial-track {
    grid-template-columns: 1fr !important;
    margin-top: 0 !important;
  }

  .memory-site #testimonials .testimonial-carousel {
    margin-top: 44px !important;
  }

  .memory-site #testimonials .testimonial-arrow-prev {
    left: -8px !important;
  }

  .memory-site #testimonials .testimonial-arrow-next {
    right: -8px !important;
  }

  .classes-index__grid,
  .class-category-grid,
  .class-schedule-grid,
  .class-detail-hero,
  .events-page__featured,
  .events-page__grid,
  .gallery-category-grid {
    grid-template-columns: 1fr;
  }

  .class-detail-hero {
    padding: 32px;
  }

  .class-detail-hero__media {
    min-height: 300px;
  }

  .class-category-card,
  .class-schedule-card {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .class-long-description {
    column-count: 1;
  }

  .events-page__featured-media {
    min-height: 360px;
  }

  .gallery-category-card {
    grid-template-rows: 360px 1fr;
  }

  .testimonial-story {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 24px;
  }

  .testimonial-story__media {
    position: static;
    width: 110px;
    height: 132px;
  }

  .download-hero,
  .download-preview-section {
    grid-template-columns: 1fr;
  }

  .download-hero__screens {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: auto;
    max-width: 760px;
    margin: 0 auto;
  }

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

@media (max-width: 560px) {
  .classes-index__inner,
  .class-detail-page,
  .gallery-page,
  .testimonials-page {
    padding: 48px 18px 64px;
  }

  .classes-index__grid,
  .class-category-grid,
  .class-schedule-grid {
    gap: 20px;
  }

  .classes-index__card,
  .class-category-card,
  .class-schedule-card {
    grid-template-columns: 1fr;
  }

  .class-category-card__media,
  .class-schedule-card__media {
    min-height: 220px;
  }

  .class-category-card__body,
  .class-schedule-card__body {
    padding: 24px;
  }

  .class-category-card__desc,
  .class-schedule-card__desc {
    margin-bottom: 18px !important;
  }

  .class-category-card__link,
  .class-schedule-card__link {
    margin-top: 0 !important;
  }

  .class-detail-hero {
    padding: 26px 22px;
  }

  .class-detail-hero__media {
    min-height: 240px;
  }

  .class-info-panel {
    grid-template-columns: 1fr;
  }

  .class-long-description {
    padding: 24px;
  }

  .events-page {
    padding: 48px 18px 68px;
  }

  .events-page__featured-media {
    min-height: 280px;
  }

  .events-page__featured-body,
  .events-page__card-body {
    padding: 24px;
  }

  .events-page__card {
    grid-template-rows: 230px 1fr;
  }

  .gallery-category-card {
    grid-template-rows: 260px 1fr;
  }

  .gallery-category-card__body {
    min-height: 168px;
    padding: 22px;
  }

  .gallery-detail-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .gallery-lightbox:target {
    padding: 20px;
  }

  .gallery-lightbox__nav {
    width: 40px;
    height: 40px;
    font-size: 32px;
  }

  .gallery-lightbox__nav--prev {
    left: 6px;
  }

  .gallery-lightbox__nav--next {
    right: 6px;
  }

  .testimonials-page__hero {
    margin-bottom: 34px;
  }

  .testimonials-page__summary {
    width: 100%;
  }

  .testimonial-story {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .testimonial-story__media {
    width: 96px;
    height: 116px;
  }

  .testimonial-story__header {
    gap: 10px;
  }

  .testimonial-story__body p {
    font-size: 16px;
    line-height: 1.75;
  }

  .download-hero,
  .download-preview-section,
  .download-features {
    width: calc(100% - 36px);
  }

  .download-hero {
    padding: 44px 0 54px;
  }

  .download-logo {
    width: 168px;
  }

  .download-hero__subtitle {
    font-size: 24px;
  }

  .download-actions {
    display: grid;
  }

  .download-actions a {
    justify-content: center;
  }

  .download-hero__screens {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .download-phone,
  .download-phone:nth-child(1),
  .download-phone:nth-child(2),
  .download-phone:nth-child(3),
  .download-phone:nth-child(4) {
    transform: none;
  }

  .download-preview-section {
    gap: 22px;
    margin-bottom: 24px;
    padding: 24px 0;
  }

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

  .download-preview-strip svg {
    grid-column: 1 / -1;
    justify-self: center;
  }

  .download-feature-grid {
    grid-template-columns: 1fr;
  }

  .download-feature-grid article {
    grid-template-columns: 46px minmax(0, 1fr);
    min-height: auto;
    padding: 20px;
  }

  .download-feature-icon {
    width: 46px;
    height: 46px;
  }

  .memory-site main > .home .controls .prev,
  .memory-site main > .home .controls .next {
    width: 34px !important;
    height: 34px !important;
  }

  .memory-site main > .home .controls .prev {
    left: 8px !important;
  }

  .memory-site main > .home .controls .next {
    right: 8px !important;
  }

  .memory-site #hero {
    padding: 52px 18px !important;
  }

  .memory-site #buy-tickets,
  .memory-site #event,
  .memory-site #gallery.gallery,
  .memory-site #testimonials,
  .memory-site #contact.contact {
    padding-top: 54px !important;
    padding-bottom: 60px !important;
  }

  .memory-site #buy-tickets .post-wrapper,
  .memory-site #event .event-home-list,
  .memory-site #gallery .legacy-container,
  .memory-site #testimonials .legacy-container,
  .memory-site #contact .legacy-container {
    width: calc(100% - 36px) !important;
  }

  .memory-site #event .event-home-list {
    max-height: 700px !important;
    padding-right: 0 !important;
  }

  .memory-site #event div.eventCol {
    min-height: 0 !important;
  }

  .memory-site #event .imgRatio {
    height: 260px !important;
  }

  .memory-site #event div.descRatio {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .memory-site #event .divEventBtn {
    text-align: center !important;
  }

  .memory-site #gallery .legacy-row {
    grid-template-columns: 1fr !important;
  }

  .memory-site #gallery .gallery-item img {
    height: 240px !important;
  }

  .memory-site #contact .contact-info {
    padding: 30px 24px 18px !important;
  }

  .memory-site #contact .divContactBtn {
    padding: 0 24px 30px !important;
    text-align: center !important;
  }

  .memory-site #testimonials .testimonial-arrow {
    width: 36px !important;
    height: 36px !important;
  }

  .memory-site #testimonials .testimonial-item {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    padding: 28px 22px !important;
  }

  .memory-site #testimonials .testimonial-img {
    width: 76px !important;
    height: 90px !important;
  }

  .memory-site #testimonials .testimonial-item p {
      grid-column: auto !important;
      margin-top: 0 !important;
      padding-right: 0 !important;
    }

  .memory-site #testimonials .testimonial-home-video {
      grid-column: auto !important;
      margin-top: 0 !important;
    }
  }

.memory-site .section-header h2,
.classes-index__header h1,
.class-detail-hero__copy h1,
.class-detail-section__header h2,
.events-page__hero h1,
.events-page__section-header h2,
.gallery-page__hero h1,
.testimonials-page__hero h1,
.download-hero h1,
.download-preview-section h2,
.download-features h2 {
  text-transform: none !important;
}

.classes-index__card,
.class-detail-hero,
.class-category-card,
.class-schedule-card,
.events-page__featured,
.events-page__card,
.gallery-category-card,
.testimonial-story,
.download-feature-grid article,
.enquiry-shell {
  border-radius: var(--site-radius) !important;
}

.classes-index__card,
.class-category-card,
.class-schedule-card,
.events-page__featured,
.events-page__card,
.gallery-category-card,
.testimonial-story,
.download-feature-grid article,
.enquiry-shell {
  border-color: var(--site-line) !important;
  box-shadow: var(--site-shadow) !important;
}

.classes-index__header,
.events-page__hero,
.gallery-page__hero,
.testimonials-page__hero {
  margin-bottom: clamp(34px, 5vw, 56px) !important;
}

.classes-index__header p,
.class-detail-section__header p,
.class-detail-hero__copy > p,
.events-page__hero > p,
.events-page__section-header > p,
.gallery-page__hero > p,
.testimonials-page__hero > p {
  color: var(--site-amber-strong) !important;
  letter-spacing: 0.08em !important;
}

.classes-index__header h1,
.class-detail-hero__copy h1,
.class-detail-section__header h2,
.events-page__hero h1,
.events-page__section-header h2,
.gallery-page__hero h1,
.testimonials-page__hero h1 {
  color: var(--site-ink) !important;
}

.classes-index,
.class-detail-page,
.events-page,
.gallery-page,
.testimonials-page {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 42%, #f7f7f5 100%) !important;
}

.classes-index__link,
.class-category-card__link,
.class-schedule-card__link,
.class-detail-hero__cta,
.events-page__link,
.gallery-category-card__link,
.gallery-page__back,
.legacy-pill-btn,
.memory-site .legacy-pill-btn {
  border-radius: var(--site-radius) !important;
  text-transform: none !important;
}

.events-page__featured-media img,
.events-page__card-media img,
.gallery-category-card__media img,
.testimonial-story__media img {
  transition: transform 220ms ease, filter 220ms ease;
}

.events-page__featured:hover img,
.events-page__card:hover img,
.gallery-category-card:hover img {
  transform: scale(1.025);
}

.enquiry-shell {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(245, 185, 79, 0.08), rgba(255, 255, 255, 0) 130px),
    #ffffff !important;
}

.enquiry-shell input,
.enquiry-shell textarea,
.enquiry-shell select {
  border-radius: var(--site-radius) !important;
}

.enquiry-shell button,
.enquiry-shell [type="submit"] {
  border-radius: var(--site-radius) !important;
  font-weight: 800 !important;
}

@media (max-width: 1400px) {
  #header .logo img {
    width: 58px !important;
    height: 58px !important;
  }

  #header .headerTitle {
    font-size: 16px !important;
  }

  #header .header-right {
    align-items: flex-end !important;
    gap: 12px !important;
  }

  #navbar > ul {
    gap: 8px !important;
  }

  #navbar a {
    font-size: 12px !important;
  }

  #navbar #talkToUs {
    padding: 0 14px !important;
  }
}

@media (max-width: 1180px) {
  #header .headerTitle {
    font-size: 15px !important;
  }

  #navbar a {
    font-size: 11px !important;
  }
}

@media (max-width: 991px) {
  #header .header-inner {
    min-height: 65px !important;
  }

  #header .logo img {
    width: 44px !important;
    height: 44px !important;
  }

  #header .headerTitle {
    margin-top: 6px !important;
    font-size: 15px !important;
  }

  #header .enCN {
    position: static !important;
    font-size: 14px !important;
  }

  #header .header-right {
    align-items: center !important;
    flex-direction: row !important;
    gap: 12px !important;
  }

  .mobile-nav-toggle {
    display: inline-flex !important;
  }

  #navbar > ul {
    display: none !important;
  }

  #header.mobile-open #navbar > ul {
    position: absolute !important;
    top: 65px !important;
    right: 14px !important;
    left: 14px !important;
    z-index: 1000 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    max-height: calc(100vh - 88px) !important;
    padding: 10px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--site-radius) !important;
    background: #0c0c0c !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28) !important;
  }

  #header.mobile-open #navbar > ul > li > a {
    display: flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 12px !important;
    border-radius: 6px !important;
  }

  #header.mobile-open #navbar > ul > li > a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  #header.mobile-open #navbar .dropdown ul {
    position: static !important;
    display: grid !important;
    min-width: 0 !important;
    margin: 4px 0 8px !important;
    padding: 6px !important;
    border: 0 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
  }

  #header.mobile-open #navbar .dropdown ul a {
    min-height: 38px !important;
    color: rgba(255, 255, 255, 0.78) !important;
  }

  .home-hero-content {
    bottom: 54px;
  }

  .site-cta__inner {
    grid-template-columns: 1fr;
  }

  .site-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .home-hero-content {
    right: 18px;
    left: 18px;
    bottom: 48px;
    max-width: none;
  }

  .home-hero-content h1 {
    font-size: clamp(36px, 11vw, 52px);
  }

  .home-hero-content p {
    font-size: 15px;
    line-height: 1.55;
  }

  .home-hero-actions,
  .site-cta__actions {
    display: grid;
    width: 100%;
  }

  .site-button,
  .memory-site .site-button {
    width: 100%;
  }

  .site-cta {
    padding: 38px 18px;
  }

  .site-cta--flush {
    padding-right: 18px;
    padding-left: 18px;
  }

  .site-cta__inner {
    padding: 24px 20px;
  }
}

/* Premium polish pass: clearer hierarchy, less empty space, stronger mobile behavior. */
.memory-site main > .home {
  background: #0a0a0a !important;
}

.home-hero-content {
  max-width: min(560px, calc(100% - 48px));
  bottom: clamp(146px, 13vw, 190px);
}

.home-hero-content h1 {
  font-size: clamp(42px, 5.6vw, 76px);
  line-height: 0.98;
}

.home-hero-content p {
  max-width: 500px;
  font-size: clamp(15px, 1.35vw, 19px);
  font-weight: 650;
}

.home-hero-actions {
  margin-top: 20px;
}

.memory-site .section-header {
  padding-bottom: 22px !important;
}

.memory-site .section-header h2 {
  color: var(--site-ink) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  text-transform: none !important;
}

.memory-site .section-header .eventInner p {
  width: 44px !important;
  margin-top: 18px !important;
  background: var(--site-amber-strong) !important;
}

.memory-site #hero {
  padding: 60px 24px 58px !important;
  background: #ffffff !important;
}

.memory-site #hero h1,
.memory-site #buy-tickets .ourClassesTitle,
.memory-site #event .bgrnd,
.memory-site #testimonials .testimonial-item h3 {
  color: var(--site-ink) !important;
}

.memory-site #hero h2 {
  max-width: 880px !important;
  color: var(--site-muted) !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 1.75 !important;
}

.memory-site #buy-tickets,
.memory-site #gallery.gallery,
.memory-site #contact.contact {
  background: var(--site-soft) !important;
}

.memory-site #buy-tickets {
  padding-top: 58px !important;
  padding-bottom: 64px !important;
}

.memory-site #buy-tickets .post-info {
  display: flex !important;
  flex-direction: column !important;
  border-color: var(--site-line) !important;
  background:
    linear-gradient(180deg, rgba(245, 185, 79, 0.08), rgba(255, 255, 255, 0) 42%),
    #ffffff !important;
}

.memory-site #buy-tickets .ourClassesTop {
  min-height: auto !important;
}

.memory-site #buy-tickets .ourClassesLogo {
  border-radius: 50% !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
}

.memory-site #buy-tickets .ourClassesDesc {
  min-height: 108px !important;
  color: var(--site-muted) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

.memory-site #buy-tickets .classBtnCenter {
  margin-top: auto !important;
}

.memory-site #event {
  padding-top: 58px !important;
  padding-bottom: 64px !important;
}

.memory-site #event div.eventCol {
  align-items: stretch !important;
  border-color: var(--site-line) !important;
}

.memory-site #event .imgRatio {
  background: #fafafa !important;
}

.memory-site #event div.descRatio {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.memory-site #event .bgrnd {
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.05 !important;
}

.memory-site #event .bgrnd2 {
  margin-top: 18px !important;
  color: var(--site-muted) !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
  font-weight: 600 !important;
}

.memory-site #gallery .legacy-row {
  gap: 14px !important;
}

.memory-site #gallery .gallery-item {
  border: 1px solid var(--site-line) !important;
  border-radius: var(--site-radius) !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
}

.memory-site #testimonials {
  padding-top: 58px !important;
  padding-bottom: 64px !important;
}

.memory-site #testimonials .testimonial-carousel {
  margin-top: 42px !important;
}

.memory-site #testimonials .testimonial-item {
  border: 1px solid var(--site-line) !important;
  border-radius: var(--site-radius) !important;
  background: #ffffff !important;
  box-shadow: var(--site-shadow) !important;
}

.memory-site #testimonials .testimonial-item p {
  color: var(--site-muted) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
}

.memory-site #contact .wholeContact {
  border-color: var(--site-line) !important;
}

.classes-index__inner,
.class-detail-page,
.events-page,
.gallery-page,
.testimonials-page {
  padding-top: clamp(50px, 5vw, 72px) !important;
  padding-bottom: clamp(66px, 6vw, 92px) !important;
}

.events-page__section {
  margin-top: 46px !important;
}

.events-page__section--featured {
  margin-top: 24px !important;
}

.events-page__hero,
.gallery-page__hero,
.testimonials-page__hero,
.classes-index__header {
  max-width: 860px !important;
}

.events-page__hero div,
.gallery-page__hero div,
.testimonials-page__hero > div {
  color: var(--site-muted) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
}

.events-page__card-body,
.events-page__featured-body,
.gallery-category-card__body,
.testimonial-story {
  background: #ffffff !important;
}

.events-page__card p,
.events-page__featured p,
.gallery-category-card__title,
.testimonial-story__body p {
  color: var(--site-muted) !important;
}

.memory-site main > section.bg-white {
  padding: 58px 18px 76px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 55%, var(--site-soft) 100%) !important;
}

.memory-site main > section.bg-white > div {
  width: min(1180px, 100%) !important;
  padding: 0 !important;
}

.memory-site main > section.bg-white h2 {
  margin: 0 0 28px !important;
  color: var(--site-ink) !important;
  font-family: "Bebas Neue", Impact, sans-serif !important;
  font-size: clamp(42px, 5vw, 68px) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: none !important;
}

.memory-site main > section.bg-white h2 + div {
  margin-top: 0 !important;
}

.enquiry-shell {
  max-width: 1080px !important;
  padding: clamp(24px, 4vw, 42px) !important;
}

.enquiry-current-form .ant-form-item-label > label {
  color: var(--site-ink) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.enquiry-current-form .ant-input,
.enquiry-current-form .ant-select-selector {
  min-height: 46px !important;
  border-color: #d8dde6 !important;
  border-radius: var(--site-radius) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  box-shadow: none !important;
}

.enquiry-current-form .ant-input:hover,
.enquiry-current-form .ant-select-selector:hover,
.enquiry-current-form .ant-input:focus {
  border-color: var(--site-amber-strong) !important;
}

.enquiry-current-form .ant-radio-wrapper {
  color: var(--site-muted) !important;
  font-weight: 650 !important;
}

.enquiry-current-form .ant-btn-primary {
  min-width: 180px !important;
  min-height: 48px !important;
  border-color: var(--site-amber) !important;
  background: var(--site-amber) !important;
  color: #111111 !important;
  font-weight: 850 !important;
  box-shadow: 0 14px 28px rgba(245, 185, 79, 0.24) !important;
}

.enquiry-current-form .ant-btn-primary:hover {
  border-color: var(--site-amber-strong) !important;
  background: var(--site-amber-strong) !important;
  color: #111111 !important;
}

@media (max-width: 1180px) {
  body {
    padding-top: 65px !important;
  }

  #header .header-inner {
    min-height: 65px !important;
  }

  #header .logo img {
    width: 44px !important;
    height: 44px !important;
    margin-top: 0 !important;
  }

  #header .headerTitle {
    margin-top: 4px !important;
    font-size: 15px !important;
  }

  #header .enCN {
    position: static !important;
    margin: 0 !important;
    font-size: 14px !important;
  }

  #header .header-right {
    align-items: center !important;
    flex-direction: row !important;
    gap: 12px !important;
  }

  .mobile-nav-toggle {
    display: inline-flex !important;
  }

  #navbar > ul {
    display: none !important;
  }

  #header.mobile-open #navbar > ul {
    position: absolute !important;
    top: 65px !important;
    right: 14px !important;
    left: 14px !important;
    z-index: 1000 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    max-height: calc(100vh - 88px) !important;
    padding: 10px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--site-radius) !important;
    background: #0c0c0c !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28) !important;
  }

  #header.mobile-open #navbar > ul > li > a {
    display: flex !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 12px !important;
    border-radius: 6px !important;
  }
}

@media (max-width: 720px) {
  .home-hero-content {
    bottom: 92px;
  }

  .home-hero-content h1 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .home-hero-content p {
    display: none;
  }

  .home-hero-actions {
    grid-template-columns: 1fr;
    width: min(260px, 100%);
  }

  .memory-site main > section.bg-white {
    padding-top: 44px !important;
  }

  .enquiry-current-form .ant-radio-group {
    display: grid !important;
    gap: 10px !important;
  }
}

/* Premium shared shell redesign: modern header, navigation hierarchy, and footer. */
body {
  padding-top: 82px !important;
}

#header.site-header {
  border-bottom: 1px solid rgba(255, 195, 93, 0.16) !important;
  background: rgba(5, 5, 5, 0.96) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(12px);
}

#header.site-header .site-header__inner {
  display: grid !important;
  grid-template-columns: minmax(210px, 270px) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 2.4vw, 34px) !important;
  width: min(1280px, calc(100% - 48px)) !important;
  min-height: 82px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#header .site-header__brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: max-content;
  color: #ffffff !important;
}

#header .site-header__mark {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 0;
  background: transparent;
}

#header .site-header__brand img {
  width: 56px !important;
  height: 56px !important;
  object-fit: contain !important;
}

#header .site-header__brand-copy {
  display: grid;
  gap: 3px;
}

#header .site-header__brand-copy::before,
#header .site-header__brand-copy::after,
#header .site-header__brand::before,
#header .site-header__brand::after,
#footer.site-footer h4::before,
#footer.site-footer h4::after,
#footer.site-footer .site-footer__logo::before,
#footer.site-footer .site-footer__logo::after {
  display: none !important;
  content: none !important;
}

#header .site-header__brand .headerTitle {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
}

#header .site-header__brand-copy small {
  display: none !important;
}

#navbar.site-nav {
  display: flex !important;
  justify-content: center !important;
  min-width: 0 !important;
}

#navbar.site-nav > .site-nav__primary,
#navbar.site-nav > ul.site-nav__primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

#navbar.site-nav > .site-nav__primary > li,
#navbar.site-nav > ul.site-nav__primary > li {
  position: relative;
  margin: 0 !important;
}

#navbar.site-nav a {
  display: inline-flex !important;
  min-height: 36px !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background 180ms ease, color 180ms ease;
}

#navbar.site-nav a:hover,
#navbar.site-nav .dropdown:hover > a {
  background: rgba(255, 195, 93, 0.12) !important;
  color: #ffc35d !important;
}

#navbar.site-nav .chevron {
  display: inline-flex !important;
  height: 1em !important;
  align-items: center !important;
  margin: 0 !important;
  color: currentColor !important;
  font-size: 9px !important;
  line-height: 1 !important;
  transform: none !important;
}

#navbar.site-nav .chevron svg {
  display: block !important;
}

#navbar.site-nav .dropdown ul {
  top: calc(100% + 14px) !important;
  left: 0 !important;
  min-width: 220px !important;
  padding: 10px !important;
  border: 1px solid rgba(255, 195, 93, 0.18) !important;
  border-radius: 16px !important;
  background: #111111 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32) !important;
}

#navbar.site-nav .dropdown ul a {
  display: flex !important;
  width: 100% !important;
  min-height: 42px !important;
  justify-content: flex-start !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

#navbar.site-nav .dropdown ul a:hover {
  background: rgba(255, 195, 93, 0.12) !important;
  color: var(--site-amber) !important;
}

#header .site-header__actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}

#header .site-header__utility,
#header .site-header__language {
  display: inline-flex !important;
  min-height: 36px !important;
  align-items: center !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#header .site-header__utility--muted {
  color: rgba(255, 255, 255, 0.48) !important;
}

#header .site-header__language {
  border: 1px solid rgba(255, 195, 93, 0.28) !important;
  color: #ffc35d !important;
}

#header .site-header__utility:hover,
#header .site-header__language:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

#header #talkToUs.site-header__cta {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 195, 93, 0.82) !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ffc35d, #f5a91f) !important;
  color: #111111 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 28px rgba(255, 195, 93, 0.22) !important;
}

#header #talkToUs.site-header__cta:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #111111 !important;
}

#header .mobile-nav-toggle {
  display: none !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid rgba(255, 195, 93, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.site-mobile-drawer {
  display: none;
}

#footer.site-footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 195, 93, 0.2);
  background: #050505 !important;
}

#footer.site-footer::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 195, 93, 0.15), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0));
  content: "";
  pointer-events: none;
}

#footer .site-footer__top {
  position: relative;
  padding: clamp(58px, 7vw, 86px) 0 38px !important;
  border: 0 !important;
  background: transparent !important;
}

#footer .site-footer__inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(260px, 0.85fr) minmax(280px, 0.8fr);
  gap: clamp(34px, 5vw, 74px);
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
}

.site-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #ffffff;
  text-decoration: none;
}

.site-footer__logo img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.site-footer__logo span {
  color: #ffffff;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.site-footer__brand p {
  max-width: 390px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 15px;
  font-weight: 650 !important;
  line-height: 1.75;
  text-transform: none !important;
}

.site-footer__brand strong {
  display: block;
  max-width: 390px;
  margin-top: 16px;
  color: #ffc35d;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.55;
  text-transform: none !important;
}

.site-footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 26px;
  padding: 0 18px;
  border: 1px solid rgba(255, 195, 93, 0.78);
  border-radius: 999px;
  background: rgba(255, 195, 93, 0.1);
  color: #ffc35d !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

#footer.site-footer h4 {
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-family: "Bebas Neue", Impact, sans-serif !important;
  font-size: 28px !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

#footer.site-footer h4::first-letter {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

.site-footer__link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.site-footer__link-grid a,
.site-footer__bottom-links a {
  color: rgba(255, 255, 255, 0.68) !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.site-footer__link-grid a:hover,
.site-footer__bottom-links a:hover,
.site-footer__contact a:hover {
  color: #ffc35d !important;
}

.site-footer__contact ul {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__contact li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
}

.site-footer__contact li > span:first-child,
.site-footer__contact li > .anticon {
  margin-top: 4px;
  color: #ffc35d;
}

.site-footer__contact a,
.site-footer__contact span {
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none;
}

.site-footer__social {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.site-footer__social a {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 195, 93, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff !important;
  font-size: 18px;
}

.site-footer__bottom {
  position: relative;
  display: flex;
  width: min(1220px, calc(100% - 48px));
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.56);
}

.site-footer__bottom .copyright,
.site-footer__bottom .copyright strong,
.site-footer__bottom .copyright span {
  color: rgba(255, 255, 255, 0.56) !important;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 650;
}

.site-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: flex-end;
}

.site-footer__bottom-links a:last-child {
  color: rgba(255, 255, 255, 0.42) !important;
}

@media (max-width: 1280px) {
  #header.site-header .site-header__inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 18px !important;
    width: min(1240px, calc(100% - 34px)) !important;
  }

  #navbar.site-nav a {
    padding: 0 8px !important;
    font-size: 11px !important;
  }

  #header .site-header__utility {
    display: inline-flex !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 1080px) {
  body {
    padding-top: 70px !important;
  }

  #header.site-header .site-header__inner {
    display: flex !important;
    min-height: 70px !important;
    justify-content: space-between !important;
  }

  #header .site-header__mark {
    width: 46px;
    height: 46px;
  }

  #header .site-header__brand img {
    width: 44px !important;
    height: 44px !important;
  }

  #header .site-header__brand .headerTitle {
    font-size: 15px !important;
  }

  #navbar.site-nav {
    display: none !important;
  }

  #header .site-header__language,
  #header #talkToUs.site-header__cta {
    display: none !important;
  }

  #header .mobile-nav-toggle {
    display: inline-flex !important;
  }

  #header.mobile-open .mobile-nav-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  #header.mobile-open .mobile-nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  #header.mobile-open .mobile-nav-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .site-mobile-drawer {
    position: absolute;
    top: 70px;
    right: 14px;
    left: 14px;
    z-index: 1000;
    display: none;
  }

  #header.mobile-open .site-mobile-drawer {
    display: block;
  }

  .site-mobile-drawer__inner {
    overflow: hidden;
    border: 1px solid rgba(255, 195, 93, 0.18);
    border-radius: 22px;
    background: #0d0d0d;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.38);
  }

  .site-mobile-drawer__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .site-mobile-drawer__heading span {
    color: #ffffff;
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: 28px;
    line-height: 1;
  }

  .site-mobile-drawer__heading a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffc35d;
    color: #111111;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
  }

  .site-mobile-drawer__group,
  .site-mobile-drawer__secondary {
    display: grid;
    padding: 10px;
  }

  .site-mobile-drawer__group a,
  .site-mobile-drawer__secondary a {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.82);
    font-family: "Open Sans", Arial, sans-serif;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
  }

  .site-mobile-drawer__group a:hover,
  .site-mobile-drawer__secondary a:hover {
    background: rgba(255, 195, 93, 0.1);
    color: #ffc35d;
  }

  .site-mobile-drawer__secondary {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .site-mobile-drawer__secondary a:last-child {
    color: rgba(255, 255, 255, 0.48);
  }

  .memory-site main > .home.home-cinematic,
  .memory-site main > .home.home-cinematic .slide.active,
  .memory-site main > .home.home-cinematic .slide img {
    min-height: calc(100vh - 72px) !important;
  }

  #footer .site-footer__inner {
    grid-template-columns: 1fr 1fr;
  }

  .site-footer__brand {
    grid-column: span 2;
  }
}

/* Header alignment fix: keep every desktop menu item on one optical baseline. */
@media (min-width: 1081px) {
  #header.site-header .site-header__inner {
    min-height: 78px !important;
  }

  #navbar.site-nav,
  #navbar.site-nav > .site-nav__primary,
  #navbar.site-nav > ul.site-nav__primary,
  #navbar.site-nav > .site-nav__primary > li,
  #navbar.site-nav > ul.site-nav__primary > li {
    height: 78px !important;
    align-items: center !important;
  }

  #navbar.site-nav > .site-nav__primary,
  #navbar.site-nav > ul.site-nav__primary {
    display: flex !important;
    gap: 18px !important;
  }

  #navbar.site-nav a {
    display: inline-flex !important;
    height: 38px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 0 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  #navbar.site-nav a::after {
    right: 0 !important;
    bottom: 3px !important;
    left: 0 !important;
    height: 1px !important;
    background: #ffc35d !important;
  }

  #navbar.site-nav a:hover,
  #navbar.site-nav .dropdown:hover > a {
    transform: none !important;
  }

  #navbar.site-nav .nav-dropdown-trigger {
    gap: 5px !important;
  }

  #navbar.site-nav .chevron {
    position: static !important;
    display: inline-flex !important;
    width: 10px !important;
    height: 10px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
  }

  #navbar.site-nav .chevron svg {
    width: 9px !important;
    height: 9px !important;
  }

  #navbar.site-nav .dropdown ul {
    top: calc(100% + 2px) !important;
    min-width: 190px !important;
    border-radius: 14px !important;
  }

  #navbar.site-nav .dropdown ul a {
    justify-content: flex-start !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
  }

  #header .site-header__actions {
    height: 78px !important;
    align-items: center !important;
  }

  #header .site-header__utility,
  #header .site-header__language,
  #header #talkToUs.site-header__cta {
    align-self: center !important;
    margin: 0 !important;
  }
}

/* Header reset after refinement: single-row desktop layout, no staggered menu levels. */
@media (min-width: 1081px) {
  body {
    padding-top: 76px !important;
  }

  #header.site-header {
    height: 76px !important;
  }

  #header.site-header .site-header__inner {
    display: flex !important;
    width: min(1280px, calc(100% - 48px)) !important;
    height: 76px !important;
    min-height: 76px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  #header .site-header__brand {
    flex: 0 0 auto !important;
    height: 76px !important;
    align-items: center !important;
    transform: translateY(-15px) !important;
  }

  #header .site-header__mark {
    width: 54px !important;
    height: 54px !important;
  }

  #header .site-header__brand img {
    width: 54px !important;
    height: 54px !important;
  }

  #header .site-header__brand .headerTitle {
    display: block !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  #navbar.site-nav {
    flex: 1 1 auto !important;
    display: flex !important;
    height: 76px !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navbar.site-nav > .site-nav__primary,
  #navbar.site-nav > ul.site-nav__primary {
    display: flex !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navbar.site-nav > .site-nav__primary > li,
  #navbar.site-nav > ul.site-nav__primary > li {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navbar.site-nav a {
    display: inline-flex !important;
    height: 32px !important;
    min-height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  #navbar.site-nav a::after {
    bottom: 0 !important;
  }

  #navbar.site-nav .nav-dropdown-trigger {
    gap: 5px !important;
  }

  #navbar.site-nav .chevron {
    margin: 0 !important;
    transform: translateY(0) !important;
  }

  #navbar.site-nav .dropdown ul {
    top: calc(100% + 16px) !important;
  }

  #header .site-header__actions {
    flex: 0 0 auto !important;
    display: flex !important;
    height: 76px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #header .site-header__utility,
  #header .site-header__language,
  #header #talkToUs.site-header__cta {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .memory-site main > .home.home-cinematic,
  .memory-site main > .home.home-cinematic .slide.active,
  .memory-site main > .home.home-cinematic .slide img {
    min-height: calc(100vh - 76px) !important;
  }
}

@media (max-width: 720px) {
  #header.site-header .site-header__inner,
  #footer .site-footer__inner,
  .site-footer__bottom {
    width: calc(100% - 32px) !important;
  }

  #header .site-header__brand {
    gap: 10px !important;
  }

  #header .site-header__brand-copy small {
    display: none;
  }

  #footer .site-footer__inner,
  .site-footer__bottom {
    grid-template-columns: 1fr;
  }

  .site-footer__brand {
    grid-column: auto;
  }

  .site-footer__link-grid {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    display: grid;
    justify-items: start;
  }

  .site-footer__bottom-links {
    justify-content: flex-start;
  }
}

/* Full-site structural redesign layer. Keeps the Memory Sport black/white/amber identity. */
.memory-site {
  --site-black: #050505;
  --site-charcoal: #111111;
  --site-ink: #171717;
  --site-muted: #626262;
  --site-soft: #f6f5f2;
  --site-line: #e7e2d7;
  --site-amber: #ffc35d;
  --site-amber-strong: #f5a91f;
  --site-amber-dark: #9a6507;
  --site-shadow: 0 18px 44px rgba(17, 17, 17, 0.08);
}

.site-page {
  background: #ffffff;
  color: var(--site-ink);
}

.site-page-hero {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(42px, 5vw, 68px) 0 clamp(28px, 4vw, 48px);
}

.site-page-hero--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  align-items: center;
  gap: clamp(34px, 6vw, 82px);
}

.site-page-hero__copy {
  max-width: 860px;
}

.site-page-eyebrow {
  margin: 0 0 12px;
  color: var(--site-amber-strong);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-page-hero h1,
.site-section-header h2 {
  margin: 0;
  color: var(--site-ink);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 0.98;
  text-transform: none;
}

.site-page-hero h1 {
  max-width: 900px;
  font-size: clamp(44px, 6vw, 76px);
}

.site-page-hero__description {
  max-width: 850px;
  margin-top: 18px;
  color: var(--site-muted);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 500;
  line-height: 1.75;
  white-space: pre-line;
}

.site-page-hero__actions {
  margin-top: 26px;
}

.site-section-header {
  max-width: 820px;
  margin: 0 auto 34px;
  text-align: center;
}

.site-section-header--left {
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.site-section-header h2 {
  font-size: clamp(36px, 4.6vw, 62px);
}

.site-section-header__description {
  margin: 12px 0 0;
  color: var(--site-muted);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

.site-page-hero__media {
  min-width: 0;
}

.about-brand-panel {
  display: grid;
  place-items: center;
  min-height: 360px;
  padding: 34px;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius);
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 195, 93, 0.24), transparent 38%),
    #0b0b0b;
  color: #ffffff;
  box-shadow: var(--site-shadow);
  text-align: center;
}

.about-brand-panel img {
  width: 160px;
  height: auto;
}

.about-brand-panel strong {
  margin-top: 18px;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.about-modern-section,
.about-story-section,
.about-objectives,
.coaches-modern-grid,
.enquiry-modern-layout {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.about-story-section {
  padding: 4px 0 34px;
}

.about-story-section p {
  max-width: 920px;
  margin: 0;
  color: var(--site-muted) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-transform: none !important;
  white-space: pre-line !important;
}

.about-modern-section--split {
  display: grid;
  gap: 26px;
  padding: 12px 0 34px;
}

.about-feature-card {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius);
  background: #ffffff;
  box-shadow: var(--site-shadow);
}

.about-feature-card--reverse {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

.about-feature-card--reverse img {
  order: 2;
}

.about-feature-card img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.about-feature-card > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 5vw, 58px);
}

.about-feature-card p,
.about-objective-card p,
.coach-modern-card p {
  margin: 0;
  color: var(--site-muted) !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.76 !important;
  text-transform: none !important;
  white-space: pre-line !important;
}

.about-objectives {
  padding: 44px 0 70px;
}

.about-objectives__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.about-objective-card {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius);
  background:
    linear-gradient(180deg, rgba(255, 195, 93, 0.12), rgba(255, 255, 255, 0) 58%),
    #ffffff;
  box-shadow: var(--site-shadow);
}

.about-objective-card span,
.coach-modern-card__body span {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--site-amber-strong);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.coaches-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding-bottom: 70px;
}

.coach-modern-card {
  overflow: hidden;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius);
  background: #ffffff;
  box-shadow: var(--site-shadow);
}

.coach-modern-card--featured {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
}

.coach-modern-card__media {
  min-height: 360px;
  background: var(--site-soft);
}

.coach-modern-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coach-modern-card__body {
  padding: 28px;
}

.coach-modern-card--featured .coach-modern-card__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 58px);
}

.coach-modern-card h2 {
  margin: 0 0 14px;
  color: var(--site-ink);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(34px, 3.8vw, 54px);
  line-height: 1;
}

.enquiry-modern-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr);
  align-items: start;
  gap: 26px;
  padding-bottom: 76px;
}

.enquiry-modern-aside {
  position: sticky;
  top: 124px;
  padding: 30px;
  border: 1px solid rgba(255, 195, 93, 0.32);
  border-radius: var(--site-radius);
  background:
    linear-gradient(160deg, rgba(255, 195, 93, 0.18), transparent 42%),
    #0c0c0c;
  color: #ffffff;
  box-shadow: var(--site-shadow);
}

.enquiry-modern-aside h2 {
  margin: 0 0 18px;
  color: #ffffff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 38px;
  line-height: 1;
}

.enquiry-modern-aside ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.enquiry-modern-aside li {
  position: relative;
  padding-left: 22px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

.enquiry-modern-aside li::before {
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--site-amber);
  content: "";
}

.enquiry-modern-page .enquiry-shell {
  max-width: none !important;
}

.classes-modern-page .classes-index__inner,
.events-modern-page .events-page__section,
.gallery-page__content,
.testimonials-page__list {
  width: min(1180px, calc(100% - 48px));
  max-width: none;
}

.classes-modern-page .classes-index__inner {
  padding-top: 0 !important;
}

.classes-modern-page .classes-index__grid {
  margin-top: 0;
}

.events-modern-page .site-section-header {
  margin-bottom: 26px;
}

.events-modern-page .events-page__section {
  margin-top: 26px !important;
}

.events-modern-page .events-page__section--featured {
  margin-top: 10px !important;
}

.events-page__featured,
.events-page__card,
.gallery-category-card,
.testimonial-story,
.classes-index__card,
.class-detail-hero,
.class-category-card,
.class-schedule-card {
  border-color: var(--site-line) !important;
}

#footer {
  background: var(--site-black) !important;
}

#footer .footer-top {
  border-top: 1px solid rgba(255, 195, 93, 0.2) !important;
  background:
    linear-gradient(135deg, rgba(255, 195, 93, 0.08), transparent 34%),
    var(--site-black) !important;
}

#footer h4 {
  color: #ffffff !important;
  text-transform: none !important;
}

#footer p,
#footer a,
#footer li {
  color: rgba(255, 255, 255, 0.72) !important;
}

#footer a:hover {
  color: var(--site-amber) !important;
}

@media (max-width: 1180px) {
  .site-page-hero--split,
  .about-feature-card,
  .about-feature-card--reverse,
  .coach-modern-card--featured,
  .enquiry-modern-layout {
    grid-template-columns: 1fr;
  }

  .about-feature-card--reverse img {
    order: 0;
  }

  .enquiry-modern-aside {
    position: static;
  }

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

  .coach-modern-card--featured {
    grid-column: span 2;
  }
}

@media (max-width: 720px) {
  .site-page-hero,
  .about-modern-section,
  .about-story-section,
  .about-objectives,
  .coaches-modern-grid,
  .enquiry-modern-layout,
  .classes-modern-page .classes-index__inner,
  .events-modern-page .events-page__section,
  .gallery-page__content,
  .testimonials-page__list {
    width: calc(100% - 36px);
  }

  .site-page-hero {
    padding-top: 36px;
    padding-bottom: 26px;
  }

  .site-page-hero h1 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .site-page-hero__description {
    font-size: 15px;
  }

  .about-brand-panel {
    min-height: 260px;
  }

  .about-feature-card img {
    min-height: 260px;
  }

  .about-feature-card > div,
  .coach-modern-card__body,
  .coach-modern-card--featured .coach-modern-card__body,
  .enquiry-modern-aside {
    padding: 24px;
  }

  .about-objectives__grid,
  .coaches-modern-grid {
    grid-template-columns: 1fr;
  }

  .coach-modern-card--featured {
    grid-column: auto;
  }

  .coach-modern-card__media {
    min-height: 300px;
  }
}

/* 2026 structural redesign pass: page composition, not cosmetic restyling. */
.memory-site {
  --site-page-gutter: clamp(18px, 4vw, 56px);
  --site-container: 1220px;
  --site-radius-lg: 18px;
}

.home-redesign {
  background: #ffffff;
}

.memory-site main > .home.home-cinematic {
  min-height: calc(100vh - 102px) !important;
  background: #050505 !important;
}

.memory-site main > .home.home-cinematic::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.46) 42%, rgba(0, 0, 0, 0.1) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0) 54%) !important;
}

.memory-site main > .home.home-cinematic .slide.active {
  min-height: calc(100vh - 102px) !important;
}

.memory-site main > .home.home-cinematic .slide img {
  height: calc(100vh - 102px) !important;
  min-height: 620px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.home-cinematic .home-hero-content {
  bottom: clamp(146px, 14vw, 214px);
  max-width: min(650px, calc(100% - 48px));
}

.home-cinematic .home-hero-content h1 {
  font-size: clamp(54px, 7.4vw, 108px);
  line-height: 0.9;
}

.home-cinematic .home-hero-content p {
  max-width: 560px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.58;
}

.home-hero-panel {
  position: absolute;
  right: clamp(22px, 5vw, 86px);
  bottom: clamp(26px, 4vw, 58px);
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  width: min(620px, calc(100% - 44px));
  overflow: hidden;
  border: 1px solid rgba(255, 195, 93, 0.28);
  border-radius: var(--site-radius-lg);
  background: rgba(8, 8, 8, 0.72);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(12px);
}

.home-hero-panel a {
  display: grid;
  gap: 5px;
  padding: 20px 22px;
  color: #ffffff;
  text-decoration: none;
}

.home-hero-panel a + a {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.home-hero-panel span,
.home-hero-panel small {
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 800;
}

.home-hero-panel span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  text-transform: uppercase;
}

.home-hero-panel strong {
  color: var(--site-amber);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 44px;
  line-height: 0.95;
}

.home-hero-panel small {
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
}

.home-section-shell {
  width: min(var(--site-container), calc(100% - (var(--site-page-gutter) * 2)));
  margin: 0 auto;
}

.home-section-heading {
  max-width: 720px;
}

.home-section-heading--center {
  margin: 0 auto;
  text-align: center;
}

.home-section-heading p,
.home-event-feature__copy span {
  margin: 0 0 12px;
  color: var(--site-amber-strong);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.home-section-heading h2 {
  margin: 0;
  color: var(--site-ink);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(44px, 5.8vw, 78px);
  font-weight: 700;
  line-height: 0.95;
  text-transform: none;
}

.home-section-heading div {
  margin-top: 16px;
  color: var(--site-muted);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: clamp(15px, 1.35vw, 18px);
  font-weight: 500;
  line-height: 1.78;
  text-transform: none;
}

.home-section-split-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) auto;
  align-items: end;
  gap: 28px;
  margin-bottom: clamp(28px, 4vw, 46px);
}

.memory-site #buy-tickets.home-training-section,
.home-story-section,
.memory-site #event.home-events-section,
.memory-site #gallery.home-gallery-section,
.memory-site #testimonials.home-testimonial-section,
.memory-site #contact.home-contact-section {
  padding: clamp(72px, 8vw, 112px) 0 !important;
}

.memory-site #buy-tickets.home-training-section {
  background:
    linear-gradient(90deg, #0b0b0b 0%, #111111 38%, #f7f4ed 38%, #f7f4ed 100%) !important;
}

.home-training-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: start;
}

.home-training-intro {
  position: sticky;
  top: 132px;
  color: #ffffff;
}

.home-training-intro .home-section-heading h2 {
  color: #ffffff;
}

.home-training-intro .home-section-heading div {
  color: rgba(255, 255, 255, 0.72);
}

.home-training-intro .site-button {
  margin-top: 26px;
  border-color: rgba(255, 255, 255, 0.22);
  background: #ffffff;
  color: #111111;
}

.home-class-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.home-class-card {
  position: relative;
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: clamp(24px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: var(--site-radius-lg);
  background: #ffffff;
  color: var(--site-ink);
  box-shadow: 0 22px 48px rgba(17, 17, 17, 0.08);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home-class-card:hover {
  border-color: rgba(245, 169, 31, 0.5);
  box-shadow: 0 26px 62px rgba(17, 17, 17, 0.12);
  transform: translateY(-4px);
}

.home-class-card--featured {
  grid-row: span 2;
  min-height: 420px;
  background:
    linear-gradient(150deg, rgba(255, 195, 93, 0.18), rgba(255, 255, 255, 0) 46%),
    #ffffff;
}

.home-class-card__number {
  color: rgba(17, 17, 17, 0.24);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 46px;
  line-height: 1;
}

.home-class-card__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  color: var(--site-ink);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 0.98;
}

.home-class-card__title img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.home-class-card__desc {
  margin-top: 18px;
  color: var(--site-muted);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.72;
}

.home-class-card__link {
  margin-top: auto;
  padding-top: 24px;
  color: var(--site-amber-dark);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
}

.home-story-section {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 62%, var(--site-soft) 62%, var(--site-soft) 100%);
}

.home-story-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
  align-items: center;
  gap: clamp(34px, 6vw, 84px);
}

.home-story-copy .legacy-pill-btn {
  margin-top: 26px;
}

.home-video-frame {
  overflow: hidden;
  border: 10px solid #111111;
  border-radius: var(--site-radius-lg);
  background: #111111;
  box-shadow: 0 30px 70px rgba(17, 17, 17, 0.16);
}

.memory-site .home-video-frame iframe.introVideo {
  display: block;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.memory-site #event.home-events-section {
  background: #ffffff !important;
}

.home-event-feature {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(300px, 0.38fr);
  overflow: hidden;
  border-radius: var(--site-radius-lg);
  background: #111111;
  box-shadow: 0 28px 70px rgba(17, 17, 17, 0.14);
}

.home-event-feature__media {
  min-height: 440px;
  background: #f7f4ed;
}

.home-event-feature__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f7f4ed;
}

.home-event-feature__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 54px);
  color: #ffffff;
}

.home-event-feature__copy h3 {
  margin: 0;
  color: #ffffff;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 0.98;
}

.home-event-feature__copy p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.72;
}

.home-event-feature__copy .legacy-pill-btn {
  align-self: flex-start;
  margin-top: 28px;
  background: var(--site-amber) !important;
  color: #111111 !important;
}

.home-event-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.home-event-mini {
  display: grid;
  grid-template-columns: 98px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 10px;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-lg);
  background: #ffffff;
  color: var(--site-ink);
  text-decoration: none;
  box-shadow: 0 16px 36px rgba(17, 17, 17, 0.06);
}

.home-event-mini img {
  width: 98px;
  height: 92px;
  border-radius: 12px;
  object-fit: cover;
  background: #f7f4ed;
}

.home-event-mini span {
  color: var(--site-ink);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.memory-site #gallery.home-gallery-section {
  background: #111111 !important;
  color: #ffffff;
}

.home-gallery-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.28fr) minmax(0, 0.72fr);
  align-items: start;
  gap: clamp(28px, 5vw, 72px);
}

.home-gallery-layout .home-section-heading h2,
.home-gallery-layout .home-section-heading div {
  color: #ffffff;
}

.home-gallery-layout .home-section-heading div {
  color: rgba(255, 255, 255, 0.72);
}

.home-gallery-layout .legacy-pill-btn {
  margin-top: 26px;
  background: #ffffff !important;
  color: #111111 !important;
}

.home-gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 160px;
  gap: 12px;
}

.home-gallery-mosaic .gallery-item {
  overflow: hidden;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: #1a1a1a !important;
}

.home-gallery-mosaic .gallery-item:nth-child(1),
.home-gallery-mosaic .gallery-item:nth-child(6) {
  grid-column: span 2;
  grid-row: span 2;
}

.home-gallery-mosaic .gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.home-gallery-mosaic .gallery-preview-button {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.home-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 52px);
  background: rgba(0, 0, 0, 0.84);
}

.home-gallery-lightbox img {
  display: block;
  max-width: min(1100px, 100%);
  max-height: 86vh;
  border-radius: 14px;
  object-fit: contain;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}

.home-gallery-lightbox__close {
  position: absolute;
  top: 22px;
  right: 24px;
  display: inline-flex;
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
}

.memory-site #testimonials.home-testimonial-section {
  background: var(--site-soft) !important;
}

.home-testimonial-section .testimonial-carousel {
  margin-top: 0 !important;
}

.memory-site #contact.home-contact-section {
  background: #ffffff !important;
}

.home-contact-section .wholeContact {
  display: grid !important;
  grid-template-columns: minmax(0, 0.62fr) minmax(280px, 0.38fr) !important;
  overflow: hidden !important;
  border-radius: var(--site-radius-lg) !important;
  box-shadow: 0 26px 64px rgba(17, 17, 17, 0.1) !important;
}

.home-contact-section .map {
  grid-row: span 2;
}

.home-contact-section .divContactBtn {
  display: none !important;
}

.site-page {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 38%, var(--site-soft) 38%, var(--site-soft) 100%);
}

.site-page-hero {
  width: min(var(--site-container), calc(100% - (var(--site-page-gutter) * 2))) !important;
  padding: clamp(38px, 5vw, 66px) 0 clamp(28px, 4vw, 46px) !important;
}

.site-page-hero:not(.site-page-hero--split) {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(220px, 0.28fr);
  align-items: end;
  gap: 34px;
}

.site-page-hero:not(.site-page-hero--split)::after {
  display: block;
  height: 100%;
  min-height: 220px;
  border-radius: var(--site-radius-lg);
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.42), rgba(245, 169, 31, 0.22)),
    url("https://ap-southeast-mys1.oss.ips1cloud.com/memorysc/legacy/Admin/img/normal-class.jpg") center / cover,
    #111111;
  box-shadow: 0 24px 58px rgba(17, 17, 17, 0.12);
  content: "";
}

.site-page-hero--split {
  gap: clamp(40px, 7vw, 96px) !important;
}

.site-page-hero h1 {
  font-size: clamp(54px, 7vw, 96px) !important;
  line-height: 0.9 !important;
}

.site-page-hero__description,
.site-section-header__description {
  font-size: clamp(16px, 1.35vw, 19px) !important;
}

.classes-modern-page .classes-index__grid {
  grid-template-columns: 1.1fr repeat(2, minmax(0, 0.95fr));
  align-items: stretch;
}

.classes-modern-page .classes-index__card:first-child {
  grid-row: span 2;
  grid-template-rows: 240px 1fr;
}

.classes-modern-page .classes-index__card,
.gallery-category-card,
.events-page__featured,
.events-page__card,
.testimonial-story {
  border-radius: var(--site-radius-lg) !important;
}

.events-modern-page .events-page__featured {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(300px, 0.38fr);
  overflow: hidden;
}

.events-modern-page .events-page__featured-media {
  min-height: 430px;
}

.events-modern-page .events-page__featured-media img {
  object-fit: contain !important;
  background: #f7f4ed;
}

.gallery-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.testimonials-modern-page .testimonials-page__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.testimonials-modern-page .testimonial-story:nth-child(3n + 1) {
  grid-column: span 2;
}

@media (max-width: 1180px) {
  .memory-site main > .home.home-cinematic,
  .memory-site main > .home.home-cinematic .slide.active,
  .memory-site main > .home.home-cinematic .slide img {
    min-height: calc(100vh - 65px) !important;
  }

  .home-hero-panel {
    right: 18px;
    left: 18px;
    width: auto;
  }

  .home-training-layout,
  .home-story-layout,
  .home-gallery-layout,
  .home-event-feature,
  .events-modern-page .events-page__featured,
  .home-contact-section .wholeContact {
    grid-template-columns: 1fr !important;
  }

  .home-training-intro {
    position: static;
  }

  .memory-site #buy-tickets.home-training-section {
    background: #111111 !important;
  }

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

  .home-section-split-heading,
  .site-page-hero:not(.site-page-hero--split) {
    grid-template-columns: 1fr;
  }

  .site-page-hero:not(.site-page-hero--split)::after {
    display: none;
  }
}

@media (max-width: 720px) {
  .home-cinematic .home-hero-content {
    right: 18px;
    left: 18px;
    bottom: 170px;
    max-width: none;
  }

  .home-cinematic .home-hero-content h1 {
    font-size: clamp(44px, 14vw, 66px);
  }

  .home-cinematic .home-hero-content p {
    display: block;
    font-size: 14px;
  }

  .home-hero-panel {
    grid-template-columns: 1fr 1fr 1fr;
    bottom: 18px;
  }

  .home-hero-panel a {
    padding: 14px 10px;
  }

  .home-hero-panel strong {
    font-size: 32px;
  }

  .home-hero-panel small {
    display: none;
  }

  .home-section-shell {
    width: calc(100% - 36px);
  }

  .memory-site #buy-tickets.home-training-section,
  .home-story-section,
  .memory-site #event.home-events-section,
  .memory-site #gallery.home-gallery-section,
  .memory-site #testimonials.home-testimonial-section,
  .memory-site #contact.home-contact-section {
    padding: 58px 0 !important;
  }

  .home-class-paths,
  .home-event-rail,
  .home-gallery-mosaic,
  .classes-modern-page .classes-index__grid,
  .gallery-category-grid,
  .testimonials-modern-page .testimonials-page__list {
    grid-template-columns: 1fr !important;
  }

  .home-class-card--featured,
  .classes-modern-page .classes-index__card:first-child,
  .testimonials-modern-page .testimonial-story:nth-child(3n + 1) {
    grid-row: auto;
    grid-column: auto;
  }

  .home-class-card,
  .home-class-card--featured {
    min-height: 0 !important;
    padding: 24px 22px 22px !important;
  }

  .home-class-card__number {
    font-size: 38px !important;
  }

  .home-class-card__title {
    margin-top: 12px !important;
    font-size: 30px !important;
  }

  .home-class-card__title img {
    width: 46px !important;
    height: 46px !important;
  }

  .home-class-card__desc {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  .home-class-card__link {
    margin-top: 20px !important;
    padding-top: 0 !important;
  }

  .home-gallery-mosaic {
    grid-auto-rows: 220px;
  }

  .home-gallery-mosaic .gallery-item:nth-child(1),
  .home-gallery-mosaic .gallery-item:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
  }

  .home-event-feature__media {
    min-height: 300px;
  }

  .memory-site #event.home-events-section .home-section-shell {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .memory-site #event .home-event-feature {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    border-radius: 14px !important;
  }

  .memory-site #event .home-event-feature__media,
  .memory-site #event .home-event-feature__media img {
    width: 100% !important;
  }

  .memory-site #testimonials .testimonial-carousel {
    margin-top: 28px !important;
    padding: 0 0 64px !important;
  }

  .memory-site #testimonials .testimonial-track {
    display: block !important;
  }

  .memory-site #testimonials .testimonial-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 20px !important;
    border: 1px solid rgba(17, 17, 17, 0.08) !important;
    border-radius: 14px !important;
    background:
      linear-gradient(180deg, rgba(255, 195, 93, 0.08), rgba(255, 255, 255, 0) 32%),
      #ffffff !important;
    box-shadow: 0 18px 42px rgba(17, 17, 17, 0.1) !important;
  }

  .memory-site #testimonials .testimonial-img {
    width: 72px !important;
    height: 78px !important;
    border-radius: 10px !important;
  }

  .memory-site #testimonials .testimonial-copy {
    display: block !important;
    grid-column: 2 !important;
  }

  .memory-site #testimonials .testimonial-item h3 {
    margin: 4px 0 0 !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  .memory-site #testimonials .testimonial-item p {
    grid-column: 1 / -1 !important;
    max-height: 236px !important;
    margin-top: 18px !important;
    padding: 0 2px !important;
    color: #5d5d5d !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.78 !important;
  }

  .memory-site #testimonials .testimonial-item p::before {
    display: block !important;
    margin: 0 0 4px !important;
    color: rgba(95, 130, 201, 0.18) !important;
    font-size: 54px !important;
    line-height: 0.72 !important;
    vertical-align: 0 !important;
  }

  .memory-site #testimonials .testimonial-item p::after {
    color: rgba(95, 130, 201, 0.18) !important;
  }

  .memory-site #testimonials .testimonial-arrow-prev {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    transform: none !important;
  }

  .memory-site #testimonials .testimonial-arrow-next {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
  }

  .memory-site #testimonials .testimonial-dots {
    min-height: 44px !important;
    margin: -52px 56px 26px !important;
    align-items: center !important;
  }

  .memory-site #testimonials .testimonial-dots button {
    width: 34px !important;
    height: 44px !important;
  }

  .memory-site #testimonials .testimonial-dots button::after {
    width: 9px !important;
    height: 9px !important;
  }

  .memory-site #testimonials .testimonial-dots button.active::after {
    width: 28px !important;
    height: 28px !important;
    border: 0 !important;
    background: #5f82c9 !important;
    box-shadow: 0 10px 22px rgba(95, 130, 201, 0.34);
  }

  .memory-site #testimonials .home-section-split-heading .site-button {
    width: auto !important;
    min-height: 44px !important;
    padding: 0 22px !important;
    border-color: rgba(17, 17, 17, 0.12) !important;
    border-radius: 999px !important;
    background: #111111 !important;
    box-shadow: 0 12px 28px rgba(17, 17, 17, 0.12);
  }

  .site-page-hero {
    width: calc(100% - 36px) !important;
    padding-top: 48px !important;
  }
}

/* Header refinement pass: quieter utilities, looser primary nav, more premium CTA. */
body {
  padding-top: 78px !important;
}

#header.site-header {
  border-bottom-color: rgba(255, 195, 93, 0.12) !important;
  background:
    linear-gradient(180deg, rgba(10, 10, 10, 0.98), rgba(5, 5, 5, 0.94)) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24) !important;
}

#header.site-header .site-header__inner {
  grid-template-columns: minmax(220px, 286px) minmax(430px, 1fr) auto !important;
  min-height: 78px !important;
  gap: clamp(20px, 3vw, 44px) !important;
}

#header .site-header__mark {
  width: 54px !important;
  height: 54px !important;
}

#header .site-header__brand img {
  width: 54px !important;
  height: 54px !important;
}

#header .site-header__brand .headerTitle {
  font-size: 17px !important;
  letter-spacing: 0.015em !important;
}

#navbar.site-nav > .site-nav__primary,
#navbar.site-nav > ul.site-nav__primary {
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#navbar.site-nav a {
  position: relative;
  min-height: 42px !important;
  padding: 0 3px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 12.5px !important;
  font-weight: 850 !important;
  transition: color 180ms ease, transform 180ms ease;
}

#navbar.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #ffc35d, transparent);
  content: "";
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 180ms ease, transform 180ms ease;
}

#navbar.site-nav a:hover,
#navbar.site-nav .dropdown:hover > a {
  background: transparent !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

#navbar.site-nav a:hover::after,
#navbar.site-nav .dropdown:hover > a::after {
  opacity: 1;
  transform: scaleX(1);
}

#navbar.site-nav .site-nav__registration {
  color: rgba(255, 195, 93, 0.84) !important;
}

#navbar.site-nav .dropdown ul {
  top: calc(100% + 10px) !important;
}

#navbar.site-nav .dropdown ul a {
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
}

#navbar.site-nav .dropdown ul a::after {
  display: none !important;
}

#header .site-header__actions {
  gap: 10px !important;
}

#header .site-header__utility,
#header .site-header__language {
  min-height: 34px !important;
  padding: 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.54) !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
}

#header .site-header__utility--muted {
  color: rgba(255, 255, 255, 0.36) !important;
}

#header .site-header__language {
  color: rgba(255, 195, 93, 0.72) !important;
}

#header .site-header__utility:hover,
#header .site-header__language:hover {
  background: transparent !important;
  color: #ffc35d !important;
}

#header #talkToUs.site-header__cta {
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 195, 93, 0.74) !important;
  border-radius: 9px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 42%),
    linear-gradient(135deg, #ffc35d, #f2a51c) !important;
  color: #111111 !important;
  font-size: 12.5px !important;
  font-weight: 950 !important;
  letter-spacing: 0.01em !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.38),
    0 12px 26px rgba(255, 195, 93, 0.2) !important;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
  flex-direction: column !important;
  gap: 0 !important;
  white-space: normal !important;
}

#header #talkToUs.site-header__cta span {
  display: block;
  line-height: 1.05;
}

#header #talkToUs.site-header__cta span + span {
  margin-top: 1px;
}

#header #talkToUs.site-header__cta:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 44%),
    linear-gradient(135deg, #ffd27d, #f5a91f) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.48),
    0 16px 34px rgba(255, 195, 93, 0.26) !important;
  transform: translateY(-1px);
}

.memory-site main > .home.home-cinematic,
.memory-site main > .home.home-cinematic .slide.active,
.memory-site main > .home.home-cinematic .slide img {
  min-height: calc(100vh - 78px) !important;
}

@media (max-width: 1280px) {
  #header.site-header .site-header__inner {
    grid-template-columns: minmax(200px, 248px) minmax(380px, 1fr) auto !important;
    gap: 18px !important;
  }

  #navbar.site-nav > .site-nav__primary,
  #navbar.site-nav > ul.site-nav__primary {
    gap: 8px !important;
  }

  #navbar.site-nav a {
    font-size: 12px !important;
  }
}

@media (max-width: 1080px) {
  body {
    padding-top: 70px !important;
  }

  #header.site-header .site-header__inner {
    min-height: 70px !important;
  }

  .memory-site main > .home.home-cinematic,
  .memory-site main > .home.home-cinematic .slide.active,
  .memory-site main > .home.home-cinematic .slide img {
    min-height: calc(100vh - 70px) !important;
  }
}

/* Mobile QA pass: keep phone navigation usable and enforce larger touch targets. */
@media (max-width: 1080px) {
  body {
    padding-top: 72px !important;
  }

  #header.site-header {
    height: 72px !important;
  }

  #header.site-header .site-header__inner {
    display: flex !important;
    width: calc(100% - 28px) !important;
    height: 72px !important;
    min-height: 72px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  #header .site-header__brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 72px !important;
    transform: none !important;
  }

  #header .site-header__mark {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
  }

  #header .site-header__brand img {
    width: 46px !important;
    height: 46px !important;
  }

  #header .site-header__brand .headerTitle {
    overflow: hidden !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #header .site-header__actions {
    flex: 0 0 auto !important;
    height: 72px !important;
    align-items: center !important;
    gap: 0 !important;
  }

  #header .site-header__utility,
  #header .site-header__language,
  #header #talkToUs.site-header__cta {
    display: none !important;
  }

  #header .mobile-nav-toggle {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
  }

  .site-mobile-drawer {
    top: 72px !important;
    max-height: calc(100dvh - 88px);
    overflow-y: auto;
  }

  .memory-site main > .home.home-cinematic {
    margin-top: -8px !important;
  }

  .memory-site main > .home.home-cinematic,
  .memory-site main > .home.home-cinematic .slide.active,
  .memory-site main > .home.home-cinematic .slide img {
    min-height: calc(100vh - 64px) !important;
  }
}

@media (max-width: 360px) {
  #header.site-header .site-header__inner {
    width: calc(100% - 22px) !important;
    gap: 8px !important;
  }

  #header .site-header__brand {
    gap: 8px !important;
  }

  #header .site-header__brand .headerTitle {
    font-size: 14.5px !important;
  }

  #header .mobile-nav-toggle {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }
}

#footer .site-footer__link-grid a,
#footer .site-footer__bottom-links a,
#footer .site-footer__contact a {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
}

#footer .site-footer__contact li {
  min-height: 44px !important;
  align-items: center !important;
}

#footer .site-footer__social a {
  width: 44px !important;
  height: 44px !important;
}

.enquiry-current-form .ant-radio-wrapper {
  min-height: 44px !important;
  align-items: center !important;
  padding: 6px 10px 6px 0 !important;
}

.enquiry-current-form .ant-radio-input {
  width: 44px !important;
  height: 44px !important;
}

@media (min-width: 768px) and (max-width: 900px) {
  .memory-site main > .home .controls .prev,
  .memory-site main > .home .controls .next,
  .memory-site main > .home .indicator button,
  .memory-site main > .home .indicator button.active,
  .memory-site #testimonials .testimonial-arrow,
  .memory-site #testimonials .testimonial-dots button {
    width: 44px !important;
    height: 44px !important;
  }

  .memory-site main > .home .indicator button,
  .memory-site main > .home .indicator button.active,
  .memory-site #testimonials .testimonial-dots button {
    position: relative !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
  }

  .class-detail-hero__back,
  .memory-site .contactUsLink {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
  }
}

@media (max-width: 767px) {
  .memory-site main > .home .controls .prev,
  .memory-site main > .home .controls .next {
    top: 36% !important;
    width: 44px !important;
    height: 44px !important;
  }

  .memory-site main > .home .indicator {
    bottom: 90px !important;
    gap: 3px !important;
    padding: 6px 8px !important;
  }

  .memory-site main > .home .indicator button {
    position: relative !important;
    width: 35px !important;
    height: 35px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
  }

  .memory-site main > .home .indicator button.active {
    width: 35px !important;
    background: transparent !important;
  }

  .memory-site main > .home .indicator button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    content: "";
    transform: translate(-50%, -50%);
  }

  .memory-site main > .home .indicator button.active::after {
    width: 22px;
    background: #f5b94f;
  }

  .memory-site #testimonials .testimonial-arrow {
    width: 44px !important;
    height: 44px !important;
  }

  .memory-site #testimonials .testimonial-dots button {
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .memory-site #testimonials .testimonial-dots button::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    border: 1px solid #5e82c7;
    border-radius: 999px;
    content: "";
    transform: translate(-50%, -50%);
  }

  .memory-site #testimonials .testimonial-dots button.active::after {
    background: #5e82c7;
  }

  .class-detail-hero__back,
  .memory-site .contactUsLink {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
  }

  .enquiry-current-form .ant-select-single .ant-select-selector,
  .enquiry-current-form .ant-select-single .ant-select-selection-search,
  .enquiry-current-form .ant-select-single .ant-select-selection-search-input,
  .enquiry-current-form input.ant-select-input {
    min-height: 44px !important;
    height: 44px !important;
  }
}

@media (max-width: 900px) {
  .enquiry-current-form .ant-select-single .ant-select-selector,
  .enquiry-current-form .ant-select-single .ant-select-selection-search,
  .enquiry-current-form .ant-select-single .ant-select-selection-search-input,
  .enquiry-current-form input.ant-select-input {
    min-height: 44px !important;
    height: 44px !important;
  }
}

/* Mobile testimonial polish: one clean story card with controls below the card. */
@media (max-width: 720px) {
  .memory-site #testimonials.home-testimonial-section {
    background:
      linear-gradient(180deg, #f8f6f0 0%, #ffffff 74%) !important;
  }

  .memory-site #testimonials .home-section-split-heading {
    gap: 18px !important;
    margin-bottom: 0 !important;
  }

  .memory-site #testimonials .home-section-heading h2 {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: 0.95 !important;
  }

  .memory-site #testimonials .home-section-heading div {
    max-width: 32rem !important;
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .memory-site #testimonials .home-section-split-heading .site-button {
    width: auto !important;
    min-height: 44px !important;
    justify-self: start !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    background: #111111 !important;
    box-shadow: 0 12px 28px rgba(17, 17, 17, 0.12) !important;
  }

  .memory-site #testimonials .testimonial-carousel {
    margin-top: 28px !important;
    padding-bottom: 38px !important;
  }

  .memory-site #testimonials .testimonial-track {
    display: block !important;
  }

  .memory-site #testimonials .testimonial-item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: 0 !important;
    column-gap: 16px !important;
    padding: 20px !important;
    border: 1px solid rgba(17, 17, 17, 0.08) !important;
    border-radius: 14px !important;
    background:
      linear-gradient(180deg, rgba(255, 195, 93, 0.08), rgba(255, 255, 255, 0) 34%),
      #ffffff !important;
    box-shadow: 0 18px 42px rgba(17, 17, 17, 0.1) !important;
  }

  .memory-site #testimonials .testimonial-img {
    width: 72px !important;
    height: 78px !important;
    border-radius: 10px !important;
  }

  .memory-site #testimonials .testimonial-copy {
    display: block !important;
    grid-column: 2 !important;
  }

  .memory-site #testimonials .testimonial-item h3 {
    margin: 4px 0 0 !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  .memory-site #testimonials .testimonial-item p {
    grid-column: 1 / -1 !important;
    max-height: 236px !important;
    margin-top: 18px !important;
    padding: 0 2px !important;
    color: #5d5d5d !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.78 !important;
  }

  .memory-site #testimonials .testimonial-item p::before {
    display: block !important;
    margin: 0 0 4px !important;
    color: rgba(95, 130, 201, 0.18) !important;
    font-size: 54px !important;
    line-height: 0.72 !important;
    vertical-align: 0 !important;
  }

  .memory-site #testimonials .testimonial-item p::after {
    color: rgba(95, 130, 201, 0.18) !important;
  }

  .memory-site #testimonials .testimonial-arrow {
    display: none !important;
  }

  .memory-site #testimonials .testimonial-dots {
    min-height: 18px !important;
    margin: -24px 0 18px !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .memory-site #testimonials .testimonial-dots button {
    width: 18px !important;
    height: 18px !important;
  }

  .memory-site #testimonials .testimonial-dots button::after {
    width: 7px !important;
    height: 7px !important;
    border-color: rgba(95, 130, 201, 0.55) !important;
  }

  .memory-site #testimonials .testimonial-dots button.active::after {
    width: 18px !important;
    height: 7px !important;
    border: 0 !important;
    background: #5f82c9 !important;
    box-shadow: none !important;
  }
}

/* Mobile events page gutter fix: keep featured cards aligned to equal page gutters. */
@media (max-width: 720px) {
  .events-page.events-modern-page {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .events-page.events-modern-page .events-page__section,
  .events-page.events-modern-page .events-page__section--featured {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .events-page.events-modern-page .events-page__featured,
  .events-page.events-modern-page .events-page__card {
    box-sizing: border-box !important;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-self: stretch !important;
  }

  .events-page.events-modern-page .events-page__featured-media,
  .events-page.events-modern-page .events-page__card-media,
  .events-page.events-modern-page .events-page__featured-media img,
  .events-page.events-modern-page .events-page__card-media img {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* Mobile contact map: the map should touch the card edges. */
@media (max-width: 720px) {
  .memory-site #contact.home-contact-section .wholeContact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .memory-site #contact.home-contact-section .map {
    display: block !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .memory-site #contact.home-contact-section .map iframe,
  .memory-site #contact.home-contact-section .iframe {
    display: block !important;
    width: 100% !important;
    height: 360px !important;
    margin: 0 !important;
    border: 0 !important;
  }
}

/* Admin portal mobile polish. Keep these scoped away from the public site. */
.admin-shell-offset {
  margin-top: -102px !important;
}

.admin-portal,
.admin-portal .ant-layout,
.admin-portal .ant-layout-content {
  min-width: 0 !important;
}

.admin-portal .ant-layout-header {
  background: #ffffff !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
}

.admin-portal .admin-view-site {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  color: #334155 !important;
}

.admin-mobile-menu .ant-drawer-close {
  color: rgba(255, 255, 255, 0.82) !important;
}

.admin-mobile-menu .ant-menu-item,
.admin-mobile-menu .ant-menu-submenu-title {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
}

.admin-table-card .ant-table-wrapper,
.admin-table-card .ant-table-container {
  max-width: 100% !important;
}

.admin-table-card .ant-table-body,
.admin-table-card .ant-table-content {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 1080px) {
  .admin-shell-offset {
    margin-top: -72px !important;
  }
}

@media (max-width: 991px) {
  .admin-portal .ant-layout-sider,
  .admin-portal .ant-layout-sider-zero-width-trigger {
    display: none !important;
  }

  .admin-portal .ant-layout-header {
    min-height: 64px !important;
    padding: 10px 14px !important;
  }

  .admin-portal .ant-layout-content {
    padding: 14px !important;
  }

  .admin-portal h1 {
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .admin-portal .ant-btn,
  .admin-portal .ant-input,
  .admin-portal .ant-input-affix-wrapper,
  .admin-portal .ant-select-selector,
  .admin-mobile-menu-button {
    min-height: 44px !important;
  }

  .admin-portal .ant-btn-icon-only {
    width: 44px !important;
    min-width: 44px !important;
  }

  .admin-resource-page > div:first-child {
    padding: 18px !important;
  }

  .admin-resource-toolbar,
  .admin-resource-toolbar .ant-input-search,
  .admin-resource-toolbar .admin-resource-action {
    width: 100% !important;
  }

  .admin-resource-toolbar .ant-input-group-wrapper,
  .admin-resource-toolbar .ant-input-wrapper,
  .admin-resource-toolbar .ant-input,
  .admin-resource-toolbar .ant-input-search-button {
    height: 44px !important;
  }

  .admin-table-card .ant-table {
    font-size: 13px !important;
  }

  .admin-table-card .ant-table-cell {
    padding: 12px 10px !important;
  }

  .admin-table-card .ant-table-cell-fix-right,
  .admin-table-card .ant-table-cell-fix-right-first,
  .admin-table-card .ant-table-cell-fix-right-last {
    position: static !important;
    box-shadow: none !important;
  }

  .admin-table-card .ant-pagination .ant-pagination-item,
  .admin-table-card .ant-pagination .ant-pagination-prev,
  .admin-table-card .ant-pagination .ant-pagination-next {
    min-width: 44px !important;
    height: 44px !important;
    line-height: 42px !important;
  }

  .admin-table-card .ant-pagination .ant-pagination-item a,
  .admin-table-card .ant-pagination .ant-pagination-item-link {
    display: inline-flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .admin-table-card .ant-pagination-options,
  .admin-table-card .ant-pagination-options .ant-select,
  .admin-table-card .ant-pagination-options .ant-select-selector,
  .admin-table-card .ant-pagination-options .ant-select-selection-search,
  .admin-table-card .ant-pagination-options .ant-select-selection-search-input,
  .admin-table-card .ant-pagination-options input.ant-select-input {
    min-height: 44px !important;
    height: 44px !important;
  }

  .admin-resource-drawer .ant-drawer-content-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .admin-resource-drawer .ant-drawer-header,
  .admin-resource-drawer .ant-drawer-body {
    padding: 16px !important;
  }

  .admin-resource-drawer .ant-drawer-extra {
    display: none !important;
  }

  .admin-resource-drawer .ant-form-item {
    margin-bottom: 16px !important;
  }

  .admin-resource-drawer .ant-input,
  .admin-resource-drawer .ant-input-affix-wrapper,
  .admin-resource-drawer .ant-btn,
  .admin-resource-drawer .ant-upload-wrapper {
    min-height: 44px !important;
  }

  .admin-resource-drawer .ant-space-compact {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .admin-resource-drawer .ant-space-compact .ant-input,
  .admin-resource-drawer .ant-space-compact .ant-input-affix-wrapper,
  .admin-resource-drawer .ant-space-compact .ant-btn {
    width: 100% !important;
    border-radius: 8px !important;
  }

  .admin-resource-drawer .ant-upload,
  .admin-resource-drawer .ant-upload .ant-btn {
    width: 100% !important;
  }

  .admin-drawer-actions {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .admin-drawer-actions .ant-space-item,
  .admin-drawer-actions .ant-btn {
    width: 100% !important;
  }
}

@media (max-width: 430px) {
  .admin-portal .ant-layout-content {
    padding: 12px !important;
  }

  .admin-resource-page > div:first-child {
    padding: 16px !important;
  }

  .admin-table-card .ant-pagination {
    padding: 12px !important;
    justify-content: center !important;
  }
}
