:root {
  --surface: #faf7ef;
  --surface-low: #f1ebde;
  --surface-container: #ebe3d3;
  --yase-paper: #f5efe2;
  --primary: #262626;
  --primary-container: #353733;
  --ink: #17252e;
  --on-surface: #262626;
  --on-surface-variant: #666666;
  --secondary: #666666;
  --outline: #8a8c86;
  --outline-variant: #d9d2c3;
  --zhusha: #c43b2c;
  --bamboo: #6e8972;
  --bamboo-deep: #3f5c49;
  --warm-gold: #a28a5a;
  --ink-grey: #777777;
  --max: 1240px;
  --font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;
  --font-sans: "Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --serif: var(--font-serif);
  --display-serif: var(--font-serif);
  --font-display: var(--font-serif);
  --kai: var(--font-serif);
  --sans: var(--font-sans);
}

/* Xiao studies archive redesign: reading, listening and searchable answers. */
.gx-knowledge-page,
.gx-knowledge-detail {
  overflow: hidden;
  background: #f5efe2;
}

.gx-knowledge-hero {
  min-height: 660px;
  padding: 146px max(32px, calc((100% - var(--max)) / 2)) 82px;
  background: #f5efe2;
}

.gx-knowledge-hero-inner {
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr);
  grid-template-rows: auto 1fr;
  gap: 32px clamp(70px, 10vw, 150px);
}

.gx-knowledge-hero .crumb {
  grid-column: 1 / -1;
}

.gx-knowledge-hero-copy {
  align-self: center;
}

.gx-knowledge-hero-copy .gx-community-title-seal {
  margin: 26px 0 20px;
}

.gx-knowledge-hero-copy h1 {
  margin: 0;
  font-size: clamp(58px, 7vw, 90px);
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.1;
}

.gx-knowledge-hero-subtitle {
  margin: 32px 0 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: .08em;
}

.gx-knowledge-hero-intro {
  max-width: 610px;
  margin: 14px 0 0;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-knowledge-hero-mark {
  min-height: 410px;
  align-self: stretch;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(245, 239, 226, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 239, 226, .045) 1px, transparent 1px),
    #2f3833;
  background-size: 25% 25%;
}

.gx-knowledge-hero-mark > span {
  color: rgba(245, 239, 226, .11);
  font-family: var(--serif);
  font-size: clamp(150px, 18vw, 245px);
  line-height: 1;
}

.gx-knowledge-hero-mark p {
  position: absolute;
  right: 24px;
  top: 24px;
  margin: 0;
  color: rgba(245, 239, 226, .66);
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .22em;
  writing-mode: vertical-rl;
}

.gx-knowledge-hero-mark small {
  position: absolute;
  left: 24px;
  bottom: 20px;
  color: rgba(245, 239, 226, .38);
  font-size: 8px;
  letter-spacing: .2em;
}

.gx-knowledge-filters {
  width: 100%;
  padding: 0 max(32px, calc((100% - var(--max)) / 2));
  display: flex;
  gap: clamp(24px, 3vw, 42px);
  overflow-x: auto;
  border-top: 1px solid rgba(110, 137, 114, .22);
  border-bottom: 1px solid rgba(110, 137, 114, .22);
  scrollbar-width: none;
}

.gx-knowledge-filters::-webkit-scrollbar {
  display: none;
}

.gx-knowledge-filters button {
  position: relative;
  min-width: max-content;
  padding: 20px 0;
  border: 0;
  background: transparent;
  color: rgba(43, 59, 49, .58);
  font-family: var(--serif);
  font-size: 13px;
  cursor: pointer;
}

.gx-knowledge-filters button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--zhusha);
  transform: scaleX(0);
  transition: transform .25s ease;
}

.gx-knowledge-filters button.is-active {
  color: var(--on-surface);
}

.gx-knowledge-filters button.is-active::after {
  transform: scaleX(1);
}

/* Reading archive */
.gx-article-featured,
.gx-article-index,
.gx-listening-library,
.gx-faq-category-portals,
.gx-faq-popular-new,
.gx-faq-library {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-article-featured,
.gx-article-index,
.gx-listening-library,
.gx-faq-category-portals,
.gx-faq-popular-new,
.gx-faq-library {
  padding: 112px 0 124px;
}

.gx-article-featured > header,
.gx-article-index > header,
.gx-listening-featured > header,
.gx-listening-library > header,
.gx-faq-category-portals > header,
.gx-faq-popular-new > header {
  max-width: 760px;
  margin-bottom: 54px;
}

.gx-article-featured > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 5vw, 74px);
}

.gx-article-feature-card > :is(a, div) {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  color: inherit;
  text-decoration: none;
}

.gx-article-feature-card figure {
  height: 360px;
  margin: 0;
  overflow: hidden;
  background: rgba(185, 202, 186, .1);
}

.gx-article-feature-card figure :is(img, .gx-article-cover-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.gx-article-cover-placeholder {
  display: grid;
  place-items: center;
  background:
    linear-gradient(rgba(110, 137, 114, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110, 137, 114, .08) 1px, transparent 1px),
    #e9e6d9;
  background-size: 25% 33.333%;
}

.gx-article-cover-placeholder span {
  color: rgba(43, 59, 49, .11);
  font-family: var(--serif);
  font-size: 120px;
}

.gx-article-feature-card > :is(a, div) > div {
  padding: 34px 0 18px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgba(110, 137, 114, .25);
}

.gx-article-feature-card > :is(a, div) > div > span {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .1em;
}

.gx-article-feature-card h3 {
  margin: 15px 0 14px;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.45;
}

.gx-article-feature-card p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-article-feature-card small {
  margin-top: auto;
  color: rgba(43, 59, 49, .5);
  font-size: 10px;
}

.gx-article-feature-card b {
  margin-top: 18px;
  color: var(--bamboo-deep);
  font-size: 11px;
  font-weight: 400;
}

.gx-article-feature-card a:hover figure :is(img, .gx-article-cover-placeholder) {
  transform: scale(1.018);
}

.gx-article-index {
  padding-top: 0;
}

.gx-article-featured {
  padding-bottom: 96px;
}

.gx-article-directory {
  padding-top: 84px;
}

.gx-article-directory > header {
  margin-bottom: 34px;
}

.gx-article-directory-filters {
  width: 100%;
  padding: 0;
  gap: clamp(22px, 2.8vw, 40px);
  border-color: rgba(110, 137, 114, .3);
}

.gx-article-directory-filters button {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}

.gx-article-directory-filters button small {
  color: rgba(43, 59, 49, .42);
  font-family: var(--sans);
  font-size: 9px;
}

.gx-article-directory-filters button.is-active small {
  color: var(--zhusha);
}

.gx-article-index > header > p:last-child,
.gx-faq-popular-new > header > p:last-child {
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-article-index > div,
.gx-article-directory-list {
  border-top: 1px solid rgba(110, 137, 114, .3);
}

.gx-article-index article,
.gx-article-index-template {
  padding: 30px 0;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 150px 96px;
  gap: 28px;
  align-items: center;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-article-index [data-article-item][hidden] {
  display: none;
}

.gx-article-index article > span,
.gx-article-index-template > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
}

.gx-article-index h3,
.gx-article-index p {
  margin: 0;
}

.gx-article-index h3 {
  margin-top: 7px;
  font-size: 23px;
}

.gx-article-index small {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-article-index small b {
  display: inline-block;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid rgba(174, 32, 18, .32);
  color: var(--bamboo-deep);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .1em;
}

.gx-article-index p,
.gx-article-index time {
  color: var(--on-surface-variant);
  font-size: 11px;
  line-height: 1.8;
}

.gx-article-index article > a {
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-article-directory-empty {
  padding: 42px 0;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 18px;
}

/* Listening archive */
.gx-listening-redesign {
  padding-bottom: 0;
}

.gx-listening-featured {
  width: 100%;
  padding: 112px max(32px, calc((100% - var(--max)) / 2)) 124px;
  background: #2f3833;
  color: #f5efe2;
}

.gx-listening-featured > header h2 {
  color: #f5efe2;
}

.gx-listening-featured > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(36px, 5vw, 72px);
}

.gx-listening-album {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, .82fr) 1.18fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
}

.gx-listening-album figure,
.gx-listening-library figure,
.gx-media-detail-cover {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.gx-listening-album figure {
  aspect-ratio: 1;
}

.gx-listening-album figure.is-landscape,
.gx-listening-library figure.is-landscape,
.gx-media-detail-cover.is-landscape {
  aspect-ratio: 16 / 9;
}

.gx-listening-album figure.is-portrait,
.gx-listening-library figure.is-portrait,
.gx-media-detail-cover.is-portrait {
  aspect-ratio: 4 / 5;
}

.gx-listening-album figure :is(img, .gx-media-cover-placeholder),
.gx-listening-library figure :is(img, .gx-media-cover-placeholder),
.gx-media-detail-cover :is(img, .gx-media-cover-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-media-cover-placeholder {
  display: grid;
  place-items: center;
  position: relative;
  background:
    linear-gradient(rgba(245, 239, 226, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 239, 226, .05) 1px, transparent 1px),
    #26312c;
  background-size: 25% 25%;
}

.gx-media-cover-placeholder > span {
  color: rgba(245, 239, 226, .1);
  font-family: var(--serif);
  font-size: clamp(80px, 10vw, 145px);
}

.gx-media-cover-placeholder > small {
  position: absolute;
  right: 16px;
  bottom: 14px;
  color: rgba(245, 239, 226, .38);
  font-size: 8px;
  letter-spacing: .16em;
}

.gx-listening-album figure > i,
.gx-listening-library figure > i {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 8px;
  background: rgba(38, 48, 42, .78);
  color: #f5efe2;
  font-size: 9px;
  font-style: normal;
}

.gx-listening-album > div > span,
.gx-listening-library article > :is(a, div) > div > span {
  color: #dca59d;
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-listening-album h3 {
  margin: 14px 0 16px;
  color: #f5efe2;
  font-size: clamp(25px, 2.5vw, 34px);
}

.gx-listening-album p,
.gx-listening-album small {
  color: rgba(245, 239, 226, .62);
  font-size: 11px;
  line-height: 1.85;
}

.gx-listening-album nav {
  margin-top: 26px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.gx-listening-album nav a,
.gx-listening-album nav button,
.gx-listening-album b {
  border: 0;
  background: transparent;
  color: #e0c79b;
  font-size: 11px;
  font-weight: 400;
  cursor: pointer;
}

.gx-listening-library > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 34px;
}

.gx-listening-library article > :is(a, div) {
  display: block;
  color: inherit;
}

.gx-listening-library figure {
  aspect-ratio: 4 / 3;
  margin-bottom: 25px;
}

.gx-listening-library .gx-media-cover-placeholder {
  background:
    linear-gradient(rgba(110, 137, 114, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110, 137, 114, .08) 1px, transparent 1px),
    #e6e6da;
  background-size: 25% 33.333%;
}

.gx-listening-library .gx-media-cover-placeholder > span {
  color: rgba(43, 59, 49, .12);
}

.gx-listening-library article > :is(a, div) > div > span {
  color: var(--zhusha);
}

.gx-listening-library h3 {
  margin: 12px 0;
  font-size: 24px;
}

.gx-listening-library p,
.gx-listening-library small {
  color: var(--on-surface-variant);
  font-size: 11px;
  line-height: 1.8;
}

.gx-listening-library article > button {
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--zhusha);
  font-size: 11px;
}

.gx-media-dock-new {
  position: fixed;
  z-index: 45;
  right: 22px;
  bottom: 18px;
  left: 22px;
  min-height: 76px;
  padding: 12px 18px;
  display: grid;
  grid-template-columns: 52px minmax(180px, .8fr) minmax(300px, 1.2fr);
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(245, 239, 226, .15);
  background: rgba(38, 48, 42, .97);
  box-shadow: 0 10px 34px rgba(20, 28, 23, .2);
  color: #f5efe2;
}

.gx-media-dock-cover {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  background: rgba(245, 239, 226, .08);
  color: rgba(245, 239, 226, .65);
  font-family: var(--serif);
  font-size: 22px;
}

.gx-media-dock-meta {
  display: grid;
  gap: 4px;
}

.gx-media-dock-meta span,
.gx-media-dock-meta small {
  color: rgba(245, 239, 226, .45);
  font-size: 9px;
}

.gx-media-dock-meta strong {
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 500;
}

.gx-media-dock-idle {
  display: grid;
  grid-template-columns: 50px 1fr 42px;
  gap: 14px;
  align-items: center;
}

.gx-media-dock-idle button {
  padding: 7px 0;
  border: 1px solid rgba(245, 239, 226, .22);
  background: transparent;
  color: rgba(245, 239, 226, .55);
}

.gx-media-dock-idle > span {
  height: 1px;
  background: rgba(245, 239, 226, .2);
}

.gx-media-dock-idle time {
  color: rgba(245, 239, 226, .45);
  font-size: 9px;
}

.gx-media-dock-new :is(audio, video) {
  width: 100%;
  max-height: 58px;
  grid-column: 3;
}

/* Searchable answer archive */
.gx-faq-search-new {
  width: 100%;
  padding: 62px max(32px, calc((100% - 960px) / 2));
  background: #2f3833;
  color: #f5efe2;
}

.gx-faq-search-new label {
  margin-bottom: 16px;
  display: block;
  font-family: var(--serif);
  font-size: 20px;
}

.gx-faq-search-new form {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.gx-faq-search-new form > div {
  display: grid;
  grid-template-columns: 1fr 92px;
  border-bottom: 1px solid rgba(245, 239, 226, .38);
}

.gx-faq-search-new input,
.gx-faq-search-new button {
  min-height: 56px;
  border: 0;
  background: transparent;
  color: #f5efe2;
}

.gx-faq-search-new input {
  font-size: 15px;
}

.gx-faq-search-new input::placeholder {
  color: rgba(245, 239, 226, .4);
}

.gx-faq-search-new button {
  color: #e0c79b;
}

.gx-faq-search-new form > p {
  margin: 14px 0 0;
  color: rgba(245, 239, 226, .48);
  font-size: 10px;
}

.gx-faq-category-portals > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(110, 137, 114, .12);
}

.gx-faq-category-portals button {
  min-height: 208px;
  padding: 24px 24px 26px 0;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .12);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.gx-faq-category-portals button + button {
  padding-left: 24px;
}

.gx-faq-category-portals button:nth-child(3n + 1) {
  padding-left: 0;
}

.gx-faq-category-portals button span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-faq-category-portals h3 {
  margin: 24px 0 10px;
  font-size: 24px;
}

.gx-faq-category-portals p,
.gx-faq-category-portals small {
  color: var(--on-surface-variant);
  font-size: 11px;
  line-height: 1.8;
}

.gx-faq-popular-new {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .1);
}

.gx-faq-popular-new > div {
  border-top: 1px solid rgba(110, 137, 114, .3);
}

.gx-faq-popular-new details,
.gx-faq-template {
  border-bottom: 1px solid rgba(110, 137, 114, .26);
}

.gx-faq-popular-new summary {
  min-height: 92px;
  display: grid;
  grid-template-columns: 52px 1fr 24px;
  gap: 22px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.gx-faq-popular-new summary::-webkit-details-marker {
  display: none;
}

.gx-faq-popular-new summary > span,
.gx-faq-template > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-faq-popular-new summary strong {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
}

.gx-faq-popular-new summary i::before {
  content: "+";
  color: var(--zhusha);
  font-style: normal;
}

.gx-faq-popular-new details[open] summary i::before {
  content: "−";
}

.gx-faq-popular-new details > div {
  padding: 0 54px 32px 74px;
}

.gx-faq-popular-new details > div p {
  max-width: 820px;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-rich-text > :first-child {
  margin-top: 0;
}

.gx-rich-text > :last-child {
  margin-bottom: 0;
}

.gx-rich-text p + p,
.gx-rich-text :is(ul, ol, blockquote, h2, h3) + p,
.gx-rich-text p + :is(ul, ol, blockquote, h2, h3) {
  margin-top: 1.15em;
}

.gx-rich-text :is(h2, h3) {
  margin-bottom: .65em;
  font-family: var(--serif);
  line-height: 1.45;
}

.gx-rich-text ul,
.gx-rich-text ol {
  padding-left: 1.4em;
}

.gx-rich-text blockquote {
  margin-inline: 0;
  padding-left: 1.15em;
  border-left: 2px solid var(--zhusha);
}

.gx-faq-popular-new details > div a {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-faq-template {
  min-height: 110px;
  padding: 26px 0;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 22px;
}

.gx-faq-template h3 {
  margin: 0 0 10px;
  font-size: 20px;
}

.gx-faq-template p {
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-faq-library {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(70px, 10vw, 130px);
}

.gx-faq-library > aside {
  position: sticky;
  top: 112px;
  align-self: start;
}

.gx-faq-library > aside h2 {
  margin: 14px 0 30px;
  font-size: 32px;
}

.gx-faq-library > aside nav {
  display: grid;
}

.gx-faq-library > aside button {
  padding: 14px 0;
  display: flex;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .2);
  background: transparent;
  color: rgba(43, 59, 49, .58);
  text-align: left;
}

.gx-faq-library > aside button.is-active {
  color: var(--zhusha);
}

.gx-faq-library > aside button span {
  font-size: 9px;
}

.gx-faq-groups-new > section {
  margin-top: 0;
}

.gx-faq-groups-new > section:not([hidden]) ~ section:not([hidden]) {
  margin-top: 76px;
}

.gx-faq-groups-new > section > header {
  margin-bottom: 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.gx-faq-groups-new > section > header > span {
  margin-bottom: 12px;
  display: block;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 11px;
  line-height: 1;
}

.gx-faq-groups-new > section > header h2,
.gx-faq-groups-new > section > header p {
  margin: 0;
}

.gx-faq-groups-new > section > header h2 {
  font-size: 28px;
}

.gx-faq-groups-new > section > header p,
.gx-faq-empty-category {
  margin-top: 8px !important;
  color: var(--on-surface-variant);
  font-size: 11px;
}

.gx-faq-groups-new details {
  border-top: 1px solid rgba(110, 137, 114, .22);
}

.gx-faq-groups-new details:last-child {
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-faq-groups-new summary {
  min-height: 70px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-family: var(--serif);
  font-size: 17px;
  cursor: pointer;
  list-style: none;
}

.gx-faq-groups-new summary::-webkit-details-marker {
  display: none;
}

.gx-faq-groups-new summary i::before {
  content: "+";
  color: var(--zhusha);
  font-style: normal;
}

.gx-faq-groups-new details[open] summary i::before {
  content: "−";
}

.gx-faq-groups-new details > div {
  padding: 0 34px 26px 0;
}

.gx-faq-groups-new details > div p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-faq-groups-new details > div a {
  color: var(--zhusha);
  font-size: 11px;
}

/* Shared third-level detail language. */
.gx-knowledge-detail-hero {
  min-height: 690px;
  padding: 146px max(32px, calc((100% - var(--max)) / 2)) 82px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .8fr);
  grid-template-rows: auto 1fr;
  gap: 32px clamp(70px, 9vw, 130px);
  background: rgba(185, 202, 186, .09);
}

.gx-knowledge-detail-hero .crumb {
  grid-column: 1 / -1;
}

.gx-knowledge-detail-copy {
  align-self: center;
}

.gx-knowledge-detail-copy .gx-community-title-seal {
  margin: 24px 0 20px;
}

.gx-knowledge-detail-copy h1 {
  margin: 0;
  font-size: clamp(42px, 5.4vw, 70px);
  font-weight: 500;
  line-height: 1.3;
}

.gx-knowledge-detail-copy > p:last-child {
  max-width: 650px;
  margin: 28px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.9;
}

.gx-knowledge-detail-hero > figure,
.gx-knowledge-detail-mark {
  min-height: 440px;
  margin: 0;
  overflow: hidden;
}

.gx-knowledge-detail-hero > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-knowledge-detail-mark {
  display: grid;
  place-items: center;
  position: relative;
  background: #2f3833;
}

.gx-knowledge-detail-mark span {
  color: rgba(245, 239, 226, .1);
  font-family: var(--serif);
  font-size: 190px;
}

.gx-knowledge-detail-mark small {
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: rgba(245, 239, 226, .42);
  font-size: 8px;
  letter-spacing: .2em;
}

.gx-knowledge-reading,
.gx-media-detail-body,
.gx-faq-answer-new {
  width: min(100% - 64px, 1080px);
  margin: 0 auto;
  padding: 112px 0 128px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: clamp(70px, 10vw, 125px);
  align-items: start;
}

.gx-knowledge-reading .article-body {
  max-width: 720px;
}

.gx-knowledge-reading .article-body :is(p, li) {
  font-size: 16px;
  line-height: 2;
}

.gx-knowledge-reading > aside,
.gx-media-detail-body > aside {
  position: sticky;
  top: 112px;
}

.gx-knowledge-reading dl,
.gx-media-detail-body dl {
  margin: 26px 0 0;
}

.gx-knowledge-reading dl > div,
.gx-media-detail-body dl > div {
  padding: 16px 0;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-knowledge-reading dt,
.gx-media-detail-body dt {
  color: rgba(43, 59, 49, .5);
  font-size: 10px;
}

.gx-knowledge-reading dd,
.gx-media-detail-body dd {
  margin: 0;
  font-family: var(--serif);
  font-size: 13px;
  line-height: 1.75;
}

.gx-media-detail-cover {
  min-height: 440px;
}

.gx-media-player-panel :is(audio, video) {
  width: 100%;
  max-height: 520px;
  margin: 30px 0 48px;
}

.gx-media-player-panel > h2 {
  margin: 46px 0 16px;
  font-size: 28px;
}

.gx-media-player-panel > p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 1.95;
}

.gx-media-player-empty {
  min-height: 270px;
  margin: 30px 0 48px;
  display: grid;
  place-items: center;
  background: rgba(185, 202, 186, .1);
  text-align: center;
}

.gx-media-player-empty span {
  color: rgba(43, 59, 49, .12);
  font-family: var(--serif);
  font-size: 80px;
}

.gx-faq-detail-hero-new {
  min-height: 580px;
  padding: 146px max(32px, calc((100% - 980px) / 2)) 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(185, 202, 186, .09);
}

.gx-faq-detail-hero-new .crumb {
  margin-bottom: auto;
}

.gx-faq-detail-hero-new .gx-community-title-seal {
  margin: 28px 0 20px;
}

.gx-faq-detail-hero-new h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(40px, 5.3vw, 68px);
  font-weight: 500;
  line-height: 1.4;
}

.gx-faq-answer-new > article {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 28px;
}

.gx-faq-answer-new > article > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 48px;
}

.gx-faq-answer-new .article-body :is(p, li) {
  font-size: 16px;
  line-height: 2;
}

.gx-faq-answer-new aside > p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.8;
}

.gx-faq-answer-new aside nav {
  margin-top: 24px;
  display: grid;
}

.gx-faq-answer-new aside a {
  padding: 15px 0;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 13px;
  line-height: 1.6;
}

.gx-knowledge-detail-return {
  min-height: 320px;
  padding: 76px max(32px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  background: #2f3833;
  color: #f5efe2;
}

.gx-knowledge-detail-return h2 {
  max-width: 760px;
  margin: 14px 0 0;
  color: #f5efe2;
  font-size: clamp(28px, 4vw, 45px);
  line-height: 1.45;
}

.gx-knowledge-detail-return > a {
  flex: 0 0 auto;
  padding: 13px 18px;
  border: 1px solid rgba(245, 239, 226, .38);
  color: #f5efe2;
  font-size: 12px;
}

@media (max-width: 1080px) {
  .gx-knowledge-hero-inner,
  .gx-knowledge-detail-hero {
    grid-template-columns: 1fr .72fr;
    gap: 48px;
  }

  .gx-listening-featured > div {
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .gx-listening-album {
    grid-template-columns: 300px 1fr;
  }

  .gx-listening-library > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gx-faq-category-portals > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-faq-category-portals button:nth-child(odd) {
    padding-left: 0;
  }

  .gx-faq-category-portals button:nth-child(even) {
    padding-left: 24px;
  }

  .gx-faq-library {
    grid-template-columns: 220px 1fr;
    gap: 60px;
  }
}

@media (max-width: 700px) {
  .gx-knowledge-hero,
  .gx-knowledge-detail-hero {
    min-height: 0;
    padding: 112px 20px 62px;
  }

  .gx-knowledge-hero-inner,
  .gx-knowledge-detail-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 30px;
  }

  .gx-knowledge-hero-copy h1 {
    font-size: 52px;
  }

  .gx-knowledge-hero-mark,
  .gx-knowledge-detail-hero > figure,
  .gx-knowledge-detail-mark,
  .gx-media-detail-cover {
    min-height: 330px;
  }

  .gx-knowledge-filters {
    padding-inline: 20px;
    gap: 28px;
  }

  .gx-article-featured,
  .gx-article-index,
  .gx-listening-library,
  .gx-faq-category-portals,
  .gx-faq-library {
    width: min(100% - 40px, var(--max));
  }

  .gx-article-featured,
  .gx-article-index,
  .gx-listening-library,
  .gx-faq-category-portals,
  .gx-faq-popular-new,
  .gx-faq-library {
    padding-block: 78px;
  }

  .gx-article-directory {
    padding-top: 62px;
  }

  .gx-article-featured {
    padding-bottom: 68px;
  }

  .gx-article-directory-filters {
    margin-inline: 0;
    padding-inline: 0;
  }

  .gx-article-featured > div,
  .gx-listening-library > div,
  .gx-faq-category-portals > div {
    grid-template-columns: 1fr;
  }

  .gx-article-feature-card figure {
    height: 300px;
  }

  .gx-article-index article,
  .gx-article-index-template {
    grid-template-columns: 38px 1fr;
    gap: 16px;
  }

  .gx-article-index article time,
  .gx-article-index article > a {
    grid-column: 2;
  }

  .gx-listening-featured {
    padding: 78px 20px 88px;
  }

  .gx-listening-album {
    grid-template-columns: 1fr;
  }

  .gx-listening-album figure {
    max-width: 330px;
  }

  .gx-media-dock-new {
    right: 10px;
    bottom: 10px;
    left: 10px;
    grid-template-columns: 44px 1fr;
    min-height: 72px;
    padding: 10px 12px;
  }

  .gx-media-dock-cover {
    width: 44px;
    height: 44px;
  }

  .gx-media-dock-idle,
  .gx-media-dock-new :is(audio, video) {
    grid-column: 1 / -1;
  }

  .gx-faq-search-new {
    padding: 48px 20px;
  }

  .gx-faq-category-portals button,
  .gx-faq-category-portals button + button {
    min-height: 164px;
    padding: 22px 0 24px;
  }

  .gx-faq-popular-new {
    padding-inline: 20px;
  }

  .gx-faq-popular-new summary {
    grid-template-columns: 36px 1fr 18px;
    gap: 12px;
  }

  .gx-faq-popular-new details > div {
    padding: 0 18px 28px 48px;
  }

  .gx-faq-library {
    grid-template-columns: 1fr;
    gap: 66px;
  }

  .gx-faq-library > aside,
  .gx-knowledge-reading > aside,
  .gx-media-detail-body > aside {
    position: static;
  }

  .gx-faq-library > aside nav {
    display: flex;
    overflow-x: auto;
  }

  .gx-faq-library > aside button {
    min-width: max-content;
    margin-right: 22px;
    gap: 12px;
  }

  .gx-knowledge-reading,
  .gx-media-detail-body,
  .gx-faq-answer-new {
    width: min(100% - 40px, 1080px);
    padding: 78px 0 88px;
    grid-template-columns: 1fr;
    gap: 66px;
  }

  .gx-faq-detail-hero-new {
    min-height: 500px;
    padding: 112px 20px 70px;
  }

  .gx-faq-answer-new > article {
    grid-template-columns: 40px 1fr;
    gap: 18px;
  }

  .gx-faq-answer-new > article > span {
    font-size: 34px;
  }

  .gx-knowledge-detail-return {
    min-height: 300px;
    padding: 62px 20px;
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Keep compact editorial headings intact across desktop split layouts. */
@media (min-width: 921px) {
  main.gx-secondary-rhythm .gx-nowrap-title {
    max-width: none;
    font-size: clamp(28px, 2.7vw, 54px);
    line-height: 1.2;
    white-space: nowrap;
  }
}

/* 清音视听：分类归入馆藏区，播放在当前页面的专注弹窗中完成。 */
.gx-listening-library > .gx-media-filter-new {
  margin: -18px 0 52px;
  padding-inline: 0;
}

.gx-listening-library article > button {
  cursor: pointer;
}

.gx-listening-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 46px 0;
  border-top: 1px solid rgba(110, 137, 114, .28);
  border-bottom: 1px solid rgba(110, 137, 114, .28);
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 18px;
}

.gx-listening-featured-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 42px 0;
  border-top: 1px solid rgba(245, 239, 226, .18);
  border-bottom: 1px solid rgba(245, 239, 226, .18);
  color: rgba(245, 239, 226, .62);
  font-family: var(--serif);
  font-size: 18px;
}

.gx-media-modal {
  width: min(calc(100% - 40px), 940px);
  max-width: none;
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(245, 239, 226, .2);
  background: transparent;
  color: #f5efe2;
}

.gx-media-modal::backdrop {
  background: rgba(14, 20, 17, .84);
  backdrop-filter: blur(5px);
}

.gx-media-modal-panel {
  padding: clamp(20px, 3vw, 34px);
  background: #26312c;
  box-shadow: 0 24px 80px rgba(14, 20, 17, .36);
}

.gx-media-modal-panel > header {
  margin-bottom: 24px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.gx-media-modal-panel > header span,
.gx-media-modal-panel > header p {
  color: rgba(245, 239, 226, .55);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-media-modal-panel > header h2 {
  margin: 8px 0 5px;
  color: #f5efe2;
  font-size: clamp(24px, 4vw, 38px);
}

.gx-media-modal-panel > header p {
  margin: 0;
  letter-spacing: .04em;
}

.gx-media-modal-panel > header button {
  flex: 0 0 auto;
  padding: 9px 15px;
  border: 1px solid rgba(245, 239, 226, .28);
  background: transparent;
  color: #f5efe2;
  font-size: 11px;
  cursor: pointer;
}

.gx-media-modal-stage {
  min-height: 122px;
  display: grid;
  place-items: center;
  background: rgba(12, 18, 15, .55);
}

.gx-media-modal-stage audio {
  width: min(calc(100% - 48px), 680px);
}

.gx-media-modal-stage video {
  width: 100%;
  max-height: min(68dvh, 640px);
  background: #0e1411;
}

.gx-media-modal-audio-mark {
  padding: 42px 20px 22px;
  color: rgba(245, 239, 226, .16);
  font-family: var(--serif);
  font-size: clamp(72px, 14vw, 132px);
  line-height: 1;
}

.gx-media-modal-audio-mark[hidden],
.gx-media-modal-stage :is(audio, video)[hidden] {
  display: none;
}

@media (max-width: 700px) {
  .gx-listening-library > .gx-media-filter-new {
    margin: -14px 0 38px;
    padding-inline: 0;
    gap: 28px;
  }

  .gx-media-modal {
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
  }

  .gx-media-modal-panel {
    padding: 18px;
  }

  .gx-media-modal-panel > header {
    margin-bottom: 18px;
  }

  .gx-media-modal-panel > header h2 {
    font-size: 25px;
  }

  .gx-media-modal-stage audio {
    width: calc(100% - 24px);
  }
}

/* Faculty directory — an editorial roster rather than a marketing card wall. */
.gx-faculty-principles,
.gx-faculty-directory,
.gx-faculty-profile {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}

.gx-faculty-principles {
  padding-block: 88px;
  display: grid;
  grid-template-columns: minmax(240px, .62fr) 1.38fr;
  gap: clamp(56px, 9vw, 128px);
  align-items: start;
}

.gx-faculty-principles h2,
.gx-faculty-directory h2,
.gx-faculty-profile h2 {
  margin: 12px 0 0;
  font-family: var(--serif);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 500;
  line-height: 1.25;
}

.gx-faculty-principles > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 56px);
}

.gx-faculty-principles article span {
  display: block;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .12em;
}

.gx-faculty-principles article h3 {
  margin: 34px 0 10px;
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 500;
}

.gx-faculty-principles article p {
  margin: 0;
  color: var(--on-surface-variant);
}

.gx-faculty-directory {
  scroll-margin-top: 96px;
  padding-block: 106px 116px;
}

.gx-faculty-directory-head {
  display: block;
}

.gx-faculty-filter {
  margin: 54px 0 34px;
  display: flex;
  gap: 38px;
}

.gx-faculty-filter button {
  position: relative;
  padding: 0 0 12px;
  border: 0;
  background: transparent;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 15px;
  cursor: pointer;
}

.gx-faculty-filter button::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--zhusha);
  content: '';
  opacity: 0;
  transform: scaleX(.45);
  transition: opacity .25s ease, transform .25s ease;
}

.gx-faculty-filter button.is-active {
  color: var(--on-surface);
}

.gx-faculty-filter button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.gx-faculty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 58px 30px;
}

.gx-faculty-card {
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.gx-faculty-card[hidden] {
  display: none;
}

.gx-faculty-empty {
  grid-column: 1 / -1;
  padding-block: 64px;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  text-align: center;
}

.gx-faculty-card figure {
  position: relative;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  background: #29342e;
}

.gx-faculty-card figure::after {
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: rgba(245, 239, 226, .2);
  font-family: var(--serif);
  font-size: clamp(72px, 8vw, 112px);
  line-height: .8;
  content: '师';
  pointer-events: none;
}

.gx-faculty-card figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.72) contrast(.94);
  transition: transform .55s ease, filter .55s ease;
}

.gx-faculty-photo-slot {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 28% 24%, rgba(245, 239, 226, .1), transparent 25%),
    linear-gradient(145deg, rgba(255, 255, 255, .02), rgba(0, 0, 0, .13));
  color: rgba(245, 239, 226, .72);
  font-family: var(--serif);
}

.gx-faculty-photo-slot span {
  font-size: 15px;
  letter-spacing: .08em;
}

.gx-faculty-photo-slot small {
  margin-top: 8px;
  color: rgba(245, 239, 226, .45);
  font-size: 12px;
  letter-spacing: .12em;
}

.gx-faculty-card-copy {
  padding-top: 22px;
}

.gx-faculty-card-copy p {
  margin: 0 0 10px;
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .08em;
}

.gx-faculty-card-copy h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(25px, 2.5vw, 32px);
  font-weight: 500;
  line-height: 1.3;
}

.gx-faculty-card-copy span {
  margin-top: 8px;
  display: block;
  color: var(--on-surface-variant);
  font-size: 14px;
}

.gx-faculty-card:hover figure img {
  filter: saturate(.82) contrast(.98);
  transform: scale(1.025);
}

.gx-faculty-card:hover .gx-faculty-card-copy h3 {
  color: var(--zhusha);
}

.gx-faculty-profile {
  padding-block: 104px 118px;
  display: grid;
  grid-template-columns: minmax(260px, .7fr) 1.3fr;
  gap: clamp(60px, 10vw, 144px);
  align-items: start;
}

.gx-faculty-profile aside {
  position: sticky;
  top: 110px;
}

.gx-faculty-profile dl {
  margin: 30px 0 0;
}

.gx-faculty-profile dl > div {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 18px;
  border-top: 1px solid rgba(63, 92, 73, .18);
}

.gx-faculty-profile dt {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-faculty-profile dd {
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 1.75;
}

.gx-faculty-detail-outline {
  margin-top: 42px;
}

.gx-faculty-detail-outline > section {
  padding: 28px 0;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 24px;
  border-top: 1px solid rgba(63, 92, 73, .18);
}

.gx-faculty-detail-outline > section > span {
  padding-top: 4px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
}

.gx-faculty-detail-outline h3,
.gx-faculty-course-placeholder h3 {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 500;
}

.gx-faculty-detail-outline p,
.gx-faculty-course-placeholder > p:last-child {
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 1.85;
}

.gx-faculty-course-placeholder {
  margin-top: 54px;
  padding: 34px 38px;
  background: rgba(185, 202, 186, .18);
}

.gx-faculty-course-placeholder .gx-eyebrow {
  margin-bottom: 14px;
}

@media (max-width: 920px) {
  .gx-faculty-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gx-faculty-profile {
    grid-template-columns: 1fr;
  }

  .gx-faculty-profile aside {
    position: static;
  }
}

@media (max-width: 680px) {
  .gx-faculty-principles,
  .gx-faculty-directory,
  .gx-faculty-profile {
    width: calc(100% - 40px);
  }

  .gx-faculty-principles,
  .gx-faculty-directory-head {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .gx-faculty-principles {
    padding-block: 70px;
  }

  .gx-faculty-principles > div {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .gx-faculty-principles article h3 {
    margin-top: 12px;
  }

  .gx-faculty-directory {
    padding-block: 76px 82px;
  }

  .gx-faculty-filter {
    margin-top: 40px;
    gap: 26px;
    overflow-x: auto;
  }

  .gx-faculty-filter button {
    flex: 0 0 auto;
  }

  .gx-faculty-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .gx-faculty-card figure {
    aspect-ratio: 4 / 4.8;
  }

  .gx-faculty-profile {
    padding-block: 76px 84px;
    gap: 58px;
  }

  .gx-faculty-detail-outline > section {
    grid-template-columns: 36px 1fr;
    gap: 14px;
  }

  .gx-faculty-course-placeholder {
    padding: 28px 24px;
  }
}

/* Venue overview: four simultaneous crops that expand as the corresponding label is explored. */
.gx-space-gallery-new > header {
  margin-bottom: 50px;
}

.gx-space-rail-new {
  display: flex;
  gap: 14px;
}

.gx-space-panel-new {
  min-width: 0;
  flex: 1 1 0;
  transition: flex-grow .55s cubic-bezier(.22, .72, .28, 1);
}

.gx-space-panel-new.is-active {
  flex-grow: 2.15;
}

.gx-space-panel-new figure {
  height: clamp(420px, 43vw, 610px);
  margin: 0;
  overflow: hidden;
  background: #29342e;
}

.gx-space-panel-new figure > a,
.gx-space-panel-new figure img,
.gx-space-image-slot-new {
  width: 100%;
  height: 100%;
  display: block;
}

.gx-space-panel-new figure img {
  object-fit: cover;
  filter: saturate(.66) contrast(.92);
  transition: filter .45s ease, transform .7s ease;
}

.gx-space-panel-new.is-active figure img {
  filter: saturate(.76) contrast(.96);
  transform: scale(1.018);
}

.gx-space-image-slot-new {
  position: relative;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background:
    radial-gradient(circle at 30% 23%, rgba(245, 239, 226, .1), transparent 26%),
    linear-gradient(150deg, #344139, #253029);
  color: rgba(245, 239, 226, .62);
}

.gx-space-image-slot-new span {
  position: absolute;
  right: 16px;
  bottom: 8px;
  color: rgba(245, 239, 226, .12);
  font-family: var(--serif);
  font-size: clamp(84px, 10vw, 148px);
  line-height: .85;
}

.gx-space-image-slot-new small {
  position: relative;
  z-index: 1;
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .12em;
}

.gx-space-tab-new {
  width: 100%;
  min-height: 130px;
  padding: 20px 2px 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.gx-space-tab-new > span {
  padding-top: 5px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-space-tab-new h3 {
  margin: 0 0 8px;
  font-family: var(--serif);
  font-size: clamp(19px, 1.9vw, 27px);
  font-weight: 500;
  line-height: 1.35;
  transition: color .25s ease;
}

.gx-space-tab-new p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.7;
}

.gx-space-panel-new.is-active .gx-space-tab-new h3,
.gx-space-tab-new:hover h3,
.gx-space-tab-new:focus-visible h3 {
  color: var(--zhusha);
}

.gx-space-tab-new:focus-visible {
  outline: 1px solid rgba(196, 59, 44, .5);
  outline-offset: 5px;
}

@media (max-width: 1080px) {
  .gx-space-rail-new {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 18px;
  }

  .gx-space-panel-new figure {
    height: min(58vw, 500px);
  }
}

@media (max-width: 680px) {
  .gx-space-gallery-new > header {
    margin-bottom: 36px;
  }

  .gx-space-rail-new {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .gx-space-panel-new:not(:last-child) {
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(110, 137, 114, .34);
  }

  .gx-space-panel-new figure {
    height: 420px;
  }

  .gx-space-tab-new {
    min-height: 0;
    padding-top: 18px;
  }
}

/* About Guoxiaoguan — a restrained institutional archive system. */
.gx-about-archive-page {
  overflow: hidden;
  background: var(--yase-paper);
  color: var(--on-surface);
}

.gx-about-archive-hero {
  min-height: 660px;
  padding: 136px max(32px, calc((100% - var(--max)) / 2)) 78px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .72fr);
  gap: clamp(64px, 9vw, 136px);
  background: var(--yase-paper);
}

.gx-about-archive-copy {
  align-self: center;
}

.gx-about-archive-copy .crumb {
  margin-bottom: 72px;
}

.gx-about-archive-seal {
  width: 34px;
  height: 34px;
  margin: 26px 0 20px;
  display: grid;
  place-items: center;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 17px;
}

.gx-about-archive-copy h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(58px, 7vw, 88px);
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.08;
}

.gx-about-archive-subtitle {
  margin: 34px 0 0;
  font-family: var(--serif);
  font-size: clamp(22px, 2.25vw, 30px);
  letter-spacing: .08em;
}

.gx-about-archive-intro {
  max-width: 640px;
  margin: 22px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.9;
}

.gx-about-archive-media {
  min-height: 440px;
  margin: 0;
  align-self: end;
  overflow: hidden;
  background: #29342e;
}

.gx-about-archive-media img {
  width: 100%;
  height: 100%;
  min-height: 440px;
  display: block;
  object-fit: cover;
  filter: saturate(.66) contrast(.9);
}

.gx-about-archive-hero.is-portrait .gx-about-archive-media img {
  object-position: center 20%;
}

.gx-about-archive-placeholder {
  position: relative;
  min-height: 440px;
  padding: 40px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  color: rgba(245, 239, 226, .56);
}

.gx-about-archive-placeholder::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 28%;
  width: 1px;
  background: rgba(245, 239, 226, .08);
}

.gx-about-archive-placeholder span {
  align-self: center;
  color: rgba(245, 239, 226, .11);
  font-family: var(--serif);
  font-size: clamp(150px, 20vw, 260px);
  line-height: .8;
}

.gx-about-archive-placeholder small {
  position: relative;
  max-width: 100px;
  font-family: var(--serif);
  letter-spacing: .16em;
  line-height: 1.8;
  text-align: right;
}

.gx-about-ledger,
.gx-about-business-new,
.gx-about-vision-new,
.gx-founder-dossier-new,
.gx-founder-teachings-new,
.gx-teaching-principles-new,
.gx-teacher-roster-new,
.gx-guest-directions-new,
.gx-space-gallery-new,
.gx-space-philosophy-new,
.gx-contact-location-new,
.gx-contact-routes-new,
.gx-contact-facts-new,
.gx-visit-booking-new,
.gx-visit-notes-new,
.gx-teacher-profile-new {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}

.gx-about-ledger,
.gx-about-business-new,
.gx-founder-teachings-new,
.gx-teaching-principles-new,
.gx-teacher-roster-new,
.gx-space-gallery-new,
.gx-contact-location-new,
.gx-contact-routes-new,
.gx-visit-booking-new,
.gx-visit-notes-new,
.gx-teacher-profile-new {
  padding-block: 104px;
}

.gx-about-ledger > header,
.gx-about-business-new > header,
.gx-founder-teachings-new > header,
.gx-teaching-principles-new > header,
.gx-teacher-roster-new > header,
.gx-guest-directions-new > header,
.gx-space-gallery-new > header,
.gx-contact-location-new > header,
.gx-contact-routes-new > header,
.gx-visit-notes-new > header {
  margin-bottom: 54px;
}

.gx-about-ledger h2,
.gx-about-history-new h2,
.gx-about-business-new h2,
.gx-founder-journey-new h2,
.gx-founder-teachings-new h2,
.gx-founder-story-new h2,
.gx-teaching-principles-new h2,
.gx-teacher-roster-new h2,
.gx-guest-directions-new h2,
.gx-space-gallery-new h2,
.gx-space-philosophy-new h2,
.gx-contact-location-new h2,
.gx-contact-routes-new h2,
.gx-visit-booking-new h2,
.gx-visit-notes-new h2,
.gx-teacher-profile-new h2 {
  margin: 12px 0 0;
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 500;
  line-height: 1.25;
}

.gx-about-ledger > header > p:last-child,
.gx-teacher-roster-new > header > p,
.gx-guest-directions-new > header > p,
.gx-space-gallery-new > header > p,
.gx-contact-location-new > header > p {
  max-width: 560px;
  color: var(--on-surface-variant);
  line-height: 1.8;
}

.gx-about-values-new > div,
.gx-teaching-principles-new > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 44px;
}

.gx-about-values-new article,
.gx-teaching-principles-new article {
  position: relative;
  min-height: 280px;
  padding: 12px 0 0;
}

.gx-about-values-new article > span,
.gx-teaching-principles-new article > span,
.gx-founder-teachings-new article > span,
.gx-guest-directions-new article > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .14em;
}

.gx-about-values-new article i,
.gx-teaching-principles-new article i {
  width: 48px;
  height: 48px;
  margin: 54px 0 24px;
  display: grid;
  place-items: center;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 21px;
  font-style: normal;
}

.gx-about-values-new h3,
.gx-teaching-principles-new h3,
.gx-founder-teachings-new h3,
.gx-guest-directions-new h3,
.gx-contact-routes-new h3 {
  margin: 0 0 14px;
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 500;
}

.gx-about-values-new article p,
.gx-founder-teachings-new article p,
.gx-guest-directions-new article p,
.gx-contact-routes-new article p {
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 1.9;
}

.gx-about-history-new,
.gx-founder-journey-new,
.gx-founder-story-new {
  padding: 108px max(32px, calc((100% - var(--max)) / 2));
  background: #29342e;
  color: var(--yase-paper);
}

.gx-about-history-new > header,
.gx-founder-journey-new > header {
  max-width: 620px;
  margin-bottom: 64px;
}

@media (min-width: 981px) {
  .gx-about-history-new > header {
    max-width: none;
  }
}

.gx-about-history-new .gx-eyebrow,
.gx-founder-journey-new .gx-eyebrow,
.gx-founder-story-new .gx-eyebrow,
.gx-guest-directions-new .gx-eyebrow,
.gx-about-close-new .gx-eyebrow {
  color: #d58272;
}

.gx-about-history-new ol,
.gx-founder-journey-new ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gx-about-history-new li,
.gx-founder-journey-new li {
  padding: 36px 0;
  display: grid;
  grid-template-columns: 70px 150px 1fr;
  gap: 30px;
  align-items: start;
  border-top: 1px solid rgba(245, 239, 226, .14);
}

.gx-about-history-new li > span,
.gx-founder-journey-new li > span {
  color: #d58272;
  font-family: var(--serif);
}

.gx-about-history-new time {
  font-family: var(--serif);
  font-size: 18px;
}

.gx-about-history-new h3,
.gx-founder-journey-new h3 {
  margin: 0 0 10px;
  color: var(--yase-paper);
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 500;
}

.gx-about-history-new li p,
.gx-founder-journey-new li p {
  max-width: 720px;
  margin: 0;
  color: rgba(245, 239, 226, .68);
  line-height: 1.9;
}

.gx-about-business-new > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 64px;
}

.gx-about-business-new > div > a {
  padding: 36px 0;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  border-top: 1px solid rgba(63, 92, 73, .28);
  color: inherit;
  text-decoration: none;
}

.gx-about-business-new i {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 30px;
  font-style: normal;
}

.gx-about-business-new h3 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 500;
}

.gx-about-business-new p {
  margin: 0 0 24px;
  color: var(--on-surface-variant);
  line-height: 1.85;
}

.gx-about-business-new a span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-about-vision-new,
.gx-space-philosophy-new {
  padding-block: 96px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(60px, 10vw, 150px);
  align-items: start;
}

.gx-about-vision-new > p,
.gx-space-philosophy-new > p {
  margin: 32px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 19px;
  line-height: 2.1;
}

.gx-about-close-new {
  min-height: 310px;
  padding: 76px max(32px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: #29342e;
  color: var(--yase-paper);
}

.gx-about-close-new h2 {
  margin: 12px 0 0;
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 500;
}

.gx-about-close-new > a {
  padding: 13px 0;
  border-bottom: 1px solid rgba(245, 239, 226, .55);
  color: var(--yase-paper);
  font-family: var(--serif);
  text-decoration: none;
}

.gx-founder-dossier-new {
  padding-block: 90px;
  display: grid;
  grid-template-columns: .6fr 1.05fr 1.15fr;
  gap: 70px;
  align-items: center;
}

.gx-founder-dossier-new h2 {
  margin: 12px 0 6px;
  font-family: var(--serif);
  font-size: 52px;
  font-weight: 500;
}

.gx-founder-dossier-new > div > p:last-child {
  color: var(--zhusha);
}

.gx-founder-dossier-new ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gx-founder-dossier-new li {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  color: var(--on-surface-variant);
  line-height: 1.65;
}

.gx-founder-dossier-new li span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-founder-dossier-new blockquote {
  margin: 0;
  padding-left: 28px;
  border-left: 2px solid var(--zhusha);
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.7;
  white-space: nowrap;
}

.gx-founder-journey-new li {
  grid-template-columns: 70px 1fr;
}

.gx-founder-teachings-new > div {
  margin-top: 58px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 38px;
}

.gx-founder-teachings-new article {
  padding-top: 16px;
}

.gx-founder-teachings-new article h3 {
  margin-top: 52px;
}

.gx-founder-story-new {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(60px, 10vw, 150px);
}

.gx-founder-story-new article p {
  margin: 0 0 22px;
  color: rgba(245, 239, 226, .72);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 2;
}

.gx-teaching-principles-new {
  padding-top: 96px;
}

.gx-teacher-roster-new > header,
.gx-guest-directions-new > header,
.gx-space-gallery-new > header,
.gx-contact-location-new > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
}

.gx-teacher-cards-new {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px;
}

.gx-teacher-cards-new > article {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) 1.2fr;
  gap: 28px;
}

.gx-teacher-cards-new figure {
  min-height: 320px;
  margin: 0;
  overflow: hidden;
  background: #d9d2c3;
}

.gx-teacher-cards-new figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.68);
}

.gx-teacher-image-slot {
  min-height: 320px;
  display: grid;
  place-items: center;
  color: rgba(38, 38, 38, .46);
  font-family: var(--serif);
}

.gx-teacher-cards-new article > div {
  align-self: center;
}

.gx-teacher-cards-new article > div > p:first-child {
  color: var(--zhusha);
  font-size: 13px;
}

.gx-teacher-cards-new h3 {
  margin: 14px 0 18px;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 500;
}

.gx-teacher-cards-new h3 a,
.gx-teacher-cards-new article > div > a {
  color: inherit;
  text-decoration: none;
}

.gx-teacher-cards-new ul {
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  list-style: none;
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-teacher-cards-new article > div > p:not(:first-child) {
  color: var(--on-surface-variant);
  line-height: 1.8;
}

.gx-teacher-cards-new article > div > a {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-guest-directions-new {
  width: 100%;
  padding: 100px max(32px, calc((100% - var(--max)) / 2));
  background: #29342e;
  color: var(--yase-paper);
}

.gx-guest-directions-new > header > p {
  color: rgba(245, 239, 226, .64);
}

.gx-guest-directions-new > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

.gx-guest-directions-new article strong {
  min-height: 46px;
  margin: 42px 0 18px;
  display: block;
  color: var(--yase-paper);
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.6;
}

.gx-guest-directions-new article p {
  color: rgba(245, 239, 226, .64);
}

.gx-space-gallery-new > nav {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gx-space-gallery-new > nav button {
  padding: 18px 4px;
  border: 0;
  border-bottom: 1px solid rgba(63, 92, 73, .28);
  background: transparent;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 16px;
  text-align: left;
  cursor: pointer;
}

.gx-space-gallery-new > nav button span {
  margin-right: 14px;
  color: var(--zhusha);
  font-size: 12px;
}

.gx-space-gallery-new > nav button.is-active {
  border-bottom-color: var(--zhusha);
  color: var(--on-surface);
}

.gx-space-stage-new figure {
  margin: 0;
}

.gx-space-stage-new figure > a,
.gx-space-stage-new figure > a img,
.gx-space-image-slot {
  width: 100%;
  height: min(58vw, 650px);
  display: block;
}

.gx-space-stage-new figure > a img {
  object-fit: cover;
  filter: saturate(.7) contrast(.92);
}

.gx-space-image-slot {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 20px;
  background: #29342e;
  color: rgba(245, 239, 226, .58);
}

.gx-space-image-slot span {
  color: rgba(245, 239, 226, .12);
  font-family: var(--serif);
  font-size: clamp(120px, 22vw, 260px);
  line-height: .8;
}

.gx-space-image-slot small {
  font-family: var(--serif);
  letter-spacing: .14em;
}

.gx-space-stage-new figcaption {
  padding: 30px 0 0;
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 24px;
  align-items: start;
}

.gx-space-stage-new figcaption > span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-space-stage-new figcaption h3 {
  margin: 0 0 8px;
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 500;
}

.gx-space-stage-new figcaption p {
  margin: 0;
  color: var(--on-surface-variant);
}

.gx-space-stage-new figcaption a {
  color: var(--zhusha);
  text-decoration: none;
}

.gx-contact-map-new {
  display: grid;
  grid-template-columns: 1.45fr .55fr;
  min-height: 520px;
  background: #29342e;
  color: var(--yase-paper);
}

.gx-contact-map-new figure {
  position: relative;
  min-height: 520px;
  margin: 0;
  overflow: hidden;
}

.gx-contact-map-new figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.48) sepia(.08) contrast(.9);
}

.gx-map-pin-new {
  position: absolute;
  top: 48%;
  left: 57%;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--zhusha);
  font-family: var(--serif);
  transform: translate(-50%, -50%);
}

.gx-map-pin-new i {
  width: 26px;
  height: 26px;
  margin-bottom: 8px;
  display: block;
  border: 7px solid var(--zhusha);
  border-radius: 50% 50% 50% 0;
  background: var(--yase-paper);
  transform: rotate(-45deg);
}

.gx-map-pin-new strong {
  padding: 6px 10px;
  background: var(--yase-paper);
  font-weight: 500;
}

.gx-contact-map-new aside {
  padding: 50px 42px;
  align-self: center;
}

.gx-contact-map-new aside h3 {
  margin: 16px 0;
  color: var(--yase-paper);
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.45;
}

.gx-contact-map-new aside > p:not(.gx-eyebrow) {
  color: rgba(245, 239, 226, .65);
  line-height: 1.8;
}

.gx-contact-map-new nav {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.gx-contact-map-new nav a {
  color: var(--yase-paper);
  text-decoration: none;
}

.gx-contact-map-new nav span {
  color: rgba(245, 239, 226, .58);
  font-size: 13px;
  line-height: 1.7;
}

.gx-contact-routes-new > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

.gx-contact-routes-new article > span {
  margin-bottom: 48px;
  display: block;
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-contact-facts-new {
  padding-block: 76px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 44px 70px;
  border-top: 1px solid rgba(63, 92, 73, .25);
}

.gx-contact-facts-new article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 20px;
}

.gx-contact-facts-new article > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-contact-facts-new h2 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 500;
}

.gx-contact-facts-new p {
  margin: 0 0 8px;
  font-family: var(--serif);
  font-size: 19px;
}

.gx-contact-facts-new small {
  color: var(--on-surface-variant);
  line-height: 1.7;
}

.gx-contact-qr-new img,
.gx-qr-slot-new {
  width: 150px;
  height: 150px;
  margin-top: 18px;
}

.gx-contact-qr-new img {
  object-fit: contain;
}

.gx-qr-slot-new {
  display: grid;
  place-items: center;
  background: rgba(63, 92, 73, .1);
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 13px;
  text-align: center;
}

.gx-visit-booking-new {
  padding-inline: clamp(24px, 5vw, 72px);
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(60px, 9vw, 130px);
  background: #29342e;
  color: var(--yase-paper);
}

.gx-visit-booking-new > div > p:not(.gx-eyebrow) {
  margin-top: 24px;
  color: rgba(245, 239, 226, .7);
  line-height: 1.9;
}

.gx-visit-booking-new > div > small {
  color: rgba(245, 239, 226, .52);
}

.gx-visit-booking-new form,
.gx-visit-booking-new > div[data-contact-form] {
  padding: 0;
  background: transparent;
}

.gx-visit-booking-new label,
.gx-visit-booking-new .form-status {
  color: rgba(245, 239, 226, .72);
}

.gx-visit-booking-new :is(input, select, textarea) {
  border: 0;
  border-bottom: 1px solid rgba(245, 239, 226, .28);
  border-radius: 0;
  background: transparent;
  color: var(--yase-paper);
}

.gx-visit-booking-new :is(input, textarea)::placeholder {
  color: rgba(245, 239, 226, .42);
}

.gx-visit-booking-new button {
  border-color: rgba(245, 239, 226, .58);
  color: var(--yase-paper);
}

.gx-visit-notes-new ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 70px;
  list-style: none;
}

.gx-visit-notes-new li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  color: var(--on-surface-variant);
  line-height: 1.85;
}

.gx-visit-notes-new li span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-teacher-profile-new {
  padding-block: 100px;
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: clamp(60px, 9vw, 130px);
}

.gx-teacher-profile-new aside dl {
  margin: 34px 0 0;
}

.gx-teacher-profile-new aside dl > div {
  padding: 16px 0;
  display: grid;
  grid-template-columns: 5em minmax(0, 1fr);
  gap: 18px;
  border-top: 1px solid rgba(63, 92, 73, .22);
}

.gx-teacher-profile-new dt {
  color: var(--zhusha);
  white-space: nowrap;
}

.gx-teacher-profile-new dd {
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 1.7;
}

.gx-teacher-profile-new aside nav {
  margin-top: 42px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gx-teacher-profile-new aside nav a {
  color: var(--zhusha);
  text-decoration: none;
}

.gx-teacher-profile-new > article > .article-body,
.gx-teacher-profile-new > article .article-body {
  max-width: 760px;
}

@media (max-width: 980px) {
  .gx-about-archive-hero {
    grid-template-columns: 1fr .72fr;
    gap: 48px;
  }

  .gx-founder-dossier-new,
  .gx-about-vision-new,
  .gx-space-philosophy-new,
  .gx-founder-story-new,
  .gx-visit-booking-new,
  .gx-teacher-profile-new {
    grid-template-columns: 1fr;
  }

  .gx-founder-dossier-new {
    align-items: start;
  }

  .gx-founder-teachings-new > div {
    grid-template-columns: 1fr 1fr;
  }

  .gx-teacher-cards-new {
    grid-template-columns: 1fr;
  }

  .gx-contact-map-new {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .gx-about-archive-hero {
    min-height: 0;
    padding: 104px 20px 52px;
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .gx-about-archive-copy .crumb {
    margin-bottom: 42px;
  }

  .gx-about-archive-copy h1 {
    font-size: clamp(48px, 16vw, 66px);
  }

  .gx-about-archive-subtitle {
    margin-top: 24px;
    font-size: 21px;
  }

  .gx-about-archive-media,
  .gx-about-archive-media img,
  .gx-about-archive-placeholder {
    min-height: 300px;
  }

  .gx-about-ledger,
  .gx-about-business-new,
  .gx-about-vision-new,
  .gx-founder-dossier-new,
  .gx-founder-teachings-new,
  .gx-teaching-principles-new,
  .gx-teacher-roster-new,
  .gx-space-gallery-new,
  .gx-space-philosophy-new,
  .gx-contact-location-new,
  .gx-contact-routes-new,
  .gx-contact-facts-new,
  .gx-visit-booking-new,
  .gx-visit-notes-new,
  .gx-teacher-profile-new {
    width: calc(100% - 40px);
  }

  .gx-about-ledger,
  .gx-about-business-new,
  .gx-founder-teachings-new,
  .gx-teaching-principles-new,
  .gx-teacher-roster-new,
  .gx-space-gallery-new,
  .gx-contact-location-new,
  .gx-contact-routes-new,
  .gx-visit-booking-new,
  .gx-visit-notes-new,
  .gx-teacher-profile-new {
    padding-block: 72px;
  }

  .gx-about-values-new > div,
  .gx-teaching-principles-new > div,
  .gx-about-business-new > div,
  .gx-founder-teachings-new > div,
  .gx-guest-directions-new > div,
  .gx-contact-routes-new > div,
  .gx-contact-facts-new,
  .gx-visit-notes-new ol {
    grid-template-columns: 1fr;
  }

  .gx-about-values-new article,
  .gx-teaching-principles-new article {
    min-height: 0;
  }

  .gx-about-values-new article i,
  .gx-teaching-principles-new article i,
  .gx-founder-teachings-new article h3 {
    margin-top: 30px;
  }

  .gx-about-history-new,
  .gx-founder-journey-new,
  .gx-founder-story-new,
  .gx-guest-directions-new {
    padding: 76px 20px;
  }

  .gx-about-history-new li,
  .gx-founder-journey-new li {
    grid-template-columns: 42px 1fr;
    gap: 16px;
  }

  .gx-about-history-new time {
    grid-column: 2;
  }

  .gx-about-history-new li > div {
    grid-column: 2;
  }

  .gx-about-vision-new,
  .gx-space-philosophy-new {
    padding-block: 72px;
    gap: 20px;
  }

  .gx-about-close-new {
    min-height: 280px;
    padding: 58px 20px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }

  .gx-founder-dossier-new {
    gap: 38px;
  }

  .gx-founder-dossier-new blockquote {
    white-space: normal;
  }

  .gx-founder-dossier-new h2 {
    font-size: 42px;
  }

  .gx-founder-story-new {
    gap: 36px;
  }

  .gx-teacher-roster-new > header,
  .gx-guest-directions-new > header,
  .gx-space-gallery-new > header,
  .gx-contact-location-new > header {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .gx-teacher-cards-new > article {
    grid-template-columns: 1fr;
  }

  .gx-teacher-cards-new figure,
  .gx-teacher-image-slot {
    min-height: 360px;
  }

  .gx-space-gallery-new > nav {
    display: flex;
    overflow-x: auto;
  }

  .gx-space-gallery-new > nav button {
    min-width: max-content;
    padding-right: 28px;
  }

  .gx-space-stage-new figure > a,
  .gx-space-stage-new figure > a img,
  .gx-space-image-slot {
    height: 390px;
  }

  .gx-space-stage-new figcaption {
    grid-template-columns: 38px 1fr;
  }

  .gx-space-stage-new figcaption > a {
    grid-column: 2;
  }

  .gx-contact-map-new figure {
    min-height: 380px;
  }

  .gx-contact-map-new aside {
    padding: 38px 24px;
  }

  .gx-contact-facts-new {
    gap: 40px;
  }

  .gx-visit-booking-new {
    width: 100%;
    padding-inline: 20px;
    gap: 46px;
  }
}

/* About archive refinements: fixed alignment, dark-section contrast, teacher templates. */
.gx-about-archive-copy .crumb {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  justify-content: flex-start;
  text-align: left;
}

.gx-about-history-new :is(h2, h3, time),
.gx-founder-journey-new :is(h2, h3),
.gx-founder-story-new :is(h2, h3),
.gx-guest-directions-new :is(h2, h3, strong),
.gx-about-close-new h2,
.gx-contact-map-new :is(h2, h3),
.gx-visit-booking-new h2 {
  color: var(--yase-paper);
}

.gx-about-history-new li p,
.gx-founder-journey-new li p,
.gx-founder-story-new article p,
.gx-guest-directions-new article p,
.gx-guest-directions-new > header > p,
.gx-contact-map-new aside > p:not(.gx-eyebrow),
.gx-visit-booking-new > div > p:not(.gx-eyebrow),
.gx-visit-booking-new > div > small {
  color: rgba(245, 239, 226, .72);
}

.gx-guest-directions-new article > a {
  margin-top: 28px;
  display: inline-block;
  color: var(--yase-paper);
  font-family: var(--serif);
  text-decoration: none;
}

html {
  background: var(--yase-paper);
}

body {
  padding-top: 72px;
  color: var(--on-surface);
  background: var(--yase-paper);
  font-family: var(--sans);
  line-height: 1.78;
  letter-spacing: 0;
}

body::before {
  opacity: .24;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(75, 70, 61, .13) .55px, transparent .7px);
  background-size: 7px 7px;
}

h1,
h2,
h3,
.page-hero h1,
.section-title h2,
.article h2 {
  color: var(--primary);
  font-family: var(--display-serif);
  font-weight: 500;
  letter-spacing: 0;
}

.wrap {
  width: min(100% - 48px, var(--max));
}

.nav {
  min-height: 72px;
  background: rgba(245, 239, 226, .97);
  border-bottom: 1px solid rgba(110, 137, 114, .38);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.nav-inner {
  width: min(100% - 48px, 1360px);
  min-height: 72px;
  grid-template-columns: 184px minmax(0, 1fr) auto;
  gap: 28px;
}

.brand-logo {
  width: 172px;
  height: 61px;
  object-fit: contain;
  object-position: left center;
}

.nav-links {
  gap: clamp(18px, 2vw, 34px);
  color: #3c3c38;
  font-size: 14px;
}

.nav-item > a {
  min-height: 72px;
  padding: 2px 0 0;
  border-bottom-width: 1px;
}

.nav-item.is-active > a,
.nav-item > a:hover,
.nav-item > a:focus-visible {
  color: var(--zhusha);
  border-color: var(--zhusha);
}

.nav-submenu {
  top: 71px;
  min-width: 138px;
  padding: 10px 0;
  background: rgba(250, 247, 239, .99);
  border: 1px solid rgba(110, 137, 114, .3);
  box-shadow: 0 12px 28px rgba(47, 44, 37, .08);
}

.nav-submenu a {
  padding: 8px 20px;
  color: #484843;
  font-size: 13px;
}

.nav-submenu a:hover,
.nav-submenu a:focus-visible {
  color: var(--zhusha);
  background: transparent;
}

.nav-action,
.button {
  min-height: 40px;
  padding: 0 20px;
  border-color: #303934;
  background: #303934;
  color: #fffdf7;
  font-size: 13px;
  box-shadow: none;
}

.nav-action:hover,
.nav-action:focus-visible,
.button:hover,
.button:focus-visible {
  border-color: var(--zhusha);
  background: var(--zhusha);
  color: #fff;
  transform: none;
}

.mobile-nav {
  display: none;
}

.section {
  padding: clamp(76px, 8vw, 124px) 0;
}

.section.surface,
.section.paper {
  background: transparent;
}

.section.surface {
  background-color: rgba(255, 253, 247, .48);
}

.section-title {
  margin-bottom: clamp(40px, 5vw, 68px);
}

.section-title h2 {
  margin-bottom: 14px;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.34;
}

.section-title p {
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 1.9;
}

.section-title::after,
.archive-copy h2::after,
.home-curated-rail h2::after,
.course-ledger-copy h2::after,
.faq-ledger-title h2::after {
  width: 62px;
  background: rgba(110, 137, 114, .72);
}

.content-block h2 {
  color: var(--primary);
  font-weight: 500;
  letter-spacing: 0;
}

.entry-guide-card,
.home-teacher-card,
.teacher-archive-card,
.detail-header .detail-media,
.product-museum-card,
.course-card,
.article-card,
.video-card,
.student-card {
  box-shadow: none;
}

.footer.redesigned-footer {
  position: relative;
  padding: 0;
  overflow: hidden;
  color: #e9e5da;
  background: #303934;
  text-align: left;
}

.footer.redesigned-footer::before,
.footer.redesigned-footer::after {
  content: none;
}

.footer-rule {
  height: 5px;
  background: var(--zhusha);
}

.footer-grid {
  width: min(100% - 48px, var(--max));
  margin: 0 auto;
  padding: 58px 0 48px;
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr) 1.2fr;
  gap: clamp(28px, 4vw, 64px);
}

.footer.redesigned-footer div + div {
  margin-top: 0;
}

.footer-identity {
  padding-right: 22px;
}

.footer-seal {
  width: 66px;
  height: 66px;
  margin-bottom: 24px;
  object-fit: cover;
  object-position: 50% 46%;
}

.footer-identity p {
  margin-bottom: 8px;
  color: #fffaf0;
  font-family: var(--serif);
  font-size: 18px;
}

.footer-identity span,
.footer-visit p {
  color: rgba(233, 229, 218, .7);
  font-size: 12px;
  line-height: 1.8;
}

.footer-column,
.footer-visit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.footer-column h2,
.footer-visit h2 {
  margin: 0 0 8px;
  color: #fffaf0;
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
}

.footer-column h2:not(:first-child) {
  margin-top: 18px;
}

.footer-column a,
.footer-visit a {
  color: rgba(233, 229, 218, .72);
  font-size: 12px;
  line-height: 1.7;
}

.footer-column a:hover,
.footer-visit a:hover {
  color: #fff;
}

.footer-visit p {
  margin-bottom: 7px;
}

.footer-address-link {
  width: fit-content;
  padding-bottom: 1px;
  border-bottom: 1px solid rgba(102, 102, 102, .35);
}

.footer-phones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}

.footer-phones .footer-phone + .footer-phone {
  padding-left: 10px;
  border-left: 1px solid rgba(102, 102, 102, .3);
}

.footer-wechat {
  margin-top: 5px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(185, 202, 186, .55);
}

.footer-copyright {
  padding: 18px 24px 22px;
  border-top: 1px solid rgba(185, 202, 186, .22);
  color: rgba(233, 229, 218, .5);
  text-align: center;
  font-size: 11px;
}

/* Client-approved homepage direction: quiet editorial rhythm, real objects and space. */
.gx-home {
  overflow: hidden;
}

.gx-eyebrow {
  margin: 0 0 22px;
  color: var(--zhusha);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
}

.gx-text-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(110, 137, 114, .72);
  color: #3e5144;
  font-size: 13px;
}

.gx-text-link span {
  color: var(--zhusha);
}

.gx-primary-link {
  min-height: 46px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--zhusha);
  color: #fff;
  font-size: 13px;
}

.gx-primary-link:hover,
.gx-primary-link:focus-visible {
  background: #a92f23;
}

.gx-home-hero {
  position: relative;
  width: min(100% - 64px, 1440px);
  min-height: min(800px, calc(100dvh - 72px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(390px, .84fr) minmax(520px, 1.16fr);
  align-items: stretch;
}

.gx-home-hero-copy {
  position: relative;
  z-index: 2;
  padding: clamp(90px, 12vh, 150px) clamp(48px, 7vw, 104px) 110px 0;
  align-self: center;
}

.gx-home-hero-copy::before {
  content: "";
  position: absolute;
  top: 52px;
  left: 0;
  width: 90px;
  height: 1px;
  background: var(--bamboo);
}

.gx-home-hero-copy h1 {
  margin: 0 0 26px;
  font-size: clamp(66px, 7vw, 108px);
  line-height: 1;
}

.gx-home-hero-line {
  margin: 0 0 28px;
  color: #313d35;
  font-family: var(--serif);
  font-size: clamp(21px, 2vw, 29px);
}

.gx-home-hero-summary {
  max-width: 560px;
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2.05;
}

.gx-home-hero-actions {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.gx-home-hero-image {
  position: relative;
  min-height: 600px;
  margin: 0;
}

.gx-home-hero-image::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 24px -24px -24px 24px;
  border-right: 1px solid rgba(110, 137, 114, .48);
  border-bottom: 1px solid rgba(110, 137, 114, .48);
  pointer-events: none;
}

.gx-home-hero-image img {
  position: absolute;
  inset: 0;
  object-position: 58% center;
}

.gx-home-hero-image figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  padding: 15px 22px;
  background: rgba(245, 239, 226, .94);
  color: #51514d;
  font-size: 12px;
}

.gx-home-hero-image figcaption span,
.gx-image-note span {
  margin-right: 9px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 18px;
}

.gx-scroll-cue {
  position: absolute;
  left: 0;
  bottom: 24px;
  color: #75756f;
  font-size: 11px;
  writing-mode: vertical-rl;
}

.gx-scroll-cue::after {
  content: "";
  width: 1px;
  height: 48px;
  margin: 12px auto 0;
  display: block;
  background: var(--bamboo);
}

.gx-home-stats {
  margin-top: 24px;
  background: #303934;
  color: #f5efe2;
}

.gx-home-stat-grid {
  width: min(100%, 1440px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gx-home-stat-grid article {
  min-height: 158px;
  padding: 40px clamp(22px, 3vw, 46px);
  display: flex;
  align-items: center;
  gap: 22px;
  border-right: 1px solid rgba(185, 202, 186, .26);
}

.gx-home-stat-grid article:last-child {
  border-right: 0;
}

.gx-home-stat-grid strong {
  color: #fffaf0;
  font-family: var(--serif);
  font-size: clamp(36px, 3vw, 52px);
  font-weight: 400;
  line-height: 1;
}

.gx-home-stat-grid h2 {
  margin: 0 0 5px;
  color: #fffaf0;
  font-size: 15px;
}

.gx-home-stat-grid p {
  color: rgba(245, 239, 226, .56);
  font-size: 11px;
  line-height: 1.6;
}

.gx-home-intro,
.gx-home-founder,
.gx-home-faq,
.gx-home-visit {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  display: grid;
}

.gx-home-intro {
  min-height: 840px;
  padding: 140px 0;
  grid-template-columns: .68fr 1.32fr;
  gap: clamp(70px, 9vw, 140px);
  align-items: center;
}

.gx-home-section-copy h2,
.gx-home-founder-copy h2,
.gx-home-faq-heading h2,
.gx-home-visit-copy h2 {
  margin: 0 0 28px;
  font-size: clamp(38px, 4.4vw, 62px);
  line-height: 1.38;
}

.gx-home-section-copy > p:not(.gx-eyebrow),
.gx-home-founder-copy > p,
.gx-home-faq-heading > p:not(.gx-eyebrow),
.gx-home-visit-copy > p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2.05;
}

.gx-home-section-copy .gx-text-link,
.gx-home-founder-copy .gx-text-link,
.gx-home-faq-heading .gx-text-link {
  margin-top: 34px;
}

.gx-home-intro-gallery {
  position: relative;
  min-height: 560px;
  display: grid;
  grid-template-columns: 1.45fr .55fr;
  gap: 16px;
  align-items: end;
}

.gx-home-intro-gallery figure {
  height: 72%;
  margin: 0;
}

.gx-home-intro-gallery figure.is-main {
  height: 100%;
}

.gx-home-intro-gallery img {
  object-position: center;
}

.gx-image-note {
  position: absolute;
  left: -38px;
  bottom: -34px;
  padding: 16px 22px;
  background: var(--yase-paper);
  border-left: 1px solid var(--bamboo);
  color: #565650;
  font-size: 12px;
}

.gx-home-paths,
.gx-home-courses {
  padding: 130px max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .58);
}

.gx-centered-heading {
  max-width: 760px;
  margin: 0 auto 70px;
  text-align: center;
}

.gx-centered-heading h2 {
  margin: 0 0 16px;
  font-size: clamp(38px, 4.4vw, 60px);
  line-height: 1.3;
}

.gx-centered-heading > p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 15px;
}

.gx-home-path-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .55);
  border-bottom: 1px solid rgba(110, 137, 114, .55);
}

.gx-home-path-grid article {
  position: relative;
  min-height: 420px;
  padding: 48px clamp(30px, 4vw, 58px);
  border-right: 1px solid rgba(110, 137, 114, .4);
}

.gx-home-path-grid article:last-child {
  border-right: 0;
}

.gx-path-index {
  display: block;
  margin-bottom: 58px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 14px;
}

.gx-home-path-grid article > p:first-of-type {
  color: var(--bamboo-deep);
  font-size: 12px;
}

.gx-home-path-grid h3 {
  margin: 8px 0 18px;
  font-size: clamp(28px, 3vw, 40px);
}

.gx-path-rule {
  width: 48px;
  height: 1px;
  margin-bottom: 22px;
  background: var(--zhusha);
}

.gx-home-path-grid article > p:last-of-type {
  min-height: 84px;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-home-path-grid article > a,
.gx-home-course-grid article > a {
  margin-top: 28px;
  display: inline-flex;
  gap: 15px;
  color: #3e5144;
  font-size: 13px;
}

.gx-home-founder {
  min-height: 880px;
  padding: 140px 0;
  grid-template-columns: 1.02fr .98fr;
  gap: clamp(64px, 9vw, 128px);
  align-items: center;
}

.gx-home-founder > figure {
  position: relative;
  height: 620px;
  margin: 0;
}

.gx-home-founder > figure::before {
  content: "";
  position: absolute;
  inset: -18px 28px 18px -18px;
  border: 1px solid rgba(110, 137, 114, .48);
  pointer-events: none;
}

.gx-home-founder > figure img {
  object-position: center 28%;
}

.gx-home-founder figcaption {
  position: absolute;
  right: -32px;
  bottom: 38px;
  padding: 15px 22px;
  background: var(--yase-paper);
  border-left: 2px solid var(--zhusha);
  color: #54544f;
  font-size: 12px;
}

.gx-founder-role {
  margin: -12px 0 30px;
  color: var(--bamboo-deep) !important;
  font-family: var(--serif);
  font-size: 18px !important;
}

.gx-home-founder blockquote {
  margin: 0 0 28px;
  padding: 22px 0 22px 24px;
  border-left: 1px solid var(--zhusha);
  color: #373833;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.8;
}

.gx-home-products,
.gx-home-articles {
  padding: 130px max(32px, calc((100% - var(--max)) / 2));
  background: #303934;
  color: #f5efe2;
}

.gx-home-section-header {
  margin-bottom: 58px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
}

.gx-home-section-header h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(36px, 4vw, 54px);
}

.gx-home-products .gx-text-link,
.gx-home-articles .gx-text-link {
  color: rgba(245, 239, 226, .82);
}

.gx-home-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.6vw, 36px);
}

.gx-home-product-grid article:nth-child(even) {
  padding-top: 66px;
}

.gx-product-image {
  position: relative;
  height: 430px;
  display: block;
  overflow: hidden;
  background: #e8dfcf;
}

.gx-product-image img {
  transition: transform .45s ease;
}

.gx-product-image:hover img {
  transform: scale(1.025);
}

.gx-product-image > span {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: 42px;
  padding: 9px;
  background: var(--zhusha);
  color: #fff;
  font-family: var(--serif);
  text-align: center;
}

.gx-product-copy {
  padding: 22px 0 0;
  border-top: 1px solid rgba(185, 202, 186, .38);
}

.gx-product-copy > p,
.gx-product-copy > span {
  color: rgba(245, 239, 226, .58);
  font-size: 11px;
}

.gx-product-copy h3 {
  margin: 6px 0 7px;
  color: #fffaf0;
  font-size: 24px;
}

.gx-home-courses {
  background: var(--yase-paper);
}

.gx-home-course-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-home-course-grid article {
  min-height: 410px;
  padding: 44px clamp(28px, 4vw, 56px) 50px;
  border-right: 1px solid rgba(110, 137, 114, .38);
  border-bottom: 1px solid rgba(110, 137, 114, .55);
}

.gx-home-course-grid article:first-child {
  border-left: 1px solid rgba(110, 137, 114, .38);
}

.gx-course-number {
  margin-bottom: 48px;
  display: block;
  color: rgba(38, 38, 38, .28);
  font-family: var(--serif);
  font-size: 36px;
}

.gx-home-course-grid article > p:first-of-type {
  color: var(--zhusha);
  font-size: 12px;
}

.gx-home-course-grid h3 {
  margin: 7px 0 18px;
  font-size: clamp(26px, 2.6vw, 36px);
}

.gx-course-meta {
  min-height: 34px;
  margin-bottom: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.gx-course-meta span {
  padding: 3px 8px;
  border: 1px solid rgba(110, 137, 114, .38);
  color: #545d55;
  font-size: 10px;
}

.gx-home-course-grid article > p:last-of-type {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-home-course-note {
  width: min(100%, 560px);
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: 50px 1fr auto;
  align-items: center;
  gap: 20px;
}

.gx-home-course-note > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: #fff;
  font-family: var(--serif);
  font-size: 20px;
}

.gx-home-course-note p {
  color: #55564f;
  font-size: 12px;
}

.gx-home-course-note a {
  color: var(--bamboo-deep);
  font-size: 12px;
}

.gx-home-articles {
  color: var(--on-surface);
  background: rgba(255, 253, 247, .6);
}

.gx-home-articles .gx-text-link {
  color: #3e5144;
}

.gx-home-article-grid {
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr;
  gap: 38px 32px;
}

.gx-home-article-grid article {
  border-top: 1px solid rgba(110, 137, 114, .52);
  padding-top: 20px;
}

.gx-home-article-grid article.is-featured {
  grid-row: 1 / span 2;
}

.gx-article-image {
  height: 180px;
  margin-bottom: 18px;
  display: block;
  overflow: hidden;
}

.gx-home-article-grid .is-featured .gx-article-image {
  height: 430px;
}

.gx-home-article-grid article > div > p {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-home-article-grid h3 {
  margin: 7px 0 10px;
  font-size: 23px;
  line-height: 1.5;
}

.gx-home-article-grid article > div > span {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-home-faq {
  min-height: 760px;
  padding: 130px 0;
  grid-template-columns: .7fr 1.3fr;
  gap: clamp(70px, 9vw, 140px);
  align-items: start;
}

.gx-home-faq-list {
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-home-faq-list details {
  border-bottom: 1px solid rgba(110, 137, 114, .42);
}

.gx-home-faq-list summary {
  position: relative;
  min-height: 88px;
  padding: 28px 50px 24px 54px;
  list-style: none;
  cursor: pointer;
  color: #343532;
  font-family: var(--serif);
  font-size: 19px;
}

.gx-home-faq-list summary::-webkit-details-marker {
  display: none;
}

.gx-home-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 27px;
  right: 10px;
  color: var(--zhusha);
  font-family: var(--sans);
  font-size: 20px;
}

.gx-home-faq-list details[open] summary::after {
  content: "−";
}

.gx-home-faq-list summary span {
  position: absolute;
  left: 4px;
  color: rgba(38, 38, 38, .34);
  font-size: 12px;
}

.gx-home-faq-list details > div {
  padding: 0 50px 28px 54px;
}

.gx-home-faq-list details p {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-home-faq-list details a {
  margin-top: 14px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 12px;
}

.gx-home-visit {
  width: 100%;
  min-height: 650px;
  grid-template-columns: 1.12fr .88fr;
  background: #303934;
}

.gx-home-visit > figure {
  min-height: 650px;
  margin: 0;
}

.gx-home-visit-copy {
  padding: clamp(72px, 8vw, 120px);
  align-self: center;
  color: #f5efe2;
}

.gx-home-visit-copy h2 {
  color: #fffaf0;
}

.gx-home-visit-copy > p:not(.gx-eyebrow) {
  color: rgba(245, 239, 226, .68);
}

.gx-home-visit dl {
  margin: 34px 0;
  border-top: 1px solid rgba(185, 202, 186, .28);
}

.gx-home-visit dl > div {
  padding: 13px 0;
  display: grid;
  grid-template-columns: 54px 1fr;
  border-bottom: 1px solid rgba(185, 202, 186, .2);
  font-size: 12px;
}

.gx-home-visit dt {
  color: rgba(245, 239, 226, .48);
}

.gx-home-visit dd {
  margin: 0;
  color: rgba(245, 239, 226, .82);
}

.gx-home-visit-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.gx-home-visit-actions > a:not(.gx-primary-link) {
  color: rgba(245, 239, 226, .78);
  font-size: 12px;
}

/* Secondary pages from the client information architecture. */
.gx-editorial-page {
  overflow: hidden;
}

.gx-community-editorial-hero {
  grid-template-columns: 1fr;
}

.gx-community-editorial-hero .gx-page-hero-copy {
  min-height: 650px;
  padding-right: max(32px, calc((100vw - var(--max)) / 2));
}

.gx-community-editorial-hero .gx-page-hero-media {
  display: none;
}

.gx-page-hero {
  width: min(100% - 64px, 1380px);
  min-height: 680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  border-left: 1px solid rgba(110, 137, 114, .42);
}

.gx-page-hero-copy {
  position: relative;
  padding: clamp(96px, 10vw, 150px) clamp(52px, 7vw, 98px);
  align-self: center;
}

.gx-page-seal {
  width: 42px;
  height: 42px;
  margin-bottom: 30px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: #fff;
  font-family: var(--serif);
  font-size: 18px;
}

.gx-page-hero h1 {
  margin: 0 0 26px;
  font-size: clamp(52px, 6vw, 84px);
  line-height: 1.1;
}

.gx-page-hero-copy > p:last-child {
  max-width: 490px;
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2;
}

.gx-page-hero-media {
  min-height: 680px;
  margin: 0;
  background: #e8e0d2;
}

.gx-page-hero-media img {
  object-position: center;
}

.gx-page-hero.is-portrait {
  grid-template-columns: 1fr 1fr;
}

.gx-page-hero.is-portrait .gx-page-hero-media img {
  object-position: center 25%;
}

.gx-page-managed-intro {
  width: min(100% - 64px, 920px);
  margin: 0 auto;
  padding: 54px 0;
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 36px;
  border-bottom: 1px solid rgba(110, 137, 114, .42);
}

.gx-page-managed-intro span {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-page-managed-intro p {
  color: #555650;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 2;
}

.gx-principle-band,
.gx-application-band,
.gx-related-ledger,
.gx-process-band,
.gx-custom-band,
.gx-care-band,
.gx-review-band,
.gx-insight-band,
.gx-founder-profile,
.gx-founder-timeline,
.gx-venue-gallery,
.gx-venue-contact {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding: 128px 0;
}

.gx-principle-band > header,
.gx-application-band > header,
.gx-related-ledger > header,
.gx-process-band > header,
.gx-review-band > header,
.gx-insight-band > header,
.gx-founder-timeline > header {
  max-width: 720px;
  margin-bottom: 62px;
}

.gx-principle-band h2,
.gx-application-band h2,
.gx-related-ledger h2,
.gx-process-band h2,
.gx-custom-band h2,
.gx-care-band h2,
.gx-review-band h2,
.gx-insight-band h2,
.gx-founder-profile h2,
.gx-founder-timeline h2,
.gx-venue-gallery h2,
.gx-venue-contact h2 {
  margin: 0;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.4;
}

.gx-principle-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .52);
  border-bottom: 1px solid rgba(110, 137, 114, .52);
}

.gx-principle-list article {
  min-height: 330px;
  padding: 42px clamp(28px, 4vw, 54px);
  border-right: 1px solid rgba(110, 137, 114, .36);
}

.gx-principle-list article:last-child {
  border-right: 0;
}

.gx-principle-list span,
.gx-application-band article > span,
.gx-process-band li > span,
.gx-founder-timeline li > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-principle-list h3,
.gx-application-band h3,
.gx-process-band h3,
.gx-founder-timeline h3 {
  margin: 50px 0 18px;
  font-size: 27px;
}

.gx-principle-list p,
.gx-application-band article p,
.gx-process-band li p,
.gx-founder-timeline li p {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-quote-band {
  min-height: 390px;
  padding: 90px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 38px;
  background: #303934;
  color: #f5efe2;
  text-align: center;
}

.gx-quote-band p {
  font-family: var(--serif);
  font-size: clamp(26px, 3.5vw, 44px);
}

.gx-quote-band > div {
  display: flex;
  align-items: center;
  gap: 20px;
}

.gx-quote-band > div > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 59, 44, .72);
  color: #f4d8d1;
  font-family: var(--serif);
}

.gx-lineage-band,
.gx-compare-band,
.gx-scene-band,
.gx-common-value-band,
.gx-practice-path,
.gx-craft-values,
.gx-maker-message,
.gx-product-service {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding: 120px 0;
}

.gx-lineage-band > header,
.gx-compare-band > header,
.gx-scene-band > header,
.gx-common-value-band > header,
.gx-practice-path > header,
.gx-craft-values > header {
  max-width: 760px;
  margin-bottom: 60px;
}

.gx-lineage-band h2,
.gx-compare-band h2,
.gx-scene-band h2,
.gx-common-value-band h2,
.gx-practice-path h2,
.gx-craft-values h2,
.gx-maker-message h2,
.gx-product-service h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.4;
}

.gx-lineage-band ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  border-top: 1px solid rgba(110, 137, 114, .5);
  border-bottom: 1px solid rgba(110, 137, 114, .5);
}

.gx-lineage-band li {
  min-height: 270px;
  padding: 38px 34px;
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 18px;
  border-right: 1px solid rgba(110, 137, 114, .34);
}

.gx-lineage-band li:last-child {
  border-right: 0;
}

.gx-lineage-band li > span,
.gx-common-value-band article > span,
.gx-craft-values article > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-lineage-band h3,
.gx-common-value-band h3,
.gx-craft-values h3 {
  margin: 0 0 16px;
  font-size: 23px;
}

.gx-lineage-band p,
.gx-common-value-band p,
.gx-craft-values p {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-compare-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .54);
}

.gx-compare-head,
.gx-compare-band article {
  display: grid;
  grid-template-columns: .75fr .75fr 1.5fr;
  gap: 28px;
  align-items: center;
}

.gx-compare-head {
  padding: 0 24px 16px;
  color: var(--zhusha);
  font-size: 11px;
}

.gx-compare-band article {
  min-height: 105px;
  padding: 22px 24px;
  border-top: 1px solid rgba(110, 137, 114, .35);
}

.gx-compare-band article:last-child {
  border-bottom: 1px solid rgba(110, 137, 114, .35);
}

.gx-compare-band article h3,
.gx-compare-band article p {
  margin: 0;
}

.gx-compare-band article h3 {
  font-size: 21px;
}

.gx-compare-band article h3:nth-child(2) {
  color: var(--bamboo-deep);
}

.gx-compare-band article p {
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-scene-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .52);
}

.gx-scene-band > nav {
  position: sticky;
  top: 72px;
  z-index: 4;
  margin-bottom: 48px;
  padding: 16px 0;
  display: flex;
  gap: 30px;
  overflow-x: auto;
  border-top: 1px solid rgba(110, 137, 114, .4);
  border-bottom: 1px solid rgba(110, 137, 114, .4);
  background: rgba(250, 247, 239, .96);
  white-space: nowrap;
  font-size: 13px;
}

.gx-scene-band > nav a:hover {
  color: var(--zhusha);
}

.gx-scene-list {
  display: grid;
  gap: 34px;
}

.gx-scene-list > article {
  scroll-margin-top: 150px;
  padding: 44px;
  border: 1px solid rgba(110, 137, 114, .3);
  background: rgba(250, 247, 239, .7);
}

.gx-scene-list > article > header {
  margin-bottom: 30px;
  display: flex;
  align-items: flex-end;
  gap: 24px;
}

.gx-scene-list > article > header > span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-scene-list small {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-scene-list h3 {
  margin: 3px 0 0;
  font-size: 30px;
}

.gx-scene-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .36);
}

.gx-scene-columns section {
  padding: 28px 28px 8px;
  border-right: 1px solid rgba(110, 137, 114, .28);
}

.gx-scene-columns section:last-child {
  border-right: 0;
}

.gx-scene-columns h4 {
  margin: 0 0 16px;
  color: var(--bamboo-deep);
  font-family: var(--serif);
  font-size: 17px;
}

.gx-scene-columns ul {
  margin: 0;
  padding-left: 18px;
}

.gx-scene-columns li,
.gx-scene-columns p {
  margin: 0 0 9px;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-common-value-band > div,
.gx-craft-values > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .48);
  border-bottom: 1px solid rgba(110, 137, 114, .48);
}

.gx-common-value-band article,
.gx-craft-values article {
  min-height: 300px;
  padding: 36px 30px;
  border-right: 1px solid rgba(110, 137, 114, .32);
}

.gx-common-value-band article:last-child,
.gx-craft-values article:last-child {
  border-right: 0;
}

.gx-common-value-band h3,
.gx-craft-values h3 {
  margin-top: 42px;
}

.gx-related-ledger > footer {
  margin-top: 56px;
  padding-top: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(110, 137, 114, .4);
}

.gx-practice-path {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .54);
}

.gx-practice-path ol {
  max-width: 920px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column-reverse;
  list-style: none;
}

.gx-practice-path li {
  position: relative;
  width: calc(64% + var(--stage, 0%));
  min-height: 190px;
  margin: 0 auto;
  padding: 30px 34px;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  border: 1px solid rgba(110, 137, 114, .32);
  border-bottom: 0;
  background: rgba(245, 239, 226, .72);
}

.gx-practice-path li:nth-child(2) { width: 76%; }
.gx-practice-path li:nth-child(3) { width: 88%; }
.gx-practice-path li:nth-child(4) { width: 100%; border-bottom: 1px solid rgba(110, 137, 114, .32); }

.gx-practice-path li > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-practice-path small {
  color: var(--zhusha);
}

.gx-practice-path h3 {
  margin: 4px 0 8px;
  font-size: 26px;
}

.gx-practice-path strong {
  font-size: 13px;
  font-weight: 500;
}

.gx-practice-path p {
  margin-top: 12px;
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-craft-rule {
  margin-top: 30px;
  color: var(--bamboo-deep) !important;
  font-family: var(--serif);
}

.gx-craft-values {
  padding-block: 120px;
}

.gx-maker-message {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: center;
}

.gx-maker-message figure {
  height: 520px;
  margin: 0;
}

.gx-maker-message blockquote {
  margin: 24px 0;
  font-family: var(--serif);
  font-size: clamp(22px, 2.7vw, 36px);
  line-height: 1.8;
}

.gx-maker-message .gx-primary-link {
  margin-top: 32px;
}

.gx-product-service {
  padding: 74px 64px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  border-top: 1px solid rgba(110, 137, 114, .45);
  border-bottom: 1px solid rgba(110, 137, 114, .45);
}

.gx-product-service > div {
  max-width: 720px;
}

.gx-product-service h2 {
  margin-bottom: 18px;
}

.gx-product-service > div > p:last-child {
  color: var(--on-surface-variant);
}

.gx-custom-band {
  grid-template-columns: .72fr 1.28fr;
}

.gx-custom-facts {
  grid-column: 2;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .38);
}

.gx-custom-facts > div {
  padding: 20px 18px;
  border-right: 1px solid rgba(110, 137, 114, .28);
}

.gx-custom-facts > div:last-child {
  border-right: 0;
}

.gx-custom-facts dt {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-custom-facts dd {
  margin: 8px 0 0;
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-custom-band > .gx-primary-link {
  grid-column: 2;
  justify-self: start;
}

.gx-care-band {
  display: block;
}

.gx-care-band > header {
  max-width: 760px;
  margin-bottom: 54px;
}

.gx-care-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .48);
  border-bottom: 1px solid rgba(110, 137, 114, .48);
}

.gx-care-switcher {
  min-width: 0;
}

.gx-care-tabs {
  display: flex;
  gap: 28px;
  border-bottom: 1px solid rgba(110, 137, 114, .38);
}

.gx-care-tabs button {
  margin: 0;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--on-surface-variant);
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.gx-care-tabs button[aria-selected="true"] {
  border-bottom-color: var(--zhusha);
  color: var(--on-surface);
}

.gx-care-tabs button:focus-visible {
  outline: 1px solid var(--zhusha);
  outline-offset: 5px;
}

.gx-care-switcher .gx-care-groups {
  display: block;
  border-top: 0;
}

.gx-care-switcher .gx-care-groups article {
  min-height: 250px;
  padding-inline: 0;
  border-right: 0;
}

.gx-care-switcher .gx-care-groups article[hidden] {
  display: none;
}

.gx-care-groups article {
  padding: 34px 30px;
  border-right: 1px solid rgba(110, 137, 114, .3);
}

.gx-care-groups article:last-child {
  border-right: 0;
}

.gx-care-groups h3 {
  margin: 0;
  font-size: 24px;
}

.gx-care-faq {
  margin-top: 72px;
}

.gx-quote-band a {
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(185, 202, 186, .6);
  color: rgba(245, 239, 226, .78);
  font-size: 12px;
}

.gx-application-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .56);
}

.gx-application-band > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-application-band article {
  min-height: 300px;
  padding: 38px 30px;
  border-right: 1px solid rgba(110, 137, 114, .35);
}

.gx-application-band article:last-child {
  border-right: 0;
}

.gx-application-band h3 {
  margin-top: 42px;
}

.gx-related-ledger > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px;
}

.gx-related-ledger article {
  padding-top: 24px;
  border-top: 1px solid rgba(110, 137, 114, .52);
}

.gx-related-ledger article > p {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-related-ledger h3 {
  margin: 8px 0 16px;
  font-size: 27px;
}

.gx-related-ledger article > span {
  min-height: 78px;
  display: block;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-related-ledger article > a {
  margin-top: 22px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 12px;
}

.gx-craft-story {
  width: min(100% - 64px, var(--max));
  min-height: 730px;
  margin: 0 auto;
  padding: 130px 0;
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 100px;
  align-items: center;
}

.gx-craft-story h2 {
  margin: 0 0 28px;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.4;
}

.gx-craft-story > div > p:last-child,
.gx-custom-band header > p:last-child,
.gx-venue-gallery header > p:last-child {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 2;
}

.gx-craft-story figure {
  height: 420px;
  margin: 0;
}

.gx-process-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: #303934;
  color: #f5efe2;
}

.gx-process-band h2 {
  color: #fffaf0;
}

.gx-process-band ol {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  border-top: 1px solid rgba(185, 202, 186, .32);
}

.gx-process-band li {
  min-height: 270px;
  padding: 34px 38px;
  border-right: 1px solid rgba(185, 202, 186, .24);
  border-bottom: 1px solid rgba(185, 202, 186, .24);
}

.gx-process-band li figure {
  height: 112px;
  margin: 0 0 24px;
  overflow: hidden;
}

.gx-process-band li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-process-band li figure .visual-placeholder {
  height: 100%;
  border-color: rgba(185, 202, 186, .32);
  color: rgba(245, 239, 226, .72);
  background: rgba(245, 239, 226, .04);
}

.gx-process-band li:nth-child(3n) {
  border-right: 0;
}

.gx-process-band h3 {
  margin: 35px 0 14px;
  color: #fffaf0;
}

.gx-process-band li p {
  color: rgba(245, 239, 226, .62);
}

.gx-process-band .gx-primary-link {
  margin-top: 48px;
}

.gx-custom-band {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 100px;
}

.gx-custom-band header > p:last-child {
  margin-top: 26px;
}

.gx-custom-band ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(110, 137, 114, .52);
}

.gx-custom-band li {
  min-height: 92px;
  padding: 25px 0;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(110, 137, 114, .4);
}

.gx-custom-band li span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-custom-band li p {
  color: #44443f;
  font-family: var(--serif);
  font-size: 18px;
}

.gx-care-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 100px;
  background: rgba(255, 253, 247, .56);
}

.gx-care-band ul {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.gx-care-band li {
  position: relative;
  padding: 14px 0 14px 20px;
  border-bottom: 1px solid rgba(110, 137, 114, .3);
  color: var(--on-surface-variant);
  font-size: 13px;
}

.gx-care-band li::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 2px;
  width: 5px;
  height: 5px;
  background: var(--zhusha);
}

.gx-care-faq {
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-care-faq-groups > section + section {
  margin-top: 40px;
}

.gx-care-faq-groups > section > h3 {
  margin: 0 0 14px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .12em;
}

.gx-care-faq article {
  padding: 24px 0;
  border-bottom: 1px solid rgba(110, 137, 114, .36);
}

.gx-care-faq h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.gx-care-faq h4 {
  margin: 0 0 8px;
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.gx-care-faq p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-care-faq a {
  margin-top: 10px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-review-band > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px 42px;
}

.gx-review-band article {
  min-height: 310px;
  display: grid;
  grid-template-columns: 170px 1fr;
  border-top: 1px solid rgba(110, 137, 114, .48);
}

.gx-review-band article.is-featured {
  grid-column: 1 / -1;
  grid-template-columns: .8fr 1.2fr;
  min-height: 520px;
}

.gx-review-band figure {
  min-height: 310px;
  margin: 0;
}

.gx-review-band .is-featured figure {
  min-height: 520px;
}

.gx-review-band article > div {
  padding: 34px;
}

.gx-review-band article span,
.gx-insight-list article > span {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-review-band blockquote {
  margin: 45px 0 24px;
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.85;
}

.gx-review-band .is-featured blockquote {
  font-size: clamp(23px, 2.6vw, 34px);
}

.gx-review-band article p,
.gx-review-band article a {
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-review-band article a {
  margin-top: 20px;
  display: inline-block;
  color: var(--bamboo-deep);
}

.gx-insight-band {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 80px 100px;
}

.gx-insight-band > header {
  grid-column: 1 / -1;
}

.gx-insight-list {
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-insight-list article {
  padding: 30px 0;
  border-bottom: 1px solid rgba(110, 137, 114, .36);
}

.gx-insight-list h3 {
  margin: 10px 0 14px;
  font-size: 24px;
}

.gx-insight-list blockquote {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-insight-list a {
  margin-top: 18px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-insight-reading {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.gx-insight-reading a {
  position: relative;
  min-height: 250px;
  overflow: hidden;
}

.gx-insight-reading a:first-child {
  grid-column: 1 / -1;
  min-height: 390px;
}

.gx-insight-reading a::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: rgba(38, 38, 38, .7);
}

.gx-insight-reading span {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  color: #fff;
  font-family: var(--serif);
  font-size: 18px;
}

.gx-insight-reading small {
  display: block;
  margin-bottom: 5px;
  color: #e6b4ac;
  font-family: var(--sans);
  font-size: 10px;
}

.gx-founder-profile {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 100px;
  align-items: center;
}

.gx-founder-profile > div > p:not(.gx-eyebrow) {
  margin-top: 28px;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 2;
}

.gx-founder-profile blockquote {
  margin: 36px 0 0;
  padding-left: 22px;
  border-left: 1px solid var(--zhusha);
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.8;
}

.gx-founder-profile figure {
  height: 510px;
  margin: 0;
}

.gx-founder-timeline {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .58);
}

.gx-founder-timeline ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-founder-timeline li {
  min-height: 300px;
  padding: 34px 30px;
  border-right: 1px solid rgba(110, 137, 114, .36);
}

.gx-founder-timeline li:last-child {
  border-right: 0;
}

.gx-founder-timeline h3 {
  margin-top: 44px;
}

.gx-venue-gallery {
  display: grid;
  grid-template-columns: .58fr 1.42fr;
  gap: 90px;
  align-items: start;
}

.gx-venue-gallery header > p:last-child {
  margin-top: 26px;
}

.gx-venue-gallery > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.gx-venue-gallery figure {
  height: 330px;
  margin: 0;
}

.gx-venue-gallery figure.is-wide {
  grid-column: 1 / -1;
  height: 480px;
}

.gx-venue-gallery figure {
  position: relative;
}

.gx-venue-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 10px 14px;
  background: rgba(245, 239, 226, .92);
  color: #53534e;
  font-size: 11px;
}

.gx-venue-contact {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 90px;
  background: #303934;
  color: #f5efe2;
}

.gx-venue-contact h2 {
  color: #fffaf0;
}

.gx-venue-contact dl {
  margin: 0;
  border-top: 1px solid rgba(185, 202, 186, .28);
}

.gx-venue-contact dl > div {
  padding: 16px 0;
  display: grid;
  grid-template-columns: 58px 1fr;
  border-bottom: 1px solid rgba(185, 202, 186, .2);
  font-size: 12px;
}

.gx-venue-contact dt {
  color: rgba(245, 239, 226, .48);
}

.gx-venue-contact dd {
  margin: 0;
  color: rgba(245, 239, 226, .8);
}

.gx-venue-contact nav {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 24px;
}

.gx-venue-contact nav > a:not(.gx-primary-link) {
  color: rgba(245, 239, 226, .76);
  font-size: 12px;
}

/* Bring the original collection templates into the same restrained system. */
.page-hero {
  padding: 104px 0 82px;
  background: transparent;
}

.page-hero::before,
.page-hero::after,
.product-collection-hero .cloud-line {
  content: none;
  display: none;
}

.page-hero .crumb {
  margin-bottom: 28px;
}

.page-hero .hero-seal {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  transform: none;
  clip-path: none;
  border-radius: 2px;
  background: var(--zhusha);
  font-size: 23px;
  box-shadow: none;
}

.page-hero .hero-seal::before {
  content: none !important;
  display: none !important;
}

.page-hero .hero-seal::after {
  transform: none;
}

.page-hero h1,
.product-collection-hero h1 {
  max-width: 14em;
  margin-bottom: 20px;
  font-size: clamp(40px, 4.8vw, 64px);
  font-weight: 500;
  letter-spacing: 0;
}

.custom-page-hero.has-image {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, 1.18fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.custom-page-hero.has-image .crumb {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.custom-page-hero-copy > p {
  max-width: 42em;
  color: var(--muted);
  line-height: 1.9;
}

.custom-page-hero-media {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--ink);
}

.custom-page-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 760px) {
  .custom-page-hero.has-image {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .custom-page-hero.has-image .crumb {
    grid-column: auto;
  }
}

.product-collection-hero {
  padding-top: 104px;
  padding-bottom: 54px;
}

.product-collection-hero .eyebrow {
  font-family: var(--sans);
  letter-spacing: .16em;
}

.filter-line,
.collection-tabs {
  gap: clamp(18px, 4vw, 58px);
  border-color: rgba(110, 137, 114, .38);
  font-size: 14px;
}

.filter-line::before,
.collection-tabs::before {
  content: none;
}

.product-museum-section {
  background: rgba(255, 253, 247, .44);
}

.product-detail-page {
  background: rgba(255, 253, 247, .46);
  filter: none;
}

.product-detail-page::before,
.product-detail-page::after,
.manuscript-ornament {
  content: none;
  display: none;
}

.product-detail-hero {
  filter: none;
}

.product-name-line {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.product-name-line h1 {
  max-width: 10em;
  font-size: clamp(38px, 4.4vw, 60px);
  line-height: 1.18;
}

.product-name-line p {
  margin: 0;
}

.product-spec-panel {
  background: rgba(255, 253, 247, .68);
}

.product-museum-grid {
  gap: 92px 62px;
}

.museum-card-frame {
  padding: 28px;
  border: 0;
  border-top: 1px solid rgba(110, 137, 114, .5);
  border-bottom: 1px solid rgba(110, 137, 114, .32);
  background: transparent;
  box-shadow: none;
}

.museum-card-frame::before,
.museum-card-frame::after,
.content-card::before,
.archive-intro::before,
.course-archive-card::after,
.media-archive-card::after,
.article-archive-card::after,
.aside-panel::after,
.contact-panel::after,
form::after {
  content: none;
  display: none;
}

.museum-product-image {
  margin-bottom: 22px;
  background: #eee7da;
}

.museum-product-title {
  width: 100%;
  padding: 0;
  background: transparent;
}

.museum-product-meta {
  border-left-color: rgba(110, 137, 114, .52);
}

.archive-intro {
  margin-top: 0;
  margin-bottom: 54px;
  padding: 28px 0;
  border: 0;
  border-top: 1px solid rgba(110, 137, 114, .44);
  border-bottom: 1px solid rgba(110, 137, 114, .44);
  background: transparent;
}

.archive-copy {
  padding-left: 0;
}

.archive-copy h2,
.course-map-panel h2,
.faq-category-rail h2 {
  letter-spacing: 0;
}

.archive-facts li {
  background: transparent;
}

.archive-visual {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.content-card,
.content-card.featured,
.teacher-archive-card,
.course-archive-card,
.article-archive-card,
.media-archive-card {
  border-color: rgba(110, 137, 114, .35);
  background: rgba(255, 253, 247, .46);
  box-shadow: none;
}

.content-card h3 {
  font-weight: 500;
  letter-spacing: 0;
}

.content-card .card-media,
.content-card .visual-placeholder,
.detail-media,
.detail-header > .visual-placeholder,
.course-map-panel figure,
.article-empty-panel figure,
.product-primary-image,
.product-thumb-grid figure {
  padding: 0;
  border-color: rgba(110, 137, 114, .26);
  background: #eee7da;
  box-shadow: none;
}

.detail-media::before,
.detail-header > .visual-placeholder::before {
  content: none;
}

.course-map-panel,
.faq-category-rail,
.article-empty-panel,
.aside-panel,
.contact-panel,
form,
.faq-item,
.empty-state,
.product-spec-panel,
.craft-maker-card {
  background: rgba(255, 253, 247, .5);
  box-shadow: none;
}

.course-map-panel {
  border-color: rgba(110, 137, 114, .35);
}

.course-archive-card:nth-child(even) {
  margin-left: 0;
}

.faq-item {
  border-color: rgba(110, 137, 114, .32);
}

.article-body img,
.detail-media,
.contact-split .map-card {
  border-color: rgba(110, 137, 114, .3);
}

@media (max-width: 1120px) {
  .nav-inner {
    grid-template-columns: 150px minmax(0, 1fr) auto;
    gap: 18px;
  }

  .brand-logo {
    width: 144px;
  }

  .nav-links {
    gap: 16px;
    font-size: 13px;
  }

  .nav-action {
    padding-inline: 14px;
  }

  .footer-grid {
    grid-template-columns: 1.35fr repeat(2, 1fr);
  }

  .footer-visit {
    grid-column: 2 / -1;
  }

  .gx-home-hero {
    grid-template-columns: minmax(340px, .8fr) minmax(460px, 1.2fr);
  }

  .gx-home-stat-grid article {
    padding-inline: 24px;
  }

  .gx-home-intro,
  .gx-home-founder {
    gap: 70px;
  }

  .gx-product-image {
    height: 370px;
  }

  .gx-page-hero {
    grid-template-columns: .9fr 1.1fr;
  }

  .gx-craft-story,
  .gx-custom-band,
  .gx-care-band,
  .gx-founder-profile,
  .gx-venue-gallery {
    gap: 64px;
  }
}

@media (max-width: 900px) {
  body {
    padding-top: 64px;
  }

  .wrap,
  .footer-grid {
    width: min(100% - 32px, var(--max));
  }

  .nav,
  .nav-inner {
    min-height: 64px;
  }

  .nav-inner {
    width: min(100% - 28px, 1360px);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }

  .brand-logo {
    width: 146px;
    height: 55px;
  }

  .nav-links,
  .nav-action {
    display: none;
  }

  .mobile-nav {
    position: relative;
    display: block;
  }

  .mobile-nav summary {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    list-style: none;
    cursor: pointer;
  }

  .mobile-nav summary::-webkit-details-marker {
    display: none;
  }

  .mobile-nav summary span,
  .mobile-nav summary span::before,
  .mobile-nav summary span::after {
    display: block;
    width: 22px;
    height: 1px;
    background: var(--primary);
  }

  .mobile-nav summary span {
    position: relative;
  }

  .mobile-nav summary span::before,
  .mobile-nav summary span::after {
    content: "";
    position: absolute;
    left: 0;
  }

  .mobile-nav summary span::before { top: -7px; }
  .mobile-nav summary span::after { top: 7px; }

  .mobile-nav[open] summary span {
    background: transparent;
  }

  .mobile-nav[open] summary span::before {
    top: 0;
    transform: rotate(45deg);
  }

  .mobile-nav[open] summary span::after {
    top: 0;
    transform: rotate(-45deg);
  }

  .mobile-nav nav {
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    max-height: calc(100dvh - 64px);
    padding: 18px 24px 30px;
    overflow-y: auto;
    background: #faf7ef;
    border-top: 1px solid rgba(110, 137, 114, .3);
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .mobile-nav nav > div {
    display: grid;
    grid-template-columns: 92px 1fr 1fr;
    gap: 8px 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(110, 137, 114, .22);
  }

  .mobile-nav nav > div > a:first-child {
    grid-row: 1 / span 2;
    color: var(--primary);
    font-family: var(--serif);
    font-size: 15px;
  }

  .mobile-nav nav > div > a:not(:first-child) {
    color: var(--on-surface-variant);
    font-size: 13px;
  }

  .footer-grid {
    padding: 44px 0 36px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
  }

  .footer-identity,
  .footer-visit {
    grid-column: 1 / -1;
  }

  .gx-home-hero {
    width: 100%;
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .gx-home-hero-copy {
    min-height: 520px;
    padding: 90px 32px 80px;
  }

  .gx-home-hero-copy::before {
    left: 32px;
  }

  .gx-home-hero-image {
    min-height: 540px;
  }

  .gx-home-hero-image::before,
  .gx-scroll-cue {
    display: none;
  }

  .gx-home-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-home-stat-grid article:nth-child(2) {
    border-right: 0;
  }

  .gx-home-stat-grid article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(185, 202, 186, .26);
  }

  .gx-home-intro,
  .gx-home-founder,
  .gx-home-faq {
    width: min(100% - 40px, var(--max));
    padding: 100px 0;
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .gx-home-intro-gallery {
    min-height: 520px;
  }

  .gx-home-paths,
  .gx-home-courses,
  .gx-home-products,
  .gx-home-articles {
    padding: 100px 24px;
  }

  .gx-home-path-grid,
  .gx-home-course-grid {
    grid-template-columns: 1fr;
  }

  .gx-home-path-grid article,
  .gx-home-course-grid article {
    min-height: auto;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .4);
  }

  .gx-path-index,
  .gx-course-number {
    margin-bottom: 30px;
  }

  .gx-home-path-grid article > p:last-of-type {
    min-height: auto;
  }

  .gx-home-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-product-image {
    height: 440px;
  }

  .gx-home-article-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-home-article-grid article.is-featured {
    grid-row: auto;
  }

  .gx-home-article-grid .is-featured .gx-article-image,
  .gx-article-image {
    height: 280px;
  }

  .gx-home-visit {
    grid-template-columns: 1fr;
  }

  .gx-home-visit > figure {
    min-height: 480px;
  }

  .gx-page-hero,
  .gx-page-hero.is-portrait {
    width: 100%;
    min-height: auto;
    grid-template-columns: 1fr;
    border-left: 0;
  }

  .gx-page-hero-copy {
    min-height: 500px;
    padding: 92px 32px 82px;
  }

  .gx-page-hero-media {
    min-height: 560px;
  }

  .gx-page-managed-intro {
    width: min(100% - 40px, 920px);
  }

  .gx-principle-band,
  .gx-related-ledger,
  .gx-custom-band,
  .gx-care-band,
  .gx-review-band,
  .gx-insight-band,
  .gx-founder-profile,
  .gx-venue-gallery {
    width: min(100% - 40px, var(--max));
    padding: 100px 0;
  }

  .gx-application-band,
  .gx-process-band,
  .gx-founder-timeline,
  .gx-venue-contact {
    padding: 100px 24px;
  }

  .gx-principle-list,
  .gx-related-ledger > div,
  .gx-process-band ol,
  .gx-founder-timeline ol {
    grid-template-columns: 1fr 1fr;
  }

  .gx-principle-list article:nth-child(2),
  .gx-process-band li:nth-child(2n),
  .gx-founder-timeline li:nth-child(2n) {
    border-right: 0;
  }

  .gx-application-band > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-application-band article:nth-child(2n) {
    border-right: 0;
  }

  .gx-craft-story,
  .gx-custom-band,
  .gx-care-band,
  .gx-insight-band,
  .gx-founder-profile,
  .gx-venue-gallery,
  .gx-venue-contact {
    grid-template-columns: 1fr;
    gap: 64px;
  }

  .gx-craft-story {
    width: min(100% - 40px, var(--max));
    padding: 100px 0;
  }

  .gx-review-band article,
  .gx-review-band article.is-featured {
    grid-column: auto;
    grid-template-columns: 150px 1fr;
    min-height: 320px;
  }

  .gx-review-band .is-featured figure,
  .gx-review-band figure {
    min-height: 320px;
  }

  .gx-review-band .is-featured blockquote {
    font-size: 21px;
  }

  .gx-insight-band > header {
    grid-column: auto;
  }

  .gx-venue-contact nav {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .section {
    padding: 68px 0;
  }

  .mobile-nav nav > div {
    grid-template-columns: 86px 1fr;
  }

  .mobile-nav nav > div > a:first-child {
    grid-row: 1 / span 4;
  }

  .mobile-nav nav > div:last-child > a:first-child {
    grid-row: 1 / span 5;
  }

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

  .footer-identity,
  .footer-visit {
    grid-column: 1 / -1;
  }

  .gx-eyebrow {
    margin-bottom: 16px;
  }

  .gx-home-hero-copy {
    min-height: 500px;
    padding: 78px 22px 66px;
  }

  .gx-home-hero-copy::before {
    top: 42px;
    left: 22px;
  }

  .gx-home-hero-copy h1 {
    font-size: 64px;
  }

  .gx-home-hero-line {
    font-size: 19px;
  }

  .gx-home-hero-summary {
    font-size: 14px;
  }

  .gx-home-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }

  .gx-home-hero-image {
    min-height: 410px;
  }

  .gx-home-stat-grid {
    grid-template-columns: 1fr;
  }

  .gx-home-stat-grid article {
    min-height: 126px;
    border-right: 0;
    border-bottom: 1px solid rgba(185, 202, 186, .26);
  }

  .gx-home-intro,
  .gx-home-founder,
  .gx-home-faq {
    width: min(100% - 32px, var(--max));
    padding: 82px 0;
    gap: 54px;
  }

  .gx-home-section-copy h2,
  .gx-home-founder-copy h2,
  .gx-home-faq-heading h2,
  .gx-home-visit-copy h2,
  .gx-centered-heading h2 {
    font-size: 36px;
  }

  .gx-home-intro-gallery {
    min-height: 430px;
    grid-template-columns: 1fr;
  }

  .gx-home-intro-gallery figure:not(.is-main) {
    display: none;
  }

  .gx-image-note {
    left: 12px;
    bottom: -28px;
  }

  .gx-home-paths,
  .gx-home-courses,
  .gx-home-products,
  .gx-home-articles {
    padding: 82px 16px;
  }

  .gx-centered-heading {
    margin-bottom: 48px;
  }

  .gx-home-path-grid article,
  .gx-home-course-grid article {
    padding: 36px 20px 40px;
  }

  .gx-home-founder > figure {
    height: 510px;
  }

  .gx-home-founder figcaption {
    right: 0;
  }

  .gx-home-section-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }

  .gx-home-product-grid,
  .gx-home-article-grid {
    grid-template-columns: 1fr;
  }

  .gx-home-product-grid article:nth-child(even) {
    padding-top: 0;
  }

  .gx-product-image {
    height: 470px;
  }

  .gx-home-course-note {
    grid-template-columns: 50px 1fr;
  }

  .gx-home-course-note a {
    grid-column: 2;
  }

  .gx-home-article-grid .is-featured .gx-article-image,
  .gx-article-image {
    height: 250px;
  }

  .gx-home-faq-list summary {
    padding: 24px 38px 22px 42px;
    font-size: 17px;
  }

  .gx-home-faq-list details > div {
    padding: 0 38px 25px 42px;
  }

  .gx-home-visit > figure {
    min-height: 360px;
  }

  .gx-home-visit-copy {
    padding: 70px 24px;
  }

  .gx-page-hero-copy {
    min-height: 440px;
    padding: 72px 22px 64px;
  }

  .gx-page-hero h1 {
    font-size: 50px;
  }

  .gx-page-hero-media {
    min-height: 430px;
  }

  .gx-page-managed-intro {
    width: min(100% - 32px, 920px);
    padding: 38px 0;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .gx-page-managed-intro p {
    font-size: 16px;
  }

  .gx-principle-band,
  .gx-related-ledger,
  .gx-custom-band,
  .gx-care-band,
  .gx-review-band,
  .gx-insight-band,
  .gx-founder-profile,
  .gx-venue-gallery,
  .gx-craft-story {
    width: min(100% - 32px, var(--max));
    padding: 82px 0;
  }

  .gx-application-band,
  .gx-process-band,
  .gx-founder-timeline,
  .gx-venue-contact {
    padding: 82px 16px;
  }

  .gx-principle-list,
  .gx-related-ledger > div,
  .gx-application-band > div,
  .gx-process-band ol,
  .gx-founder-timeline ol,
  .gx-review-band > div {
    grid-template-columns: 1fr;
  }

  .gx-principle-list article,
  .gx-application-band article,
  .gx-process-band li,
  .gx-founder-timeline li {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .36);
  }

  .gx-principle-list h3,
  .gx-application-band h3,
  .gx-process-band h3,
  .gx-founder-timeline h3 {
    margin-top: 30px;
  }

  .gx-craft-story figure,
  .gx-founder-profile figure {
    height: 380px;
  }

  .gx-review-band article,
  .gx-review-band article.is-featured {
    grid-template-columns: 1fr;
  }

  .gx-review-band figure,
  .gx-review-band .is-featured figure {
    min-height: 360px;
  }

  .gx-review-band article > div {
    padding: 28px 8px 44px;
  }

  .gx-insight-reading {
    grid-template-columns: 1fr;
  }

  .gx-insight-reading a,
  .gx-insight-reading a:first-child {
    grid-column: auto;
    min-height: 290px;
  }

  .gx-venue-gallery > div {
    grid-template-columns: 1fr;
  }

  .gx-venue-gallery figure,
  .gx-venue-gallery figure.is-wide {
    grid-column: auto;
    height: 340px;
  }

  .gx-venue-contact nav {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Homepage refinement: one paper family, varied by section value and material. */
.gx-home {
  --gx-home-surface: #f5efe2;
  overflow: clip;
  background: #f5efe2;
}

.gx-home > section {
  position: relative;
  isolation: isolate;
  box-shadow: 0 0 0 100vmax var(--gx-home-surface);
  clip-path: inset(0 -100vmax);
}

.gx-home > section + section::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  width: min(100%, var(--max));
  height: 1px;
  background: rgba(110, 137, 114, .22);
  transform: translateX(-50%);
  pointer-events: none;
}

.gx-home-hero {
  --gx-home-surface: #f1ebdf;
  grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
}

.gx-home-hero-copy {
  min-width: 0;
  padding-right: clamp(42px, 5.4vw, 82px);
}

.gx-home-hero-image {
  min-width: 0;
  overflow: hidden;
  border-left: 1px solid rgba(110, 137, 114, .24);
}

.gx-home-hero-image img {
  object-position: 63% center;
  filter: saturate(.78) contrast(.94);
}

.gx-home-hero-image figcaption {
  border-top: 1px solid rgba(185, 202, 186, .72);
  border-left: 1px solid rgba(185, 202, 186, .72);
  background: rgba(245, 239, 226, .92);
}

.gx-home-stats {
  --gx-home-surface: #eee8dc;
  background: var(--gx-home-surface);
}

.gx-home-intro {
  --gx-home-surface: #f8f4eb;
}

.gx-home-paths {
  --gx-home-surface: #e9ede4;
  background: var(--gx-home-surface);
}

.gx-home-path-grid article,
.gx-home-path-grid article:last-child {
  background: rgba(245, 239, 226, .34);
  box-shadow: 0 16px 40px rgba(75, 84, 72, .025);
}

.gx-home-founder {
  --gx-home-surface: #eee6d8;
  min-height: 760px;
  grid-template-columns: minmax(0, .64fr) minmax(0, 1.36fr);
  gap: clamp(54px, 7vw, 104px);
}

.gx-home-founder > figure {
  width: min(100%, 440px);
  min-width: 0;
  height: 520px;
  justify-self: start;
}

.gx-home-founder > figure::before {
  inset: -14px 22px 14px -14px;
}

.gx-home-founder-copy {
  min-width: 0;
  max-width: 690px;
}

.gx-home-founder-copy h2 {
  font-size: clamp(36px, 3.8vw, 54px);
}

.gx-home-founder figcaption {
  right: -14px;
  bottom: 28px;
}

.gx-home-products {
  --gx-home-surface: #f7f2e8;
  background: var(--gx-home-surface);
}

.gx-home-courses {
  --gx-home-surface: #edf0e7;
  background: var(--gx-home-surface);
}

.gx-home-articles {
  --gx-home-surface: #f7f1e5;
  background: var(--gx-home-surface);
}

.gx-home-faq {
  --gx-home-surface: #ede6d9;
}

.gx-home-visit {
  --gx-home-surface: #e7ebe2;
  margin-bottom: 0;
  padding-bottom: 120px;
}

.gx-home-map {
  min-width: 0;
  border-color: rgba(110, 137, 114, .62);
  background: #dfe4da;
  box-shadow: inset 0 0 0 9px rgba(245, 239, 226, .42);
}

.gx-home-map::before,
.gx-home-map::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 1px;
  height: 150%;
  background: rgba(110, 137, 114, .18);
  transform: rotate(37deg);
  transform-origin: center;
  pointer-events: none;
}

.gx-home-map::before {
  top: -20%;
  left: 62%;
}

.gx-home-map::after {
  top: -30%;
  left: 76%;
}

.gx-map-heading {
  position: absolute;
  z-index: 5;
  top: 28px;
  left: 30px;
  padding-left: 13px;
  border-left: 2px solid var(--zhusha);
}

.gx-map-heading strong,
.gx-map-heading small {
  display: block;
}

.gx-map-heading strong {
  color: #2f3832;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .08em;
}

.gx-map-heading small {
  margin-top: 4px;
  color: #687069;
  font-size: 10px;
}

.gx-map-block {
  position: absolute;
  z-index: 0;
  border: 1px solid rgba(110, 137, 114, .25);
  background: rgba(245, 239, 226, .42);
}

.gx-map-block.is-one {
  top: 14%;
  right: 9%;
  width: 25%;
  height: 24%;
  transform: rotate(4deg);
}

.gx-map-block.is-two {
  top: 19%;
  left: 10%;
  width: 20%;
  height: 20%;
  transform: rotate(-3deg);
}

.gx-map-block.is-three {
  right: 8%;
  bottom: 13%;
  width: 29%;
  height: 22%;
  transform: rotate(-4deg);
}

.gx-map-block.is-four {
  bottom: 10%;
  left: 9%;
  width: 26%;
  height: 27%;
  transform: rotate(3deg);
}

.gx-map-alley {
  position: absolute;
  z-index: 1;
  height: 1px;
  background: rgba(110, 137, 114, .34);
  transform-origin: left center;
}

.gx-map-alley.is-one {
  top: 32%;
  left: 16%;
  width: 62%;
  transform: rotate(15deg);
}

.gx-map-alley.is-two {
  bottom: 24%;
  left: 20%;
  width: 66%;
  transform: rotate(-12deg);
}

.gx-map-road {
  z-index: 2;
  border-color: rgba(110, 137, 114, .42);
  background: rgba(247, 243, 234, .88);
  color: #4d5b51;
  letter-spacing: .12em;
}

.gx-map-road.is-main {
  height: 58px;
  transform: rotate(-2deg);
}

.gx-map-road.is-cross {
  left: 27%;
  width: 52px;
  transform: rotate(3deg);
}

.gx-map-station {
  z-index: 3;
  top: 17%;
  right: 15%;
  padding: 5px 8px;
  border: 1px solid rgba(110, 137, 114, .38);
  background: rgba(245, 239, 226, .76);
  color: #515d54;
}

.gx-map-pin {
  z-index: 6;
  top: 35%;
  left: 43%;
  border-radius: 2px;
  box-shadow: 0 16px 34px rgba(67, 78, 68, .12);
}

.gx-map-address {
  position: absolute;
  z-index: 4;
  left: 30px;
  bottom: 28px;
  color: #5e675f;
  font-family: var(--serif);
  font-size: 11px;
  line-height: 1.7;
}

.gx-map-north {
  position: absolute;
  z-index: 4;
  top: 28px;
  right: 28px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(110, 137, 114, .5);
  border-radius: 50%;
  color: #465149;
  font-family: var(--serif);
  font-size: 11px;
}

.gx-home-map nav {
  z-index: 7;
  right: 24px;
  bottom: 24px;
}

.gx-home-map nav a {
  border-color: rgba(110, 137, 114, .58);
  border-radius: 4px;
  background: rgba(245, 239, 226, .92);
}

@media (max-width: 900px) {
  .gx-home-hero {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .gx-home-hero-copy {
    padding: 74px 0 62px;
  }

  .gx-home-hero-image {
    min-height: 540px;
    border-top: 1px solid rgba(110, 137, 114, .24);
    border-left: 0;
  }

  .gx-home-founder {
    min-height: auto;
  }

  .gx-home-founder > figure {
    width: min(100%, 440px);
    height: 540px;
  }

  .gx-home-founder-copy {
    max-width: 760px;
  }

  .gx-home-visit {
    padding-bottom: 86px;
  }
}

@media (max-width: 560px) {
  .gx-home > section + section::before {
    width: calc(100% - 40px);
  }

  .gx-home-hero-copy {
    padding: 60px 0 46px;
  }

  .gx-home-hero-image {
    min-height: 410px;
  }

  .gx-home-hero-image img {
    object-position: 65% center;
  }

  .gx-home-founder > figure {
    height: 460px;
  }

  .gx-home-founder figcaption {
    right: 0;
  }

  .gx-map-heading {
    top: 22px;
    left: 22px;
  }

  .gx-map-north {
    top: 22px;
    right: 22px;
  }

  .gx-map-address {
    left: 22px;
    bottom: 72px;
  }

  .gx-map-pin {
    left: 35%;
  }

  .gx-home-map nav {
    right: 18px;
    bottom: 18px;
  }
}

@media (max-width: 900px) {
  .gx-principle-list,
  .gx-lineage-band ol,
  .gx-common-value-band > div,
  .gx-craft-values > div,
  .gx-care-groups,
  .gx-scene-columns {
    grid-template-columns: 1fr 1fr;
  }

  .gx-principle-list article:nth-child(2n),
  .gx-lineage-band li:nth-child(2n),
  .gx-common-value-band article:nth-child(2n),
  .gx-craft-values article:nth-child(2n),
  .gx-care-groups article:nth-child(2n),
  .gx-scene-columns section:nth-child(2n) {
    border-right: 0;
  }

  .gx-lineage-band li:last-child,
  .gx-care-groups article:last-child,
  .gx-scene-columns section:last-child {
    grid-column: 1 / -1;
  }

  .gx-maker-message {
    grid-template-columns: 1fr;
  }

  .gx-maker-message figure {
    height: auto;
    min-width: 0;
  }

  /* Keep the complete portrait when the quote switches to a stacked layout. */
  .gx-maker-message figure img {
    height: auto;
    object-fit: contain;
  }

  .gx-product-service {
    padding-inline: 0;
    align-items: flex-start;
    flex-direction: column;
  }

  .gx-custom-band {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .gx-custom-facts,
  .gx-custom-band > .gx-primary-link {
    grid-column: 1;
  }
}

@media (max-width: 600px) {
  .gx-lineage-band,
  .gx-compare-band,
  .gx-scene-band,
  .gx-common-value-band,
  .gx-practice-path,
  .gx-craft-values,
  .gx-maker-message,
  .gx-product-service {
    width: min(100% - 32px, var(--max));
    padding: 82px 0;
  }

  .gx-compare-band,
  .gx-scene-band,
  .gx-practice-path {
    width: 100%;
    padding-inline: 16px;
  }

  .gx-principle-list,
  .gx-lineage-band ol,
  .gx-common-value-band > div,
  .gx-craft-values > div,
  .gx-care-groups,
  .gx-scene-columns,
  .gx-custom-facts {
    grid-template-columns: 1fr;
  }

  .gx-principle-list article,
  .gx-lineage-band li,
  .gx-common-value-band article,
  .gx-craft-values article,
  .gx-care-groups article,
  .gx-scene-columns section,
  .gx-custom-facts > div {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-principle-list article {
    padding: 34px 20px;
  }

  .gx-principle-list h3,
  .gx-common-value-band h3,
  .gx-craft-values h3 {
    margin-top: 24px;
  }

  .gx-compare-head {
    display: none;
  }

  .gx-compare-band article {
    grid-template-columns: 1fr 1fr;
  }

  .gx-compare-band article p {
    grid-column: 1 / -1;
  }

  .gx-scene-list > article {
    padding: 28px 18px;
  }

  .gx-scene-columns section:last-child,
  .gx-lineage-band li:last-child,
  .gx-care-groups article:last-child {
    grid-column: auto;
  }

  .gx-practice-path li,
  .gx-practice-path li:nth-child(2),
  .gx-practice-path li:nth-child(3),
  .gx-practice-path li:nth-child(4) {
    width: 100%;
    min-height: auto;
    padding: 26px 20px;
    grid-template-columns: 36px 1fr;
  }

  .gx-product-service {
    padding-inline: 0;
  }

  .gx-quote-band > div {
    align-items: flex-start;
  }

  .gx-quote-band > div > span {
    flex: 0 0 auto;
  }

  .gx-quote-band p {
    font-size: 24px;
    text-align: left;
  }
}

/* Client feedback: community archive, verified testimonials and practice journals. */
.gx-editorial-page .gx-page-hero.gx-community-editorial-hero {
  grid-template-columns: 1fr;
}

.gx-community-directory,
.gx-testimonial-featured,
.gx-journal-band,
.gx-related-reading {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-community-directory {
  padding: 110px 0 130px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: clamp(54px, 7vw, 112px);
  align-items: start;
}

.gx-community-categories {
  position: sticky;
  top: 110px;
  padding-top: 18px;
  border-top: 1px solid rgba(110, 137, 114, .6);
}

.gx-community-categories > div {
  margin: 24px 0 40px;
  display: grid;
}

.gx-community-categories button {
  padding: 13px 0;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .23);
  background: transparent;
  color: var(--on-surface-variant);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.gx-community-categories button::before {
  content: "";
  width: 0;
  height: 1px;
  margin-right: 0;
  display: inline-block;
  vertical-align: middle;
  background: var(--zhusha);
  transition: width .2s ease, margin-right .2s ease;
}

.gx-community-categories button.is-active {
  color: var(--zhusha);
}

.gx-community-categories button.is-active::before {
  width: 24px;
  margin-right: 10px;
}

.gx-community-categories dl {
  display: grid;
  gap: 16px;
}

.gx-community-categories dl div {
  display: flex;
  gap: 12px;
  align-items: baseline;
}

.gx-community-categories dt {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 25px;
}

.gx-community-categories dd {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-community-stories {
  display: grid;
  gap: 58px;
}

.gx-community-stories > article {
  display: grid;
  grid-template-columns: minmax(230px, .82fr) 1.18fr;
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-community-stories > article[hidden] {
  display: none;
}

.gx-community-stories figure {
  min-height: 360px;
  margin: 0;
  background: #e9e4d7;
}

.gx-community-stories figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-community-stories article > div {
  padding: 40px 16px 32px 46px;
}

.gx-community-stories article > div > span,
.gx-testimonial-featured article span,
.gx-journal-feature span,
.gx-journal-list article > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-community-stories h2 {
  margin: 18px 0 20px;
  font-size: clamp(26px, 3vw, 38px);
}

.gx-community-stories h2 a {
  color: inherit;
}

.gx-community-stories p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-community-stories .meta-pills {
  margin-top: 24px;
}

.gx-text-link {
  margin-top: 28px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-community-empty {
  min-height: 300px;
  padding: clamp(42px, 7vw, 88px);
  display: grid;
  align-content: center;
  border-block: 1px solid rgba(110, 137, 114, .5);
  background: rgba(255, 253, 247, .44);
}

.gx-community-empty > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-community-empty h2 {
  margin: 18px 0;
  font-size: clamp(25px, 3vw, 38px);
}

.gx-community-empty p {
  max-width: 680px;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-community-gallery {
  padding: 112px max(32px, calc((100vw - var(--max)) / 2));
  background: var(--ink);
  color: #f5efe1;
}

.gx-community-gallery > header,
.gx-community-values > header,
.gx-testimonial-featured > header,
.gx-testimonial-notes > header,
.gx-journal-band > header,
.gx-related-reading > header {
  margin-bottom: 50px;
}

.gx-community-gallery h2,
.gx-community-values h2,
.gx-testimonial-featured h2,
.gx-testimonial-notes h2,
.gx-journal-band > header h2,
.gx-related-reading h2 {
  margin-top: 12px;
  font-size: clamp(30px, 4vw, 50px);
}

.gx-community-gallery h2 {
  color: #f5efe1;
}

.gx-community-gallery > div {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
  align-items: start;
}

.gx-community-gallery figure {
  grid-column: span 4;
  margin: 0;
}

.gx-community-gallery figure:nth-child(2),
.gx-community-gallery figure:nth-child(5) {
  margin-top: 70px;
}

.gx-community-gallery figure:nth-child(3n + 1) {
  grid-column: span 5;
}

.gx-community-gallery figure:nth-child(3n + 2) {
  grid-column: span 3;
}

.gx-community-gallery figure img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.gx-community-gallery figcaption {
  padding-top: 12px;
  color: rgba(245, 239, 225, .68);
  font-size: 10px;
}

.gx-gallery-open {
  width: 100%;
  padding: 0;
  color: inherit;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.gx-gallery-open .visual-placeholder {
  min-height: 280px;
  border-color: rgba(185, 202, 186, .28);
  color: rgba(245, 239, 225, .72);
  background: rgba(245, 239, 225, .04);
}

.gx-gallery-actions {
  margin-top: 44px;
  display: flex;
  gap: 24px;
  align-items: center;
}

.gx-gallery-actions button,
.gx-gallery-actions a,
.gx-community-gallery dialog button {
  padding: 9px 16px;
  color: #f5efe1;
  font: inherit;
  font-size: 12px;
  border: 1px solid rgba(185, 202, 186, .42);
  background: transparent;
}

.gx-gallery-actions button:disabled {
  opacity: .55;
}

.gx-community-gallery dialog {
  width: min(720px, calc(100vw - 48px));
  padding: 32px;
  color: var(--on-surface);
  border: 1px solid var(--outline-variant);
  background: var(--yase-paper);
}

.gx-community-gallery dialog::backdrop {
  background: rgba(23, 37, 46, .72);
}

.gx-community-gallery dialog .visual-placeholder {
  min-height: 360px;
  margin: 24px 0;
}

.gx-community-gallery dialog nav {
  display: flex;
  gap: 12px;
}

.gx-community-gallery dialog button {
  color: var(--primary);
  border-color: var(--outline-variant);
}

.gx-community-values {
  padding: 120px 0;
}

.gx-community-values > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-community-values article {
  min-height: 280px;
  padding: 34px 34px 40px 0;
  border-right: 1px solid rgba(110, 137, 114, .34);
}

.gx-community-values article + article {
  padding-left: 34px;
}

.gx-community-values article:last-child {
  border-right: 0;
}

.gx-community-values article span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 15px;
}

.gx-community-values h3 {
  margin: 64px 0 16px;
  font-size: 25px;
}

.gx-community-values article p,
.gx-community-cta > p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-community-cta {
  padding: 110px 32px 118px;
  background: #e9e2d2;
  text-align: center;
}

.gx-community-cta h2 {
  max-width: 820px;
  margin: 16px auto;
  font-size: clamp(30px, 4.5vw, 52px);
}

.gx-community-cta > p:not(.gx-eyebrow) {
  margin-bottom: 30px;
}

.gx-testimonial-featured,
.gx-journal-band {
  padding: 120px 0 132px;
}

.gx-testimonial-featured > header > p:last-child {
  max-width: 620px;
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-testimonial-featured > div {
  display: grid;
  gap: 70px;
}

.gx-testimonial-featured article {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) 1.15fr;
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-testimonial-featured article:nth-child(even) {
  grid-template-columns: 1.15fr minmax(320px, .85fr);
}

.gx-testimonial-featured article:nth-child(even) figure {
  order: 2;
}

.gx-testimonial-featured article figure {
  min-height: 440px;
  margin: 0;
}

.gx-testimonial-featured article figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-testimonial-featured article > div {
  padding: clamp(36px, 6vw, 76px);
}

.gx-testimonial-featured blockquote {
  margin: 30px 0 24px;
  font-family: var(--serif);
  font-size: clamp(22px, 2.7vw, 34px);
  line-height: 1.8;
}

.gx-testimonial-featured article p {
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-testimonial-featured article nav {
  margin-top: 30px;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.gx-testimonial-featured article nav a,
.gx-testimonial-notes article a,
.gx-journal-list article a {
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-community-featured-stories .gx-community-story-author {
  margin: 14px 0 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 16px;
}

.gx-community-featured-stories .meta-pills {
  margin-top: 14px;
}

.gx-community-featured-stories blockquote {
  font-size: clamp(18px, 2vw, 25px);
}

.gx-gallery-filters {
  margin: -18px 0 46px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
}

.gx-gallery-filters button {
  position: relative;
  padding: 5px 0 9px;
  border: 0;
  background: transparent;
  color: rgba(245, 239, 225, .58);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.gx-gallery-filters button::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--zhusha);
  opacity: 0;
}

.gx-gallery-filters button.is-active {
  color: #f5efe1;
}

.gx-gallery-filters button.is-active::after {
  opacity: 1;
}

.gx-gallery-filters button:focus-visible {
  outline: 1px solid rgba(196, 59, 44, .72);
  outline-offset: 5px;
}

.gx-community-gallery [data-gallery-subtitle] {
  color: rgba(245, 239, 225, .64);
  font-size: 13px;
}

.gx-community-gallery figure[hidden] {
  display: none;
}

.gx-gallery-empty {
  color: inherit;
}

.gx-community-gallery figcaption small {
  margin-top: 6px;
  display: block;
  color: rgba(245, 239, 225, .45);
}

.gx-community-gallery dialog [data-gallery-dialog-image] {
  width: 100%;
  max-height: 62vh;
  margin: 24px 0;
  display: block;
  object-fit: contain;
  background: rgba(110, 137, 114, .08);
}

.gx-community-gallery dialog [data-gallery-caption] {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-review-person {
  margin-top: 20px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.gx-review-person strong,
.gx-review-note-person strong {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 500;
}

.gx-review-rating {
  display: inline-flex;
  gap: 4px;
}

.gx-review-rating i {
  width: 6px;
  height: 6px;
  display: block;
  border: 1px solid rgba(196, 59, 44, .5);
  border-radius: 50%;
}

.gx-review-rating i.is-filled {
  background: var(--zhusha);
}

.gx-testimonial-notes {
  padding: 112px 0;
}

.gx-testimonial-notes > div {
  columns: 3 260px;
  column-gap: 28px;
}

.gx-testimonial-notes article {
  margin: 0 0 28px;
  padding: 28px;
  display: inline-block;
  break-inside: avoid;
  border-top: 1px solid rgba(110, 137, 114, .5);
  background: rgba(255, 253, 247, .42);
}

.gx-testimonial-notes article > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-testimonial-notes blockquote {
  margin: 22px 0;
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.8;
}

.gx-testimonial-notes article p {
  color: var(--on-surface-variant);
  font-size: 11px;
}

.gx-review-note-person {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: center;
}

.gx-review-note-person > :is(img, .visual-placeholder) {
  width: 54px;
  height: 54px;
  min-height: 0;
  border-radius: 50%;
  object-fit: cover;
}

.gx-review-note-person > div {
  display: grid;
  gap: 6px;
}

.gx-testimonial-notes details {
  margin: 24px 0 18px;
}

.gx-testimonial-notes summary {
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.8;
  cursor: pointer;
}

.gx-testimonial-notes details blockquote {
  margin: 18px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.9;
}

.gx-testimonial-notes article nav {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.gx-journal-feature {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  background: var(--ink);
  color: #f5efe1;
}

.gx-journal-feature figure {
  min-height: 560px;
  margin: 0;
}

.gx-journal-feature figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-journal-feature > div {
  padding: clamp(46px, 7vw, 90px);
  align-self: center;
}

.gx-journal-feature h2 {
  margin: 20px 0 30px;
  font-size: clamp(31px, 4vw, 50px);
}

.gx-journal-feature blockquote {
  margin: 0 0 26px;
  color: rgba(245, 239, 225, .8);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.9;
}

.gx-journal-feature p {
  color: rgba(245, 239, 225, .55);
  font-size: 11px;
}

.gx-journal-feature .gx-text-link {
  color: #d9c396;
}

.gx-journal-list {
  margin-top: 72px;
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-journal-list article {
  padding: 36px 0;
  display: grid;
  grid-template-columns: 130px 76px minmax(180px, .7fr) 1.3fr 150px 90px;
  gap: 24px;
  align-items: start;
  border-bottom: 1px solid rgba(110, 137, 114, .34);
}

.gx-journal-list article > figure {
  height: 96px;
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(110, 137, 114, .08);
}

.gx-journal-list article > figure :is(img, .visual-placeholder) {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.gx-journal-list article.gx-community-empty {
  grid-template-columns: 1fr;
}

.gx-journal-list h3,
.gx-journal-list p {
  margin: 0;
}

.gx-journal-list h3 {
  font-size: 21px;
}

.gx-journal-list p,
.gx-journal-list small {
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.8;
}

.gx-related-reading {
  padding: 100px 0 130px;
  border-top: 1px solid rgba(110, 137, 114, .36);
}

.gx-related-reading > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gx-related-reading a {
  position: relative;
  min-height: 380px;
  overflow: hidden;
}

.gx-related-reading a::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: rgba(24, 30, 31, .68);
}

.gx-related-reading img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.gx-related-reading a:hover img {
  transform: scale(1.025);
}

.gx-related-reading span {
  position: absolute;
  z-index: 1;
  left: 24px;
  right: 24px;
  bottom: 24px;
  color: white;
  font-family: var(--serif);
  font-size: 20px;
}

.gx-related-reading small {
  margin-bottom: 8px;
  display: block;
  color: #e4b5ad;
  font-family: var(--sans);
  font-size: 10px;
}

@media (max-width: 900px) {
  .gx-community-directory {
    grid-template-columns: 1fr;
  }

  .gx-community-categories {
    position: static;
  }

  .gx-community-categories > div {
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .gx-community-categories button {
    padding: 10px 14px;
    flex: 0 0 auto;
    border: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-community-categories dl {
    grid-template-columns: repeat(3, 1fr);
  }

  .gx-community-gallery figure,
  .gx-community-gallery figure:nth-child(3n + 1),
  .gx-community-gallery figure:nth-child(3n + 2) {
    grid-column: span 6;
  }

  .gx-community-gallery figure:nth-child(2),
  .gx-community-gallery figure:nth-child(5) {
    margin-top: 0;
  }

  .gx-testimonial-featured article,
  .gx-testimonial-featured article:nth-child(even),
  .gx-journal-feature {
    grid-template-columns: 1fr;
  }

  .gx-testimonial-featured article:nth-child(even) figure {
    order: 0;
  }

  .gx-journal-list article {
    grid-template-columns: 120px 70px 1fr;
  }

  .gx-journal-list article p,
  .gx-journal-list article small,
  .gx-journal-list article a {
    grid-column: 3;
  }

  .gx-journal-list article > figure {
    grid-row: span 4;
  }
}

@media (max-width: 560px) {
  .gx-community-directory,
  .gx-testimonial-featured,
  .gx-journal-band,
  .gx-related-reading {
    width: min(100% - 40px, var(--max));
  }

  .gx-community-directory,
  .gx-community-values,
  .gx-testimonial-featured,
  .gx-journal-band {
    padding-block: 78px;
  }

  .gx-community-stories > article {
    grid-template-columns: 1fr;
  }

  .gx-community-stories figure {
    min-height: 340px;
  }

  .gx-community-stories article > div {
    padding: 30px 4px;
  }

  .gx-community-gallery {
    padding: 78px 20px;
  }

  .gx-community-gallery figure,
  .gx-community-gallery figure:nth-child(3n + 1),
  .gx-community-gallery figure:nth-child(3n + 2) {
    grid-column: 1 / -1;
  }

  .gx-community-gallery figure img {
    aspect-ratio: 5 / 4;
  }

  .gx-community-values > div,
  .gx-related-reading > div {
    grid-template-columns: 1fr;
  }

  .gx-community-values article,
  .gx-community-values article + article {
    min-height: auto;
    padding: 28px 0 36px;
    border-right: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-community-values h3 {
    margin-top: 28px;
  }

  .gx-testimonial-featured article figure,
  .gx-journal-feature figure {
    min-height: 370px;
  }

  .gx-testimonial-featured article > div,
  .gx-journal-feature > div {
    padding: 36px 22px;
  }

  .gx-journal-list article {
    grid-template-columns: 1fr;
  }

  .gx-journal-list article > figure {
    height: 210px;
    grid-row: auto;
  }

  .gx-journal-list article p,
  .gx-journal-list article small,
  .gx-journal-list article a {
    grid-column: auto;
  }

  .gx-related-reading a {
    min-height: 310px;
  }
}

/* Client feedback: reading, listening and searchable knowledge pages. */
.gx-reading-featured,
.gx-media-library {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
  padding: 112px 0 130px;
}

.gx-reading-categories {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding: 28px 0;
  display: flex;
  gap: 36px;
  overflow-x: auto;
  border-block: 1px solid rgba(110, 137, 114, .35);
}

.gx-reading-categories a {
  flex: 0 0 auto;
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-reading-categories a.is-active {
  color: var(--zhusha);
}

.gx-reading-featured > header,
.gx-media-library > header {
  margin-bottom: 52px;
}

.gx-reading-featured > header h2,
.gx-media-library > header h2,
.gx-faq-popular > header h2 {
  margin-top: 12px;
  font-size: clamp(30px, 4vw, 50px);
}

.gx-reading-featured > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}

.gx-reading-featured article {
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-reading-featured article:nth-child(2) {
  margin-top: 92px;
}

.gx-reading-featured figure {
  height: 410px;
  margin: 0;
  overflow: hidden;
}

.gx-reading-featured figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-reading-featured article > div {
  padding: 30px 8px 0;
}

.gx-reading-featured article > div > span,
.gx-media-featured article > div > span,
.gx-media-grid article > div > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-reading-featured article h2 {
  margin: 17px 0;
  font-size: clamp(25px, 3vw, 37px);
  line-height: 1.35;
}

.gx-reading-featured article h2 a,
.gx-media-featured h2 a,
.gx-media-grid h3 a,
.gx-reading-index h3 a {
  color: inherit;
}

.gx-reading-featured article p,
.gx-media-featured article p,
.gx-media-grid article p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-reading-featured article small {
  display: block;
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-reading-index {
  padding: 104px 0 128px;
  border-top: 1px solid rgba(110, 137, 114, .35);
}

.gx-reading-index > header {
  margin-bottom: 54px;
}

.gx-reading-index > header h2 {
  margin-top: 12px;
  font-size: clamp(30px, 4vw, 48px);
}

.gx-reading-index > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 70px;
}

.gx-reading-index article {
  padding: 30px 0;
  display: grid;
  grid-template-columns: 42px 1fr 90px 24px;
  gap: 18px;
  align-items: start;
  border-top: 1px solid rgba(110, 137, 114, .42);
}

.gx-reading-index article > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-reading-index small,
.gx-reading-index time {
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-reading-index h3 {
  margin: 9px 0 12px;
  font-size: 21px;
}

.gx-reading-index p {
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.75;
}

.gx-reading-index article > a {
  color: var(--zhusha);
  font-size: 18px;
}

.gx-media-categories {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-media-featured {
  display: grid;
  gap: 42px;
}

.gx-media-featured article {
  display: grid;
  grid-template-columns: minmax(340px, 1.05fr) .95fr;
  min-height: 450px;
  border-top: 1px solid rgba(110, 137, 114, .52);
}

.gx-media-featured article:nth-child(even) {
  grid-template-columns: .95fr minmax(340px, 1.05fr);
}

.gx-media-featured article:nth-child(even) figure {
  order: 2;
}

.gx-media-featured figure,
.gx-media-grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #151d21;
}

.gx-media-featured figure img,
.gx-media-grid figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-media-featured article > div {
  padding: clamp(38px, 6vw, 76px);
  align-self: center;
}

.gx-media-featured h2 {
  margin: 18px 0 22px;
  font-size: clamp(28px, 4vw, 45px);
}

.gx-media-featured article small {
  display: block;
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-media-mark {
  position: absolute;
  left: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .75);
  background: rgba(22, 29, 32, .8);
  color: white;
  font-family: var(--serif);
  font-size: 17px;
}

.gx-media-mark.is-audio {
  border-radius: 50%;
  background: rgba(143, 37, 29, .88);
}

.gx-media-play {
  margin-top: 28px;
  padding: 0 0 8px;
  display: inline-block;
  border: 0;
  border-bottom: 1px solid var(--zhusha);
  background: transparent;
  color: var(--zhusha);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.gx-media-grid {
  margin-top: 90px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 58px 24px;
}

.gx-media-grid article {
  border-top: 1px solid rgba(110, 137, 114, .45);
}

.gx-media-grid figure {
  aspect-ratio: 4 / 3;
}

.gx-media-grid article > div {
  padding: 24px 4px 0;
}

.gx-media-grid h3 {
  margin: 13px 0;
  font-size: 22px;
}

.gx-media-grid article p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.gx-media-dock {
  position: fixed;
  z-index: 100;
  left: 50%;
  right: auto;
  bottom: 20px;
  width: min(calc(100% - 40px), 980px);
  min-height: 86px;
  padding: 14px 58px 14px 24px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: minmax(150px, .7fr) 1.3fr;
  gap: 24px;
  align-items: center;
  border: 1px solid rgba(223, 210, 182, .65);
  background: #172229;
  box-shadow: 0 14px 34px rgba(23, 26, 27, .25);
  color: white;
}

.gx-media-dock[hidden] {
  display: none;
}

.gx-media-dock > div span {
  display: block;
  color: #dba29a;
  font-size: 9px;
}

.gx-media-dock > div strong {
  font-family: var(--serif);
  font-size: 17px;
}

.gx-media-dock audio,
.gx-media-dock video {
  width: 100%;
  max-height: 58px;
}

.gx-media-dock > button {
  position: absolute;
  top: 14px;
  right: 16px;
  border: 0;
  background: transparent;
  color: white;
  font-size: 23px;
  cursor: pointer;
}

.gx-faq-search {
  padding: 68px 32px;
  background: var(--ink);
  color: white;
}

.gx-faq-search form {
  width: min(100%, 840px);
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

.gx-faq-search label {
  display: block;
  font-family: var(--serif);
  font-size: clamp(24px, 3vw, 36px);
  text-align: center;
}

.gx-faq-search form > div {
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr 110px;
}

.gx-faq-search input {
  min-width: 0;
  height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(245, 239, 225, .4);
  border-right: 0;
  background: rgba(255, 255, 255, .05);
  color: white;
  font: inherit;
}

.gx-faq-search button {
  border: 1px solid var(--zhusha);
  background: var(--zhusha);
  color: white;
  font: inherit;
  cursor: pointer;
}

.gx-faq-search form > p {
  margin-top: 12px;
  color: rgba(255, 255, 255, .56);
  font-size: 10px;
  text-align: center;
}

.gx-faq-popular {
  padding: 112px 0;
}

.gx-faq-popular > div,
.gx-faq-groups section {
  border-top: 1px solid rgba(110, 137, 114, .55);
}

.gx-faq-popular details,
.gx-faq-groups details {
  border-bottom: 1px solid rgba(110, 137, 114, .36);
}

.gx-faq-popular details[hidden],
.gx-faq-groups details[hidden],
.gx-faq-groups section[hidden] {
  display: none;
}

.gx-faq-popular summary,
.gx-faq-groups summary {
  min-height: 94px;
  padding: 24px 0;
  display: grid;
  grid-template-columns: 58px 1fr 26px;
  gap: 20px;
  align-items: center;
  list-style: none;
  cursor: pointer;
}

.gx-faq-groups summary {
  grid-template-columns: 1fr 26px;
}

.gx-faq-popular summary::-webkit-details-marker,
.gx-faq-groups summary::-webkit-details-marker {
  display: none;
}

.gx-faq-popular summary span {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-faq-popular summary strong,
.gx-faq-groups summary strong {
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
}

.gx-faq-popular summary i,
.gx-faq-groups summary i {
  width: 16px;
  height: 16px;
  position: relative;
}

.gx-faq-popular summary i::before,
.gx-faq-popular summary i::after,
.gx-faq-groups summary i::before,
.gx-faq-groups summary i::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 1px;
  background: var(--zhusha);
}

.gx-faq-popular summary i::after,
.gx-faq-groups summary i::after {
  transform: rotate(90deg);
  transition: transform .2s ease;
}

.gx-faq-popular details[open] summary i::after,
.gx-faq-groups details[open] summary i::after {
  transform: rotate(0);
}

.gx-faq-popular details > div,
.gx-faq-groups details > div {
  max-width: 820px;
  padding: 0 42px 30px 78px;
}

.gx-faq-groups details > div {
  padding-left: 0;
}

.gx-faq-popular details p,
.gx-faq-groups details p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-faq-popular details a,
.gx-faq-groups details a {
  margin-top: 14px;
  display: inline-block;
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-faq-directory {
  padding: 104px 0 132px;
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: clamp(60px, 8vw, 120px);
  border-top: 1px solid rgba(110, 137, 114, .35);
}

.gx-faq-directory aside {
  position: sticky;
  top: 110px;
  align-self: start;
}

.gx-faq-directory nav {
  margin-top: 28px;
  display: grid;
}

.gx-faq-directory nav button {
  padding: 13px 0;
  display: flex;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .25);
  background: transparent;
  color: var(--on-surface-variant);
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}

.gx-faq-directory nav button.is-active {
  color: var(--zhusha);
}

.gx-faq-directory nav button span {
  font-size: 9px;
}

.gx-faq-groups {
  display: grid;
  gap: 72px;
}

.gx-faq-groups section > h2 {
  margin: 0 0 24px;
  padding-top: 24px;
  color: var(--zhusha);
  font-size: 14px;
}

@media (max-width: 900px) {
  .gx-reading-index > div,
  .gx-media-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-media-featured article,
  .gx-media-featured article:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .gx-media-featured article:nth-child(even) figure {
    order: 0;
  }

  .gx-media-featured figure {
    min-height: 440px;
  }

  .gx-faq-directory {
    grid-template-columns: 1fr;
  }

  .gx-faq-directory aside {
    position: static;
  }

  .gx-faq-directory nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
  }

  .gx-faq-directory nav button {
    padding: 10px 14px;
    gap: 10px;
    flex: 0 0 auto;
    border: 1px solid rgba(110, 137, 114, .3);
  }
}

@media (max-width: 560px) {
  .gx-reading-featured,
  .gx-media-library {
    width: min(100% - 40px, var(--max));
    padding-block: 78px;
  }

  .gx-reading-categories,
  .gx-media-categories {
    width: min(100% - 40px, var(--max));
  }

  .gx-reading-featured > div,
  .gx-reading-index > div,
  .gx-media-grid {
    grid-template-columns: 1fr;
  }

  .gx-reading-featured article:nth-child(2) {
    margin-top: 20px;
  }

  .gx-reading-featured figure {
    height: 320px;
  }

  .gx-reading-index {
    padding-block: 78px;
  }

  .gx-reading-index article {
    grid-template-columns: 34px 1fr 22px;
  }

  .gx-reading-index time {
    display: none;
  }

  .gx-media-featured figure {
    min-height: 330px;
  }

  .gx-media-featured article > div {
    padding: 32px 4px 52px;
  }

  .gx-media-dock {
    bottom: 10px;
    padding: 14px 48px 14px 16px;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .gx-faq-search {
    padding-inline: 20px;
  }

  .gx-faq-search form > div {
    grid-template-columns: 1fr 78px;
  }

  .gx-faq-popular,
  .gx-faq-directory {
    padding-block: 78px;
  }

  .gx-faq-popular summary {
    grid-template-columns: 34px 1fr 20px;
    gap: 10px;
  }

  .gx-faq-popular details > div,
  .gx-faq-groups details > div {
    padding: 0 4px 28px 44px;
  }

  .gx-faq-groups details > div {
    padding-left: 0;
  }
}

/* Client feedback: brand story, founder, faculty, venue and visit conversion. */
.gx-module-title {
  margin-bottom: 50px;
  display: grid;
  justify-items: center;
  gap: 13px;
  text-align: center;
}

.gx-module-title > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
  font-size: 14px;
}

.gx-module-title h2 {
  margin: 0;
  font-size: clamp(27px, 3.4vw, 40px);
}

.gx-module-title::after {
  content: "";
  width: 60px;
  height: 1px;
  background: var(--zhusha);
}

.gx-about-values,
.gx-about-business {
  padding: 116px 0;
}

.gx-about-values > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gx-about-values article {
  min-height: 320px;
  padding: 46px 32px;
  display: grid;
  align-content: center;
  justify-items: center;
  background: #f3eddf;
  text-align: center;
  transition: transform .22s ease, box-shadow .22s ease;
}

.gx-about-values article:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(52, 47, 39, .08);
}

.gx-about-values article i,
.gx-about-business a > i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(38, 38, 38, .42);
  border-radius: 50%;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16px;
  font-style: normal;
}

.gx-about-values h3,
.gx-about-business h3 {
  margin: 26px 0 14px;
  font-size: 22px;
}

.gx-about-values p,
.gx-about-business p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-about-managed {
  max-width: 820px;
  padding-bottom: 100px;
}

.gx-about-history {
  padding: 112px max(32px, calc((100vw - var(--max)) / 2));
  background: var(--ink);
  color: #f7f0df;
}

.gx-about-history ol {
  width: min(100%, 860px);
  margin: 0 auto;
  padding: 16px 0;
  position: relative;
  list-style: none;
}

.gx-about-history ol::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(247, 240, 223, .35);
}

.gx-about-history li {
  width: 50%;
  min-height: 190px;
  padding: 28px 54px 28px 0;
  position: relative;
  text-align: right;
}

.gx-about-history li:nth-child(even) {
  margin-left: 50%;
  padding: 28px 0 28px 54px;
  text-align: left;
}

.gx-about-history li > i {
  position: absolute;
  top: 34px;
  right: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--zhusha);
}

.gx-about-history li:nth-child(even) > i {
  right: auto;
  left: -5px;
}

.gx-about-history time {
  color: #e6a79f;
  font-family: var(--serif);
  font-size: 22px;
}

.gx-about-history h3 {
  margin: 9px 0;
  font-size: 20px;
}

.gx-about-history li p {
  color: rgba(247, 240, 223, .68);
  font-size: 12px;
  line-height: 1.85;
}

.gx-about-business > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gx-about-business a {
  padding: 28px 28px 34px;
  color: inherit;
  text-align: center;
  transition: transform .2s ease;
}

.gx-about-business a:hover {
  transform: translateY(-2px);
}

.gx-about-business a > i {
  margin: auto;
}

.gx-about-business a > span {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-about-vision {
  padding: 122px max(20%, 32px);
  background: #eee6d5;
  text-align: center;
}

.gx-about-vision > p {
  max-width: 820px;
  margin: auto;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 2.05;
}

.gx-about-vision > p::first-letter {
  color: var(--zhusha);
  font-size: 42px;
}

.gx-founder-identity {
  padding: 88px 0;
  display: grid;
  grid-template-columns: .65fr 1fr .8fr;
  gap: 50px;
  align-items: center;
  border-bottom: 1px solid rgba(110, 137, 114, .4);
}

.gx-founder-identity h2 {
  margin: 12px 0 5px;
  font-size: clamp(38px, 5vw, 60px);
}

.gx-founder-identity > div > p:last-child,
.gx-founder-identity li {
  color: var(--on-surface-variant);
  font-size: 12px;
}

.gx-founder-identity ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gx-founder-identity li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(110, 137, 114, .25);
}

.gx-founder-identity blockquote {
  margin: 0;
  padding-left: 26px;
  border-left: 2px solid var(--zhusha);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.8;
}

.gx-founder-page .gx-founder-profile {
  width: min(100% - 64px, var(--max));
  margin: auto;
  padding: 112px 0;
}

.gx-founder-teachings {
  padding: 112px 0;
}

.gx-founder-teachings > header,
.gx-founder-story > div,
.gx-teaching-code > header,
.gx-teacher-roster > header {
  margin-bottom: 52px;
}

.gx-founder-teachings > header h2,
.gx-founder-story h2,
.gx-teaching-code > header h2,
.gx-teacher-roster > header h2 {
  margin-top: 12px;
  font-size: clamp(30px, 4vw, 48px);
}

.gx-founder-teachings > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-founder-teachings article {
  min-height: 300px;
  padding: 30px 28px 40px;
  border-right: 1px solid rgba(110, 137, 114, .3);
}

.gx-founder-teachings article:last-child {
  border-right: 0;
}

.gx-founder-teachings article span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-founder-teachings h3 {
  margin: 64px 0 15px;
  font-size: 22px;
}

.gx-founder-teachings article p,
.gx-founder-story article p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-founder-story {
  padding: 112px max(32px, calc((100vw - var(--max)) / 2));
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 100px;
  background: #eee6d5;
}

.gx-founder-story article p:first-child::first-letter {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 42px;
}

.gx-teaching-code {
  padding: 112px 0;
}

.gx-teaching-code > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-block: 1px solid rgba(110, 137, 114, .42);
}

.gx-teaching-code article {
  min-height: 230px;
  padding: 38px;
  text-align: center;
  border-right: 1px solid rgba(110, 137, 114, .32);
}

.gx-teaching-code article:last-child {
  border-right: 0;
}

.gx-teaching-code article > span {
  width: 38px;
  height: 38px;
  margin: auto;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
}

.gx-teaching-code h3 {
  margin: 26px 0 10px;
  font-size: 23px;
}

.gx-teaching-code article p,
.gx-teacher-roster > header > p:last-child {
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.8;
}

.gx-teacher-roster {
  padding: 112px max(32px, calc((100vw - var(--max)) / 2));
}

.gx-resident-roster {
  background: var(--ink);
  color: #f6efdf;
}

.gx-resident-roster > header > p:last-child {
  color: rgba(246, 239, 223, .62);
}

.gx-teacher-roster > header > p:last-child {
  max-width: 680px;
}

.gx-teacher-roster > div {
  display: grid;
  gap: 30px;
}

.gx-resident-roster > div {
  grid-template-columns: repeat(2, 1fr);
}

.gx-guest-roster > div {
  grid-template-columns: repeat(3, 1fr);
}

.gx-teacher-roster article {
  border-top: 1px solid rgba(110, 137, 114, .5);
}

.gx-teacher-roster figure {
  height: 440px;
  margin: 0;
  overflow: hidden;
}

.gx-guest-roster figure {
  height: 340px;
}

.gx-teacher-roster figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-teacher-roster article > div {
  padding: 28px 6px 38px;
}

.gx-teacher-roster article > div > span {
  color: var(--zhusha);
  font-size: 10px;
}

.gx-teacher-roster h3 {
  margin: 14px 0;
  font-size: 28px;
}

.gx-teacher-roster h3 a {
  color: inherit;
}

.gx-teacher-roster ul {
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  list-style: none;
}

.gx-teacher-roster li {
  padding: 5px 9px;
  border: 1px solid rgba(110, 137, 114, .36);
  font-size: 9px;
}

.gx-teacher-roster article p {
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.85;
}

.gx-resident-roster article p {
  color: rgba(246, 239, 223, .64);
}

.gx-resident-roster .gx-text-link {
  color: #d6c394;
}

.gx-space-viewer {
  padding: 112px 0 130px;
}

.gx-space-viewer > header {
  margin-bottom: 48px;
  text-align: center;
}

.gx-space-viewer > header h2 {
  margin-top: 12px;
  font-size: clamp(32px, 4vw, 50px);
}

.gx-space-viewer > nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.gx-space-viewer > nav button {
  min-height: 54px;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .4);
  background: transparent;
  color: var(--on-surface-variant);
  font: inherit;
  cursor: pointer;
}

.gx-space-viewer > nav button.is-active {
  background: var(--zhusha);
  color: white;
}

.gx-space-stage figure {
  position: relative;
  height: min(66vw, 720px);
  margin: 0;
}

.gx-space-stage figure[hidden] {
  display: none;
}

.gx-space-stage figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-space-stage figcaption {
  position: absolute;
  right: 26px;
  bottom: 26px;
  max-width: 360px;
  padding: 22px 26px;
  background: rgba(22, 29, 32, .86);
  color: white;
}

.gx-space-stage figcaption span {
  color: #e5aaa2;
  font-size: 10px;
}

.gx-space-stage figcaption p {
  margin: 8px 0 0;
  font-family: var(--serif);
  font-size: 18px;
}

.gx-space-philosophy {
  padding: 52px;
  display: grid;
  grid-template-columns: .4fr 1.6fr;
  gap: 50px;
  background: #eee8da;
}

.gx-space-philosophy h3 {
  margin: 0;
  font-size: 24px;
}

.gx-space-philosophy p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.95;
}

.gx-location,
.gx-contact-cards,
.gx-visit-booking,
.gx-visit-notes {
  padding-top: 112px;
}

.gx-location > header,
.gx-visit-notes > header {
  margin-bottom: 28px;
}

.gx-location > header h2,
.gx-visit-booking h2,
.gx-visit-notes h2 {
  margin-top: 10px;
  font-size: clamp(28px, 4vw, 44px);
}

.gx-location-map {
  position: relative;
  height: 480px;
  overflow: hidden;
  border: 1px solid rgba(38, 38, 38, .15);
  border-radius: 8px;
  background-color: #ebe7dc;
}

.gx-location-map .road {
  position: absolute;
  z-index: 1;
  padding: 6px 12px;
  background: #f8f4ea;
  color: #66685f;
  font-size: 11px;
}

.gx-location-map .road-main {
  top: 48%;
  left: 0;
  right: 0;
  border-block: 8px solid #ded9cc;
  text-align: center;
}

.gx-location-map .road-north {
  top: 0;
  bottom: 47%;
  left: 27%;
  width: 52px;
  padding-top: 80px;
  border-inline: 6px solid #ded9cc;
  writing-mode: vertical-rl;
}

.gx-location-map .road-south {
  top: 54%;
  bottom: 0;
  right: 20%;
  width: 52px;
  padding-top: 60px;
  border-inline: 6px solid #ded9cc;
  writing-mode: vertical-rl;
}

.gx-location-map .landmark {
  position: absolute;
  color: #676a65;
  font-size: 10px;
}

.gx-location-map .station { left: 8%; bottom: 12%; }
.gx-location-map .post { right: 10%; top: 20%; }
.gx-location-map .cafe { left: 8%; top: 17%; }

.gx-location-pin {
  position: absolute;
  z-index: 3;
  top: 32%;
  left: 58%;
  width: 190px;
  padding: 18px;
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 12px;
  background: var(--ink);
  color: white;
  box-shadow: 0 10px 26px rgba(33, 31, 28, .18);
}

.gx-location-pin i {
  grid-row: 1 / 3;
  width: 38px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid #dca49b;
  color: #dca49b;
  font-family: var(--serif);
  font-style: normal;
}

.gx-location-pin strong {
  font-family: var(--serif);
  font-size: 18px;
}

.gx-location-pin small {
  color: rgba(255, 255, 255, .56);
  font-size: 8px;
}

.gx-location-map > nav {
  position: absolute;
  z-index: 4;
  right: 20px;
  bottom: 20px;
  display: flex;
  gap: 8px;
}

.gx-location-map > nav a {
  padding: 12px 18px;
  border-radius: 4px;
  background: var(--zhusha);
  color: white;
  font-size: 12px;
}

.gx-route-details {
  border-bottom: 1px solid rgba(110, 137, 114, .4);
}

.gx-route-details summary {
  padding: 18px 4px;
  color: var(--zhusha);
  font-size: 12px;
  cursor: pointer;
}

.gx-route-details > div {
  padding: 8px 4px 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.gx-route-details p {
  color: var(--on-surface-variant);
  font-size: 11px;
  line-height: 1.8;
}

.gx-route-details strong {
  display: block;
  color: var(--ink);
}

.gx-contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.gx-contact-cards article {
  min-height: 310px;
  padding: 26px;
  border: 1px solid rgba(38, 38, 38, .1);
  border-radius: 8px;
  background: rgba(255, 255, 255, .58);
  transition: transform .2s ease, box-shadow .2s ease;
}

.gx-contact-cards article:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 25px rgba(50, 45, 37, .07);
}

.gx-contact-cards header {
  display: flex;
  gap: 12px;
  align-items: center;
}

.gx-contact-cards header span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
}

.gx-contact-cards h2 {
  margin: 0;
  font-size: 17px;
}

.gx-contact-cards article > p {
  margin: 30px 0 15px;
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.7;
}

.gx-contact-cards em {
  color: var(--zhusha);
  font-style: normal;
}

.gx-contact-cards article > small,
.gx-visit-booking > div > small {
  color: var(--on-surface-variant);
  font-size: 10px;
  line-height: 1.7;
}

.gx-qr-placeholder {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  align-items: center;
}

.gx-qr-placeholder img {
  width: 60px;
  height: 60px;
  padding: 8px;
  border: 1px solid rgba(38, 38, 38, .18);
  object-fit: contain;
  filter: grayscale(1);
}

.gx-qr-placeholder span {
  color: var(--on-surface-variant);
  font-size: 9px;
}

.gx-visit-booking {
  padding-bottom: 112px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(60px, 9vw, 130px);
  align-items: start;
}

.gx-visit-booking > div > p:not(.gx-eyebrow) {
  margin: 24px 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-visit-booking form {
  padding-top: 12px;
}

.gx-visit-booking .field {
  margin-bottom: 24px;
}

.gx-visit-booking .field label {
  display: block;
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-visit-booking input,
.gx-visit-booking select,
.gx-visit-booking textarea {
  width: 100%;
  min-height: 50px;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid rgba(38, 38, 38, .4);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
}

.gx-visit-booking textarea {
  min-height: 110px;
  resize: vertical;
}

.gx-visit-booking input:focus,
.gx-visit-booking select:focus,
.gx-visit-booking textarea:focus {
  border-bottom-color: var(--zhusha);
}

.gx-booking-time {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.gx-visit-booking .privacy-check {
  margin: 12px 0 24px;
  display: flex;
  gap: 10px;
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-visit-booking .privacy-check input {
  width: 15px;
  min-height: auto;
}

.gx-visit-notes {
  margin-bottom: 120px;
  padding: 58px;
  border: 1px dashed rgba(38, 38, 38, .2);
  border-radius: 8px;
  background: #f2ebdc;
}

.gx-visit-notes ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px 50px;
  list-style: none;
}

.gx-visit-notes li {
  padding-left: 20px;
  position: relative;
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.8;
}

.gx-visit-notes li::before {
  content: "";
  position: absolute;
  top: .75em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--zhusha);
}

@media (max-width: 900px) {
  .gx-about-business > div,
  .gx-founder-teachings > div,
  .gx-contact-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-founder-identity,
  .gx-founder-story,
  .gx-visit-booking {
    grid-template-columns: 1fr;
  }

  .gx-founder-identity blockquote {
    max-width: 520px;
  }

  .gx-founder-teachings article:nth-child(2) {
    border-right: 0;
  }

  .gx-founder-teachings article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-guest-roster > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-space-philosophy {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .gx-route-details > div {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 560px) {
  .gx-about-values,
  .gx-about-business,
  .gx-founder-identity,
  .gx-founder-teachings,
  .gx-teaching-code,
  .gx-space-viewer,
  .gx-location,
  .gx-contact-cards,
  .gx-visit-booking {
    padding-block: 78px;
  }

  .gx-about-values > div,
  .gx-about-business > div,
  .gx-founder-teachings > div,
  .gx-teaching-code > div,
  .gx-resident-roster > div,
  .gx-guest-roster > div,
  .gx-contact-cards,
  .gx-visit-notes ul {
    grid-template-columns: 1fr;
  }

  .gx-about-values article {
    min-height: 270px;
  }

  .gx-about-history,
  .gx-founder-story,
  .gx-teacher-roster {
    padding: 78px 20px;
  }

  .gx-about-history .gx-module-title {
    color: #f7f0df;
  }

  .gx-about-history ol::before {
    left: 5px;
  }

  .gx-about-history li,
  .gx-about-history li:nth-child(even) {
    width: 100%;
    min-height: 160px;
    margin-left: 0;
    padding: 24px 0 24px 38px;
    text-align: left;
  }

  .gx-about-history li > i,
  .gx-about-history li:nth-child(even) > i {
    top: 31px;
    right: auto;
    left: 0;
  }

  .gx-about-vision {
    padding: 82px 24px;
  }

  .gx-founder-page .gx-founder-profile {
    width: min(100% - 40px, var(--max));
    padding-block: 78px;
  }

  .gx-founder-teachings article,
  .gx-founder-teachings article:last-child {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-founder-teachings h3 {
    margin-top: 30px;
  }

  .gx-teaching-code article {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(110, 137, 114, .3);
  }

  .gx-teacher-roster figure,
  .gx-guest-roster figure {
    height: 370px;
  }

  .gx-space-viewer > nav {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-space-stage figure {
    height: 440px;
  }

  .gx-space-stage figcaption {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .gx-space-philosophy {
    padding: 30px 22px;
  }

  .gx-location-map {
    height: 360px;
  }

  .gx-location-map .road-north {
    left: 16%;
  }

  .gx-location-map .road-south {
    right: 10%;
  }

  .gx-location-map .landmark {
    display: none;
  }

  .gx-location-pin {
    top: 25%;
    left: 34%;
    width: 180px;
  }

  .gx-location-map > nav {
    right: 12px;
    bottom: 12px;
  }

  .gx-location-map > nav a {
    padding: 10px 13px;
  }

  .gx-contact-cards article {
    min-height: 260px;
  }

  .gx-booking-time {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .gx-visit-notes {
    margin-bottom: 78px;
    padding: 34px 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* 2026-08 client baseline: restrained paper, real objects, seals and hairlines only. */
body::before {
  content: none;
}

.nav {
  background: #f5efe2;
  border-bottom-color: #b9caba;
  backdrop-filter: none;
}

.nav-submenu {
  background: #f5efe2;
  border-color: #b9caba;
  box-shadow: 0 8px 20px rgba(38, 38, 38, .05);
}

.nav-action {
  min-height: 40px;
  border: 1px solid var(--zhusha);
  border-radius: 6px;
  background: transparent;
  color: var(--zhusha);
}

.nav-action:hover,
.nav-action:focus-visible {
  border-color: var(--zhusha);
  background: rgba(196, 59, 44, .06);
  color: var(--zhusha);
}

.gx-secondary-link {
  min-height: 46px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #262626;
  border-radius: 6px;
  color: #262626;
  font-size: 13px;
}

.gx-inline-seal {
  width: 25px;
  height: 25px;
  margin-right: 9px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: 0;
  vertical-align: middle;
}

.gx-home-philosophy {
  max-width: 560px;
  margin-top: 26px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 13px;
  line-height: 1.8;
}

.gx-home-philosophy > span {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--zhusha);
}

.gx-home-stats {
  margin-top: 0;
  background: #f5efe2;
  color: #262626;
}

.gx-home-stat-grid {
  width: min(100% - 64px, var(--max));
  padding: 58px 0;
  gap: clamp(24px, 4vw, 70px);
}

.gx-home-stat-grid article {
  min-height: 132px;
  padding: 0;
  display: block;
  border: 0;
  text-align: center;
}

.gx-home-stat-grid strong {
  color: var(--zhusha);
  font-size: clamp(40px, 4vw, 58px);
}

.gx-home-stat-grid h2 {
  margin-top: 14px;
  color: #262626;
  font-size: 18px;
}

.gx-home-stat-grid p {
  max-width: 240px;
  margin: 8px auto 0;
  color: #666;
  font-size: 12px;
}

.gx-home-intro {
  min-height: 760px;
  grid-template-columns: 1.22fr 1fr;
  gap: clamp(56px, 8vw, 112px);
}

.gx-home-intro-gallery {
  min-height: 560px;
  display: block;
}

.gx-home-intro-gallery figure,
.gx-home-intro-gallery figure.is-main {
  height: 560px;
  border: 1px solid #b9caba;
  border-radius: 6px;
  overflow: hidden;
}

.gx-home-paths {
  background: rgba(255, 255, 255, .18);
}

.gx-home-path-grid {
  gap: 40px;
  border: 0;
}

.gx-home-path-grid article,
.gx-home-path-grid article:last-child {
  min-height: 410px;
  padding: 46px 38px;
  border: 1px solid #b9caba;
  border-radius: 6px;
  background: transparent;
}

.gx-path-index {
  width: 42px;
  height: 42px;
  margin-bottom: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-size: 18px;
}

.gx-home-path-grid h3 {
  min-height: 2.8em;
  margin: 12px 0 22px;
  font-size: clamp(27px, 2.6vw, 38px);
  line-height: 1.4;
}

.gx-home-founder {
  grid-template-columns: .8fr 1.2fr;
}

.gx-home-founder blockquote {
  display: none;
}

.gx-home-products {
  background: #f5efe2;
  color: #262626;
}

.gx-home-products .gx-text-link {
  color: #3e5144;
}

.gx-home-section-header > div > p:last-child {
  max-width: 660px;
  margin-top: 15px;
  color: #666;
  font-size: 14px;
}

.gx-home-product-grid article:nth-child(even) {
  padding-top: 0;
}

.gx-product-image {
  height: 510px;
  border: 1px solid rgba(185, 202, 186, .8);
  border-radius: 4px;
  background: #eee7da;
}

.gx-product-image img {
  object-fit: cover;
}

.gx-product-copy {
  border-top: 0;
}

.gx-product-copy h3 {
  color: #262626;
  font-size: 24px;
}

.gx-home-course-heading {
  max-width: 720px;
  margin: 0 0 64px;
}

.gx-home-course-heading h2 {
  margin: 0 0 18px;
  font-size: clamp(38px, 4.4vw, 60px);
}

.gx-home-course-heading > p:last-child {
  color: #666;
  font-size: 15px;
  line-height: 1.9;
}

.gx-home-course-grid {
  border-top: 0;
}

.gx-home-course-grid article,
.gx-home-course-grid article:first-child {
  min-height: 430px;
  padding-top: 20px;
  border: 0;
  border-right: 1px solid #b9caba;
}

.gx-home-course-grid article:last-child {
  border-right: 0;
}

.gx-home-course-more {
  margin-top: 42px;
  display: inline-block;
  color: var(--zhusha);
  font-size: 13px;
}

.gx-home-articles {
  background: rgba(255, 255, 255, .18);
}

.gx-home-article-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.gx-home-article-grid article,
.gx-home-article-grid article.is-featured {
  min-height: 280px;
  padding: 32px;
  border: 1px solid #b9caba;
  border-radius: 6px;
}

.gx-home-article-grid article > p {
  color: var(--zhusha);
  font-size: 11px;
}

.gx-home-article-grid h3 {
  margin: 18px 0 15px;
  font-size: clamp(24px, 2.6vw, 34px);
}

.gx-home-article-grid article > span {
  display: block;
  color: #666;
  font-size: 14px;
  line-height: 1.8;
}

.gx-home-article-grid article > a:last-child {
  margin-top: 26px;
  display: inline-block;
  color: var(--zhusha);
  font-size: 13px;
}

.gx-home-faq {
  min-height: 720px;
  grid-template-columns: .7fr 1.3fr;
}

.gx-home-faq-list article {
  padding: 26px 4px 28px;
  border-bottom: 1px solid #b9caba;
}

.gx-home-faq-list article:first-child {
  border-top: 1px solid #b9caba;
}

.gx-home-faq-list h3 {
  margin: 0 0 12px;
  display: grid;
  grid-template-columns: 40px 1fr;
  color: #262626;
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 500;
}

.gx-home-faq-list h3 span {
  color: var(--zhusha);
  font-family: var(--sans);
  font-size: 11px;
}

.gx-home-faq-list article p {
  margin-left: 40px;
  color: #666;
  font-size: 14px;
  line-height: 1.9;
}

.gx-home-visit {
  width: min(100% - 64px, var(--max));
  min-height: 650px;
  margin: 0 auto 120px;
  grid-template-columns: .82fr 1fr;
  gap: clamp(52px, 7vw, 96px);
  background: transparent;
}

.gx-home-visit-copy {
  padding: 70px 0;
  color: #262626;
}

.gx-home-visit-copy h2 {
  color: #262626;
}

.gx-home-visit-copy > p:not(.gx-eyebrow),
.gx-home-visit dt,
.gx-home-visit dd {
  color: #666;
}

.gx-home-visit dl {
  border-top: 0;
}

.gx-home-visit dl > div {
  padding: 14px 0;
  grid-template-columns: 88px 1fr;
  border-bottom: 0;
}

.gx-home-visit dt {
  font-family: var(--serif);
  font-size: 14px;
}

.gx-home-map {
  position: relative;
  min-height: 520px;
  margin: 65px 0;
  overflow: hidden;
  border: 1px solid #b9caba;
  border-radius: 6px;
  background: #eee8dc;
}

.gx-map-road {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(38, 38, 38, .18);
  background: rgba(245, 239, 226, .86);
  color: #666;
  font-size: 11px;
}

.gx-map-road.is-main {
  top: 48%;
  right: -4%;
  left: -4%;
  height: 64px;
}

.gx-map-road.is-cross {
  top: -8%;
  bottom: -8%;
  left: 24%;
  width: 56px;
  writing-mode: vertical-rl;
}

.gx-map-station {
  position: absolute;
  top: 16%;
  right: 14%;
  color: #666;
  font-size: 11px;
}

.gx-map-pin {
  position: absolute;
  z-index: 2;
  top: 34%;
  left: 45%;
  padding: 12px 18px 12px 50px;
  background: #f5efe2;
  border: 1px solid var(--zhusha);
  color: #262626;
}

.gx-map-pin i {
  position: absolute;
  top: -16px;
  left: 12px;
  width: 27px;
  height: 74px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
  font-style: normal;
}

.gx-map-pin strong,
.gx-map-pin small {
  display: block;
}

.gx-map-pin small {
  color: #666;
  font-size: 9px;
}

.gx-home-map nav {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: flex;
  gap: 8px;
}

.gx-home-map nav a {
  padding: 8px 12px;
  border: 1px solid #b9caba;
  background: #f5efe2;
  color: #262626;
  font-size: 11px;
}

/* Product catalogue: category first, named products second. */
.gx-catalog-hero {
  padding: 90px 0 110px;
  text-align: center;
}

.gx-catalog-hero .crumb {
  text-align: left;
}

.gx-catalog-hero .gx-eyebrow {
  margin-top: 70px;
}

.gx-catalog-hero h1 {
  margin: 20px 0;
  font-size: clamp(52px, 7vw, 90px);
}

.gx-catalog-hero > p:not(.gx-eyebrow) {
  max-width: 680px;
  margin: 0 auto;
  color: #666;
  font-size: 15px;
}

.gx-catalog-hero > .gx-catalog-subtitle {
  margin-bottom: 10px;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 20px;
}

.gx-catalog-hero nav {
  margin-top: 52px;
  display: flex;
  justify-content: center;
  gap: clamp(30px, 6vw, 86px);
}

.gx-catalog-hero nav a {
  padding-bottom: 7px;
  border-bottom: 1px solid transparent;
  font-family: var(--serif);
  font-size: 17px;
}

.gx-catalog-hero nav a:hover,
.gx-catalog-hero nav a:focus-visible {
  color: var(--zhusha);
  border-color: var(--zhusha);
}

.gx-nanxiao-collection {
  padding: 90px 0 130px;
  border-top: 1px solid #b9caba;
}

.gx-catalog-heading {
  margin-bottom: 70px;
  display: grid;
  grid-template-columns: 1fr .72fr;
  gap: 70px;
  align-items: end;
}

.gx-catalog-heading h2 {
  margin: 0;
  font-size: clamp(38px, 4.4vw, 58px);
}

.gx-catalog-heading > p {
  color: #666;
  font-size: 14px;
  line-height: 1.9;
}

.gx-feature-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 52px 30px;
}

.gx-feature-product-grid article {
  min-width: 0;
}

.gx-feature-product-grid article.is-featured {
  grid-column: span 2;
  grid-row: span 2;
}

.gx-catalog-product-image {
  position: relative;
  height: 420px;
  display: block;
  overflow: hidden;
  border: 1px solid #b9caba;
  border-radius: 4px;
  background: #e9e1d3;
}

.gx-feature-product-grid .is-featured .gx-catalog-product-image {
  height: 720px;
}

.gx-catalog-product-image > span {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
}

.gx-feature-product-grid article > div {
  padding-top: 18px;
}

.gx-feature-product-grid article > div > p,
.gx-feature-product-grid article > div > span {
  color: #666;
  font-size: 11px;
}

.gx-feature-product-grid article > div > small {
  display: block;
  margin-bottom: 8px;
  color: #77766f;
  font-size: 10px;
  line-height: 1.6;
}

.gx-feature-product-grid h3 {
  margin: 6px 0 10px;
  font-size: 25px;
}

.gx-feature-product-grid article > div > span {
  min-height: 3.6em;
  display: block;
  line-height: 1.8;
}

.gx-feature-product-grid article > div > a {
  margin-top: 15px;
  display: inline-block;
  color: var(--zhusha);
  font-size: 12px;
}

.gx-family-section {
  padding: 120px 0;
  border-top: 1px solid #b9caba;
  background: rgba(255, 255, 255, .16);
}

.gx-family-layout {
  display: grid;
  grid-template-columns: .45fr 1.55fr;
  gap: clamp(56px, 8vw, 110px);
  align-items: start;
}

.gx-family-layout header {
  position: sticky;
  top: 110px;
}

.gx-family-layout h2 {
  margin: 0 0 24px;
  font-size: clamp(48px, 6vw, 74px);
}

.gx-family-layout header > p:not(.gx-eyebrow) {
  color: #666;
  font-size: 14px;
  line-height: 1.9;
}

.gx-family-layout header > span {
  margin-top: 30px;
  display: block;
  color: var(--zhusha);
  font-size: 11px;
}

.gx-family-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.gx-family-gallery figure {
  height: 320px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(185, 202, 186, .8);
  border-radius: 4px;
}

.gx-family-gallery figure.is-wide {
  grid-column: span 2;
  height: 480px;
}

.gx-family-products {
  margin-top: 58px;
  padding-top: 36px;
  border-top: 1px solid #b9caba;
}

.gx-family-products h3 {
  margin-bottom: 22px;
  font-size: 20px;
}

.gx-family-products > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.gx-family-products a {
  min-height: 110px;
  padding: 22px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border: 1px solid #b9caba;
}

.gx-family-products a > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: var(--zhusha);
  color: white;
  font-family: var(--serif);
}

.gx-family-products a > small {
  grid-column: 2;
  color: #666;
}

.gx-other-products {
  padding: 80px 0;
  border-top: 1px solid #b9caba;
}

.gx-other-products a {
  margin-right: 30px;
  color: var(--zhusha);
}

.product-detail-page::before,
.product-detail-page::after,
.product-collection-hero .cloud-line,
.manuscript-ornament {
  display: none;
}

.product-resonance-panel {
  border: 1px solid #b9caba;
  background: #f5efe2;
  color: #262626;
}

.product-resonance-panel h2 {
  color: #262626;
}

/* Customer footer: five paper columns and a restrained information close. */
.footer.redesigned-footer {
  color: #262626;
  background: #f5efe2;
}

.footer-rule {
  height: 1px;
  background: #b9caba;
}

.footer-grid {
  gap: 0;
  padding: 58px 0;
}

.footer-grid > * {
  min-width: 0;
  padding: 0 clamp(22px, 3vw, 42px);
  border-right: 1px solid #b9caba;
}

.footer-grid > :first-child {
  padding-left: 0;
}

.footer-grid > :last-child {
  padding-right: 0;
  border-right: 0;
}

.footer-identity {
  text-align: center;
}

.footer-seal {
  margin-inline: auto;
}

.footer-identity p,
.footer-column h2,
.footer-visit h2 {
  color: #262626;
}

.footer-identity span,
.footer-visit p,
.footer-column a,
.footer-visit a {
  color: #666;
}

.footer-column a:hover,
.footer-visit a:hover {
  color: var(--zhusha);
}

.footer-copyright {
  border-top: 1px solid #b9caba;
  color: #666;
}

.footer-copyright > span {
  color: var(--zhusha);
}

.footer-copyright > a {
  margin-left: 12px;
  color: inherit;
}

.footer-copyright > a:hover {
  color: var(--zhusha);
}

.footer-qr-pending {
  width: 74px;
  height: 74px;
  margin-top: 16px;
  padding: 8px;
  display: grid;
  place-items: center;
  border: 1px solid #b9caba;
  color: #666;
  text-align: center;
}

.footer-qr-image {
  width: 74px;
  height: 74px;
  margin-top: 16px;
  padding: 4px;
  display: block;
  object-fit: contain;
  background: #fff;
  border: 1px solid #b9caba;
}

.footer-qr-pending > span {
  color: var(--zhusha);
  font-family: var(--serif);
}

.footer-qr-pending small {
  font-size: 9px;
}

@media (max-width: 900px) {
  /* The stacked venue block must follow the responsive image, not its desktop height. */
  .gx-home-intro {
    min-height: 0;
    row-gap: 32px;
  }

  .gx-home-intro-gallery {
    min-height: 0;
  }

  .gx-home-intro,
  .gx-home-founder,
  .gx-home-faq,
  .gx-home-visit,
  .gx-catalog-heading,
  .gx-family-layout {
    grid-template-columns: 1fr;
  }

  .gx-home-path-grid,
  .gx-home-course-grid,
  .gx-feature-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-home-course-grid article:nth-child(2) {
    border-right: 0;
  }

  .gx-home-course-grid article:last-child {
    grid-column: span 2;
    border-top: 1px solid #b9caba;
  }

  .gx-home-product-grid,
  .gx-family-products > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-family-layout header {
    position: static;
  }

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

  .footer-grid > * {
    padding: 30px;
    border-right: 1px solid #b9caba;
    border-bottom: 1px solid #b9caba;
  }
}

@media (max-width: 560px) {
  .gx-home-hero {
    width: min(100% - 40px, 1440px);
  }

  .gx-home-stat-grid,
  .gx-home-path-grid,
  .gx-home-product-grid,
  .gx-home-course-grid,
  .gx-home-article-grid,
  .gx-feature-product-grid,
  .gx-family-products > div {
    grid-template-columns: 1fr;
  }

  .gx-home-stat-grid {
    gap: 42px;
  }

  .gx-home-path-grid article,
  .gx-home-path-grid article:last-child {
    min-height: auto;
  }

  .gx-home-course-grid article,
  .gx-home-course-grid article:first-child,
  .gx-home-course-grid article:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #b9caba;
  }

  .gx-home-course-grid article:last-child {
    grid-column: auto;
  }

  .gx-home-visit,
  .gx-home-intro,
  .gx-home-founder,
  .gx-home-faq {
    width: min(100% - 40px, var(--max));
  }

  .gx-home-map {
    min-height: 420px;
    margin-top: 0;
  }

  .gx-feature-product-grid article.is-featured {
    grid-column: auto;
    grid-row: auto;
  }

  .gx-feature-product-grid .is-featured .gx-catalog-product-image,
  .gx-catalog-product-image {
    height: 520px;
  }

  .gx-family-gallery {
    grid-template-columns: 1fr;
  }

  .gx-family-gallery figure.is-wide {
    grid-column: auto;
    height: 380px;
  }

  .gx-family-gallery figure {
    height: 280px;
  }

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

  .footer-grid > * {
    padding: 32px 0;
    border-right: 0;
  }
}

/* Homepage second pass: recover the preview branch's cohesive editorial canvas. */
.gx-home-hero {
  min-height: min(760px, calc(100dvh - 72px));
  display: block;
  overflow: hidden;
  border-right: 1px solid rgba(110, 137, 114, .28);
  border-left: 1px solid rgba(110, 137, 114, .28);
}

.gx-home-hero-copy {
  position: relative;
  z-index: 3;
  width: min(50%, 650px);
  min-height: inherit;
  padding: clamp(70px, 9vh, 108px) clamp(40px, 5vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.gx-home-hero-copy::before {
  top: clamp(42px, 6vh, 68px);
  left: clamp(40px, 5vw, 72px);
}

.gx-home-hero-image {
  position: absolute;
  z-index: 0;
  inset: 0;
  min-height: 0;
  border: 0;
}

.gx-home-hero-image::before {
  inset: 0;
  border: 0;
  background: linear-gradient(90deg, rgba(241, 235, 223, .98) 0%, rgba(241, 235, 223, .93) 34%, rgba(241, 235, 223, .56) 54%, rgba(241, 235, 223, .08) 76%, transparent 100%);
}

.gx-home-hero-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  border: 12px solid rgba(245, 239, 226, .22);
  pointer-events: none;
}

.gx-home-hero-image img {
  object-position: 60% center;
  filter: saturate(.72) contrast(.93);
  transform: scale(1.012);
}

.gx-home-hero-image figcaption {
  right: 12px;
  bottom: 12px;
}

.gx-home-stats {
  --gx-home-surface: #e7eadf;
}

.gx-home-paths {
  --gx-home-surface: #e4e9df;
}

.gx-home-founder {
  --gx-home-surface: #ebe1d3;
}

.gx-home-courses {
  --gx-home-surface: #e7ece2;
}

.gx-home-articles {
  --gx-home-surface: #f3eadc;
}

.gx-home-faq {
  --gx-home-surface: #eae2d5;
}

.gx-home-visit {
  --gx-home-surface: #e2e8de;
}

.gx-home-path-grid article,
.gx-home-article-grid article,
.gx-home-map {
  outline: 1px solid rgba(255, 255, 255, .42);
  outline-offset: -8px;
}

.gx-home-path-grid article::after,
.gx-home-article-grid article::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 42px;
  height: 42px;
  border-right: 1px solid rgba(110, 137, 114, .3);
  border-bottom: 1px solid rgba(110, 137, 114, .3);
  pointer-events: none;
}

.gx-home-article-grid article {
  position: relative;
}

@media (max-width: 900px) {
  .gx-home-hero {
    min-height: auto;
  }

  .gx-home-hero-copy {
    width: 68%;
    min-height: 650px;
    padding: 72px 44px;
  }

  .gx-home-hero-image {
    min-height: 650px;
    border: 0;
  }

  .gx-home-hero-image::before {
    background: linear-gradient(90deg, rgba(241, 235, 223, .98) 0%, rgba(241, 235, 223, .91) 50%, rgba(241, 235, 223, .28) 78%, transparent 100%);
  }
}

@media (max-width: 560px) {
  .gx-home-hero {
    width: 100%;
    border-right: 0;
    border-left: 0;
  }

  .gx-home-hero-copy {
    width: 100%;
    min-height: 630px;
    padding: 64px 20px 210px;
    justify-content: flex-start;
  }

  .gx-home-hero-copy::before {
    top: 38px;
    left: 20px;
  }

  .gx-home-hero-image {
    min-height: 630px;
  }

  .gx-home-hero-image::before {
    background: linear-gradient(180deg, rgba(241, 235, 223, .98) 0%, rgba(241, 235, 223, .93) 48%, rgba(241, 235, 223, .28) 78%, transparent 100%);
  }

  .gx-home-hero-image img {
    object-position: 68% center;
  }

  .gx-home-hero-image figcaption {
    display: none;
  }
}

/* Homepage color rhythm: clear chapter changes inside the client palette. */
.gx-home-stats {
  --gx-home-surface: #303934;
  background: #303934;
  color: #f5efe2;
}

.gx-home-stats::before {
  background: rgba(185, 202, 186, .38) !important;
}

.gx-home-stat-grid article {
  border-right: 1px solid rgba(185, 202, 186, .2);
}

.gx-home-stat-grid article:last-child {
  border-right: 0;
}

.gx-home-stat-grid strong {
  color: #d76a58;
}

.gx-home-stat-grid h2 {
  color: #f7f1e5;
}

.gx-home-stat-grid p {
  color: rgba(245, 239, 226, .65);
}

.gx-home-intro {
  --gx-home-surface: #f7f2e7;
}

.gx-home-paths {
  --gx-home-surface: #dfe7dc;
  background: #dfe7dc;
}

.gx-home-founder {
  --gx-home-surface: #eadccc;
  background: #eadccc;
}

.gx-home-products {
  --gx-home-surface: #303934;
  background: #303934;
  color: #f5efe2;
}

.gx-home-products::before {
  background: rgba(185, 202, 186, .38) !important;
}

.gx-home-products .gx-home-section-header h2,
.gx-home-products .gx-product-copy h3,
.gx-home-products .gx-product-copy h3 a {
  color: #f7f1e5;
}

.gx-home-products .gx-home-section-header > div > p:last-child {
  color: rgba(245, 239, 226, .66);
}

.gx-home-products .gx-text-link {
  border-bottom-color: rgba(185, 202, 186, .62);
  color: #e4ebe1;
}

.gx-home-products .gx-product-image {
  border-color: rgba(185, 202, 186, .38);
  background: #d8d4c9;
}

.gx-home-products .gx-product-copy {
  border-top: 1px solid rgba(185, 202, 186, .24);
}

.gx-home-courses {
  --gx-home-surface: #f6efe2;
  background: #f6efe2;
}

.gx-home-articles {
  --gx-home-surface: #e4eadf;
  background: #e4eadf;
}

.gx-home-faq {
  --gx-home-surface: #eee1d1;
  background: #eee1d1;
}

.gx-home-visit {
  --gx-home-surface: #dfe7dc;
  background: #dfe7dc;
}

.gx-home > section + section::before {
  width: 100%;
  background: rgba(110, 137, 114, .32);
}

@media (max-width: 900px) {
  .gx-home-stat-grid article {
    border-right: 0;
    border-bottom: 1px solid rgba(185, 202, 186, .2);
  }

  .gx-home-stat-grid article:last-child {
    border-bottom: 0;
  }
}

/* Final homepage palette: strict rice-paper and ink-bamboo alternation. */
.gx-home-hero,
.gx-home-intro,
.gx-home-founder,
.gx-home-courses,
.gx-home-faq {
  --gx-home-surface: #f5efe2;
  background: #f5efe2;
}

.gx-home-stats,
.gx-home-paths,
.gx-home-products,
.gx-home-articles,
.gx-home-visit {
  --gx-home-surface: #303934;
  background: #303934;
  color: #f5efe2;
}

.gx-home-paths .gx-centered-heading h2,
.gx-home-paths .gx-home-path-grid h3,
.gx-home-articles .gx-home-section-header h2,
.gx-home-articles .gx-home-article-grid h3,
.gx-home-articles .gx-home-article-grid h3 a,
.gx-home-visit .gx-home-visit-copy h2 {
  color: #f7f1e5;
}

.gx-home-paths .gx-centered-heading > p:not(.gx-eyebrow),
.gx-home-paths .gx-home-path-grid article > p:first-of-type,
.gx-home-paths .gx-home-path-grid article > p:last-of-type,
.gx-home-articles .gx-home-section-header > div > p:last-child,
.gx-home-articles .gx-home-article-grid article > span,
.gx-home-visit .gx-home-visit-copy > p:not(.gx-eyebrow),
.gx-home-visit .gx-home-visit-copy dt,
.gx-home-visit .gx-home-visit-copy dd {
  color: rgba(245, 239, 226, .66);
}

.gx-home-paths .gx-home-path-grid article,
.gx-home-articles .gx-home-article-grid article {
  border-color: rgba(185, 202, 186, .38);
  background: rgba(245, 239, 226, .035);
  box-shadow: none;
}

.gx-home-paths .gx-home-path-grid article::after,
.gx-home-articles .gx-home-article-grid article::after {
  border-color: rgba(185, 202, 186, .28);
}

.gx-home-paths .gx-home-path-grid article > a,
.gx-home-articles .gx-text-link,
.gx-home-articles .gx-home-article-grid article > a:last-child {
  color: #e8eee6;
}

.gx-home-articles .gx-text-link {
  border-bottom-color: rgba(185, 202, 186, .58);
}

.gx-home-visit .gx-home-visit-copy {
  color: #f5efe2;
}

.gx-home-visit .gx-home-visit-copy dl {
  border-color: rgba(185, 202, 186, .28);
}

.gx-home-visit .gx-home-visit-copy dl > div {
  border-color: rgba(185, 202, 186, .2);
}

/* Homepage editorial media: only verified client photography is used here. */
.gx-home-path-grid article,
.gx-home-path-grid article:last-child {
  min-height: 650px;
  padding: 0 34px 34px;
  overflow: hidden;
}

.gx-home-path-media {
  position: relative;
  height: 232px;
  margin: 0 -34px 30px;
  overflow: hidden;
  border-bottom: 1px solid rgba(185, 202, 186, .26);
  background: #202824;
}

.gx-home-path-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 54%, rgba(29, 36, 32, .58));
  pointer-events: none;
}

.gx-home-path-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.62) contrast(.94) brightness(.88);
  transition: transform 700ms cubic-bezier(.2, .7, .2, 1), filter 700ms ease;
}

.gx-home-path-grid article:hover .gx-home-path-media img {
  transform: scale(1.025);
  filter: saturate(.72) contrast(.96) brightness(.92);
}

.gx-home-path-grid .gx-path-index {
  width: 34px;
  height: 34px;
  margin-bottom: 24px;
  font-size: 15px;
}

.gx-home-path-grid h3 {
  min-height: 3em;
  margin-top: 10px;
  font-size: clamp(25px, 2.15vw, 34px);
  text-wrap: balance;
}

.gx-home-path-grid article > p:last-of-type {
  line-height: 1.85;
}

.gx-home-course-intro {
  margin-bottom: clamp(66px, 8vw, 104px);
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr);
  gap: clamp(48px, 7vw, 104px);
  align-items: end;
}

.gx-home-course-heading {
  margin: 0;
}

.gx-home-course-scene {
  position: relative;
  height: 430px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(102, 120, 106, .48);
  border-radius: 6px;
  background: #d8d2c5;
}

.gx-home-course-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 10px solid rgba(245, 239, 226, .14);
  pointer-events: none;
}

.gx-home-course-scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  filter: saturate(.62) contrast(.92) brightness(.9);
}

.gx-home-course-scene figcaption {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 22px;
  left: 24px;
  padding: 12px 15px;
  display: flex;
  gap: 12px;
  align-items: center;
  background: rgba(38, 45, 41, .82);
  color: rgba(245, 239, 226, .82);
  font-size: 12px;
  letter-spacing: .08em;
  backdrop-filter: blur(4px);
}

.gx-home-course-scene figcaption span {
  flex: none;
  padding-right: 12px;
  border-right: 1px solid rgba(185, 202, 186, .42);
  color: #f5efe2;
  font-family: var(--serif);
  letter-spacing: .16em;
}

@media (max-width: 900px) {
  .gx-home-path-grid article,
  .gx-home-path-grid article:last-child {
    min-height: 620px;
  }

  .gx-home-course-intro {
    grid-template-columns: 1fr;
    gap: 42px;
  }

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

  .gx-home-course-scene {
    height: 420px;
  }
}

@media (max-width: 560px) {
  .gx-home-path-grid article,
  .gx-home-path-grid article:last-child {
    min-height: auto;
    padding: 0 26px 30px;
  }

  .gx-home-path-media {
    height: 225px;
    margin: 0 -26px 28px;
  }

  .gx-home-path-grid h3 {
    min-height: auto;
  }

  .gx-home-course-intro {
    margin-bottom: 56px;
  }

  .gx-home-course-scene {
    height: 300px;
  }

  .gx-home-course-scene figcaption {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }
}

/* Homepage detail pass: full-bleed hero, compact essays, image-backed visit guide. */
.gx-home-hero {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  border-right: 0;
  border-left: 0;
}

.gx-home-hero-copy::before {
  content: none;
  display: none;
}

.gx-home-hero-image::after {
  content: none;
  display: none;
}

.gx-home-hero-image {
  border: 0;
  outline: 0;
  box-shadow: none;
}

.gx-home-hero-image figcaption {
  display: none;
}

.gx-home-hero-actions {
  align-items: stretch;
  gap: 18px;
}

.gx-home-hero-actions .gx-primary-link,
.gx-home-hero-actions .gx-secondary-link {
  box-sizing: border-box;
  height: 46px;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 6px;
  line-height: 1;
  white-space: nowrap;
}

.gx-home-hero-actions .gx-primary-link {
  border: 1px solid transparent;
}

.gx-home-articles {
  padding-top: 88px;
  padding-bottom: 88px;
}

.gx-home-articles .gx-home-section-header {
  margin-bottom: 34px;
}

.gx-home-article-grid {
  gap: 20px 24px;
}

.gx-home-article-grid article,
.gx-home-article-grid article.is-featured {
  min-height: 210px;
  padding: 24px 28px;
}

.gx-home-article-grid h3 {
  margin: 12px 0 10px;
  font-size: clamp(22px, 2.1vw, 29px);
  line-height: 1.45;
}

.gx-home-article-grid article > span {
  line-height: 1.7;
}

.gx-home-article-grid article > a:last-child {
  margin-top: 16px;
}

.gx-home-map {
  isolation: isolate;
  background-color: #eee8dc;
  background-image: linear-gradient(rgba(245, 239, 226, .08), rgba(245, 239, 226, .08)), url('/assets/client/liulichang-map-base-v1.webp');
  background-position: center;
  background-size: cover;
  box-shadow: inset 0 0 0 9px rgba(245, 239, 226, .28);
}

.gx-home-map::before,
.gx-home-map::after {
  content: none;
  display: none;
}

.gx-map-road {
  height: auto;
  min-height: 0;
  padding: 6px 10px;
  justify-content: flex-start;
  border-color: rgba(110, 137, 114, .36);
  border-radius: 2px;
  background: rgba(247, 243, 234, .9);
  box-shadow: 0 5px 18px rgba(54, 65, 57, .06);
  backdrop-filter: blur(2px);
}

.gx-map-road.is-main {
  top: 56%;
  right: auto;
  left: 35%;
  width: auto;
  height: auto;
  transform: rotate(-2deg);
}

.gx-map-road.is-cross {
  top: 31%;
  bottom: auto;
  left: 17%;
  width: auto;
  writing-mode: horizontal-tb;
  transform: rotate(2deg);
}

.gx-map-pin {
  top: 45%;
  left: 55%;
  width: auto;
  padding: 0;
  display: grid;
  justify-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: #262626;
  box-shadow: none;
  transform: translate(-50%, -50%);
  backdrop-filter: none;
}

.gx-map-pin i {
  position: relative;
  top: auto;
  left: auto;
  width: 34px;
  height: 34px;
  display: block;
  border-radius: 50% 50% 50% 0;
  background: var(--zhusha);
  color: transparent;
  box-shadow: 0 8px 18px rgba(111, 40, 31, .18);
  transform: rotate(-45deg);
}

.gx-map-pin i::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 11px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #f5efe2;
}

.gx-map-pin strong {
  color: #262626;
  font-family: var(--serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(245, 239, 226, .92);
}

.gx-map-pin small {
  display: none;
}

.gx-home-visit {
  min-height: 0;
  margin-bottom: 0;
  padding-top: 56px;
  padding-bottom: 56px;
  align-items: center;
}

.gx-home-visit-copy {
  padding-top: 0;
  padding-bottom: 0;
}

.gx-home-map {
  min-height: 480px;
  margin-top: 0;
  margin-bottom: 0;
}

.gx-map-heading,
.gx-map-address,
.gx-map-north,
.gx-map-station,
.gx-home-map nav {
  text-shadow: 0 1px 0 rgba(245, 239, 226, .7);
}

@media (max-width: 900px) {
  .gx-home-articles {
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .gx-home-article-grid article,
  .gx-home-article-grid article.is-featured {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .gx-home-hero-actions {
    width: 100%;
    gap: 10px;
  }

  .gx-home-hero-actions .gx-primary-link,
  .gx-home-hero-actions .gx-secondary-link {
    min-width: 0;
    padding: 0 14px;
    flex: 1 1 0;
    font-size: 12px;
  }

  .gx-home-articles {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .gx-home-article-grid article,
  .gx-home-article-grid article.is-featured {
    padding: 22px;
  }

  .gx-map-road.is-main {
    top: 58%;
    left: 30%;
  }

  .gx-map-road.is-cross {
    top: 29%;
    left: 12%;
  }

  .gx-map-pin {
    top: 44%;
    left: 52%;
  }

  .gx-home-visit {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .gx-home-map {
    min-height: 440px;
  }
}

/* Homepage section rhythm: one vertical-spacing token for every main chapter. */
.gx-home {
  --gx-home-section-space: clamp(76px, 7.5vw, 104px);
}

.gx-home-intro,
.gx-home-paths,
.gx-home-founder,
.gx-home-products,
.gx-home-courses,
.gx-home-articles,
.gx-home-faq,
.gx-home-visit {
  padding-top: var(--gx-home-section-space);
  padding-bottom: var(--gx-home-section-space);
}

.gx-home-stat-grid {
  padding-top: var(--gx-home-section-space);
  padding-bottom: var(--gx-home-section-space);
}

@media (max-width: 900px) {
  .gx-home {
    --gx-home-section-space: 72px;
  }

  .gx-home-stat-grid {
    padding-top: var(--gx-home-section-space);
    padding-bottom: var(--gx-home-section-space);
  }
}

/* Natural Xiao method pages: one system, three distinct reading modes. */
.gx-xiaofa-page {
  --gx-xiaofa-space: clamp(88px, 8vw, 124px);
  overflow: clip;
  background: var(--yase-paper);
}

.gx-xiaofa-page section {
  scroll-margin-top: 96px;
}

.gx-xiaofa-page .gx-xiaofa-hero {
  width: min(100% - 48px, 1380px);
  height: clamp(640px, calc(100dvh - 72px), 820px);
  min-height: 0;
  max-height: none;
  grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr);
  border-left: 0;
}

.gx-xiaofa-page .gx-page-hero-copy {
  position: relative;
  min-height: 0;
  padding: clamp(70px, 8vw, 108px) clamp(44px, 6vw, 86px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.gx-xiaofa-page .gx-page-hero-copy::before {
  content: "";
  position: absolute;
  top: clamp(70px, 8vw, 108px);
  bottom: clamp(70px, 8vw, 108px);
  left: 0;
  width: 1px;
  background: rgba(110, 137, 114, .18);
}

.gx-xiaofa-page .gx-page-hero-copy .crumb {
  margin-bottom: clamp(42px, 6vh, 72px);
  color: #74736d;
}

.gx-xiaofa-page .gx-page-seal {
  width: 42px;
  height: 42px;
  margin-bottom: 26px;
  border: 1px solid var(--zhusha);
  border-radius: 2px;
  background: transparent;
  color: var(--zhusha);
}

.gx-xiaofa-page .gx-page-hero h1 {
  margin: 0 0 22px;
  font-size: clamp(52px, 5.8vw, 78px);
  line-height: 1.08;
}

.gx-xiaofa-page .gx-page-hero-subtitle {
  margin: 0;
  color: #31332f;
  font-family: var(--serif);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.55;
}

.gx-xiaofa-page .gx-page-hero-introduction {
  max-width: 34em;
  margin: 28px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(110, 137, 114, .42);
  color: var(--on-surface-variant);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.9;
}

.gx-xiaofa-page .gx-page-hero-media {
  position: relative;
  min-height: 0;
  height: auto;
  margin: 26px 24px 26px 0;
  overflow: hidden;
  border: 1px solid rgba(110, 137, 114, .34);
  border-radius: 6px;
  background: #e9e2d4;
}

.gx-xiaofa-page .gx-page-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(245, 239, 226, .12);
}

.gx-xiaofa-page .gx-page-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) contrast(.9);
}

.gx-xiaofa-page .gx-eyebrow {
  margin: 0 0 14px;
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .16em;
}

.gx-xiaofa-page .gx-principle-band,
.gx-xiaofa-page .gx-lineage-band,
.gx-xiaofa-page .gx-compare-band,
.gx-xiaofa-page .gx-scene-band,
.gx-xiaofa-page .gx-common-value-band,
.gx-xiaofa-page .gx-practice-path,
.gx-xiaofa-page .gx-course-section,
.gx-xiaofa-page .gx-related-ledger {
  padding-top: var(--gx-xiaofa-space);
  padding-bottom: var(--gx-xiaofa-space);
}

.gx-xiaofa-page .gx-principle-band > header,
.gx-xiaofa-page .gx-lineage-band > header,
.gx-xiaofa-page .gx-compare-band > header,
.gx-xiaofa-page .gx-scene-band > header,
.gx-xiaofa-page .gx-practice-path > header,
.gx-xiaofa-page .gx-course-section > .wrap > header {
  max-width: 720px;
  margin: 0 0 clamp(46px, 5vw, 70px);
}

.gx-xiaofa-page .gx-principle-band h2,
.gx-xiaofa-page .gx-lineage-band h2,
.gx-xiaofa-page .gx-compare-band h2,
.gx-xiaofa-page .gx-scene-band h2,
.gx-xiaofa-page .gx-common-value-band h2,
.gx-xiaofa-page .gx-practice-path h2,
.gx-xiaofa-page .gx-course-section h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.35;
}

/* Essentials: four principles, one lineage, one direct comparison. */
.gx-xiaofa-essentials .gx-principle-band {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
}

.gx-xiaofa-essentials .gx-principle-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.gx-xiaofa-essentials .gx-principle-list article {
  min-height: 240px;
  padding: 32px clamp(26px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 253, 247, .28);
}

.gx-xiaofa-essentials .gx-principle-list article:nth-child(even) {
  background: rgba(185, 202, 186, .12);
}

.gx-xiaofa-essentials .gx-principle-list span {
  font-size: 13px;
}

.gx-xiaofa-essentials .gx-principle-list h3 {
  margin: 24px 0 12px;
  font-size: clamp(23px, 2vw, 29px);
}

.gx-xiaofa-essentials .gx-principle-list p {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

.gx-xiaofa-essentials .gx-lineage-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .14);
}

.gx-xiaofa-essentials .gx-lineage-band ol {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 0;
  list-style: none;
}

.gx-xiaofa-essentials .gx-lineage-band ol::before {
  content: "";
  position: absolute;
  top: 55px;
  right: 16.66%;
  left: 16.66%;
  height: 1px;
  background: rgba(110, 137, 114, .52);
}

.gx-xiaofa-essentials .gx-lineage-band li {
  position: relative;
  min-height: 290px;
  padding: 36px clamp(24px, 3vw, 42px) 18px;
  display: block;
  border: 0;
  text-align: center;
}

.gx-xiaofa-essentials .gx-lineage-band li > span {
  position: relative;
  width: 38px;
  height: 38px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 59, 44, .72);
  border-radius: 2px;
  background: var(--yase-paper);
  color: var(--zhusha);
}

.gx-xiaofa-essentials .gx-lineage-band h3 {
  margin: 42px 0 16px;
  font-size: 24px;
}

.gx-xiaofa-essentials .gx-lineage-band li p {
  max-width: 28em;
  margin: 0 auto;
  font-size: 14px;
}

.gx-about-values-new > header > p:last-child {
  margin: clamp(28px, 3vw, 40px) 0 0;
}

.gx-xiaofa-essentials .gx-compare-band {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding-inline: 0;
  background: transparent;
}

.gx-xiaofa-essentials .gx-compare-head {
  padding: 0 0 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  border: 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 18px;
}

.gx-xiaofa-essentials .gx-compare-head span:last-child {
  color: var(--bamboo-deep);
}

.gx-xiaofa-essentials .gx-compare-rows article {
  min-height: 148px;
  margin-bottom: 12px;
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 253, 247, .3);
}

.gx-xiaofa-essentials .gx-compare-rows article > div {
  padding: 26px 24px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  align-items: start;
}

.gx-xiaofa-essentials .gx-compare-rows article > div:last-child {
  padding-left: 24px;
  border: 0;
  border-radius: 4px;
  background: rgba(185, 202, 186, .1);
}

.gx-xiaofa-essentials .gx-compare-rows h3,
.gx-xiaofa-essentials .gx-compare-rows p {
  margin: 0;
}

.gx-xiaofa-essentials .gx-compare-rows h3 {
  font-size: 22px;
}

.gx-xiaofa-essentials .gx-compare-rows article > div:last-child h3 {
  color: var(--bamboo-deep);
}

.gx-xiaofa-essentials .gx-compare-rows p {
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.85;
}

.gx-xiaofa-page .gx-quote-band {
  min-height: 350px;
  padding: 88px 32px;
  background: #303934;
}

.gx-xiaofa-page .gx-quote-band p {
  max-width: 15em;
  margin: 0;
  color: #f5efe2;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.5;
}

.gx-xiaofa-page .gx-quote-band a {
  padding: 10px 18px;
  border: 1px solid rgba(196, 59, 44, .8);
  border-radius: 6px;
  color: #f5efe2;
  transition: background-color .25s ease, color .25s ease;
}

.gx-xiaofa-page .gx-quote-band a:hover,
.gx-xiaofa-page .gx-quote-band a:focus-visible {
  background: var(--zhusha);
  color: #fff;
}

/* Course details: a calm course handbook, with facts first and chapters after. */
.gx-course-detail {
  overflow: hidden;
  background: var(--yase-paper);
}

.gx-course-detail-hero {
  position: relative;
  padding: 46px 0 clamp(84px, 9vw, 128px);
  background:
    radial-gradient(circle at 84% 18%, rgba(110, 137, 114, .07), transparent 28%),
    var(--yase-paper);
}

.gx-course-detail-hero .crumb {
  margin-bottom: clamp(54px, 7vw, 88px);
  color: rgba(38, 38, 38, .56);
  font-size: 12px;
}

.gx-course-detail-hero .crumb a {
  color: inherit;
}

.gx-course-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, .74fr);
  gap: clamp(58px, 8vw, 112px);
  align-items: center;
}

.gx-course-hero-copy {
  padding-left: clamp(0px, 3vw, 42px);
}

.gx-course-kicker {
  margin: 0 0 28px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--bamboo-deep);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .14em;
}

.gx-course-kicker span,
.gx-course-highlights header p span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: 0;
}

.gx-course-hero-copy h1 {
  max-width: 9.5em;
  margin: 0;
  font-size: clamp(48px, 5.2vw, 76px);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: .025em;
  text-wrap: balance;
}

.gx-course-title-line {
  display: block;
}

.gx-course-lead {
  max-width: 34em;
  margin: 26px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.9;
}

.gx-course-hero-actions {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  align-items: center;
}

.gx-course-primary,
.gx-course-secondary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  text-decoration: none;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.gx-course-primary {
  padding: 0 24px;
  border: 1px solid var(--zhusha);
  border-radius: 6px;
  background: var(--zhusha);
  color: #fffdf7;
}

.gx-course-primary:hover,
.gx-course-primary:focus-visible {
  border-color: #9f2e22;
  background: #9f2e22;
  color: #fff;
}

.gx-course-secondary {
  color: var(--primary);
  border-bottom: 1px solid rgba(63, 92, 73, .42);
}

.gx-course-secondary:hover,
.gx-course-secondary:focus-visible {
  color: var(--zhusha);
  border-color: var(--zhusha);
}

.gx-course-facts {
  position: relative;
  padding: clamp(34px, 4vw, 52px);
  border-radius: 6px;
  overflow: hidden;
  background: #303934;
  color: #f5efe2;
}

.gx-course-cover {
  position: relative;
  z-index: 1;
  margin: -12px -12px 28px;
  overflow: hidden;
  border: 1px solid rgba(245, 239, 226, .22);
  border-radius: 4px;
  aspect-ratio: 16 / 9;
}

.gx-course-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-course-cover.is-portrait {
  aspect-ratio: 4 / 5;
}

.gx-course-cover.is-square {
  aspect-ratio: 1;
}

.gx-teacher-quote {
  margin: 0 0 28px;
  padding: 18px 22px;
  border-left: 3px solid var(--gx-red, #ad3125);
  background: rgba(244, 237, 222, .68);
  color: #253445;
  font-family: var(--serif);
  line-height: 1.8;
}

.gx-teacher-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.gx-teacher-gallery figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(121, 91, 49, .22);
}

.gx-teacher-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-teacher-performance {
  margin: 42px 0 30px;
  padding-top: 34px;
  border-top: 1px solid rgba(63, 92, 73, .22);
}

.gx-teacher-performance > header {
  margin-bottom: 22px;
}

.gx-teacher-performance > header h2 {
  margin: 6px 0 0;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 500;
}

.gx-teacher-performance > div {
  display: grid;
  gap: 14px;
}

.gx-teacher-performance article {
  min-width: 0;
  padding: 18px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  border: 1px solid rgba(63, 92, 73, .24);
  background: rgba(244, 237, 222, .42);
}

.gx-teacher-performance article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--zhusha);
  border: 1px solid currentColor;
  font-family: var(--serif);
}

.gx-teacher-performance h3 {
  margin: 7px 0 15px;
  font-size: 18px;
  font-weight: 500;
}

.gx-teacher-performance :is(audio, video) {
  width: 100%;
  display: block;
}

.gx-teacher-performance video {
  max-height: 430px;
  object-fit: contain;
  background: #1f2926;
}

.gx-teacher-performance a {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--zhusha);
  border: 1px solid currentColor;
  text-decoration: none;
}

.gx-teacher-performance a:hover,
.gx-teacher-performance a:focus-visible {
  color: #fff8ea;
  background: var(--zhusha);
}

.gx-teacher-booking {
  margin: 26px 0;
  padding: 16px 18px;
  border: 1px solid rgba(36, 121, 109, .24);
  background: rgba(36, 121, 109, .06);
}

.gx-course-facts::after {
  content: "修";
  position: absolute;
  right: -18px;
  bottom: -58px;
  color: rgba(245, 239, 226, .045);
  font-family: var(--serif);
  font-size: 210px;
  line-height: 1;
  pointer-events: none;
}

.gx-course-facts header {
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
  padding-bottom: 18px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: baseline;
  border-bottom: 1px solid rgba(245, 239, 226, .2);
  font-family: var(--serif);
}

.gx-course-facts header span {
  color: rgba(245, 239, 226, .62);
  font-size: 13px;
  letter-spacing: .12em;
}

.gx-course-facts header strong {
  color: #fffaf0;
  font-size: 18px;
  font-weight: 500;
}

.gx-course-facts dl {
  position: relative;
  z-index: 1;
  margin: 0;
  display: grid;
  gap: 16px;
}

.gx-course-facts dl div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 22px;
  align-items: baseline;
}

.gx-course-facts dt {
  color: rgba(245, 239, 226, .52);
  font-size: 12px;
}

.gx-course-facts dd {
  margin: 0;
  color: rgba(255, 250, 240, .9);
  font-family: var(--serif);
  font-size: 14px;
  line-height: 1.75;
}

.gx-course-facts > p {
  position: relative;
  z-index: 1;
  margin: 30px 0 0;
  padding-top: 20px;
  border-top: 1px solid rgba(245, 239, 226, .14);
  color: rgba(245, 239, 226, .48);
  font-size: 11px;
  line-height: 1.8;
}

.gx-course-highlights {
  padding: clamp(76px, 8vw, 112px) 0 clamp(82px, 9vw, 126px);
  background: #303934;
  color: #f5efe2;
}

.gx-course-highlights header {
  margin-bottom: clamp(52px, 6vw, 78px);
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr);
  gap: 48px;
  align-items: end;
}

.gx-course-highlights header p {
  margin: 0;
  display: flex;
  gap: 12px;
  align-items: center;
  color: rgba(245, 239, 226, .68);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .14em;
}

.gx-course-highlights header p span {
  color: #d86a5b;
}

.gx-course-highlights header h2 {
  margin: 0;
  color: #fffaf0;
  font-size: clamp(31px, 3.5vw, 48px);
  font-weight: 500;
  line-height: 1.35;
}

.gx-course-highlights ol {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34px, 5vw, 74px);
  list-style: none;
}

.gx-course-highlights li {
  position: relative;
  min-height: 210px;
  padding-top: 74px;
}

.gx-course-highlights li > span {
  position: absolute;
  left: -4px;
  top: 0;
  color: rgba(245, 239, 226, .13);
  font-family: var(--serif);
  font-size: clamp(62px, 6vw, 88px);
  line-height: 1;
}

.gx-course-highlights li div {
  position: relative;
  z-index: 1;
}

.gx-course-highlights h3 {
  margin: 0 0 16px;
  color: #fffaf0;
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 500;
  line-height: 1.5;
}

.gx-course-highlights li p {
  margin: 0;
  color: rgba(245, 239, 226, .66);
  font-size: 14px;
  line-height: 1.95;
}

.gx-course-reading {
  padding: clamp(74px, 8vw, 112px) 0;
  background: var(--yase-paper);
}

.gx-course-reading-grid {
  display: grid;
  grid-template-columns: 230px minmax(0, 820px);
  gap: clamp(58px, 8vw, 112px);
  align-items: start;
  justify-content: center;
}

.gx-course-reading-grid > header {
  position: sticky;
  top: 116px;
  padding-top: 8px;
}

.gx-course-reading-grid > header p {
  margin: 0 0 14px;
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .16em;
}

.gx-course-reading-grid > header h2 {
  margin: 0;
  font-size: 31px;
  line-height: 1.45;
}

.gx-course-reading-grid > header a {
  margin-top: 30px;
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(196, 59, 44, .48);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 14px;
  text-decoration: none;
}

.gx-course-content {
  max-width: none;
  counter-reset: course-section;
}

.gx-course-content > h2 {
  counter-increment: course-section;
  margin: 64px 0 20px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: baseline;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1.45;
}

.gx-course-content > h2:first-child {
  margin-top: 0;
}

.gx-course-content > h2::before {
  content: counter(course-section, decimal-leading-zero);
  color: var(--bamboo);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .08em;
}

.gx-course-content > h3 {
  margin: 30px 0 10px;
  color: var(--bamboo-deep);
  font-size: 21px;
  line-height: 1.55;
}

.gx-course-content p,
.gx-course-content li {
  color: var(--on-surface-variant);
  font-size: 16px;
  line-height: 1.9;
}

.gx-course-content p {
  margin: 0;
}

.gx-course-content p + p {
  margin-top: 14px;
}

.gx-course-content ul,
.gx-course-content ol {
  margin: 16px 0 26px;
  padding: 18px 26px 18px 46px;
  border-radius: 4px;
  background: rgba(255, 253, 247, .48);
}

.gx-course-content li + li {
  margin-top: 8px;
}

.gx-course-content li::marker {
  color: var(--bamboo);
}

@media (max-width: 960px) {
  .gx-course-hero-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .gx-course-hero-copy {
    padding-left: 0;
  }

  .gx-course-facts {
    width: min(100%, 720px);
  }

  .gx-course-highlights header {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .gx-course-reading-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .gx-course-reading-grid > header {
    position: static;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 30px;
    align-items: end;
  }

  .gx-course-reading-grid > header p {
    grid-column: 1 / -1;
  }

  .gx-course-reading-grid > header a {
    margin-top: 0;
  }
}

@media (max-width: 680px) {
  .gx-course-detail-hero {
    padding: 28px 0 72px;
  }

  .gx-course-detail-hero .wrap,
  .gx-course-highlights .wrap,
  .gx-course-reading .wrap {
    width: min(100% - 32px, var(--max));
  }

  .gx-course-detail-hero .crumb {
    margin-bottom: 46px;
    line-height: 1.9;
  }

  .gx-course-hero-copy h1 {
    font-size: clamp(38px, 12vw, 52px);
  }

  .gx-course-lead {
    font-size: 16px;
  }

  .gx-course-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .gx-course-primary,
  .gx-course-secondary {
    width: 100%;
  }

  .gx-course-secondary {
    padding: 10px 0;
  }

  .gx-course-facts {
    padding: 30px 24px;
  }

  .gx-course-facts dl div {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
  }

  .gx-course-highlights ol {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .gx-course-highlights li {
    min-height: 0;
    padding: 18px 0 0 66px;
  }

  .gx-course-highlights li > span {
    font-size: 58px;
  }

  .gx-course-reading-grid > header {
    display: block;
  }

  .gx-course-reading-grid > header a {
    margin-top: 22px;
  }

  .gx-course-content > h2 {
    margin-top: 54px;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 8px;
    font-size: 28px;
  }

  .gx-course-content p,
  .gx-course-content li {
    font-size: 15px;
  }

  .gx-course-content ul,
  .gx-course-content ol {
    padding: 20px 20px 20px 38px;
  }
}

/* Community archive redesign: portrait gallery, review archive and reading journal. */
.gx-community-page {
  overflow: hidden;
  background: var(--yase-paper, #f5efe2);
}

.gx-community-hero-new {
  width: 100%;
  min-height: 650px;
  padding: 148px max(32px, calc((100% - var(--max)) / 2)) 88px;
  display: flex;
  align-items: stretch;
  background:
    radial-gradient(circle at 82% 40%, rgba(110, 137, 114, .09), transparent 28%),
    #f5efe2;
}

.gx-community-hero-inner {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  grid-template-rows: auto 1fr auto;
  column-gap: clamp(70px, 10vw, 150px);
}

.gx-community-hero-new .crumb {
  grid-column: 1 / -1;
  align-self: start;
}

.gx-community-hero-copy {
  max-width: 720px;
  align-self: center;
  padding-top: 54px;
}

.gx-community-title-lockup {
  margin: 22px 0 0;
  display: flex;
  align-items: flex-start;
  gap: 22px;
}

.gx-community-title-seal {
  width: 34px;
  height: 34px;
  margin-top: 9px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--zhusha);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 18px;
}

.gx-community-title-lockup h1 {
  margin: 0;
  font-size: clamp(58px, 7.2vw, 92px);
  font-weight: 500;
  letter-spacing: .06em;
  line-height: 1.08;
}

.gx-community-hero-subtitle {
  margin: 38px 0 0 56px;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: clamp(22px, 2.3vw, 30px);
  letter-spacing: .08em;
}

.gx-community-hero-intro {
  max-width: 540px;
  margin: 16px 0 0 56px;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-community-hero-mark {
  position: relative;
  align-self: center;
  justify-self: stretch;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(110, 137, 114, .22);
  color: rgba(43, 59, 49, .065);
}

.gx-community-hero-mark::before,
.gx-community-hero-mark::after {
  content: "";
  position: absolute;
  background: rgba(110, 137, 114, .17);
}

.gx-community-hero-mark::before {
  top: 50%;
  left: -34px;
  right: -34px;
  height: 1px;
}

.gx-community-hero-mark::after {
  top: -34px;
  bottom: -34px;
  left: 50%;
  width: 1px;
}

.gx-community-hero-mark span {
  font-family: var(--serif);
  font-size: clamp(160px, 18vw, 280px);
  line-height: 1;
}

.gx-community-hero-mark small {
  position: absolute;
  right: 20px;
  bottom: 16px;
  color: rgba(43, 59, 49, .42);
  font-family: var(--serif);
  font-size: 9px;
  letter-spacing: .22em;
}

.gx-community-hero-note {
  margin: 0;
  grid-column: 1 / -1;
  align-self: end;
  color: rgba(43, 59, 49, .5);
  font-family: var(--serif);
  font-size: 10px;
  letter-spacing: .28em;
  writing-mode: vertical-rl;
  position: absolute;
  right: -2px;
  bottom: 0;
}

.gx-community-featured-stories,
.gx-review-archive,
.gx-journal-band,
.gx-testimonial-notes,
.gx-community-values {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-community-featured-stories,
.gx-review-archive,
.gx-journal-band {
  padding: 112px 0 126px;
}

.gx-community-featured-stories > header,
.gx-review-archive > header,
.gx-journal-band > header,
.gx-testimonial-notes > header,
.gx-community-values > header {
  max-width: 700px;
  margin-bottom: 54px;
}

.gx-community-featured-stories > div {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(28px, 4vw, 58px);
}

.gx-community-featured-stories article,
.gx-community-featured-stories article:nth-child(even) {
  display: flex;
  flex-direction: column;
  border: 0;
  background: rgba(185, 202, 186, .11);
}

.gx-community-featured-stories article:nth-child(even) {
  margin-top: 92px;
}

.gx-community-featured-stories article figure,
.gx-community-featured-stories article:nth-child(even) figure {
  order: 0;
  min-height: 0;
  height: 430px;
  overflow: hidden;
}

.gx-community-featured-stories article:nth-child(even) figure {
  height: 340px;
}

.gx-community-featured-stories article > div {
  padding: 38px clamp(28px, 4vw, 48px) 44px;
}

.gx-community-featured-stories article > div > span,
.gx-community-featured-stories article > span {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-community-featured-stories article h2 {
  margin: 13px 0 0;
  font-size: clamp(25px, 3vw, 38px);
}

.gx-community-featured-stories blockquote {
  margin: 28px 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.9;
}

.gx-story-empty {
  min-height: 520px;
  padding: 34px;
  justify-content: space-between;
}

.gx-story-empty .gx-empty-portrait {
  min-height: 250px;
  display: grid;
  place-items: center;
  background: rgba(110, 137, 114, .08);
  color: rgba(43, 59, 49, .13);
  font-family: var(--serif);
  font-size: 100px;
}

.gx-story-empty small {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-story-empty p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-community-gallery {
  padding-top: 110px;
  padding-bottom: 120px;
  background: #2f3833;
}

.gx-community-gallery > header,
.gx-community-gallery > nav,
.gx-community-gallery > .gx-community-carousel {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-community-gallery > header {
  margin-bottom: 38px;
}

.gx-community-gallery > header h2 {
  color: #f5efe1;
  font-size: clamp(34px, 4.6vw, 58px);
}

.gx-gallery-filters {
  margin-top: 0;
  margin-bottom: 44px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(245, 239, 225, .12);
}

.gx-community-values {
  padding: 116px 0 124px;
}

.gx-community-values > div {
  display: grid;
  grid-template-columns: 1fr;
  border: 0;
}

.gx-community-values article,
.gx-community-values article + article {
  min-height: 0;
  padding: 34px 0;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: clamp(34px, 6vw, 90px);
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-community-values article:first-child {
  border-top: 1px solid rgba(110, 137, 114, .22);
}

.gx-community-values article > span {
  color: rgba(196, 59, 44, .84);
  font-family: var(--serif);
  font-size: 36px;
}

.gx-community-values h3 {
  margin: 0 0 12px;
  font-size: 27px;
}

.gx-community-values article p {
  max-width: 820px;
  margin: 0;
}

.gx-community-values article small {
  margin-top: 18px;
  display: block;
  color: var(--bamboo-deep);
  font-family: var(--serif);
  letter-spacing: .08em;
}

.gx-community-cta {
  min-height: 360px;
  padding: 90px 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #2f3833;
  color: #f5efe2;
}

.gx-community-cta h2 {
  color: #f5efe2;
}

.gx-community-cta .button.primary {
  margin-top: 18px;
  border-color: var(--zhusha);
  background: var(--zhusha);
}

/* Review archive: a quiet set of written testimony, not image-led cards. */
.gx-review-archive {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .1);
}

.gx-review-archive > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 56px);
}

.gx-review-archive article,
.gx-review-archive article:nth-child(even) {
  min-width: 0;
  padding: 34px 0 12px;
  display: flex;
  flex-direction: column;
  border: 0;
  border-top: 1px solid rgba(110, 137, 114, .38);
}

.gx-review-archive article > span {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-review-archive .gx-review-person {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 54px 1fr;
}

.gx-review-archive .gx-review-person > :is(img, .visual-placeholder) {
  width: 54px;
  height: 54px;
  min-height: 0;
  border-radius: 50%;
  object-fit: cover;
}

.gx-review-archive .gx-review-person > div {
  display: grid;
  gap: 8px;
}

.gx-review-archive blockquote {
  margin: 36px 0 28px;
  font-size: clamp(19px, 1.75vw, 24px);
  line-height: 1.9;
}

.gx-review-archive article > p {
  margin-top: auto;
}

.gx-review-empty .gx-review-empty-mark {
  margin: 32px 0 0;
  color: rgba(196, 59, 44, .18);
  font-family: var(--serif);
  font-size: 112px;
  line-height: .6;
}

.gx-review-empty h2 {
  margin: 30px 0 16px;
  font-size: 25px;
}

.gx-review-empty p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-review-empty small {
  margin-top: auto;
  color: rgba(43, 59, 49, .5);
  font-size: 10px;
  letter-spacing: .14em;
}

.gx-testimonial-notes {
  padding: 112px 0 124px;
}

.gx-testimonial-notes > div {
  columns: 2 360px;
  column-gap: clamp(28px, 4vw, 52px);
}

.gx-testimonial-notes article {
  padding: 30px 0 36px;
  border: 0;
  border-top: 1px solid rgba(110, 137, 114, .28);
  background: transparent;
}

/* Journal: one deep-ink feature followed by a two-column reading shelf. */
.gx-community-insights-page .gx-journal-band {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
}

.gx-journal-feature {
  grid-template-columns: 1fr 1fr;
  min-height: 540px;
  background: #2f3833;
}

.gx-journal-feature figure {
  min-height: 540px;
  overflow: hidden;
}

.gx-journal-feature figure :is(img, .visual-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-journal-empty-visual {
  width: 100%;
  height: 100%;
  min-height: 540px;
  display: grid;
  place-items: center;
  position: relative;
  background:
    linear-gradient(rgba(245, 239, 226, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 239, 226, .05) 1px, transparent 1px),
    #26312c;
  background-size: 25% 25%;
}

.gx-journal-empty-visual span {
  color: rgba(245, 239, 226, .1);
  font-family: var(--serif);
  font-size: 180px;
}

.gx-journal-empty-visual small {
  position: absolute;
  left: 28px;
  bottom: 24px;
  color: rgba(245, 239, 226, .42);
  font-size: 9px;
  letter-spacing: .2em;
}

.gx-journal-list {
  margin-top: 68px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 58px clamp(34px, 6vw, 82px);
  border: 0;
}

.gx-journal-list article {
  padding: 0 0 30px;
  display: grid;
  grid-template-columns: 132px 1fr;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 8px 26px;
  align-items: start;
  border: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .28);
}

.gx-journal-list article > figure {
  width: 132px;
  height: 178px;
  grid-row: 1 / -1;
  border-radius: 0;
}

.gx-journal-list article > span {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-journal-list h3 {
  margin-top: 5px;
  font-size: 23px;
  line-height: 1.5;
}

.gx-journal-list article p,
.gx-journal-list article small,
.gx-journal-list article a {
  grid-column: 2;
}

.gx-journal-list article.gx-community-empty {
  min-height: 210px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  background: rgba(185, 202, 186, .1);
}

.gx-journal-list article.gx-community-empty h2 {
  margin: 20px 0 12px;
}

.gx-journal-template {
  color: rgba(43, 59, 49, .58);
}

.gx-journal-template .gx-journal-template-cover {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background:
    linear-gradient(rgba(110, 137, 114, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110, 137, 114, .09) 1px, transparent 1px),
    rgba(185, 202, 186, .1);
  background-size: 50% 25%;
}

.gx-journal-template-cover span {
  color: rgba(43, 59, 49, .11);
  font-family: var(--serif);
  font-size: 62px;
}

.gx-journal-template h3 {
  color: rgba(43, 59, 49, .72);
}

.gx-journal-template .gx-journal-template-link {
  grid-column: 2;
  color: rgba(43, 59, 49, .42);
  font-size: 11px;
}

.gx-journal-template-read {
  display: inline-block;
  margin-top: 18px;
  color: rgba(217, 195, 150, .62);
  font-size: 11px;
}

.gx-journal-books {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 3.4vw, 48px);
}

.gx-journal-book {
  min-width: 0;
}

.gx-journal-book > :is(a, div) {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.gx-journal-book figure {
  position: relative;
  aspect-ratio: 3 / 4.15;
  margin: 0 0 26px;
  overflow: hidden;
  background: rgba(185, 202, 186, .12);
  box-shadow: 0 14px 34px rgba(35, 48, 40, .08);
}

.gx-journal-book figure::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: linear-gradient(90deg, rgba(38, 48, 42, .14), transparent);
}

.gx-journal-book figure :is(img, .gx-journal-book-cover) {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease;
}

.gx-journal-book-cover {
  position: relative;
  display: grid !important;
  place-items: center;
  background:
    linear-gradient(rgba(110, 137, 114, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(110, 137, 114, .08) 1px, transparent 1px),
    #e8e6d9;
  background-size: 33.333% 25%;
}

.gx-journal-book-cover span {
  color: rgba(43, 59, 49, .12);
  font-family: var(--serif);
  font-size: clamp(72px, 8vw, 118px);
}

.gx-journal-book-cover small {
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: rgba(43, 59, 49, .38);
  font-size: 8px;
  letter-spacing: .18em;
}

.gx-journal-book > :is(a, div) > div > span {
  color: var(--zhusha);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-journal-book h3 {
  margin: 14px 0 12px;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.5;
}

.gx-journal-book p {
  margin: 0 0 18px;
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.8;
}

.gx-journal-book > :is(a, div) > div > small {
  margin-top: auto;
  display: block;
  color: rgba(43, 59, 49, .54);
  font-size: 10px;
}

.gx-journal-book b {
  margin-top: 16px;
  display: block;
  color: var(--bamboo-deep);
  font-size: 11px;
  font-weight: 400;
}

.gx-journal-book a:hover figure :is(img, .gx-journal-book-cover) {
  transform: scale(1.018);
}

.gx-journal-book a:hover h3 {
  color: var(--zhusha);
}

.gx-journal-book.gx-is-template {
  opacity: .78;
}

.gx-journal-book.gx-is-template b {
  color: var(--bamboo-deep);
}

/* A lightweight third-level reading template for empty journal slots. */
.gx-journal-detail-template {
  overflow: hidden;
  background: #f5efe2;
}

.gx-journal-detail-hero {
  min-height: 680px;
  padding: 146px max(32px, calc((100% - var(--max)) / 2)) 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  grid-template-rows: auto 1fr;
  gap: 32px clamp(70px, 9vw, 130px);
  background: rgba(185, 202, 186, .09);
}

.gx-journal-detail-hero .crumb {
  grid-column: 1 / -1;
}

.gx-journal-detail-heading {
  align-self: center;
}

.gx-journal-detail-heading .gx-community-title-seal {
  margin: 25px 0 20px;
}

.gx-journal-detail-heading h1 {
  margin: 0;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 500;
}

.gx-journal-detail-heading > p:last-child {
  max-width: 580px;
  margin: 30px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.9;
}

.gx-journal-detail-cover {
  min-height: 440px;
  align-self: stretch;
  display: grid;
  place-items: center;
  position: relative;
  background:
    linear-gradient(rgba(245, 239, 226, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 239, 226, .055) 1px, transparent 1px),
    #2f3833;
  background-size: 25% 25%;
}

.gx-journal-detail-cover span {
  color: rgba(245, 239, 226, .1);
  font-family: var(--serif);
  font-size: 190px;
}

.gx-journal-detail-cover small {
  position: absolute;
  right: 24px;
  bottom: 20px;
  color: rgba(245, 239, 226, .42);
  font-size: 9px;
  letter-spacing: .2em;
}

.gx-journal-detail-reading {
  width: min(100% - 64px, 1040px);
  margin: 0 auto;
  padding: 112px 0 128px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: clamp(70px, 10vw, 120px);
  align-items: start;
}

.gx-journal-detail-reading article {
  max-width: 690px;
}

.gx-journal-detail-reading blockquote {
  margin: 38px 0 54px;
  padding-left: 26px;
  border-left: 2px solid var(--zhusha);
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.9;
}

.gx-journal-detail-reading article h2 {
  margin: 48px 0 16px;
  font-size: 28px;
}

.gx-journal-detail-reading article p:not(.gx-eyebrow) {
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2;
}

.gx-journal-detail-reading aside {
  position: sticky;
  top: 112px;
}

.gx-journal-detail-reading dl {
  margin: 26px 0 0;
}

.gx-journal-detail-reading dl > div {
  padding: 16px 0;
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 14px;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-journal-detail-reading dt {
  color: rgba(43, 59, 49, .5);
  font-size: 10px;
}

.gx-journal-detail-reading dd {
  margin: 0;
  font-family: var(--serif);
  font-size: 13px;
}

.gx-journal-detail-return {
  min-height: 320px;
  padding: 76px max(32px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  background: #2f3833;
  color: #f5efe2;
}

.gx-journal-detail-return h2 {
  max-width: 760px;
  margin: 14px 0 0;
  color: #f5efe2;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.45;
}

.gx-journal-detail-return > a {
  flex: 0 0 auto;
  padding: 13px 18px;
  border: 1px solid rgba(245, 239, 226, .38);
  color: #f5efe2;
  font-size: 12px;
}

/* Shared community detail: readable record with a quiet archive rail. */
.gx-community-detail-page {
  overflow: hidden;
  background: #f5efe2;
}

.gx-community-detail-hero {
  min-height: 690px;
  padding: 146px max(32px, calc((100% - var(--max)) / 2)) 82px;
  background: rgba(185, 202, 186, .09);
}

.gx-community-detail-hero-inner {
  width: 100%;
  min-height: 460px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
  grid-template-rows: auto 1fr;
  gap: 30px clamp(60px, 8vw, 120px);
}

.gx-community-detail-hero .crumb {
  grid-column: 1 / -1;
}

.gx-community-detail-copy {
  align-self: center;
}

.gx-community-detail-copy .gx-community-title-seal {
  margin: 26px 0 22px;
}

.gx-community-detail-copy h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(43px, 5.7vw, 76px);
  font-weight: 500;
  line-height: 1.25;
}

.gx-community-detail-copy blockquote {
  max-width: 680px;
  margin: 32px 0 0;
  color: var(--on-surface-variant);
  font-family: var(--serif);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.9;
}

.gx-community-detail-hero figure,
.gx-community-detail-mark {
  grid-column: 2;
  grid-row: 2;
  min-height: 440px;
  margin: 0;
  overflow: hidden;
}

.gx-community-detail-hero figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Story details use a portrait-archive composition instead of the generic article shell. */
.gx-community-detail-page.is-story .gx-community-detail-hero {
  min-height: 690px;
  padding-top: 116px;
  padding-bottom: 68px;
  background:
    linear-gradient(90deg, transparent 0 49.94%, rgba(63, 92, 73, .07) 49.94% 50.06%, transparent 50.06%),
    #f5efe2;
}

.gx-community-detail-page.is-story .gx-community-detail-hero-inner {
  min-height: 480px;
  grid-template-columns: minmax(280px, .72fr) minmax(500px, 1.28fr);
  gap: 34px clamp(60px, 8vw, 116px);
}

.gx-community-detail-page.is-story .gx-community-detail-copy {
  position: relative;
  padding: 48px 0 54px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid rgba(63, 92, 73, .3);
  border-bottom: 1px solid rgba(63, 92, 73, .3);
}

.gx-community-detail-page.is-story .gx-community-title-seal {
  margin: 32px 0 26px;
}

.gx-community-detail-page.is-story .gx-community-detail-copy h1 {
  max-width: 520px;
  font-size: clamp(52px, 5.8vw, 78px);
  line-height: 1.18;
}

.gx-community-detail-page.is-story .gx-community-detail-hero figure {
  min-height: 0;
  padding: 13px;
  display: grid;
  grid-template-rows: auto;
  align-self: center;
  overflow: visible;
  border: 1px solid rgba(162, 138, 90, .44);
  background: rgba(250, 247, 239, .72);
  box-shadow: inset 0 0 0 5px rgba(245, 239, 226, .86);
}

.gx-community-detail-page.is-story .gx-community-detail-hero figure img {
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 2;
  object-position: center;
  filter: saturate(.86) contrast(1.02);
}

.gx-story-voice {
  padding: 76px max(32px, calc((100% - var(--max)) / 2));
  background: #2f3833;
  color: #f5efe2;
}

.gx-story-voice-inner {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) minmax(220px, 300px);
  gap: clamp(34px, 6vw, 84px);
  align-items: center;
}

.gx-story-voice-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229, 101, 79, .8);
  color: #e5654f;
  font-family: var(--serif);
  font-size: 19px;
}

.gx-story-voice blockquote {
  margin: 0;
}

.gx-story-voice blockquote p {
  max-width: 700px;
  margin: 0;
  color: #f5efe2;
  font-family: var(--serif);
  font-size: clamp(27px, 3.4vw, 42px);
  line-height: 1.6;
}

.gx-story-voice dl {
  margin: 0;
  border-top: 1px solid rgba(245, 239, 226, .22);
}

.gx-story-voice dl > div {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 14px;
  border-bottom: 1px solid rgba(245, 239, 226, .22);
}

.gx-story-voice dt {
  color: rgba(245, 239, 226, .5);
  font-size: 10px;
}

.gx-story-voice dd {
  margin: 0;
  color: #f5efe2;
  font-family: var(--serif);
  font-size: 13px;
  line-height: 1.6;
}

.gx-story-voice a {
  color: #f0a08f;
}

.gx-community-detail-mark {
  display: grid;
  place-items: center;
  position: relative;
  background: #303934;
}

.gx-community-detail-mark span {
  color: rgba(245, 239, 226, .1);
  font-family: var(--serif);
  font-size: 190px;
}

.gx-community-detail-mark small {
  position: absolute;
  right: 24px;
  bottom: 20px;
  color: rgba(245, 239, 226, .42);
  font-size: 9px;
  letter-spacing: .18em;
}

.gx-community-detail-reading {
  width: min(100% - 64px, 1120px);
  margin: 0 auto;
  padding: 112px 0 128px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: clamp(70px, 10vw, 130px);
  align-items: start;
}

.gx-community-detail-article {
  max-width: 720px;
}

.gx-community-detail-article > .gx-eyebrow {
  margin-bottom: 42px;
}

.gx-community-detail-article :is(h2, h3) {
  margin-top: 2.2em;
}

.gx-community-detail-article :is(p, li) {
  font-size: 16px;
  line-height: 2;
}

.gx-community-detail-reading.is-media-only {
  grid-template-columns: minmax(0, 1fr) 220px;
}

.gx-community-detail-reading.is-media-only .gx-community-detail-article {
  max-width: none;
}

.gx-community-detail-reading.is-media-only .detail-gallery {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.gx-community-detail-reading.is-media-only .detail-gallery-grid {
  grid-template-columns: minmax(0, 1fr);
}

.gx-community-detail-reading.is-media-only .detail-gallery-grid a {
  aspect-ratio: 16 / 9;
}

.gx-community-detail-page.is-story .gx-community-detail-reading {
  grid-template-columns: minmax(0, 1fr);
}

.gx-community-detail-page.is-story .gx-community-detail-article {
  width: min(100%, 940px);
  max-width: none;
  margin: 0 auto;
}

.gx-community-detail-page.is-story .detail-gallery-grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, 46%);
  gap: 16px;
  padding-bottom: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-color: rgba(110, 137, 114, .55) transparent;
  scrollbar-width: thin;
}

.gx-community-detail-page.is-story .detail-gallery-grid::-webkit-scrollbar {
  height: 4px;
}

.gx-community-detail-page.is-story .detail-gallery-grid::-webkit-scrollbar-thumb {
  background: rgba(110, 137, 114, .55);
}

.gx-community-detail-page.is-story .detail-gallery-grid a {
  aspect-ratio: 4 / 3;
  scroll-snap-align: start;
}

.gx-community-detail-aside {
  position: sticky;
  top: 118px;
  padding-top: 2px;
}

.gx-community-detail-aside dl {
  margin: 28px 0 0;
}

.gx-community-detail-aside dl > div {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 66px 1fr;
  gap: 16px;
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-community-detail-aside dt {
  color: rgba(43, 59, 49, .5);
  font-size: 11px;
}

.gx-community-detail-aside dd {
  margin: 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 14px;
  line-height: 1.75;
}

.gx-community-detail-aside a {
  color: var(--zhusha);
}

.gx-community-detail-close {
  min-height: 330px;
  padding: 78px max(32px, calc((100% - var(--max)) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  background: #2f3833;
  color: #f5efe2;
}

.gx-community-detail-close h2 {
  max-width: 760px;
  margin: 14px 0 0;
  color: #f5efe2;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.45;
}

.gx-community-detail-close > a {
  flex: 0 0 auto;
  padding: 13px 18px;
  border: 1px solid rgba(245, 239, 226, .38);
  color: #f5efe2;
  font-size: 12px;
}

@media (max-width: 980px) {
  .gx-community-hero-inner,
  .gx-community-detail-hero-inner {
    grid-template-columns: 1fr .7fr;
    column-gap: 46px;
  }

  .gx-community-hero-mark span {
    font-size: 150px;
  }

  .gx-community-featured-stories > div,
  .gx-review-archive > div,
  .gx-journal-feature {
    grid-template-columns: 1fr;
  }

  .gx-community-featured-stories article:nth-child(even) {
    margin-top: 0;
  }

  .gx-review-archive article {
    min-height: 0;
  }

  .gx-journal-feature figure,
  .gx-journal-empty-visual {
    min-height: 430px;
  }

  .gx-journal-list {
    grid-template-columns: 1fr;
  }

  .gx-journal-books {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 58px 34px;
  }

  .gx-journal-detail-hero {
    grid-template-columns: 1fr .75fr;
    gap: 42px;
  }

  .gx-community-detail-reading {
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 58px;
  }
}

@media (max-width: 680px) {
  .gx-community-hero-new {
    min-height: 620px;
    padding: 112px 20px 66px;
  }

  .gx-community-hero-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
  }

  .gx-community-hero-copy {
    position: relative;
    z-index: 1;
    padding-top: 62px;
  }

  .gx-community-title-lockup {
    gap: 14px;
  }

  .gx-community-title-lockup h1 {
    font-size: 52px;
  }

  .gx-community-title-seal {
    width: 30px;
    height: 30px;
    margin-top: 6px;
    font-size: 15px;
  }

  .gx-community-hero-subtitle,
  .gx-community-hero-intro {
    margin-left: 44px;
  }

  .gx-community-hero-subtitle {
    margin-top: 28px;
    font-size: 20px;
  }

  .gx-community-hero-intro {
    max-width: 270px;
    font-size: 13px;
  }

  .gx-community-hero-mark {
    position: absolute;
    right: -54px;
    bottom: -28px;
    width: 240px;
    opacity: .65;
  }

  .gx-community-hero-mark span {
    font-size: 120px;
  }

  .gx-community-hero-note {
    display: none;
  }

  .gx-community-featured-stories,
  .gx-journal-band,
  .gx-testimonial-notes,
  .gx-community-values {
    width: min(100% - 40px, var(--max));
  }

  .gx-community-featured-stories,
  .gx-review-archive,
  .gx-journal-band,
  .gx-testimonial-notes,
  .gx-community-values {
    padding-block: 78px;
  }

  .gx-community-featured-stories > div {
    grid-template-columns: 1fr;
  }

  .gx-community-featured-stories article figure,
  .gx-community-featured-stories article:nth-child(even) figure {
    height: 330px;
    min-height: 0;
  }

  .gx-story-empty {
    min-height: 470px;
  }

  .gx-community-gallery {
    padding: 78px 20px;
  }

  .gx-community-gallery > header,
  .gx-community-gallery > nav,
  .gx-community-gallery > .gx-community-carousel {
    width: 100%;
  }

  .gx-community-values article,
  .gx-community-values article + article {
    grid-template-columns: 54px 1fr;
    gap: 18px;
  }

  .gx-community-values article > span {
    font-size: 25px;
  }

  .gx-review-archive {
    padding-inline: 20px;
  }

  .gx-review-archive > div {
    grid-template-columns: 1fr;
  }

  .gx-review-archive article {
    padding-bottom: 32px;
  }

  .gx-journal-feature,
  .gx-journal-feature figure,
  .gx-journal-empty-visual {
    min-height: 360px;
  }

  .gx-community-insights-page .gx-journal-band {
    padding-inline: 20px;
  }

  .gx-journal-books {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 44px 18px;
  }

  .gx-journal-book figure {
    margin-bottom: 20px;
  }

  .gx-journal-book h3 {
    font-size: 20px;
  }

  .gx-journal-detail-hero {
    min-height: 0;
    padding: 112px 20px 60px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 30px;
  }

  .gx-journal-detail-cover {
    min-height: 330px;
  }

  .gx-journal-detail-reading {
    width: min(100% - 40px, 1040px);
    padding: 78px 0 88px;
    grid-template-columns: 1fr;
    gap: 66px;
  }

  .gx-journal-detail-reading aside {
    position: static;
  }

  .gx-journal-detail-return {
    min-height: 300px;
    padding: 62px 20px;
    align-items: flex-start;
    flex-direction: column;
  }

  .gx-journal-list article {
    grid-template-columns: 102px 1fr;
    column-gap: 18px;
  }

  .gx-journal-list article > figure {
    width: 102px;
    height: 145px;
  }

  .gx-community-detail-hero {
    min-height: 0;
    padding: 112px 20px 60px;
  }

  .gx-community-detail-hero-inner {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 28px;
  }

  .gx-community-detail-copy h1 {
    font-size: 41px;
  }

  .gx-community-detail-copy blockquote {
    font-size: 17px;
  }

  .gx-community-detail-hero figure,
  .gx-community-detail-mark {
    grid-column: 1;
    grid-row: 3;
    min-height: 330px;
  }

  .gx-community-detail-page.is-story .gx-community-detail-hero {
    min-height: 0;
    padding: 104px 20px 36px;
    background: #f5efe2;
  }

  .gx-community-detail-page.is-story .gx-community-detail-hero-inner {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
  }

  .gx-community-detail-page.is-story .gx-community-detail-copy {
    padding: 20px 0 24px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 18px 12px;
    align-content: center;
  }

  .gx-community-detail-page.is-story .gx-community-detail-copy .gx-eyebrow {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0;
  }

  .gx-community-detail-page.is-story .gx-community-title-seal {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
  }

  .gx-community-detail-page.is-story .gx-community-detail-copy h1 {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: 46px;
  }

  .gx-community-detail-page.is-story .gx-community-detail-hero figure {
    min-height: 0;
    padding: 10px;
    grid-column: 1;
    grid-row: 3;
  }

  .gx-community-detail-page.is-story .gx-community-detail-hero figure img {
    aspect-ratio: 3 / 2;
  }

  .gx-story-voice {
    padding: 54px 20px;
  }

  .gx-story-voice-inner {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 24px 18px;
    align-items: start;
  }

  .gx-story-voice-mark {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  .gx-story-voice blockquote p {
    font-size: 27px;
  }

  .gx-story-voice dl {
    grid-column: 2;
    margin-top: 14px;
  }

  .gx-community-detail-reading.is-media-only {
    grid-template-columns: 1fr;
  }

  .gx-community-detail-page.is-story .detail-gallery-grid {
    grid-template-columns: none;
    grid-auto-columns: 84%;
    gap: 12px;
  }

  .gx-community-detail-reading {
    width: min(100% - 40px, 1120px);
    padding: 78px 0 88px;
    grid-template-columns: 1fr;
    gap: 72px;
  }

  .gx-community-detail-aside {
    position: static;
  }

  .gx-community-detail-close {
    min-height: 300px;
    padding: 62px 20px;
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Applications: one focused scenario at a time, followed by the shared value field. */
.gx-xiaofa-applications .gx-scene-band {
  width: 100%;
  margin: 0;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(255, 253, 247, .34);
}

.gx-xiaofa-applications .gx-scene-band > nav {
  position: sticky;
  top: 72px;
  z-index: 4;
  margin: 0 0 46px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 0;
  overflow-x: auto;
  border-top: 0;
  border-bottom: 1px solid rgba(110, 137, 114, .42);
  background: rgba(245, 239, 226, .97);
}

.gx-xiaofa-applications .gx-scene-band > nav button {
  min-width: 110px;
  min-height: 58px;
  padding: 0 14px;
  border: 0;
  border-right: 0;
  border-radius: 0;
  background: transparent;
  color: #4f514c;
  font-family: var(--sans);
  font-size: 13px;
  cursor: pointer;
  transition: color .25s ease, background-color .25s ease;
}

.gx-xiaofa-applications .gx-scene-band > nav button:last-child {
  border-right: 0;
}

.gx-xiaofa-applications .gx-scene-band > nav button:hover,
.gx-xiaofa-applications .gx-scene-band > nav button:focus-visible {
  color: var(--zhusha);
  background: rgba(255, 253, 247, .62);
}

.gx-xiaofa-applications .gx-scene-band > nav button[aria-selected="true"] {
  background: rgba(185, 202, 186, .2);
  color: var(--zhusha);
  box-shadow: inset 0 -2px 0 var(--zhusha);
}

.gx-xiaofa-applications .gx-scene-list {
  display: block;
}

.gx-xiaofa-applications .gx-scene-list > article {
  min-height: 560px;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(210px, .48fr) minmax(0, 1.52fr);
  overflow: hidden;
  border: 1px solid rgba(110, 137, 114, .38);
  border-radius: 6px;
  background: rgba(255, 253, 247, .5);
}

.gx-xiaofa-applications .gx-scene-list > article[hidden] {
  display: none;
}

.gx-xiaofa-applications .gx-scene-list > article > header {
  min-height: 100%;
  margin: 0;
  padding: 46px 34px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  border: 0;
  background: rgba(185, 202, 186, .15);
}

.gx-xiaofa-applications .gx-scene-list > article > header > span {
  color: rgba(196, 59, 44, .72);
  font-family: var(--serif);
  font-size: 38px;
  line-height: 1;
}

.gx-xiaofa-applications .gx-scene-list small {
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .12em;
}

.gx-xiaofa-applications .gx-scene-list h3 {
  margin: 8px 0 0;
  font-size: clamp(30px, 3vw, 42px);
}

.gx-xiaofa-applications .gx-scene-columns {
  padding: 38px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 14px;
  border: 0;
}

.gx-xiaofa-applications .gx-scene-columns section {
  padding: 32px 30px 20px;
  border: 0;
}

.gx-xiaofa-applications .gx-scene-columns section:first-child {
  grid-column: 1;
  grid-row: 2;
  border: 0;
}

.gx-xiaofa-applications .gx-scene-columns section:last-child {
  grid-column: 2;
  grid-row: 2;
}

.gx-xiaofa-applications .gx-scene-columns .gx-scene-logic {
  grid-column: 1 / -1;
  grid-row: 1;
  padding: 28px 30px;
  border: 0;
  border-radius: 6px;
  background: #3f5c49;
}

.gx-xiaofa-applications .gx-scene-columns .gx-scene-logic h4,
.gx-xiaofa-applications .gx-scene-columns .gx-scene-logic p {
  color: #f5efe2;
}

.gx-xiaofa-applications .gx-scene-columns h4 {
  margin: 0 0 18px;
  color: var(--bamboo-deep);
  font-size: 18px;
}

.gx-xiaofa-applications .gx-scene-columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gx-xiaofa-applications .gx-scene-columns li {
  position: relative;
  margin: 0;
  padding: 0 0 13px 18px;
  font-size: 13px;
  line-height: 1.85;
}

.gx-xiaofa-applications .gx-scene-columns li::before {
  content: "";
  position: absolute;
  top: .85em;
  left: 0;
  width: 8px;
  height: 1px;
  background: var(--zhusha);
}

.gx-xiaofa-applications .gx-scene-columns p {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
}

@media (prefers-reduced-motion: no-preference) {
  .gx-xiaofa-applications [data-scene-panel]:not([hidden]) {
    animation: gx-scene-enter .34s ease both;
  }
}

@keyframes gx-scene-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.gx-xiaofa-applications .gx-common-value-band {
  width: 100%;
  margin: 0;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .13);
}

.gx-xiaofa-applications .gx-common-value-inner {
  width: 100%;
  display: block;
  border-top: 0;
  border-bottom: 0;
}

.gx-xiaofa-applications .gx-common-value-inner > header {
  max-width: 860px;
  margin-bottom: 56px;
}

.gx-xiaofa-applications .gx-common-value-band h2 {
  color: var(--on-surface);
}

.gx-xiaofa-applications .gx-common-value-intro {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-xiaofa-applications .gx-common-value-grid {
  display: grid;
  gap: 12px;
  border: 0;
}

.gx-xiaofa-applications .gx-common-value-labels,
.gx-xiaofa-applications .gx-common-value-grid article {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) 1fr 1fr;
  gap: clamp(26px, 4vw, 58px);
}

.gx-xiaofa-applications .gx-common-value-labels {
  padding: 14px 0;
  border: 0;
  color: var(--on-surface-variant);
  font-size: 11px;
  letter-spacing: .12em;
}

.gx-xiaofa-applications .gx-common-value-grid article {
  min-height: 176px;
  padding: 30px 26px;
  align-items: start;
  border: 0;
  border-radius: 6px;
  background: rgba(255, 253, 247, .32);
}

.gx-xiaofa-applications .gx-common-value-grid article:nth-of-type(even) {
  background: rgba(185, 202, 186, .12);
}

.gx-xiaofa-applications .gx-common-value-name {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  align-items: start;
}

.gx-xiaofa-applications .gx-common-value-name > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 59, 44, .7);
  border-radius: 2px;
  color: var(--zhusha);
  font-size: 11px;
}

.gx-xiaofa-applications .gx-common-value-grid h3 {
  margin: 3px 0 0;
  color: var(--on-surface);
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.45;
}

.gx-xiaofa-applications .gx-common-value-grid p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-xiaofa-applications .gx-common-value-closing {
  max-width: 31em;
  margin: 48px 0 0 auto;
  padding-left: 0;
  border: 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: clamp(21px, 2.3vw, 29px);
  line-height: 1.7;
}

/* Courses: one continuous horizontal path, followed by three comparable service columns. */
.gx-xiaofa-courses .gx-practice-path {
  width: 100%;
  margin: 0;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .13);
}

.gx-xiaofa-courses .gx-practice-path ol {
  width: 100%;
  max-width: none;
  margin: 72px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.gx-xiaofa-courses .gx-practice-path li {
  position: relative;
  width: auto;
  min-height: 370px;
  margin: 0;
  padding: 54px clamp(22px, 2.5vw, 38px) 0;
  display: block;
  border: 0;
  border-top: 1px solid rgba(110, 137, 114, .48);
  border-right: 1px solid rgba(110, 137, 114, .24);
  border-radius: 0;
  background: transparent;
}

.gx-xiaofa-courses .gx-practice-path li:first-child {
  padding-left: 0;
}

.gx-xiaofa-courses .gx-practice-path li:last-child {
  padding-right: 0;
  border-right: 0;
}

.gx-xiaofa-courses .gx-practice-path li > span {
  position: absolute;
  top: -21px;
  left: clamp(22px, 2.5vw, 38px);
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 59, 44, .7);
  border-radius: 2px;
  background: #eef0e7;
  color: var(--zhusha);
  font-size: 12px;
}

.gx-xiaofa-courses .gx-practice-path li:first-child > span {
  left: 0;
}

.gx-xiaofa-courses .gx-practice-path small {
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .08em;
}

.gx-xiaofa-courses .gx-practice-path h3 {
  margin: 8px 0 12px;
  font-size: clamp(21px, 2.2vw, 27px);
  line-height: 1.45;
}

.gx-xiaofa-courses .gx-practice-path strong {
  color: #363832;
  font-size: 14px;
  font-weight: 500;
}

.gx-xiaofa-courses .gx-practice-path p {
  margin: 18px 0 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-xiaofa-courses .gx-course-section {
  padding-inline: 0;
}

.gx-xiaofa-courses .gx-course-section > .wrap {
  width: min(100% - 64px, var(--max));
}

.gx-xiaofa-courses .gx-course-section > .wrap > header > p:last-child {
  max-width: 46em;
  margin: 18px 0 0;
  color: var(--on-surface-variant);
  font-size: 14px;
}

.gx-xiaofa-courses .gx-course-showcase {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(110, 137, 114, .38);
  border-radius: 6px;
  background: rgba(255, 253, 247, .2);
}

.gx-xiaofa-courses .gx-course-card {
  margin: 0;
  padding: 0;
  display: block;
  min-width: 0;
  border: 0;
  border: 0;
  border-radius: 4px;
  background: rgba(255, 253, 247, .25);
  box-shadow: none;
}

.gx-xiaofa-courses .gx-course-card:nth-child(2) {
  background: rgba(185, 202, 186, .1);
}

.gx-xiaofa-courses .gx-course-card:hover {
  transform: none;
  box-shadow: none;
}

.gx-xiaofa-courses .gx-course-card:first-child {
  grid-column: auto;
  display: block;
}

.gx-xiaofa-courses .gx-course-card-copy {
  height: 100%;
  padding: clamp(30px, 3vw, 42px);
  display: grid;
  grid-template-rows: auto 100px 86px minmax(0, 1fr) auto auto;
  align-items: start;
}

.gx-xiaofa-courses .gx-course-type {
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .12em;
}

.gx-xiaofa-courses .gx-course-card h3 {
  margin: 16px 0 12px;
  align-self: start;
  font-size: clamp(23px, 2.25vw, 30px);
  line-height: 1.42;
}

.gx-xiaofa-courses .gx-course-positioning {
  margin: 0;
  padding-bottom: 28px;
  color: #444640;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.7;
}

.gx-xiaofa-courses .gx-course-points {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.gx-xiaofa-courses .gx-course-points li {
  position: relative;
  padding: 12px 0 12px 18px;
  border: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.7;
}

.gx-xiaofa-courses .gx-course-points li::before {
  content: "";
  position: absolute;
  top: 1.45em;
  left: 0;
  width: 8px;
  height: 1px;
  background: var(--zhusha);
}

.gx-xiaofa-courses .gx-course-meta {
  margin: 28px 0 24px;
  padding: 18px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  border: 0;
  border-radius: 4px;
  background: rgba(185, 202, 186, .1);
}

.gx-xiaofa-courses .gx-course-meta div {
  min-width: 0;
}

.gx-xiaofa-courses .gx-course-meta dt {
  margin-bottom: 6px;
  color: var(--bamboo-deep);
  font-family: var(--serif);
  font-size: 14px;
}

.gx-xiaofa-courses .gx-course-meta dd {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 12px;
  line-height: 1.75;
}

.gx-xiaofa-courses .gx-course-card .gx-text-link {
  padding-bottom: 0;
  border-bottom: 0;
  color: var(--zhusha);
  font-size: 13px;
}

@media (max-width: 980px) {
  .gx-xiaofa-page .gx-xiaofa-hero {
    width: 100%;
    height: auto;
    min-height: auto;
    max-height: none;
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-page .gx-page-hero-copy {
    min-height: 520px;
    padding: 82px 40px 72px;
  }

  .gx-xiaofa-page .gx-page-hero-copy::before {
    top: 72px;
    bottom: 72px;
    left: 24px;
  }

  .gx-xiaofa-page .gx-page-hero-media {
    height: 520px;
    min-height: 520px;
    margin: 0 24px 24px;
  }

  .gx-xiaofa-essentials .gx-principle-list {
    grid-template-columns: 1fr 1fr;
  }

  .gx-xiaofa-applications .gx-scene-list > article {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-applications .gx-scene-list > article > header {
    min-height: 190px;
    padding: 34px;
    flex-direction: row;
    align-items: flex-start;
    border: 0;
  }

  .gx-xiaofa-courses .gx-course-card:first-child {
    display: block;
  }

}

@media (max-width: 720px) {
  .gx-xiaofa-page {
    --gx-xiaofa-space: 76px;
  }

  .gx-xiaofa-page .gx-page-hero-copy {
    min-height: 0;
    padding: 28px 26px 30px 42px;
    justify-content: flex-start;
  }

  .gx-xiaofa-page .gx-page-hero-copy::before {
    top: 28px;
    bottom: 30px;
    left: 16px;
  }

  .gx-xiaofa-page .gx-page-hero-copy .crumb {
    margin-bottom: 28px;
  }

  .gx-xiaofa-page .gx-page-seal {
    margin-bottom: 20px;
  }

  .gx-xiaofa-page .gx-page-hero h1 {
    margin-bottom: 16px;
    font-size: 48px;
  }

  .gx-xiaofa-page .gx-page-hero-introduction {
    margin-top: 20px;
    padding-top: 18px;
  }

  .gx-xiaofa-page .gx-page-hero-media {
    height: 390px;
    min-height: 390px;
    margin: 0 16px 16px;
  }

  .gx-xiaofa-essentials .gx-principle-band,
  .gx-xiaofa-essentials .gx-compare-band,
  .gx-xiaofa-courses .gx-course-section > .wrap {
    width: min(100% - 32px, var(--max));
  }

  .gx-xiaofa-essentials .gx-principle-list {
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-essentials .gx-principle-list article,
  .gx-xiaofa-essentials .gx-principle-list article:nth-child(2) {
    min-height: 0;
    border: 0;
  }

  .gx-xiaofa-essentials .gx-lineage-band,
  .gx-xiaofa-applications .gx-scene-band,
  .gx-xiaofa-applications .gx-common-value-band,
  .gx-xiaofa-courses .gx-practice-path {
    padding-inline: 16px;
  }

  .gx-xiaofa-essentials .gx-lineage-band ol {
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-essentials .gx-lineage-band ol::before {
    top: 32px;
    bottom: 32px;
    left: 18px;
    width: 1px;
    height: auto;
  }

  .gx-xiaofa-essentials .gx-lineage-band li {
    min-height: 0;
    padding: 24px 0 24px 58px;
    text-align: left;
  }

  .gx-xiaofa-essentials .gx-lineage-band li > span {
    position: absolute;
    top: 24px;
    left: 0;
  }

  .gx-xiaofa-essentials .gx-lineage-band h3 {
    margin: 0 0 10px;
  }

  .gx-xiaofa-essentials .gx-lineage-band li p {
    margin: 0;
  }

  .gx-xiaofa-essentials .gx-compare-head,
  .gx-xiaofa-essentials .gx-compare-rows article {
    gap: 18px;
  }

  .gx-xiaofa-essentials .gx-compare-rows article > div {
    padding: 24px 0;
    display: block;
  }

  .gx-xiaofa-essentials .gx-compare-rows article > div:last-child {
    padding-left: 18px;
  }

  .gx-xiaofa-essentials .gx-compare-rows h3 {
    margin-bottom: 8px;
    font-size: 19px;
  }

  .gx-xiaofa-applications .gx-scene-band > nav {
    grid-template-columns: repeat(6, 118px);
  }

  .gx-xiaofa-applications .gx-scene-list > article > header {
    min-height: 160px;
    padding: 28px 24px;
  }

  .gx-xiaofa-applications .gx-scene-columns {
    padding: 22px;
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-applications .gx-scene-columns .gx-scene-logic,
  .gx-xiaofa-applications .gx-scene-columns section {
    grid-column: auto;
    grid-row: auto;
    padding: 24px 18px;
  }

  .gx-xiaofa-applications .gx-scene-columns section:first-child {
    grid-column: auto;
    grid-row: auto;
    border: 0;
  }

  .gx-xiaofa-applications .gx-scene-columns section:last-child {
    grid-column: auto;
    grid-row: auto;
  }

  .gx-xiaofa-applications .gx-common-value-inner > header {
    margin-bottom: 40px;
  }

  .gx-xiaofa-applications .gx-common-value-labels {
    display: none;
  }

  .gx-xiaofa-applications .gx-common-value-grid article {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 28px 22px;
  }

  .gx-xiaofa-applications .gx-common-value-grid article > p {
    padding-left: 60px;
  }

  .gx-xiaofa-applications .gx-common-value-closing {
    margin-left: 0;
    padding-left: 0;
  }

  .gx-xiaofa-courses .gx-practice-path ol {
    margin-top: 42px;
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 12px;
  }

  .gx-xiaofa-courses .gx-practice-path ol::before {
    display: none;
  }

  .gx-xiaofa-courses .gx-practice-path li,
  .gx-xiaofa-courses .gx-practice-path li:nth-child(1),
  .gx-xiaofa-courses .gx-practice-path li:nth-child(2),
  .gx-xiaofa-courses .gx-practice-path li:nth-child(3),
  .gx-xiaofa-courses .gx-practice-path li:nth-child(4) {
    width: 100%;
    min-height: 0;
    padding: 28px 0 30px 60px;
    border: 0;
    transform: none;
  }

  .gx-xiaofa-courses .gx-practice-path li > span,
  .gx-xiaofa-courses .gx-practice-path li:first-child > span {
    top: 28px;
    left: 0;
  }

  .gx-xiaofa-courses .gx-course-showcase {
    grid-template-columns: 1fr;
  }

  .gx-xiaofa-courses .gx-course-card-copy {
    grid-template-rows: repeat(6, auto);
  }

  .gx-xiaofa-courses .gx-course-card:first-child {
    grid-column: auto;
  }

  .gx-xiaofa-courses .gx-course-card {
    border: 0;
  }

  .gx-xiaofa-courses .gx-course-meta {
    grid-template-columns: 1fr;
    gap: 14px;
  }

}

@media (max-width: 560px) {
  .gx-home {
    --gx-home-section-space: 60px;
  }

  .gx-home-stat-grid {
    padding-top: var(--gx-home-section-space);
    padding-bottom: var(--gx-home-section-space);
  }
}

/* 2026 content modules: handwork archive, editorial closings and selection gallery. */
.gx-handwork-record {
  width: min(100% - 64px, var(--max));
  margin: 0 auto;
  padding: clamp(86px, 10vw, 136px) 0;
}

.gx-handwork-record-lead {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
}

.gx-handwork-record-lead > figure {
  min-height: 560px;
  margin: 0;
  overflow: hidden;
  background: var(--surface-container);
}

.gx-handwork-record-lead > figure img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.gx-handwork-record-lead > div {
  position: relative;
  padding: 42px 0 42px clamp(28px, 4vw, 54px);
  border-left: 1px solid rgba(162, 138, 90, .52);
}

.gx-handwork-seal {
  width: 58px;
  height: 58px;
  margin-bottom: 28px;
  display: grid;
  place-items: center;
  color: #fff8ea;
  background: var(--zhusha);
  box-shadow: inset 0 0 0 4px rgba(255, 248, 234, .14);
  font-family: var(--serif);
  font-size: 29px;
}

.gx-handwork-record-lead h2 {
  max-width: 8em;
  margin: 16px 0 14px;
  font-size: clamp(40px, 4.5vw, 62px);
  font-weight: 500;
  line-height: 1.24;
}

.gx-handwork-record-lead h3 {
  margin: 0 0 28px;
  color: var(--bamboo-deep);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  letter-spacing: .08em;
}

.gx-handwork-record-lead > div > p:last-of-type {
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 2.05;
}

.gx-handwork-record-lead ul {
  margin: 32px 0 0;
  padding: 22px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  border-top: 1px solid var(--outline-variant);
}

.gx-handwork-record-lead li {
  min-height: 42px;
  padding: 10px 12px;
  display: grid;
  place-items: center;
  color: var(--bamboo-deep);
  border: 1px solid rgba(93, 126, 102, .48);
  border-radius: 6px;
  font-family: var(--serif);
  font-size: 14px;
  text-align: center;
  letter-spacing: .14em;
}

.gx-handwork-gallery-heading {
  margin: clamp(82px, 9vw, 124px) 0 34px;
  text-align: center;
}

.gx-handwork-gallery-heading::before {
  content: '';
  width: 54px;
  height: 1px;
  margin: 0 auto 20px;
  display: block;
  background: rgba(23, 37, 46, .68);
}

.gx-handwork-gallery-heading h2 {
  margin: 10px 0;
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 500;
}

.gx-handwork-gallery-heading > p:last-child {
  margin: 0;
  color: var(--on-surface-variant);
  letter-spacing: .12em;
}

.gx-handwork-gallery {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  list-style: none;
}

.gx-handwork-gallery li {
  position: relative;
  min-width: 0;
}

.gx-handwork-gallery figure {
  aspect-ratio: 1 / 1;
  margin: 0 0 14px;
  overflow: hidden;
  background: var(--surface-container);
  border: 1px solid rgba(23, 37, 46, .42);
  border-radius: 8px;
}

.gx-handwork-gallery figure.is-empty {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .24), transparent 42%),
    rgba(223, 217, 201, .42);
}

.gx-handwork-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.gx-handwork-gallery li:hover img {
  transform: scale(1.025);
}

.gx-handwork-gallery h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  letter-spacing: .13em;
}

.gx-editorial-closing-card {
  width: min(100% - 64px, var(--max));
  min-height: 310px;
  margin: clamp(76px, 9vw, 126px) auto;
  padding: clamp(46px, 6vw, 78px);
  display: grid;
  grid-template-columns: minmax(0, 65fr) minmax(250px, 35fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
  background: linear-gradient(112deg, rgba(235, 227, 211, .96), rgba(250, 247, 239, .9));
  border-top: 1px solid rgba(162, 138, 90, .78);
  border-bottom: 1px solid rgba(162, 138, 90, .4);
}

.gx-editorial-closing-card .gx-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
}

.gx-editorial-closing-card .gx-eyebrow span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #fff8ea;
  background: var(--zhusha);
  font-family: var(--serif);
  font-size: 17px;
}

.gx-editorial-closing-card h2 {
  max-width: 14em;
  margin: 18px 0 15px;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 500;
  line-height: 1.4;
}

.gx-editorial-closing-card > div > p:last-child {
  max-width: 48em;
  margin: 0;
  color: var(--on-surface-variant);
  line-height: 1.9;
}

.gx-editorial-closing-card nav {
  display: grid;
  gap: 12px;
}

.gx-editorial-closing-card nav a {
  min-height: 54px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--bamboo-deep);
  border: 1px solid rgba(63, 92, 73, .46);
  text-decoration: none;
  font-size: 14px;
  transition: color .2s ease, background-color .2s ease;
}

.gx-editorial-closing-card nav a.gx-closing-primary,
.gx-editorial-closing-card nav a:hover,
.gx-editorial-closing-card nav a:focus-visible {
  color: #fff8ea;
  background: var(--bamboo-deep);
}

.gx-product-selection {
  width: min(100% - 64px, var(--max));
  margin: clamp(74px, 9vw, 120px) auto;
  padding-top: 44px;
  border-top: 1px solid rgba(23, 37, 46, .44);
}

.gx-product-selection > header {
  position: relative;
  margin-bottom: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
}

.gx-product-selection > header::before {
  content: '';
  position: absolute;
  top: 23px;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(23, 37, 46, .44);
}

.gx-product-selection > header > span {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: #fff8ea;
  background: var(--zhusha);
  box-shadow: inset 0 0 0 3px rgba(255, 248, 234, .15);
  font-family: var(--serif);
  font-size: 22px;
}

.gx-product-selection h2 {
  margin: 0;
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 500;
  letter-spacing: .08em;
}

.gx-product-selection-rail {
  padding-bottom: 17px;
  display: flex;
  gap: 24px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(63, 92, 73, .68) rgba(217, 210, 195, .5);
}

.gx-product-selection-rail::-webkit-scrollbar { height: 5px; }
.gx-product-selection-rail::-webkit-scrollbar-track { background: rgba(217, 210, 195, .5); }
.gx-product-selection-rail::-webkit-scrollbar-thumb { background: rgba(63, 92, 73, .68); }

.gx-product-selection-rail figure {
  flex: 0 0 min(78vw, 880px);
  aspect-ratio: 4 / 1;
  margin: 0;
  overflow: hidden;
  scroll-snap-align: start;
  background: var(--surface-container);
}

.gx-product-selection-rail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .gx-handwork-record-lead,
  .gx-editorial-closing-card {
    grid-template-columns: 1fr;
  }

  .gx-handwork-record-lead > figure,
  .gx-handwork-record-lead > figure img {
    min-height: 460px;
  }

  .gx-handwork-record-lead > div {
    padding: 34px 0 0;
    border-top: 1px solid rgba(162, 138, 90, .52);
    border-left: 0;
  }

  .gx-editorial-closing-card nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gx-handwork-record,
  .gx-editorial-closing-card,
  .gx-product-selection {
    width: min(100% - 32px, var(--max));
  }

  .gx-handwork-record-lead > figure,
  .gx-handwork-record-lead > figure img {
    min-height: 360px;
  }

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

  .gx-handwork-gallery li {
    padding: 9px 9px 15px;
  }

  .gx-handwork-gallery h3 {
    font-size: 16px;
  }

  .gx-editorial-closing-card {
    padding: 38px 24px;
  }

  .gx-editorial-closing-card nav {
    grid-template-columns: 1fr;
  }

  .gx-product-selection > header > span {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }

  .gx-product-selection h2 {
    font-size: 27px;
  }

  .gx-product-selection-rail {
    gap: 24px;
  }

  .gx-product-selection-rail figure {
    flex-basis: 84vw;
    aspect-ratio: 4 / 1;
  }
}

/* Dai handmade xiao pages: shared editorial hero, catalogue and care handbook. */
.gx-handxiao-page {
  --gx-hand-space: clamp(88px, 8vw, 124px);
}

.gx-handxiao-page .gx-handxiao-hero .gx-page-hero-copy::before {
  background: rgba(110, 137, 114, .14);
}

.gx-handxiao-page .gx-handxiao-hero .gx-page-hero-copy .crumb {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  padding: 0;
  justify-content: flex-start;
  align-self: stretch;
  text-align: left;
}

.gx-craft-page .gx-handxiao-hero .gx-page-hero-media img {
  object-position: 55% center;
}

.gx-product-catalog .gx-handxiao-hero .gx-page-hero-media img {
  object-position: 42% center;
}

.gx-care-page .gx-handxiao-hero .gx-page-hero-media img {
  object-position: center 64%;
}

/* Product catalogue: one client-defined 1 + 6 framework. */
.gx-catalog-framework,
.gx-product-service-upgraded {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-catalog-framework {
  padding-block: var(--gx-hand-space);
}

.gx-catalog-section-heading {
  max-width: 760px;
  margin-bottom: clamp(46px, 5vw, 70px);
}

.gx-catalog-section-heading h2,
.gx-care-custom h2,
.gx-care-guide h2,
.gx-care-aftercare h2,
.gx-care-faq-section h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.32;
}

.gx-catalog-section-heading > p:last-child,
.gx-care-custom-intro > p,
.gx-care-guide > header > p:last-child {
  max-width: 54em;
  margin: 22px 0 0;
  color: var(--on-surface-variant);
  font-size: 14px;
  line-height: 1.9;
}

.gx-grade-composition {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr);
  gap: clamp(42px, 6vw, 84px);
  align-items: stretch;
}

.gx-flagship-slot {
  min-width: 0;
}

.gx-flagship-slot figure {
  height: clamp(430px, 48vw, 650px);
  margin: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: rgba(110, 137, 114, .1);
  color: rgba(38, 38, 38, .48);
  font-family: var(--serif);
  font-size: 14px;
  letter-spacing: .12em;
}

.gx-flagship-slot > div {
  padding-top: 28px;
}

.gx-flagship-slot > div > p,
.gx-grade-list article > span,
.gx-grade-list article > div > p:first-child,
.gx-category-portal > div > span {
  color: var(--zhusha);
  font-size: 11px;
  letter-spacing: .12em;
}

.gx-flagship-slot h3,
.gx-grade-list h3,
.gx-category-portal h3 {
  margin: 7px 0 12px;
  font-size: clamp(25px, 2.6vw, 36px);
}

.gx-flagship-slot dl {
  margin: 24px 0;
  display: flex;
  gap: 46px;
}

.gx-flagship-slot dl div {
  display: grid;
  gap: 5px;
}

.gx-flagship-slot dt,
.gx-flagship-slot dd {
  margin: 0;
  font-size: 12px;
}

.gx-flagship-slot dt {
  color: var(--on-surface-variant);
}

.gx-flagship-slot > div > span,
.gx-grade-list article > div > p:last-of-type,
.gx-category-portal p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-grade-list {
  display: grid;
  align-content: stretch;
}

.gx-grade-list article {
  min-height: 0;
  padding: clamp(26px, 3vw, 38px) 0;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 20px;
  border-bottom: 1px solid rgba(110, 137, 114, .26);
}

.gx-grade-list article:first-child {
  padding-top: 0;
}

.gx-grade-list article:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.gx-grade-list h3 {
  font-size: clamp(24px, 2.4vw, 32px);
}

.gx-grade-list small,
.gx-grade-list em {
  display: block;
  color: #77766f;
  font-size: 11px;
  font-style: normal;
}

.gx-grade-list em {
  margin-top: 16px;
  color: var(--zhusha);
}

.gx-category-portals {
  margin-top: clamp(76px, 8vw, 116px);
  display: grid;
  grid-template-columns: 1.16fr 1fr .92fr;
  gap: clamp(20px, 2.6vw, 36px);
}

.gx-category-portal {
  min-width: 0;
  display: block;
}

.gx-category-portals figure {
  height: 330px;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: #e7dfd1;
}

.gx-category-portal:first-child figure {
  height: 410px;
}

.gx-category-portals img,
.gx-product-service-upgraded img,
.gx-care-custom-intro figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(.92);
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), filter .35s ease;
}

.gx-category-portal > div {
  padding: 24px 4px 0;
}

.gx-category-portals h3 {
  font-size: 30px;
}

.gx-category-portals small {
  margin-top: 18px;
  display: inline-block;
  color: var(--zhusha);
  font-size: 12px;
}

/* Product catalogue: separate selection levels from concrete instrument families. */
.gx-level-guide,
.gx-category-catalog {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
  padding-block: var(--gx-hand-space);
}

.gx-level-guide {
  padding-bottom: clamp(56px, 6vw, 84px);
  border-bottom: 1px solid rgba(110, 137, 114, .22);
}

.gx-level-path {
  --gx-level-gap: clamp(18px, 2.6vw, 34px);
  position: relative;
  margin: clamp(50px, 6vw, 76px) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gx-level-gap);
  list-style: none;
}

/* Anchor the connector to the labels so it follows responsive image heights. */
.gx-level-stage-copy::after {
  content: "";
  position: absolute;
  top: 27px;
  left: 0;
  right: calc(0px - var(--gx-level-gap));
  height: 1px;
  background: linear-gradient(90deg, rgba(110, 137, 114, .24), rgba(110, 137, 114, .5));
}

.gx-level-stage:last-child .gx-level-stage-copy::after {
  right: 0;
}

.gx-level-stage {
  position: relative;
  min-width: 0;
}

.gx-level-photo-slot {
  margin: 0;
  height: clamp(220px, 22vw, 320px);
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(110, 137, 114, .09);
  color: rgba(38, 38, 38, .48);
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .08em;
}

.gx-level-stage:nth-child(2) .gx-level-photo-slot {
  background: rgba(110, 137, 114, .13);
}

.gx-level-stage:nth-child(3) .gx-level-photo-slot {
  background: rgba(110, 137, 114, .18);
}

.gx-level-stage:nth-child(4) .gx-level-photo-slot {
  background: rgba(110, 137, 114, .22);
}

.gx-level-stage-copy {
  position: relative;
  padding: 54px 2px 0;
}

.gx-level-stage-copy::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 22px;
  left: 1px;
  width: 11px;
  height: 11px;
  border: 2px solid var(--surface);
  border-radius: 50%;
  background: var(--zhusha);
  box-shadow: 0 0 0 1px rgba(196, 59, 44, .55);
}

.gx-level-stage-copy > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.gx-level-stage-copy > div span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 14px;
}

.gx-level-stage-copy > div small {
  color: var(--on-surface-variant);
  font-size: 11px;
  letter-spacing: .1em;
}

.gx-level-stage h3 {
  margin: 14px 0 13px;
  font-size: clamp(23px, 2.2vw, 30px);
}

.gx-level-stage p {
  min-height: 8.2em;
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-catalog-product-card em {
  margin-top: 12px;
  display: block;
  color: #857f73;
  font-size: 10px;
  font-style: normal;
}

.gx-inline-template-note {
  display: inline;
  margin-left: .45em;
  color: #857f73;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .04em;
  white-space: nowrap;
}

.gx-level-directory-link {
  margin: 32px 0 0 auto;
  display: flex;
  width: fit-content;
  gap: 9px;
  color: var(--zhusha);
  font-size: 13px;
}

.gx-category-catalog {
  padding-top: 0;
  padding-bottom: clamp(96px, 10vw, 148px);
}

.gx-category-tabs {
  width: fit-content;
  margin: 0 0 clamp(24px, 2.8vw, 34px);
  display: flex;
  align-items: center;
  gap: clamp(26px, 5vw, 64px);
  border: 0;
}

.gx-category-tabs button {
  position: relative;
  padding: 8px 2px 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--on-surface-variant);
  text-align: left;
  cursor: pointer;
}

.gx-category-tabs button::after {
  content: "";
  position: absolute;
  left: 2px;
  bottom: 2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--zhusha);
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .2s ease, transform .2s ease;
}

.gx-category-tabs button:hover,
.gx-category-tabs button:focus-visible,
.gx-category-tabs button[aria-selected="true"] {
  color: var(--zhusha);
}

.gx-category-tabs button[aria-selected="true"]::after {
  opacity: 1;
  transform: translateY(0);
}

.gx-category-tabs button > span {
  display: none;
}

.gx-category-tabs button strong {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 500;
}

.gx-category-tabs button small {
  color: #918b80;
  font-size: 9px;
  letter-spacing: .08em;
}

.gx-category-tabs button[aria-selected="true"] small {
  color: rgba(196, 59, 44, .72);
}

.gx-category-collections {
  min-width: 0;
}

.gx-category-collection {
  scroll-margin-top: 104px;
}

.gx-category-collection[hidden] {
  display: none;
}

.gx-category-seal {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--zhusha);
  border-radius: 2px;
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-category-seal {
  margin-bottom: 16px;
}

.gx-product-rail-heading {
  margin-bottom: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.gx-product-rail-copy {
  max-width: 720px;
}

.gx-product-rail-copy p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-product-rail-copy > span {
  display: block;
  margin-top: 9px;
  color: #857f73;
  font-size: 10px;
  letter-spacing: .06em;
}

.gx-product-rail-copy > span strong {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 500;
}

.gx-product-rail-heading > div:last-child {
  display: flex;
  gap: 8px;
}

.gx-product-rail-heading button {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(110, 137, 114, .34);
  border-radius: 50%;
  background: transparent;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 22px;
  cursor: pointer;
}

.gx-product-rail-heading button:hover,
.gx-product-rail-heading button:focus-visible {
  border-color: var(--zhusha);
  color: var(--zhusha);
}

.gx-catalog-product-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 31.5%;
  gap: 28px;
  align-items: start;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(110, 137, 114, .38) transparent;
  padding: 0 0 22px;
}

.gx-catalog-product-card {
  min-width: 0;
  scroll-snap-align: start;
}

.gx-catalog-product-image {
  height: clamp(330px, 36vw, 440px);
  display: block;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(110, 137, 114, .09);
}

.gx-catalog-product-image :is(img, .cms-review-image-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-catalog-product-image img {
  filter: saturate(.74) contrast(.94);
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), filter .35s ease;
}

.gx-catalog-product-image:hover img,
.gx-catalog-product-image:focus-visible img {
  transform: scale(1.02);
  filter: saturate(.88) contrast(.98);
}

.gx-catalog-product-card > div {
  padding: 22px 2px 0;
}

.gx-catalog-product-card > div > p {
  min-height: 1.4em;
  margin: 0 0 9px;
  color: var(--zhusha);
  font-size: 11px;
}

.gx-catalog-product-card h4 {
  margin: 0 0 13px;
  font-size: clamp(22px, 2.3vw, 30px);
}

.gx-catalog-product-card h4 a {
  color: inherit;
}

.gx-catalog-product-card > div > span {
  display: block;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-catalog-product-card.is-template {
  opacity: .78;
}

.gx-catalog-product-card.is-template .gx-catalog-product-image {
  border: 1px dashed rgba(110, 137, 114, .35);
}

.gx-catalog-product-link {
  margin-top: 18px;
  display: inline-flex;
  gap: 8px;
  color: var(--zhusha);
  font-size: 12px;
}

/* Product detail template: image slots, verified attributes and editable narrative. */
.gx-product-detail-page {
  padding: clamp(104px, 10vw, 142px) 0 64px;
  overflow: hidden;
  background: var(--surface);
}

.gx-product-detail-hero,
.gx-product-detail-story,
.gx-product-detail-specs,
.gx-product-detail-close {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
}

.gx-product-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: 0 clamp(54px, 7vw, 96px);
  align-items: start;
}

.gx-product-detail-crumb {
  grid-column: 1 / -1;
  justify-content: flex-start;
  margin: 0 0 clamp(42px, 5vw, 66px);
  color: var(--on-surface-variant);
}

.gx-product-detail-media {
  min-width: 0;
}

.gx-product-detail-media figure {
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(110, 137, 114, .09);
}

.gx-product-main-image {
  height: clamp(540px, 60vw, 760px);
}

.gx-product-main-image :is(img, .cms-review-image-placeholder),
.gx-product-detail-thumbs :is(img, .cms-review-image-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gx-product-main-image img,
.gx-product-detail-thumbs img {
  filter: saturate(.76) contrast(.95);
}

.gx-product-detail-thumbs {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.gx-product-detail-thumbs.is-single-thumb {
  grid-template-columns: minmax(0, 1fr);
}

.gx-product-detail-thumbs figure {
  height: 190px;
}

.gx-product-detail-summary {
  position: sticky;
  top: 108px;
  padding-top: 8px;
}

.gx-product-detail-meta {
  margin: 0 0 20px;
  color: var(--zhusha);
  font-size: 12px;
  letter-spacing: .08em;
}

.gx-product-detail-summary h1 {
  max-width: 9em;
  margin: 0;
  font-size: clamp(44px, 5vw, 70px);
  line-height: 1.16;
}

.gx-product-detail-lead {
  max-width: 35em;
  margin: 28px 0 0;
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 1.9;
}

.gx-template-note {
  margin-top: 11px;
  display: block;
  color: #857f73;
  font-size: 10px;
  letter-spacing: .06em;
}

.gx-product-key-facts {
  margin: 42px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.gx-product-key-facts > div {
  min-height: 92px;
  padding: 19px 20px;
  border-radius: 6px;
  background: rgba(110, 137, 114, .08);
}

.gx-product-key-facts dt {
  color: var(--on-surface-variant);
  font-size: 10px;
}

.gx-product-key-facts dd {
  margin: 9px 0 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.45;
}

.gx-product-detail-actions {
  margin-top: 34px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}

.gx-product-back-link {
  color: var(--zhusha);
  font-size: 12px;
}

.gx-product-detail-story {
  padding-block: clamp(92px, 9vw, 128px);
  display: grid;
  grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: start;
  border-top: 0;
}

.gx-product-story-heading {
  position: sticky;
  top: 112px;
}

.gx-product-story-heading > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--zhusha);
  border-radius: 2px;
  color: var(--zhusha);
  font-family: var(--serif);
}

.gx-product-story-heading h2 {
  margin: 22px 0 0;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.25;
}

.gx-product-story-content {
  min-width: 0;
  max-width: 900px;
}

.gx-product-detail-specs h2,
.gx-product-detail-close h2 {
  margin: 0;
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.3;
}

.gx-product-story-narrative .article-body,
.gx-product-story-narrative .article-body :is(p, li),
.gx-product-sample-copy p {
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2;
}

.gx-product-story-narrative .article-body {
  margin-top: 0;
}

.gx-product-story-copy {
  max-width: 54em;
}

.gx-product-story-copy h3 {
  width: fit-content;
  margin: 0 0 28px;
  padding-bottom: 0;
  border-bottom: 0;
  color: var(--on-surface);
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 500;
}

.gx-product-story-copy p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 15px;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph;
}

.gx-product-story-copy p:first-of-type {
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 2;
}

.gx-product-story-copy :is(p, h3) + :is(p, h3) {
  margin-top: 22px;
}

.gx-product-story-narrative > .cms-review-placeholder {
  margin: 0;
  padding: 26px 30px;
  border: 0;
  border-radius: 4px;
  background: rgba(110, 137, 114, .045);
  color: var(--on-surface-variant);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .12em;
}

.gx-product-story-notes {
  margin-top: clamp(44px, 6vw, 68px);
  padding-top: clamp(30px, 4vw, 44px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 64px);
  border-top: 0;
}

.gx-product-story-notes.is-single {
  grid-template-columns: minmax(0, 1fr);
}

.gx-product-detail-timbre {
  margin: 0;
  padding: 0;
  border: 0;
}

.gx-product-detail-timbre h3 {
  margin: 0 0 18px;
  font-size: clamp(21px, 2.2vw, 28px);
}

.gx-product-detail-timbre > p,
.gx-product-maker-summary > p {
  margin: 0 0 8px;
  color: var(--zhusha);
  font-size: 11px;
  letter-spacing: .12em;
}

.gx-product-detail-timbre > div {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.9;
}

.gx-product-detail-timbre nav {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.gx-product-detail-timbre nav a {
  color: var(--zhusha);
  border-bottom: 1px solid rgba(196, 59, 44, .28);
  font-size: 12px;
}

.gx-product-maker-summary {
  padding: 0;
  border-left: 0;
}

.gx-product-maker-summary h3 {
  margin: 0 0 20px;
  font-size: 26px;
}

.gx-product-maker-summary h3 a {
  color: inherit;
}

.gx-product-maker-summary blockquote {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-product-detail-specs {
  padding-block: clamp(92px, 9vw, 128px);
}

.gx-product-detail-specs dl {
  margin: 38px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.gx-product-detail-specs dl > div {
  min-height: 120px;
  padding: 24px;
  border-radius: 6px;
  background: rgba(110, 137, 114, .08);
}

.gx-product-detail-specs dt {
  color: var(--on-surface-variant);
  font-size: 11px;
}

.gx-product-detail-specs dd {
  margin: 12px 0 0;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.5;
}

.gx-product-detail-close {
  min-height: 330px;
  margin-top: 0;
  padding: clamp(64px, 7vw, 90px) clamp(28px, 6vw, 80px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  border: 0;
  border-radius: 6px;
  background: #303934;
  color: #f5efe2;
}

.gx-product-detail-close > div {
  display: flex;
  align-items: center;
  gap: 28px;
}

.gx-product-detail-close > div > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(196, 59, 44, .8);
  color: #f0c7be;
  font-family: var(--serif);
}

.gx-product-detail-close h2 {
  max-width: 15em;
  color: #f5efe2;
  font-size: clamp(24px, 3vw, 38px);
}

.gx-product-detail-close > a {
  flex: 0 0 auto;
  padding: 10px 18px;
  border: 1px solid rgba(196, 59, 44, .8);
  border-radius: 6px;
  color: #f5efe2;
  font-size: 13px;
  transition: background-color .2s ease, color .2s ease;
}

.gx-product-detail-close > a:hover,
.gx-product-detail-close > a:focus-visible {
  background: var(--zhusha);
  color: #fff;
}

.gx-product-service-upgraded {
  margin-bottom: var(--gx-hand-space);
  padding: 0;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 0;
  align-items: stretch;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #303934;
  color: #f5efe2;
}

.gx-product-service-upgraded figure {
  min-height: 520px;
  margin: 0;
}

.gx-product-service-upgraded > div {
  max-width: none;
  padding: clamp(54px, 6vw, 88px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.gx-product-service-upgraded h2 {
  color: #f5efe2;
}

.gx-product-service-upgraded > div > p:last-of-type {
  color: rgba(245, 239, 226, .68);
  line-height: 1.9;
}

.gx-product-service-upgraded .gx-primary-link {
  margin-top: 32px;
}

/* Care page: material-led process, switchable handbook and compact service record. */
.gx-care-custom,
.gx-care-aftercare,
.gx-care-faq-section {
  width: min(100% - 64px, var(--max));
  margin-inline: auto;
  padding-block: var(--gx-hand-space);
}

.gx-care-custom {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(58px, 8vw, 112px);
}

.gx-care-custom-intro figure {
  height: 188px;
  margin: 46px 0 0;
  overflow: hidden;
  border-radius: 6px;
  background: #e5ddce;
}

.gx-care-custom-process ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gx-care-custom-process li {
  padding: 28px 0;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  border-bottom: 1px solid rgba(110, 137, 114, .28);
}

.gx-care-custom-process li:first-child {
  padding-top: 0;
}

.gx-care-custom-process li > span {
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 12px;
}

.gx-care-custom-process h3 {
  margin: 0 0 9px;
  font-size: 24px;
}

.gx-care-custom-process p {
  margin: 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-care-custom-process .gx-primary-link {
  margin-top: 34px;
}

.gx-care-service-facts {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(30px, 5vw, 72px);
  border-top: 1px solid rgba(110, 137, 114, .28);
}

.gx-care-service-facts dt {
  color: var(--zhusha);
  font-size: 11px;
  letter-spacing: .1em;
}

.gx-care-service-facts dd {
  margin: 10px 0 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.8;
}

.gx-care-guide {
  width: 100%;
  padding: var(--gx-hand-space) max(32px, calc((100% - var(--max)) / 2));
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(70px, 9vw, 130px);
  background: #303934;
  color: #f5efe2;
}

.gx-care-guide h2 {
  color: #f5efe2;
}

.gx-care-guide > header > p:last-child {
  color: rgba(245, 239, 226, .62);
}

.gx-care-guide .gx-care-switcher {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: clamp(34px, 5vw, 70px);
}

.gx-care-guide .gx-care-tabs {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 0;
  border: 0;
}

.gx-care-guide .gx-care-tabs button {
  padding: 18px 0;
  border-bottom: 1px solid rgba(245, 239, 226, .15);
  color: rgba(245, 239, 226, .56);
  text-align: left;
}

.gx-care-guide .gx-care-tabs button[aria-selected="true"] {
  border-bottom-color: rgba(196, 59, 44, .9);
  color: #f5efe2;
}

.gx-care-guide .gx-care-groups {
  margin: 0;
  border: 0;
}

.gx-care-guide .gx-care-groups article {
  min-height: 310px;
  padding: 0;
  border: 0;
}

.gx-care-guide .gx-care-groups h3 {
  color: #f5efe2;
  font-size: 30px;
}

.gx-care-guide .gx-care-groups ul {
  margin-top: 28px;
  padding: 0;
  list-style: none;
}

.gx-care-guide .gx-care-groups li {
  padding: 16px 0;
  border-bottom: 1px solid rgba(245, 239, 226, .14);
  color: rgba(245, 239, 226, .72);
  font-size: 14px;
  line-height: 1.8;
}

.gx-care-guide .gx-care-groups li::before {
  display: none;
}

.gx-care-aftercare > header,
.gx-care-faq-section > header {
  max-width: 720px;
  margin-bottom: clamp(48px, 5vw, 72px);
}

.gx-aftercare-content {
  display: grid;
  grid-template-columns: 1.15fr 1fr .85fr;
  gap: clamp(36px, 5vw, 72px);
}

.gx-aftercare-content article {
  min-width: 0;
}

.gx-aftercare-content span {
  color: var(--zhusha);
  font-size: 11px;
  letter-spacing: .1em;
}

.gx-aftercare-content h3 {
  margin: 16px 0 14px;
  font-size: clamp(22px, 2.2vw, 29px);
  line-height: 1.45;
}

.gx-aftercare-content p {
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

.gx-aftercare-flow {
  margin: 72px 0 0;
  padding: 28px 0 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  border-top: 1px solid rgba(110, 137, 114, .3);
  list-style: none;
  counter-reset: aftercare;
}

.gx-aftercare-flow li {
  counter-increment: aftercare;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 12px;
  font-family: var(--serif);
  font-size: 16px;
}

.gx-aftercare-flow li::before {
  content: counter(aftercare, decimal-leading-zero);
  color: var(--zhusha);
  font-family: var(--serif);
  font-size: 10px;
}

.gx-care-faq-section {
  width: 100%;
  padding-inline: max(32px, calc((100% - var(--max)) / 2));
  background: rgba(185, 202, 186, .12);
}

.gx-care-faq-groups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(54px, 8vw, 112px);
}

.gx-care-faq-groups > section + section {
  margin-top: 0;
}

.gx-care-faq-groups > section > h3 {
  margin-bottom: 20px;
  color: var(--zhusha);
}

.gx-care-faq {
  border-top: 1px solid rgba(110, 137, 114, .34);
}

.gx-care-faq details {
  border-bottom: 1px solid rgba(110, 137, 114, .26);
}

.gx-care-faq summary {
  position: relative;
  padding: 23px 38px 23px 0;
  color: var(--on-surface);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.55;
  cursor: pointer;
  list-style: none;
}

.gx-care-faq summary::-webkit-details-marker {
  display: none;
}

.gx-care-faq summary::after {
  content: "+";
  position: absolute;
  top: 23px;
  right: 0;
  color: var(--zhusha);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 300;
}

.gx-care-faq details[open] summary::after {
  content: "−";
}

.gx-care-faq details p {
  margin: 0;
  padding: 0 40px 23px 0;
  color: var(--on-surface-variant);
  font-size: 13px;
  line-height: 1.85;
}

@media (max-width: 980px) {
  .gx-grade-composition,
  .gx-care-custom,
  .gx-care-guide,
  .gx-product-service-upgraded {
    grid-template-columns: 1fr;
  }

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

  .gx-level-stage-copy::after,
  .gx-level-stage-copy::before {
    content: none;
  }

  .gx-level-stage-copy {
    padding-top: 28px;
  }

  .gx-level-stage p {
    min-height: 0;
  }

  .gx-catalog-product-grid {
    grid-auto-columns: 42%;
  }

  .gx-product-detail-hero,
  .gx-product-detail-story {
    grid-template-columns: 1fr;
  }

  .gx-product-detail-summary {
    position: static;
    padding-top: 54px;
  }

  .gx-product-detail-story {
    gap: 48px;
  }

  .gx-product-story-heading {
    position: static;
    display: flex;
    align-items: center;
    gap: 18px;
  }

  .gx-product-story-heading h2 {
    margin: 0;
  }

  .gx-category-portals {
    grid-template-columns: repeat(2, 1fr);
  }

  .gx-category-portal:first-child {
    grid-column: 1 / -1;
  }

  .gx-category-portal:first-child figure {
    height: 440px;
  }

  .gx-product-service-upgraded figure {
    min-height: 420px;
  }

  .gx-care-guide {
    gap: 54px;
  }
}

@media (max-width: 680px) {
  .gx-catalog-framework,
  .gx-level-guide,
  .gx-category-catalog,
  .gx-product-detail-hero,
  .gx-product-detail-story,
  .gx-product-detail-specs,
  .gx-product-detail-close,
  .gx-product-service-upgraded,
  .gx-care-custom,
  .gx-care-aftercare {
    width: min(100% - 32px, var(--max));
  }

  .gx-handxiao-page {
    --gx-hand-space: 76px;
  }

  .gx-category-portals,
  .gx-level-path,
  .gx-care-service-facts,
  .gx-aftercare-content,
  .gx-care-faq-groups {
    grid-template-columns: 1fr;
  }

  .gx-category-tabs {
    overflow-x: auto;
    width: 100%;
    gap: 34px;
  }

  .gx-category-tabs button {
    flex: 0 0 auto;
    padding-inline: 2px;
  }

  .gx-category-tabs button::after {
    left: 2px;
    right: auto;
  }

  .gx-catalog-product-grid {
    grid-auto-columns: minmax(255px, 84%);
    gap: 18px;
  }

  .gx-catalog-product-image {
    height: 330px;
  }

  .gx-product-detail-page {
    padding-top: 92px;
  }

  .gx-product-main-image {
    height: 470px;
  }

  .gx-product-detail-thumbs {
    gap: 10px;
  }

  .gx-product-detail-thumbs figure {
    height: 132px;
  }

  .gx-product-key-facts,
  .gx-product-detail-specs dl {
    grid-template-columns: 1fr;
  }

  .gx-product-story-notes {
    grid-template-columns: 1fr;
  }

  .gx-product-maker-summary {
    padding: 8px 0 0;
    border-top: 0;
    border-left: 0;
  }

  .gx-product-detail-close,
  .gx-product-detail-close > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .gx-product-detail-close {
    min-height: 300px;
  }

  .gx-category-portal:first-child {
    grid-column: auto;
  }

  .gx-category-portals figure,
  .gx-category-portal:first-child figure {
    height: 340px;
  }

  .gx-care-guide {
    padding-inline: 16px;
  }

  .gx-care-guide .gx-care-switcher {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .gx-care-guide .gx-care-tabs {
    flex-direction: row;
    overflow-x: auto;
  }

  .gx-care-guide .gx-care-tabs button {
    min-width: max-content;
    padding-right: 18px;
  }

  .gx-aftercare-flow {
    grid-template-columns: 1fr 1fr;
  }

  .gx-product-service-upgraded > div {
    padding: 44px 26px;
  }
}

/* Keep the redesigned persistent player above the legacy media component rules. */
.gx-media-dock.gx-media-dock-new {
  right: 22px;
  bottom: 18px;
  left: 22px;
  width: auto;
  min-height: 76px;
  padding: 12px 18px;
  transform: none;
  grid-template-columns: 52px minmax(180px, .8fr) minmax(300px, 1.2fr);
  gap: 16px;
  border-color: rgba(245, 239, 226, .15);
  background: rgba(38, 48, 42, .97);
}

.gx-media-dock.gx-media-dock-new > div span {
  display: initial;
}

.gx-media-dock.gx-media-dock-new > .gx-media-dock-cover {
  display: grid;
}

@media (max-width: 700px) {
  .gx-media-dock.gx-media-dock-new {
    right: 10px;
    bottom: 10px;
    left: 10px;
    grid-template-columns: 44px 1fr;
    min-height: 72px;
    padding: 10px 12px;
  }

  .gx-knowledge-detail .crumb > span:nth-last-child(2),
  .gx-knowledge-detail .crumb > span:last-child {
    display: none;
  }
}

/* Final cascade for the shared About secondary hero proportions. */
.gx-about-archive-hero {
  grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
  gap: clamp(48px, 6.5vw, 96px);
}

.gx-about-archive-media,
.gx-about-archive-media img,
.gx-about-archive-placeholder {
  height: 510px;
  min-height: 510px;
}

@media (max-width: 1080px) {
  .gx-about-archive-hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
    gap: 48px;
  }

  .gx-about-archive-media,
  .gx-about-archive-media img,
  .gx-about-archive-placeholder {
    height: 470px;
    min-height: 470px;
  }
}

@media (max-width: 680px) {
  .gx-about-archive-hero {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .gx-about-archive-media,
  .gx-about-archive-media img,
  .gx-about-archive-placeholder {
    height: 340px;
    min-height: 340px;
  }
}

/* Shared reading system: use the same bundled typefaces and wrapping behavior on every platform. */
html,
body,
button,
input,
select,
textarea {
  font-family: var(--sans);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--serif);
}

.crumb {
  max-width: 100%;
  font-family: var(--sans);
}

/* Search feedback belongs to the search task, before the browsing directory. */
.gx-faq-search-results {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(245, 239, 226, .18);
}

.gx-faq-search-results[hidden],
.gx-faq-search-results [hidden] {
  display: none;
}

.gx-faq-search-results > header {
  margin-bottom: 24px;
  display: flex;
  gap: 20px;
  align-items: baseline;
  justify-content: space-between;
}

.gx-faq-search-results > header strong {
  color: #fffaf0;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 500;
}

.gx-faq-search-results > header button {
  min-height: auto;
  padding: 0 0 4px;
  border-bottom: 1px solid rgba(224, 199, 155, .45);
  color: #e0c79b;
  font-size: 12px;
  cursor: pointer;
}

.gx-faq-search-results > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(36px, 5vw, 64px);
}

.gx-faq-search-results article {
  min-width: 0;
  padding: 24px 0 26px;
  border-top: 1px solid rgba(245, 239, 226, .12);
}

.gx-faq-search-results article > span {
  color: rgba(245, 239, 226, .48);
  font-size: 10px;
  letter-spacing: .12em;
}

.gx-faq-search-results article h2 {
  margin: 10px 0 12px;
  color: #fffaf0;
  font-size: clamp(17px, 1.7vw, 21px);
  font-weight: 500;
  line-height: 1.55;
}

.gx-faq-search-results article h2 a {
  color: inherit;
  text-decoration: none;
}

.gx-faq-search-results article p {
  margin: 0 0 16px;
  color: rgba(245, 239, 226, .64);
  font-size: 12px;
  line-height: 1.85;
}

.gx-faq-search-results article > a {
  color: #e0c79b;
  font-family: var(--serif);
  font-size: 12px;
  text-decoration: none;
}

.gx-faq-search-empty {
  margin: 0;
  padding: 28px 0 8px;
  border-top: 1px solid rgba(245, 239, 226, .12);
  color: rgba(245, 239, 226, .62);
  font-size: 13px;
}

@media (max-width: 700px) {
  .crumb {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 5px 8px;
    white-space: normal;
    line-height: 1.6;
    text-align: left;
  }

  .crumb > * {
    min-width: 0;
  }

  .crumb > span:last-child {
    overflow-wrap: anywhere;
  }

  .gx-faq-search-results > div {
    grid-template-columns: 1fr;
  }

  .gx-faq-search-results article:first-child {
    border-top: 0;
  }
}

/* On phones the home introduction and its replaceable image become two clear layers. */
@media (max-width: 560px) {
  .gx-home-hero {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: visible;
    background: #f5efe2;
  }

  .gx-home-hero-copy {
    width: 100%;
    min-height: 0;
    padding: 54px 20px 48px;
    background: #f5efe2;
    color: #262626;
  }

  .gx-home-hero-copy::before {
    top: 30px;
  }

  .gx-home-hero-image {
    position: relative;
    inset: auto;
    height: clamp(310px, 86vw, 410px);
    min-height: 0;
  }

  .gx-home-hero-image::before {
    background: linear-gradient(180deg, rgba(245, 239, 226, .18), transparent 32%);
  }

  .gx-home-hero-image::after {
    content: none;
  }

  .gx-home-hero-image img {
    object-position: center;
    transform: none;
  }
}

/* Footer contact details stay grouped as one operational block. */
.footer-hours > span {
  display: block;
}

.footer-social {
  margin-top: 4px;
  display: grid;
  gap: 10px;
  justify-items: start;
}

/* Compact mobile footer: brand band, three-column directory, visit band. */
@media (max-width: 560px) {
  .footer.redesigned-footer {
    overflow: hidden;
  }

  .footer-grid {
    width: min(100% - 32px, var(--max));
    padding: 26px 0 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 14px;
  }

  .footer-grid > * {
    min-width: 0;
    padding: 0;
    border-right: 0;
    border-bottom: 0;
  }

  .footer-identity {
    grid-column: 1 / -1;
    min-height: 92px;
    padding: 0 4px 24px;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: center;
    border-bottom: 1px solid #b9caba;
    text-align: left;
  }

  .footer-seal {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 68px;
    height: 68px;
    margin: 0;
  }

  .footer-identity p {
    grid-column: 2;
    align-self: end;
    margin: 0 0 3px;
    font-size: 17px;
    line-height: 1.45;
  }

  .footer-identity span {
    grid-column: 2;
    align-self: start;
    font-size: 11px;
    line-height: 1.65;
  }

  .footer-column {
    padding: 24px 2px 22px;
    gap: 2px;
  }

  .footer-column h2,
  .footer-visit h2 {
    margin-bottom: 7px;
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
  }

  .footer-column h2:not(:first-child) {
    margin-top: 14px;
  }

  .footer-column a {
    min-height: 25px;
    display: flex;
    align-items: center;
    font-size: 11px;
    line-height: 1.45;
  }

  .footer-visit {
    grid-column: 1 / -1;
    padding: 22px 4px 2px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 86px;
    gap: 7px 16px;
    border-top: 1px solid #b9caba;
  }

  .footer-visit h2 {
    grid-column: 1 / -1;
    margin: 0 0 6px;
    font-size: 17px;
  }

  .footer-visit :is(.footer-address, .footer-hours) {
    margin: 0;
    color: #666;
    font-size: 11px;
    line-height: 1.65;
  }

  .footer-phone {
    color: #666;
    font-size: 11px;
    line-height: 1.65;
  }

  .footer-phones {
    gap: 2px 8px;
  }

  .footer-phones .footer-phone + .footer-phone {
    padding-left: 8px;
  }

  .footer-hours > span {
    margin-right: 8px;
    display: inline;
    color: #262626;
    font-family: var(--serif);
  }

  .footer-social {
    grid-column: 2;
    grid-row: 2 / span 3;
    margin: 0;
    gap: 8px;
    justify-items: center;
    align-self: start;
  }

  .footer-wechat {
    margin: 0;
    padding: 0;
    border-bottom: 0;
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
  }

  .footer-qr-pending {
    width: 66px;
    height: 66px;
    margin: 0;
    padding: 6px;
  }

  .footer-qr-image {
    width: 66px;
    height: 66px;
    margin: 0;
    padding: 4px;
  }

  .footer-qr-pending small {
    font-size: 8px;
    line-height: 1.35;
  }

  .footer-copyright {
    padding: 15px 18px 17px;
    font-size: 10px;
  }
}

@media (max-width: 360px) {
  .footer-grid {
    width: min(100% - 24px, var(--max));
    gap: 0 8px;
  }

  .footer-column h2 {
    font-size: 13px;
  }

  .footer-column a {
    font-size: 10.5px;
  }
}

/* Secondary columns: share the calm, stable KV rhythm established by Natural Xiao. */
.gx-page-hero.gx-unified-secondary-hero {
  width: min(100% - 48px, 1380px);
  height: clamp(640px, calc(100dvh - 72px), 820px);
  min-height: 0;
  max-height: none;
  grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr);
  border-left: 0;
  background: var(--yase-paper);
}

.gx-unified-secondary-hero .gx-page-hero-copy {
  position: relative;
  min-height: 0;
  padding: clamp(70px, 8vw, 108px) clamp(44px, 6vw, 86px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.gx-unified-secondary-hero .gx-page-hero-copy::before {
  content: "";
  position: absolute;
  top: clamp(70px, 8vw, 108px);
  bottom: clamp(70px, 8vw, 108px);
  left: 0;
  width: 1px;
  background: rgba(110, 137, 114, .18);
}

.gx-unified-secondary-hero .gx-page-hero-copy .crumb {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(42px, 6vh, 72px);
  padding: 0;
  justify-content: flex-start;
  align-self: stretch;
  color: #74736d;
  text-align: left;
}

.gx-unified-secondary-hero .gx-page-seal {
  width: 42px;
  height: 42px;
  margin-bottom: 26px;
  border: 1px solid var(--zhusha);
  border-radius: 2px;
  background: transparent;
  color: var(--zhusha);
}

.gx-unified-secondary-hero h1 {
  margin: 0 0 22px;
  font-size: clamp(52px, 5.8vw, 78px);
  line-height: 1.08;
}

.gx-unified-secondary-hero .gx-page-hero-subtitle {
  margin: 0;
  color: #31332f;
  font-family: var(--serif);
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.55;
}

.gx-unified-secondary-hero .gx-page-hero-introduction {
  max-width: 34em;
  margin: 28px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(110, 137, 114, .42);
  color: var(--on-surface-variant);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.9;
}

.gx-unified-secondary-hero .gx-page-hero-media {
  position: relative;
  min-height: 0;
  height: auto;
  margin: 26px 24px 26px 0;
  overflow: hidden;
  border: 1px solid rgba(110, 137, 114, .34);
  border-radius: 6px;
  background: #e9e2d4;
}

.gx-unified-secondary-hero .gx-page-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(245, 239, 226, .12);
}

.gx-unified-secondary-hero .gx-page-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) contrast(.9);
}

.gx-unified-secondary-hero .gx-page-hero-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 16px;
  background:
    radial-gradient(circle at 50% 42%, rgba(185, 202, 186, .12), transparent 34%),
    #303934;
  color: rgba(245, 239, 226, .72);
}

.gx-unified-secondary-hero .gx-page-hero-placeholder span {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(196, 59, 44, .78);
  color: #d96455;
  font-family: var(--serif);
  font-size: 22px;
}

.gx-unified-secondary-hero .gx-page-hero-placeholder small {
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .14em;
}

.gx-page-hero.gx-unified-secondary-hero.has-no-media {
  height: auto;
  min-height: 600px;
  grid-template-columns: minmax(0, 800px) minmax(0, 1fr);
}

.gx-unified-secondary-hero.has-no-media .gx-page-hero-media {
  display: none;
}

@media (max-width: 980px) {
  .gx-page-hero.gx-unified-secondary-hero {
    width: 100%;
    height: auto;
    min-height: auto;
    max-height: none;
    grid-template-columns: 1fr;
  }

  .gx-unified-secondary-hero .gx-page-hero-copy {
    min-height: 520px;
    padding: 82px 40px 72px;
  }

  .gx-unified-secondary-hero .gx-page-hero-copy::before {
    top: 72px;
    bottom: 72px;
    left: 24px;
  }

  .gx-unified-secondary-hero .gx-page-hero-media {
    height: 520px;
    min-height: 520px;
    margin: 0 24px 24px;
  }

  .gx-page-hero.gx-unified-secondary-hero.has-no-media {
    min-height: 0;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .gx-unified-secondary-hero .gx-page-hero-copy {
    min-height: 0;
    padding: 28px 26px 30px 42px;
    justify-content: flex-start;
  }

  .gx-unified-secondary-hero .gx-page-hero-copy::before {
    top: 28px;
    bottom: 30px;
    left: 16px;
  }

  .gx-unified-secondary-hero .gx-page-hero-copy .crumb {
    margin-bottom: 28px;
  }

  .gx-unified-secondary-hero .gx-page-seal {
    margin-bottom: 20px;
  }

  .gx-unified-secondary-hero h1 {
    margin-bottom: 16px;
    font-size: 48px;
  }

  .gx-unified-secondary-hero .gx-page-hero-introduction {
    margin-top: 20px;
    padding-top: 18px;
  }

  .gx-unified-secondary-hero .gx-page-hero-media {
    height: 390px;
    min-height: 390px;
    margin: 0 16px 16px;
  }
}

/* 2026-08 client review: shared secondary-page rhythm and compact vertical spacing. */
.gx-secondary-rhythm {
  overflow: clip;
}

.gx-secondary-rhythm > section:not(.gx-page-hero) {
  margin-block: 0 !important;
}

.gx-secondary-rhythm > section:not(.gx-page-hero):not(.gx-product-service-upgraded) {
  padding-top: clamp(64px, 5.5vw, 84px) !important;
  padding-bottom: clamp(64px, 5.5vw, 84px) !important;
}

.gx-secondary-rhythm > :is(.gx-quote-band, .gx-community-cta, .gx-about-close-new) {
  min-height: 260px !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.gx-secondary-rhythm > .gx-section-ink {
  background: #2f3833 !important;
  box-shadow: 0 0 0 100vmax #2f3833;
  clip-path: inset(0 -100vmax);
  color: #f5efe2 !important;
}

.gx-secondary-rhythm > .gx-section-ink :where(h1, h2, h3, h4, strong, blockquote, summary, label) {
  color: #fffaf0 !important;
}

.gx-secondary-rhythm > .gx-section-ink :where(p, li, dd, small) {
  color: rgba(245, 239, 226, .72) !important;
}

.gx-secondary-rhythm > .gx-section-ink .gx-eyebrow,
.gx-secondary-rhythm > .gx-section-ink > header > span,
.gx-secondary-rhythm > .gx-section-ink article > span {
  color: #d76a58 !important;
}

.gx-secondary-rhythm > .gx-section-ink :where(a:not(.button):not(.gx-primary-link)) {
  color: rgba(245, 239, 226, .9);
}

.gx-secondary-rhythm > .gx-section-paper {
  background: #f5efe2 !important;
  box-shadow: 0 0 0 100vmax #f5efe2;
  clip-path: inset(0 -100vmax);
  color: #262626 !important;
}

.gx-secondary-rhythm > .gx-section-paper :where(h1, h2, h3, h4, strong, blockquote, summary, label, time) {
  color: #262626 !important;
}

.gx-secondary-rhythm > .gx-section-paper :where(p, li, dd, small) {
  color: #666 !important;
}

.gx-product-service-upgraded.gx-section-paper {
  margin-bottom: 0;
  background: #f5efe2 !important;
}

.gx-product-service-upgraded.gx-section-paper > div {
  background: #e3e9df;
}

.gx-product-service-upgraded.gx-section-paper h2,
.gx-product-service-upgraded.gx-section-paper > div > p:last-of-type {
  color: #262626 !important;
}

.gx-care-guide.gx-section-paper :is(h2, h3),
.gx-care-guide.gx-section-paper .gx-care-tabs button[aria-selected="true"] {
  color: #262626 !important;
}

.gx-care-guide.gx-section-paper .gx-care-tabs button,
.gx-care-guide.gx-section-paper .gx-care-groups li {
  border-color: rgba(110, 137, 114, .3);
  color: #666 !important;
}

.gx-about-history-new.gx-section-paper li,
.gx-founder-journey-new.gx-section-paper li {
  border-color: rgba(110, 137, 114, .3);
}

.gx-home-stat-grid article {
  align-content: start;
}

.gx-home-stat-grid article > div {
  display: grid;
  grid-template-rows: 30px 24px minmax(40px, auto);
  align-content: start;
}

.gx-home-stat-grid h2 {
  margin: 14px 0 0;
}

.gx-home-stat-grid p.gx-home-stat-summary {
  margin: 10px auto 0;
  color: rgba(245, 239, 226, .86);
  font-family: var(--serif);
  font-size: 12px;
  line-height: 1.5;
}

.gx-home-stat-grid p.gx-home-stat-detail {
  max-width: 250px;
  margin: 8px auto 0;
  color: rgba(245, 239, 226, .6);
  font-size: 11px;
  line-height: 1.65;
}

.gx-handwork-record {
  padding-block: 80px;
}

.gx-handwork-record-lead > div {
  border-left-color: rgba(185, 202, 186, .72);
}

.gx-handwork-seal,
.gx-editorial-closing-card .gx-eyebrow span,
.gx-product-selection > header > span {
  color: var(--zhusha);
  background: transparent;
  border: 1px solid var(--zhusha);
  box-shadow: none;
}

.gx-handwork-seal {
  width: 46px;
  height: 46px;
  margin-bottom: 22px;
  font-size: 23px;
}

.gx-handwork-record-lead ul {
  border-top-color: rgba(185, 202, 186, .6);
}

.gx-handwork-gallery-heading {
  margin: 72px 0 32px;
}

.gx-handwork-gallery figure.is-empty,
.gx-product-selection-rail figure.is-empty {
  display: grid;
  place-items: center;
  background: rgba(185, 202, 186, .14);
}

.gx-handwork-gallery figure.is-empty span,
.gx-product-selection-rail figure.is-empty span {
  color: rgba(102, 102, 102, .72);
  font-family: var(--serif);
  font-size: 12px;
  letter-spacing: .12em;
}

.gx-product-selection.gx-section-ink .gx-product-selection-rail figure.is-empty span {
  color: rgba(245, 239, 226, .62);
}

.gx-level-guide.gx-section-ink .gx-level-stage-copy::after {
  background: rgba(185, 202, 186, .34);
}

.gx-level-guide.gx-section-ink .gx-level-photo-slot {
  background: rgba(245, 239, 226, .055);
  border: 1px solid rgba(185, 202, 186, .2);
  color: rgba(245, 239, 226, .58);
}

.gx-level-guide.gx-section-ink .gx-level-stage:nth-child(2) .gx-level-photo-slot {
  background: rgba(245, 239, 226, .075);
}

.gx-level-guide.gx-section-ink .gx-level-stage:nth-child(3) .gx-level-photo-slot {
  background: rgba(245, 239, 226, .095);
}

.gx-level-guide.gx-section-ink .gx-level-stage:nth-child(4) .gx-level-photo-slot {
  background: rgba(245, 239, 226, .115);
}

.gx-secondary-rhythm > .gx-section-ink a :where(b, strong, span) {
  color: inherit !important;
}

.gx-secondary-rhythm > .gx-section-ink :where(
  .gx-level-stage-copy > div > span,
  dt,
  article > i,
  article > a > span,
  article > a > div > span,
  .gx-review-empty-mark,
  .visual-placeholder
) {
  color: #e58a78 !important;
}

.gx-editorial-closing-card {
  min-height: 280px;
  background: #f5efe2;
  border-top: 1px solid rgba(185, 202, 186, .72);
  border-bottom: 1px solid rgba(185, 202, 186, .72);
}

.gx-editorial-closing-card nav a.gx-closing-primary,
.gx-editorial-closing-card nav a.gx-closing-primary:hover,
.gx-editorial-closing-card nav a.gx-closing-primary:focus-visible {
  color: #fffaf0;
  background: var(--zhusha);
  border-color: var(--zhusha);
}

.gx-product-selection {
  padding-top: 0;
  border-top: 0;
}

.gx-product-selection > header::before {
  background: rgba(185, 202, 186, .64);
}

.gx-product-selection > header > span {
  background: #2f3833;
}

.gx-product-selection-rail figure.is-empty {
  min-width: min(78vw, 880px);
  border: 1px solid rgba(185, 202, 186, .42);
}

.gx-faq-answer-new {
  align-items: start;
}

.gx-faq-answer-new > article {
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 24px;
}

.gx-faq-answer-copy {
  max-width: 760px;
}

.gx-faq-answer-copy .article-body > :first-child {
  margin-top: 0;
}

.gx-faq-answer-copy .article-body ul {
  margin: 24px 0;
  padding-left: 1.3em;
}

.gx-faq-answer-copy .article-body li + li {
  margin-top: 8px;
}

.gx-listening-redesign {
  padding-bottom: 0;
}

@media (max-width: 700px) {
  .gx-secondary-rhythm > section:not(.gx-page-hero):not(.gx-product-service-upgraded) {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .gx-secondary-rhythm > :is(.gx-quote-band, .gx-community-cta, .gx-about-close-new) {
    min-height: 0 !important;
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  .gx-home-stat-grid article > div {
    grid-template-rows: 27px 23px minmax(54px, auto);
  }

  .gx-handwork-record-lead > div {
    border-top-color: rgba(185, 202, 186, .72);
  }

  .gx-faq-answer-new > article {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
  }

  .gx-faq-answer-new > article > span {
    font-size: 38px;
  }

  .gx-media-dock.gx-media-dock-new.is-idle {
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 8px 10px;
  }

  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-cover,
  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-meta > span,
  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-meta > small,
  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-idle > span,
  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-idle > time {
    display: none;
  }

  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-idle {
    grid-column: 2;
    grid-template-columns: 54px;
    gap: 0;
  }

  .gx-media-dock.gx-media-dock-new.is-idle .gx-media-dock-meta strong {
    font-size: 12px;
  }
}

/* 2026-08 client pass: product gallery, numeric alignment and strict section alternation. */
.gx-product-selection-rail {
  height: clamp(238px, 21vw, 294px);
  padding-bottom: 14px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(230px, 1fr);
  gap: 16px;
}

.gx-product-selection-rail figure,
.gx-product-selection-rail figure.is-empty {
  width: auto;
  min-width: 0;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 6px;
}

.gx-product-selection-rail figure.is-empty {
  position: relative;
  border-color: rgba(185, 202, 186, .24);
  background:
    linear-gradient(145deg, rgba(245, 239, 226, .045), transparent 55%),
    rgba(245, 239, 226, .035);
}

.gx-product-selection-rail figure.is-empty::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(185, 202, 186, .1);
  pointer-events: none;
}

.gx-product-service-upgraded.gx-section-paper {
  padding-top: clamp(64px, 5.5vw, 84px) !important;
  padding-bottom: clamp(64px, 5.5vw, 84px) !important;
  overflow: visible;
  border-radius: 0;
}

.gx-product-service-upgraded.gx-section-paper figure {
  overflow: hidden;
  border-radius: 6px 0 0 6px;
}

.gx-product-service-upgraded.gx-section-paper > div {
  border-radius: 0 6px 6px 0;
}

.gx-home-stat-grid article {
  display: grid;
  grid-template-rows: 64px 30px 28px minmax(42px, auto);
  justify-items: center;
  align-content: start;
}

.gx-home-stat-grid article > div {
  display: contents;
}

.gx-home-stat-grid strong,
.gx-home-stat-grid h2,
.gx-home-stat-grid p.gx-home-stat-summary,
.gx-home-stat-grid p.gx-home-stat-detail {
  margin: 0 !important;
  align-self: start;
}

.gx-home-stat-grid strong {
  line-height: 1;
}

.gx-home-stat-grid p.gx-home-stat-summary {
  white-space: nowrap;
}

.gx-home-stat-grid p.gx-home-stat-detail {
  max-width: 230px;
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink > nav {
  border-bottom-color: rgba(185, 202, 186, .22);
  background: rgba(47, 56, 51, .96);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink > nav button {
  color: rgba(245, 239, 226, .66);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink > nav button:hover,
.gx-xiaofa-applications .gx-scene-band.gx-section-ink > nav button:focus-visible {
  color: #fffaf0;
  background: rgba(245, 239, 226, .055);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink > nav button[aria-selected="true"] {
  color: #fffaf0;
  background: rgba(245, 239, 226, .075);
  box-shadow: inset 0 -2px 0 #d76a58;
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink .gx-scene-list > article {
  border-color: rgba(185, 202, 186, .2);
  background: rgba(245, 239, 226, .035);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink .gx-scene-list > article > header {
  background: rgba(185, 202, 186, .075);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink .gx-scene-columns .gx-scene-logic {
  border: 1px solid rgba(185, 202, 186, .16);
  background: rgba(185, 202, 186, .1);
}

.gx-xiaofa-applications .gx-scene-band.gx-section-ink .gx-scene-columns .gx-scene-logic :is(h4, p) {
  color: #fffaf0 !important;
}

.gx-visit-booking-new.gx-section-paper :is(input, select, textarea) {
  border-bottom-color: rgba(63, 92, 73, .34);
  color: #262626;
}

.gx-visit-booking-new.gx-section-paper :is(input, textarea)::placeholder {
  color: rgba(38, 38, 38, .44);
}

.gx-visit-booking-new.gx-section-paper button {
  border-color: var(--zhusha);
  color: var(--zhusha);
}

@media (max-width: 980px) {
  .gx-product-service-upgraded.gx-section-paper figure {
    border-radius: 6px 6px 0 0;
  }

  .gx-product-service-upgraded.gx-section-paper > div {
    border-radius: 0 0 6px 6px;
  }
}

@media (max-width: 700px) {
  .gx-product-selection-rail {
    height: 252px;
    grid-auto-columns: 76vw;
    gap: 14px;
  }

  .gx-product-service-upgraded.gx-section-paper {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .gx-home-stat-grid article {
    grid-template-rows: 56px 28px 30px minmax(52px, auto);
  }

  .gx-home-stat-grid p.gx-home-stat-summary {
    white-space: normal;
  }
}

/* Natural Xiao essentials: the final ink CTA determines the alternating section rhythm. */
.gx-xiaofa-essentials .gx-lineage-band.gx-section-ink ol::before {
  background: rgba(245, 239, 226, .22);
}

.gx-xiaofa-essentials .gx-lineage-band.gx-section-ink li > span {
  border-color: rgba(215, 106, 88, .78);
}

/* Keep numbered craft cards compact and static like the essentials cards. */
.gx-craft-page .gx-craft-values h3 {
  margin: 24px 0 12px;
}

.gx-craft-page .gx-craft-values p {
  margin: 0;
}

/* The insights closing screen now anchors the upward paper/ink alternation. */
.gx-insights-closing.gx-section-ink {
  border-color: rgba(185, 202, 186, .24);
}

.gx-insights-closing.gx-section-ink nav a:not(.gx-closing-primary) {
  border-color: rgba(185, 202, 186, .34);
  background: transparent;
  color: rgba(245, 239, 226, .9) !important;
}

.gx-insights-closing.gx-section-ink nav a:not(.gx-closing-primary):hover,
.gx-insights-closing.gx-section-ink nav a:not(.gx-closing-primary):focus-visible {
  background: rgba(245, 239, 226, .08);
  color: #fffaf0 !important;
}

@media (min-width: 1021px) {
  .gx-insights-closing {
    grid-template-columns: minmax(0, 1fr) clamp(260px, 25vw, 340px);
    gap: clamp(36px, 4vw, 64px);
  }

  .gx-insights-closing h2 {
    max-width: none;
    font-size: clamp(30px, 2.65vw, 44px);
    line-height: 1.3;
    white-space: nowrap;
  }

  .gx-insights-closing nav {
    width: min(100%, 340px);
    justify-self: end;
  }
}

@media (min-width: 901px) and (max-width: 1020px) {
  .gx-insights-closing {
    grid-template-columns: 1fr;
  }

  .gx-insights-closing h2 {
    max-width: none;
  }

  .gx-insights-closing nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 2026-08 media standards: four predictable frames shared with admin-v2. */
:root {
  --gx-media-hero: 16 / 9;
  --gx-media-landscape: 4 / 3;
  --gx-media-portrait: 4 / 5;
  --gx-media-square: 1 / 1;
}

:is(
  .gx-home-hero-image,
  .gx-page-hero-media,
  .gx-unified-secondary-hero .gx-page-hero-media,
  .gx-listening-album figure,
  .gx-listening-library figure
) {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--gx-media-hero) !important;
  align-self: center;
  overflow: hidden;
}

/* Stacked secondary KVs fill the space between their existing side margins. */
@media (max-width: 980px) {
  .gx-xiaofa-hero > .gx-page-hero-media,
  .gx-unified-secondary-hero > .gx-page-hero-media {
    width: auto;
    min-width: 0;
    justify-self: stretch;
  }
}

:is(
  .gx-home-intro-gallery figure,
  .gx-home-intro-gallery figure.is-main,
  .gx-home-path-media,
  .gx-home-course-scene,
  .gx-space-panel-new figure,
  .gx-contact-map-new figure,
  .gx-product-service-upgraded figure,
  .gx-article-feature-card figure,
  .gx-product-selection-rail figure,
  .gx-product-selection-rail figure.is-empty
) {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--gx-media-landscape) !important;
  overflow: hidden;
}

:is(
  .gx-home-founder > figure,
  .gx-community-featured-stories article > figure,
  .gx-journal-book figure
) {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--gx-media-portrait) !important;
  overflow: hidden;
}

:is(
  .gx-home-products .gx-product-image,
  .gx-level-photo-slot,
  .gx-handwork-gallery figure,
  .gx-product-main-image,
  .gx-product-detail-thumbs figure
) {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--gx-media-square) !important;
  overflow: hidden;
}

:is(
  .gx-home-hero-image,
  .gx-page-hero-media,
  .gx-home-intro-gallery figure,
  .gx-home-path-media,
  .gx-home-course-scene,
  .gx-home-founder > figure,
  .gx-home-products .gx-product-image,
  .gx-space-panel-new figure,
  .gx-contact-map-new figure,
  .gx-product-service-upgraded figure,
  .gx-article-feature-card figure,
  .gx-listening-album figure,
  .gx-listening-library figure,
  .gx-journal-book figure,
  .gx-level-photo-slot,
  .gx-handwork-gallery figure,
  .gx-product-selection-rail figure,
  .gx-product-main-image,
  .gx-product-detail-thumbs figure
) :is(img, picture, .visual-placeholder, .cms-review-image-placeholder, .gx-media-cover-placeholder, .gx-article-cover-placeholder) {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gx-product-selection-rail {
  height: auto;
  align-items: start;
}

.gx-community-gallery > .gx-community-carousel {
  min-width: 0;
  display: block;
}

.gx-product-selection-carousel {
  min-width: 0;
  display: block;
}

.gx-gallery-arrow {
  display: none;
}

@media (min-width: 981px) {
  .gx-community-gallery > .gx-community-carousel.is-ready,
  .gx-product-selection-carousel.is-ready {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 12px;
  }

  .gx-community-carousel.is-ready .gx-gallery-arrow,
  .gx-product-selection-carousel.is-ready .gx-gallery-arrow {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    color: #f5efe2;
    background: transparent;
    cursor: pointer;
    transition: background-color 180ms ease, opacity 180ms ease;
  }

  .gx-gallery-arrow:not(:disabled):hover {
    background: rgba(245, 239, 226, .09);
  }

  .gx-gallery-arrow:focus-visible,
  .gx-community-gallery [data-gallery-grid]:focus-visible,
  .gx-product-selection-rail:focus-visible {
    outline: 1px solid #b9caba;
    outline-offset: 3px;
  }

  .gx-gallery-arrow:disabled {
    opacity: .25;
    cursor: default;
  }
}

.gx-community-gallery [data-gallery-grid] {
  min-width: 0;
  display: flex;
  align-items: start;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.gx-community-gallery [data-gallery-grid]::-webkit-scrollbar {
  display: none;
}

.gx-community-gallery [data-gallery-grid] > figure,
.gx-community-gallery [data-gallery-grid] > figure:nth-child(n) {
  min-width: 0;
  flex: 0 0 calc((100% - 72px) / 4);
  grid-column: auto;
  margin-top: 0;
  scroll-snap-align: start;
}

.gx-community-gallery .gx-gallery-open,
.gx-community-gallery .gx-gallery-empty {
  width: 100%;
}

.gx-community-gallery figure :is(img, .visual-placeholder) {
  width: 100%;
  height: auto;
  aspect-ratio: var(--gx-media-portrait);
  object-fit: cover;
}

.gx-contact-qr-new :is(img, .gx-qr-slot-new) {
  width: min(180px, 100%);
  height: auto;
  aspect-ratio: var(--gx-media-square);
  object-fit: contain;
}

@media (min-width: 701px) and (max-width: 980px) {
  .gx-community-gallery [data-gallery-grid] > figure,
  .gx-community-gallery [data-gallery-grid] > figure:nth-child(n) {
    flex-basis: 44%;
  }
}

@media (max-width: 560px) {
  .gx-product-selection-rail {
    height: auto;
  }
}

/* Mobile gallery: one compact row, swipe for the remaining images. */
@media (max-width: 700px) {
  .gx-community-gallery [data-gallery-grid] {
    width: calc(100% + 20px);
    max-width: none;
    margin-right: -20px;
    padding-right: 20px;
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .gx-community-gallery [data-gallery-grid]::-webkit-scrollbar {
    display: none;
  }

  .gx-community-gallery [data-gallery-grid] > figure,
  .gx-community-gallery [data-gallery-grid] > figure:nth-child(n) {
    width: 82%;
    min-width: 0;
    flex: 0 0 82%;
    grid-column: auto;
    scroll-snap-align: start;
  }

  .gx-community-gallery figure :is(img, .visual-placeholder) {
    aspect-ratio: 5 / 4;
  }
}

.gx-teacher-performance article > div { min-width: 0; }
.gx-teacher-performance :is(audio, video) { max-width: 100%; }

@media (max-width: 600px) {
.gx-teacher-performance article > div { display: contents; }
.gx-teacher-performance :is(audio, video, a) { grid-column: 1 / -1; }
.gx-teacher-performance a { justify-self: start; }
}

/* 2026-09 client pass: balanced story cards, complete gathering wall and clearer mobile level pairs. */
.gx-community-featured-stories {
  width: min(100% - 64px, var(--max));
  padding-block: clamp(84px, 8vw, 108px);
}

.gx-community-featured-stories > div {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 38px);
}

.gx-community-featured-stories article,
.gx-community-featured-stories article:nth-child(even) {
  height: 100%;
  margin-top: 0;
}

.gx-community-featured-stories article > figure,
.gx-community-featured-stories article:nth-child(even) > figure {
  width: 100%;
  height: auto !important;
  min-height: 0;
  aspect-ratio: 3 / 2 !important;
}

.gx-community-featured-stories article > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 3vw, 38px);
}

.gx-community-featured-stories article > div > a:last-child {
  margin-top: auto;
}

.gx-community-featured-stories > header {
  margin-bottom: 34px;
}

.gx-story-directory-link {
  width: max-content;
  margin-top: 18px;
  padding-bottom: 5px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid rgba(110, 137, 114, .45);
  color: var(--bamboo-deep);
  font-size: 11px;
}

.gx-story-directory-link:hover,
.gx-story-directory-link:focus-visible {
  border-color: var(--zhusha);
  color: var(--zhusha);
}

.gx-community-story-index {
  padding-top: 0;
  scroll-margin-top: 92px;
}

.gx-community-story-index > header {
  margin-bottom: 36px;
}

.gx-community-story-index .gx-story-directory-person {
  color: var(--on-surface-variant);
  font-size: 11px;
  line-height: 1.8;
}

.gx-gallery-heading {
  display: block;
}

.gx-gallery-heading > div {
  min-width: 0;
}

.gx-gallery-view-all-row {
  width: min(100% - 64px, var(--max));
  margin: 22px auto 0;
}

.gx-gallery-view-all {
  width: max-content;
  padding: 7px 0 6px;
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  border: 0;
  border-bottom: 1px solid rgba(245, 239, 225, .22);
  color: rgba(245, 239, 225, .68);
  background: transparent;
  font: inherit;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}

.gx-gallery-view-all span {
  font-family: var(--serif);
  font-size: 13px;
  line-height: inherit;
}

.gx-gallery-view-all small {
  color: rgba(245, 239, 225, .42);
  font-size: 9px;
  line-height: 1;
  white-space: nowrap;
}

.gx-gallery-view-all:not(:disabled):hover,
.gx-gallery-view-all:focus-visible {
  color: #f5efe1;
  border-color: rgba(245, 239, 225, .62);
}

.gx-gallery-view-all:disabled {
  opacity: .45;
  cursor: default;
}

@media (max-width: 980px) {
  .gx-community-featured-stories > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .gx-community-featured-stories {
    width: min(100% - 40px, 1080px);
  }

  .gx-community-featured-stories > div {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .gx-community-featured-stories > header {
    margin-bottom: 28px;
  }

  .gx-community-featured-stories article > div {
    padding: 28px 24px 32px;
  }

  .gx-community-story-index article > .gx-story-directory-person {
    grid-column: 2;
  }

  .gx-community-story-index > header {
    margin-bottom: 30px;
  }

  .gx-gallery-view-all-row {
    width: calc(100% - 40px);
    margin-top: 16px;
  }

  .gx-level-path {
    margin-top: 38px;
    gap: 0;
    border-top: 1px solid rgba(110, 137, 114, .34);
  }

  .gx-level-stage {
    padding: 24px 0;
    display: block;
    border-bottom: 1px solid rgba(110, 137, 114, .34);
  }

  .gx-level-stage-copy {
    padding: 24px 2px 2px;
  }

  .gx-level-stage h3 {
    margin: 9px 0 10px;
    font-size: clamp(20px, 6vw, 25px);
  }

  .gx-level-stage p {
    font-size: 12px;
    line-height: 1.72;
  }
}

.gx-community-gallery > .gx-community-carousel.is-expanded {
  display: block;
}

.gx-community-carousel.is-expanded .gx-gallery-arrow {
  display: none;
}

.gx-community-gallery [data-gallery-grid].is-expanded {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: block;
  columns: 4 220px;
  column-gap: clamp(14px, 2vw, 26px);
  overflow: visible;
  scroll-snap-type: none;
}

.gx-community-gallery [data-gallery-grid].is-expanded > figure,
.gx-community-gallery [data-gallery-grid].is-expanded > figure:nth-child(n) {
  width: 100%;
  margin: 0 0 clamp(16px, 2vw, 26px);
  display: inline-block;
  break-inside: avoid;
}

.gx-community-gallery [data-gallery-grid].is-expanded > figure[hidden] {
  display: none;
}

.gx-community-gallery [data-gallery-grid].is-expanded figure img {
  width: 100%;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain;
}

@media (max-width: 700px) {
  .gx-community-gallery [data-gallery-grid].is-expanded {
    width: 100%;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 10px;
  }

  .gx-community-gallery [data-gallery-grid].is-expanded > figure,
  .gx-community-gallery [data-gallery-grid].is-expanded > figure:nth-child(n) {
    margin-bottom: 14px;
  }

  .gx-faq-library > aside {
    width: 100%;
    min-width: 0;
  }

  .gx-faq-library > aside nav {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 16px;
    overflow: visible;
  }

  .gx-faq-library > aside button {
    min-width: 0;
    margin-right: 0;
    gap: 5px;
    font-size: 12px;
    white-space: nowrap;
  }
}

/* Secondary-page KVs: keep the opening screen compact after media ratios were unified. */
@media (min-width: 981px) {
  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) {
    height: clamp(560px, 72dvh, 650px);
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy {
    padding-top: clamp(48px, 5vw, 72px);
    padding-bottom: clamp(48px, 5vw, 72px);
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy::before {
    top: clamp(48px, 5vw, 72px);
    bottom: clamp(48px, 5vw, 72px);
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy .crumb {
    margin-bottom: clamp(30px, 3.5vh, 44px);
  }

  /* Keep the centered copy block on one baseline when an introduction wraps
     to two lines on one page and three on another. */
  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-introduction {
    min-height: 85px;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy {
    min-height: 440px;
    padding-top: 56px;
    padding-bottom: 50px;
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy::before {
    top: 50px;
    bottom: 50px;
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy .crumb {
    margin-bottom: 34px;
  }
}

@media (max-width: 720px) {
  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-hero-copy .crumb {
    margin-bottom: 22px;
  }

  .gx-secondary-rhythm > :is(.gx-xiaofa-hero, .gx-unified-secondary-hero) .gx-page-seal {
    margin-bottom: 16px;
  }
}

/* Detail pages: align mobile top spacing with the compact teacher profile hero. */
@media (max-width: 700px) {
  :is(
    .gx-knowledge-detail-hero,
    .gx-journal-detail-hero,
    .gx-community-detail-hero,
    .gx-community-detail-page.is-story .gx-community-detail-hero,
    .gx-faq-detail-hero-new
  ) {
    padding-top: 28px;
  }

  .gx-product-detail-page {
    padding-top: 28px;
  }
}
