@charset "UTF-8";



.container {
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.container--wide { max-width: var(--w-wide); }
.container--content { max-width: var(--w-content); }
.container--prose { max-width: var(--w-prose); }


.bleed { width: 100%; }

.section {
  padding-block: var(--section-y);
  position: relative;
}

.section--lg { padding-block: var(--section-y-lg); }
.section--tight { padding-block: var(--sp-7); }
.section--flush-top { padding-top: 0; }
.section--flush-bottom { padding-bottom: 0; }

.section--paper { background: var(--c-paper); }
.section--white { background: var(--c-white); }
.section--sand  { background: var(--c-sand); }
.section--ink-tint { background: var(--c-ink-50); }


.section--ink {
  background: var(--c-ink-700);
  color: var(--c-text-inv-2);
}
.section--ink h1,
.section--ink h2,
.section--ink h3,
.section--ink h4 { color: var(--c-text-inv); }
.section--ink .sec-head__lead { color: var(--c-text-inv-2); }
.section--ink a { color: var(--c-text-inv-2); }
.section--ink a:hover { color: var(--c-gold-500); }
.section--ink .hairline { border-color: var(--c-line-ink); }

.section--ink-deep { background: var(--c-ink-800); color: var(--c-text-inv-2); }
.section--ink-deep h1,
.section--ink-deep h2,
.section--ink-deep h3,
.section--ink-deep h4 { color: var(--c-text-inv); }


.section--texture::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image:
    radial-gradient(circle at 18% 12%, rgba(200, 169, 106, 0.10), transparent 42%),
    radial-gradient(circle at 84% 76%, rgba(31, 111, 99, 0.12), transparent 46%);
}

.section > .container { position: relative; z-index: var(--z-base); }


.grid { display: grid; gap: var(--grid-gap); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 63.99rem) {
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: minmax(0, 1fr); }
  .grid--auto { grid-template-columns: minmax(0, 1fr) !important; }
}


.grid--auto { grid-template-columns: repeat(auto-fill, minmax(17.5rem, 1fr)); }
.grid--auto-sm { grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); }

.grid--divide { gap: 0; }
.grid--divide > * { border-right: 1px solid var(--c-line); }
.grid--divide > *:last-child { border-right: 0; }
@media (max-width: 47.99rem) {
  .grid--divide > * { border-right: 0; border-bottom: 1px solid var(--c-line); }
  .grid--divide > *:last-child { border-bottom: 0; }
}


.split {
  display: grid;
  gap: var(--sp-8);
  align-items: start;
}
@media (min-width: 64rem) {
  .split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--sp-10); }
  .split--reverse > :first-child { order: 2; }
  .split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split--sidebar { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); }
}

.stack > * + * { margin-top: var(--sp-4); }
.stack--sm > * + * { margin-top: var(--sp-2); }
.stack--lg > * + * { margin-top: var(--sp-6); }




.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-gold-600);
}
.eyebrow::before {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}
.eyebrow--plain::before { display: none; }
.section--ink .eyebrow { color: var(--c-gold-500); }


.hairline {
  border: 0;
  border-top: 1px solid var(--c-line);
  margin: 0;
}
.hairline--gold { border-top-color: var(--c-line-gold); }


.sec-head { max-width: 46rem; margin-bottom: var(--sp-8); }
.sec-head--center { margin-inline: auto; text-align: center; }
.sec-head--center .eyebrow { justify-content: center; }
.sec-head__title { margin-bottom: var(--sp-4); }
.sec-head__lead {
  margin: 0;
  font-size: var(--fs-lead);
  line-height: var(--lh-loose);
  color: var(--text-muted);
  max-width: 42rem;
}
.sec-head--center .sec-head__lead { margin-inline: auto; }


.sec-head-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp-5);
  margin-bottom: var(--sp-8);
}
.sec-head-row .sec-head { margin-bottom: 0; }


.btn {
  --btn-bg: transparent;
  --btn-fg: var(--c-ink-700);
  --btn-bd: var(--c-line-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  min-height: 2.75rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--btn-bd);
  border-radius: var(--r-sm);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-button);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--d-base) var(--ease-std),
    border-color var(--d-base) var(--ease-std),
    color var(--d-base) var(--ease-std),
    transform var(--d-base) var(--ease-std),
    box-shadow var(--d-base) var(--ease-std);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn--primary {
  --btn-bg: var(--c-ink-700);
  --btn-fg: var(--c-text-inv);
  --btn-bd: var(--c-ink-700);
  box-shadow: var(--sh-1);
}
.btn--primary:hover {
  --btn-bg: var(--c-ink-600);
  --btn-bd: var(--c-ink-600);
  color: var(--c-text-inv);
  box-shadow: var(--sh-ink);
}

.btn--gold {
  --btn-bg: var(--c-gold-500);
  --btn-fg: var(--c-ink-800);
  --btn-bd: var(--c-gold-500);
}
.btn--gold:hover {
  --btn-bg: var(--c-gold-600);
  --btn-bd: var(--c-gold-600);
  color: var(--c-ink-800);
  box-shadow: 0 8px 22px rgba(168, 138, 78, 0.32);
}

.btn--outline {
  --btn-bg: transparent;
  --btn-fg: var(--c-ink-700);
  --btn-bd: var(--c-ink-700);
}
.btn--outline:hover { --btn-bg: var(--c-ink-700); --btn-fg: var(--c-text-inv); }

.btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--c-ink-700);
  --btn-bd: transparent;
  padding-inline: var(--sp-3);
}
.btn--ghost:hover { --btn-bg: var(--c-ink-50); }


.btn--light {
  --btn-bg: var(--c-white);
  --btn-fg: var(--c-ink-800);
  --btn-bd: var(--c-white);
}
.btn--light:hover { --btn-bg: rgba(255,255,255,0.9); --btn-bd: transparent; color: var(--c-ink-800); }

.btn--outline-light {
  --btn-bg: transparent;
  --btn-fg: #fff;
  --btn-bd: rgba(255,255,255,0.42);
}
.btn--outline-light:hover {
  --btn-bg: rgba(255,255,255,0.12);
  --btn-bd: rgba(255,255,255,0.72);
  color: #fff;
}

.btn--lg { min-height: 3.25rem; padding: 1rem 2rem; font-size: var(--fs-body); }
.btn--sm { min-height: 2.25rem; padding: 0.5rem 1rem; font-size: var(--fs-xs); }
.btn--block { width: 100%; }

.btn-group { display: flex; flex-wrap: wrap; gap: var(--sp-3); }


.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--c-ink-700);
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: gap var(--d-base) var(--ease-out), border-color var(--d-base) var(--ease-std);
}
.link-arrow::after {
  content: "";
  width: 0.9rem; height: 0.5rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M11 0l-.7.7L14.4 5H0v1h14.4L10.3 9.3l.7.7L16 5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M11 0l-.7.7L14.4 5H0v1h14.4L10.3 9.3l.7.7L16 5z'/%3E%3C/svg%3E") center/contain no-repeat;
  flex: none;
}
.link-arrow:hover { gap: var(--sp-3); border-bottom-color: currentColor; }
.section--ink .link-arrow { color: var(--c-gold-500); }


.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: var(--r-full);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.5;
  background: var(--c-ink-100);
  color: var(--c-ink-600);
}
.badge--gold { background: var(--c-gold-100); color: var(--c-gold-700); }
.badge--outline { background: transparent; border: 1px solid var(--c-line-strong); color: var(--text-muted); }
.badge--dot::before {
  content: "";
  width: 5px; height: 5px; border-radius: 50%;
  background: currentColor;
}


.notice {
  display: flex;
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5);
  border-left: 3px solid var(--c-gold-500);
  background: var(--c-gold-100);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: var(--fs-sm);
  color: var(--text-body);
}
.notice--info { border-left-color: var(--c-ink-500); background: var(--c-ink-50); }
.notice--warn { border-left-color: var(--c-warning); background: var(--c-warning-bg); }


.empty {
  padding: var(--sp-10) var(--sp-5);
  text-align: center;
  color: var(--text-muted);
}
.empty svg { margin: 0 auto var(--sp-4); opacity: 0.4; }


.header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
  transition: background-color var(--d-mid) var(--ease-std),
              border-color var(--d-mid) var(--ease-std),
              box-shadow var(--d-mid) var(--ease-std);
}
.header::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--c-gold-500) 50%, transparent 100%);
  opacity: 0.5;
  pointer-events: none;
}


.page-home .header {
  position: fixed;
  inset: 0 0 auto 0;
  background: transparent;
  border-bottom-color: transparent;
}
.page-home .header .brand__name,
.page-home .header .nav__link,
.page-home .header .header__tel { color: #fff; }
.page-home .header .nav__link::after { background: rgba(255,255,255,0.9); }
.page-home .header .burger__line { background: #fff; }


.page-home .header.is-scrolled {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom-color: var(--c-line);
  box-shadow: var(--sh-1);
}
.page-home .header.is-scrolled .brand__name,
.page-home .header.is-scrolled .nav__link,
.page-home .header.is-scrolled .header__tel { color: var(--c-text); }
.page-home .header.is-scrolled .burger__line { background: var(--c-text); }

.header__inner {
  display: flex;
  align-items: center;
  gap: var(--sp-5);
  min-height: var(--header-h);
}
/* 内页导航下滑收窄：压缩上下内边距 24px→12px（内容高度不变，总高 96→72px，2026-10-28） */
body:not(.page-home):not(.header-over) .header.is-scrolled {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}


.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  flex: none;
}
.brand__logo { height: 2.25rem; width: auto; }
.brand__name {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  color: var(--c-text);
  transition: color var(--d-mid) var(--ease-std);
}
.brand__tag {
  display: block;
  font-family: var(--font-num);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: var(--c-gold-600);
  text-transform: uppercase;
}


.nav { margin-inline: auto; }
.nav__list {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
}
.nav__item { position: relative; }
.nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.625rem 0.875rem;
  font-size: 0.9375rem;
  font-weight: var(--fw-semibold);
  color: var(--c-text);
  border-radius: var(--r-sm);
  position: relative;
  transition: color var(--d-base) var(--ease-std);
}
.nav__link::after {
  content: "";
  position: absolute;
  left: 0.875rem; right: 0.875rem; bottom: 0.25rem;
  height: 1.5px;
  background: var(--c-gold-500);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--d-mid) var(--ease-out);
}
.nav__link:hover::after,
.nav__item.is-active > .nav__link::after { transform: scaleX(1); }
.nav__item.is-active > .nav__link { color: var(--c-ink-700); font-weight: var(--fw-semibold); }


.nav__caret {
  width: 0.5rem; height: 0.5rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform var(--d-base) var(--ease-std);
}
.nav__item:hover .nav__caret { transform: rotate(225deg) translateY(-1px); }


.nav__sub {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 50%;
  transform: translate(-50%, 0.5rem);
  min-width: 13rem;
  padding: var(--sp-4) var(--sp-2) var(--sp-2);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-2);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--d-base) var(--ease-std),
              transform var(--d-mid) var(--ease-out),
              visibility var(--d-base);
}
.nav__sub::before {
  display: none;
  content: "";
  position: absolute;
  top: 0.9rem;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 28px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28' fill='none'%3E%3Cpath d='M12 2C8.5 2 6 5.5 6 9c0 1.2.2 2.3.6 3.2C5.5 13 4 14.8 4 17c0 3 2.7 5.5 6 5.5s6-2.5 6-5.5c0-2.2-1.5-4-2.6-4.8.4-.9.6-2 .6-3.2 0-3.5-2.5-7-6-7z' fill='%23b8924a' opacity='0.15'/%3E%3Ccircle cx='8.5' cy='5' r='1.2' fill='%23b8924a' opacity='0.5'/%3E%3Ccircle cx='12' cy='4' r='1.4' fill='%23b8924a' opacity='0.5'/%3E%3Ccircle cx='15.5' cy='5' r='1.2' fill='%23b8924a' opacity='0.5'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events: none;
}
.nav__item:hover > .nav__sub,
.nav__item:focus-within > .nav__sub {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.nav__sub-link {
  display: block;
  padding: 0.625rem 0.875rem;
  font-size: var(--fs-sm);
  color: var(--c-text-2);
  border-radius: var(--r-sm);
  white-space: nowrap;
  transition: background-color var(--d-fast) var(--ease-std), color var(--d-fast) var(--ease-std);
}
.nav__sub-link:hover { background: var(--c-ink-50); color: var(--c-ink-700); }


.header__actions {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  flex: none;
  margin-left: auto;
}
.header__tel {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-num);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  color: var(--c-text);
  font-variant-numeric: tabular-nums;
}
.header__tel svg { width: 1rem; height: 1rem; flex: none; }


.burger {
  display: none;
  width: 2.75rem; height: 2.75rem;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  border-radius: var(--r-sm);
}
.burger__box { width: 1.375rem; height: 0.875rem; position: relative; }
.burger__line {
  position: absolute;
  left: 0;
  width: 100%; height: 1.5px;
  background: var(--c-text);
  border-radius: 2px;
  transition: transform var(--d-mid) var(--ease-out),
              opacity var(--d-fast) var(--ease-std),
              background-color var(--d-mid) var(--ease-std);
}
.burger__line:nth-child(1) { top: 0; }
.burger__line:nth-child(2) { top: 50%; transform: translateY(-50%); }
.burger__line:nth-child(3) { bottom: 0; }
.burger[aria-expanded="true"] .burger__line:nth-child(1) { transform: translateY(0.4375rem) rotate(45deg); }
.burger[aria-expanded="true"] .burger__line:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] .burger__line:nth-child(3) { transform: translateY(-0.4375rem) rotate(-45deg); }

@media (max-width: 63.99rem) {
  .nav, .header__tel { display: none; }
  .burger { display: inline-flex; }
  .header__cta { display: none; }
}


.drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-drawer);
  background: var(--c-white);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform var(--d-slow) var(--ease-out), visibility var(--d-slow);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.drawer.is-open { transform: translateX(0); visibility: visible; }
.drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-4) var(--gutter);
  border-bottom: 1px solid var(--c-line);
  flex: none;
}
.drawer__nav {
  padding: var(--sp-4) var(--gutter) var(--sp-8);
  position: relative;
}
.drawer__nav::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 32px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28' fill='none'%3E%3Cpath d='M12 2C8.5 2 6 5.5 6 9c0 1.2.2 2.3.6 3.2C5.5 13 4 14.8 4 17c0 3 2.7 5.5 6 5.5s6-2.5 6-5.5c0-2.2-1.5-4-2.6-4.8.4-.9.6-2 .6-3.2 0-3.5-2.5-7-6-7z' fill='%23b8924a' opacity='0.12'/%3E%3Ccircle cx='8.5' cy='5' r='1.2' fill='%23b8924a' opacity='0.4'/%3E%3Ccircle cx='12' cy='4' r='1.4' fill='%23b8924a' opacity='0.4'/%3E%3Ccircle cx='15.5' cy='5' r='1.2' fill='%23b8924a' opacity='0.4'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events: none;
}
.drawer__group { border-bottom: 1px solid var(--c-line); }
.drawer__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--sp-4) 0;
  font-size: 1.0625rem;
  font-weight: var(--fw-medium);
  color: var(--c-text);
  text-align: left;
}
.drawer__toggle .nav__caret { transition: transform var(--d-base) var(--ease-std); }
.drawer__toggle[aria-expanded="true"] .nav__caret { transform: rotate(225deg) translateY(-1px); }
.drawer__sub {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--d-mid) var(--ease-out);
}
.drawer__sub[data-open="true"] { grid-template-rows: 1fr; }
.drawer__sub > div { overflow: hidden; }
.drawer__sub-link {
  display: block;
  padding: 0.625rem 0 0.625rem var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  border-left: 1px solid var(--c-line);
}
.drawer__foot {
  margin-top: auto;
  padding: var(--sp-5) var(--gutter) calc(var(--sp-8) + env(safe-area-inset-bottom));
  background: var(--c-paper);
  border-top: 1px solid var(--c-line);
  flex: none;
}


.hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(34rem, 88vh, 52rem);
  padding-top: calc(var(--header-h) + var(--sp-8));
  padding-bottom: var(--sp-8);
  background: var(--c-ink-800);
  color: var(--c-text-inv);
  overflow: hidden;
  isolation: isolate;
}
.hero--page { min-height: auto; padding-block: var(--sp-9); }

.hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero__media--kenburns img {
  animation: kenburns 28s var(--ease-std) infinite alternate;
}
@keyframes kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.07); }
}
.hero__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--scrim-hero);
}
.hero--page .hero__scrim { background: linear-gradient(100deg, rgba(6,32,29,0.92), rgba(6,32,29,0.7)); }

.hero__inner { max-width: 44rem; }
.hero--page .hero__inner { max-width: 52rem; }

.hero__title {
  margin: 0 0 var(--sp-5);
  font-family: var(--font-serif);
  font-size: var(--fs-display);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-display);
  color: #fff;
  text-wrap: balance;
}
.hero__lead {
  margin: 0 0 var(--sp-7);
  max-width: 36rem;
  font-size: var(--fs-lead);
  line-height: var(--lh-loose);
  color: var(--c-text-inv-2);
}
.hero__cta { margin-bottom: var(--sp-8); }


.trustbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding-top: var(--sp-5);
  border-top: 1px solid var(--c-line-ink);
  max-width: 42rem;
}
.trustbar__item {
  padding-inline: var(--sp-4);
  border-right: 1px solid var(--c-line-ink);
}
.trustbar__item:first-child { padding-left: 0; }
.trustbar__item:last-child { border-right: 0; padding-right: 0; }
.trustbar__value {
  display: block;
  font-family: var(--font-num);
  font-size: clamp(1.5rem, 1.1rem + 1.1vw, 2.125rem);
  font-weight: var(--fw-semibold);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.trustbar__value em {
  font-style: normal;
  font-size: 0.6em;
  margin-left: 0.15em;
  color: var(--c-gold-500);
}
.trustbar__label {
  display: block;
  margin-top: var(--sp-2);
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  color: var(--c-text-inv-3);
}
.trustbar__note {
  margin: var(--sp-4) 0 0;
  font-size: 0.6875rem;
  line-height: 1.6;
  color: var(--c-text-inv-3);
  max-width: 42rem;
}

@media (max-width: 47.99rem) {
  .trustbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) 0; }
  .trustbar__item:nth-child(2n) { border-right: 0; padding-right: 0; }
  .trustbar__item:nth-child(2n+1) { padding-left: 0; }
  .hero { min-height: auto; padding-block: calc(var(--header-h) + var(--sp-8)) var(--sp-8); }
}


.hero__scroll {
  position: absolute;
  left: 50%;
  bottom: var(--sp-5);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  color: var(--c-text-inv-3);
  text-transform: uppercase;
}
.hero__scroll span::after {
  content: "";
  display: block;
  width: 1px;
  height: 1.75rem;
  margin: var(--sp-2) auto 0;
  background: linear-gradient(to bottom, currentColor, transparent);
  animation: scroll-hint 1.8s var(--ease-std) infinite;
}
@keyframes scroll-hint {
  0%, 100% { opacity: 0.3; transform: scaleY(0.7); }
  50%      { opacity: 1;   transform: scaleY(1); }
}
@media (max-width: 47.99rem) { .hero__scroll { display: none; } }


.manifesto {
  padding-block: var(--sp-8);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-white);
}
.manifesto__text {
  max-width: 52rem;
  margin: 0 auto;
  text-align: center;
  font-family: var(--font-serif);
  font-size: clamp(1.125rem, 1rem + 0.7vw, 1.625rem);
  line-height: 1.9;
  color: var(--c-ink-700);
  text-wrap: balance;
}
.manifesto__sign {
  display: block;
  margin-top: var(--sp-5);
  font-family: var(--font-num);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-gold-600);
}


.kpi {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.kpi__item {
  padding: var(--sp-7) var(--sp-5);
  text-align: center;
  border-right: 1px solid var(--c-line);
  transition: background-color var(--d-base) var(--ease-std);
}
.kpi__item:last-child { border-right: 0; }
a.kpi__item:hover { background: var(--c-ink-50); }
.kpi__value {
  display: block;
  font-family: var(--font-num);
  font-size: clamp(1.875rem, 1.2rem + 2vw, 3rem);
  font-weight: var(--fw-semibold);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--c-ink-700);
  font-variant-numeric: tabular-nums;
}
.kpi__value em { font-style: normal; font-size: 0.5em; color: var(--c-gold-600); margin-left: 0.1em; }
.kpi__label {
  display: block;
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
.kpi__qr {
  display: block;
  width: 4.5rem; height: 4.5rem;
  margin: var(--sp-4) auto 0;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
}
.section--ink .kpi { border-color: var(--c-line-ink); }
.section--ink .kpi__item { border-right-color: var(--c-line-ink); }
.section--ink .kpi__value { color: #fff; }
.section--ink .kpi__label { color: var(--c-text-inv-3); }
.section--ink a.kpi__item:hover { background: rgba(255,255,255,0.05); }

@media (max-width: 47.99rem) {
  .kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi__item { border-bottom: 1px solid var(--c-line); padding: var(--sp-5) var(--sp-4); }
  .kpi__item:nth-child(2n) { border-right: 0; }
  .kpi__item:nth-last-child(-n+2) { border-bottom: 0; }
  .section--ink .kpi__item { border-bottom-color: var(--c-line-ink); }
}


.card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition:
    transform var(--d-mid) var(--ease-out),
    box-shadow var(--d-mid) var(--ease-out),
    border-color var(--d-base) var(--ease-std);
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-2);
  border-color: var(--c-line-strong);
}

.card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--c-sand);
}
.card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--d-slower) var(--ease-out);
}
.card:hover .card__media img { transform: scale(1.045); }

.card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--sp-5);
}
.card__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.card__title {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: 1.45;
  color: var(--c-text);
}
.card__title a { color: inherit; }
.card__desc {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.8;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  margin-top: auto;
  padding-top: var(--sp-4);
}


.card--service { background: transparent; border: 0; }
.card--service .card__body { padding: var(--sp-6) var(--sp-5) var(--sp-5); border-top: 1px solid var(--c-line); }
.card--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem; height: 3rem;
  margin-bottom: var(--sp-4);
  border: 1px solid var(--c-line-gold);
  border-radius: var(--r-sm);
  color: var(--c-gold-600);
  background: var(--c-white);
}
.card--icon svg { width: 1.5rem; height: 1.5rem; }


.card--overlay { border: 0; background: var(--c-ink-800); }
.card--overlay .card__media { aspect-ratio: 3 / 2; }
.card--overlay .card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--scrim-card);
}
.card--overlay .card__body {
  position: absolute;
  inset: auto 0 0 0;
  padding: var(--sp-5);
  color: #fff;
  z-index: var(--z-base);
}
.card--overlay .card__title { color: #fff; }
.card--overlay .card__desc { color: rgba(255,255,255,0.78); }
.card--overlay .card__meta { color: rgba(255,255,255,0.66); }


.card--row { flex-direction: row; align-items: stretch; }
.card--row .card__media { flex: none; width: 14rem; aspect-ratio: 4 / 3; }
@media (max-width: 47.99rem) {
  .card--row { flex-direction: column; }
  .card--row .card__media { width: 100%; }
}


.card--plain {
  background: transparent;
  border: 1px solid var(--c-line-ink);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
}
.card--plain:hover { background: rgba(255,255,255,0.04); transform: translateY(-4px); }
.card--plain .card__title { color: #fff; }
.card--plain .card__desc { color: var(--c-text-inv-2); }


.chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}
.chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.4rem 1rem;
  border: 1px solid var(--c-line-strong);
  border-radius: var(--r-full);
  background: var(--c-white);
  font-size: var(--fs-sm);
  color: var(--text-body);
  transition: all var(--d-base) var(--ease-std);
}
.chip:hover { border-color: var(--c-ink-500); color: var(--c-ink-700); }
.chip.is-active,
.chip[aria-pressed="true"] {
  background: var(--c-ink-700);
  border-color: var(--c-ink-700);
  color: #fff;
}


.prov-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
  gap: 1px;
  background: var(--c-line-ink);
  border: 1px solid var(--c-line-ink);
}
.prov {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: var(--sp-4) var(--sp-2);
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  transition: background-color var(--d-base) var(--ease-std);
}
.prov:hover { background: var(--c-ink-600); color: #fff; }
.prov__name { font-size: var(--fs-sm); color: inherit; }
.prov__num {
  font-family: var(--font-num);
  font-size: 1.25rem;
  font-weight: var(--fw-semibold);
  color: var(--c-gold-500);
  font-variant-numeric: tabular-nums;
}


.cert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: var(--sp-5);
}
.cert {
  display: block;
  padding: var(--sp-4);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  text-align: center;
  transition: box-shadow var(--d-mid) var(--ease-out), transform var(--d-mid) var(--ease-out);
}
.cert:hover { box-shadow: var(--sh-2); transform: translateY(-3px); }
.cert__img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--r-xs);
  border: 1px solid var(--c-line);
  background: var(--c-paper-2);
}
.cert__name { display: block; margin-top: var(--sp-3); font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--c-text); }
.cert__no { display: block; margin-top: 0.25rem; font-size: var(--fs-xs); color: var(--text-muted); font-variant-numeric: tabular-nums; }


.cta-band {
  position: relative;
  padding-block: var(--section-y-lg);
  background: var(--c-ink-700);
  color: #fff;
  overflow: hidden;
}
.cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(200,169,106,0.18), transparent 46%),
    radial-gradient(circle at 88% 82%, rgba(31,111,99,0.32), transparent 52%);
  pointer-events: none;
}
.cta-band__inner {
  position: relative;
  z-index: var(--z-base);
  display: grid;
  gap: var(--sp-7);
  align-items: center;
}
@media (min-width: 64rem) {
  .cta-band__inner { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}
.cta-band__title {
  margin: 0 0 var(--sp-4);
  font-family: var(--font-serif);
  font-size: var(--fs-h2);
  color: #fff;
  line-height: var(--lh-heading);
}
.cta-band__lead { margin: 0; font-size: var(--fs-lead); line-height: var(--lh-loose); color: var(--c-text-inv-2); }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
@media (min-width: 64rem) { .cta-band__actions { justify-content: flex-end; } }


.breadcrumb {
  padding-block: var(--sp-5);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-white);
}
.breadcrumb a { color: var(--text-muted); }
.breadcrumb a:hover { color: var(--c-ink-600); }
.breadcrumb__sep { margin-inline: 0.5rem; color: var(--c-line-strong); }
.breadcrumb__current { color: var(--c-text); font-weight: var(--fw-medium); }


.page-head {
  padding-block: var(--sp-9) var(--sp-8);
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
}
.page-head__title { margin: 0 0 var(--sp-4); }
.page-head__desc { margin: 0; max-width: 46rem; color: var(--text-muted); line-height: var(--lh-loose); }

.sidebar { position: sticky; top: calc(var(--header-h) + var(--sp-5)); }
@media (max-width: 63.99rem) { .sidebar { position: static; } }

.side-nav { border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; background: var(--c-white); box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.side-nav__head {
  padding: var(--sp-4) var(--sp-5);
  background: linear-gradient(135deg, var(--c-ink-700), var(--c-ink-800));
  color: #fff;
  font-size: var(--fs-body);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--c-gold-500);
}
.side-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-4) var(--sp-5);
  font-size: var(--fs-sm);
  color: var(--text-body);
  border-top: 1px solid var(--c-line);
  transition: all var(--d-fast) var(--ease-std);
}
.side-nav__link:hover { background: var(--c-ink-50); color: var(--c-ink-700); padding-left: var(--sp-6); }
.side-nav__link.is-active { background: linear-gradient(90deg, rgba(184,146,74,.12) 0%, transparent 100%); color: var(--c-ink-700); font-weight: var(--fw-semibold); box-shadow: inset 3px 0 0 var(--c-gold-500); }

.side-card {
  margin-top: var(--sp-5);
  padding: var(--sp-6) var(--sp-5);
  background: var(--c-ink-700);
  border-radius: var(--r-lg);
  color: var(--c-text-inv-2);
  text-align: center;
}
.side-card__title { color: #fff; font-size: var(--fs-body); margin-bottom: var(--sp-2); }
.side-card__tel {
  display: block;
  margin: var(--sp-3) 0 var(--sp-4);
  font-family: var(--font-num);
  font-size: 1.375rem;
  font-weight: var(--fw-semibold);
  color: var(--c-gold-500);
  letter-spacing: 0.02em;
}
.side-card__qr { width: 6rem; height: 6rem; margin: var(--sp-4) auto 0; border-radius: var(--r-sm); border: 1px solid var(--c-line-ink); }


.pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  margin-top: var(--sp-8);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-sm);
}
.pager a,
.pager span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-sm);
  background: var(--c-white);
  color: var(--text-body);
  font-variant-numeric: tabular-nums;
  transition: all var(--d-base) var(--ease-std);
}
.pager a:hover { border-color: var(--c-ink-500); color: var(--c-ink-700); }
.pager .page-num-current,
.pager .is-current {
  background: var(--c-ink-700);
  border-color: var(--c-ink-700);
  color: #fff;
  font-weight: var(--fw-semibold);
}
.pager .page-status,
.pager .page-numbar { border: 0; background: transparent; min-width: 0; }
.pager .page-status { color: var(--text-muted); }


.article-head { padding-block: var(--sp-9) var(--sp-6); background: var(--c-white); }
.article-head__title {
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-h1);
  font-family: var(--font-serif);
  line-height: var(--lh-tight);
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.article-meta__item { display: inline-flex; align-items: center; gap: 0.375rem; }

.prose {
  counter-reset: section;
  width: 100%;
  font-size: 1.0625rem;
  line-height: 2.1;
  color: var(--text-body);
  background: var(--c-white);
  padding: var(--sp-8) var(--sp-9);
  border-radius: var(--r-lg);
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.prose > * + * { margin-top: var(--sp-6); }
.prose h2 {
  margin-top: var(--sp-9);
  margin-bottom: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-left: 4px solid var(--c-gold-500);
  background: linear-gradient(90deg, rgba(184,146,74,.08) 0%, transparent 100%);
  font-size: var(--fs-h3);
  font-family: var(--font-sans);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-heading);
}
.prose h3 {
  counter-increment: section;
  position: relative;
  margin-top: var(--sp-10);
  margin-bottom: var(--sp-6);
  padding-left: 4.5rem;
  padding-bottom: var(--sp-3);
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  color: var(--c-ink-800);
  border-bottom: 1px solid var(--c-line);
}
.prose h3::before {
  content: "0" counter(section);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3.2rem;
  font-weight: 900;
  color: rgba(184,146,74,.22);
  font-family: var(--font-serif);
  line-height: 1;
  letter-spacing: -0.02em;
}
.prose h4 { margin-top: var(--sp-6); font-size: var(--fs-body); font-weight: var(--fw-semibold); color: var(--c-gold-700); }
.prose p { margin: 0 0 var(--sp-4); line-height: 2.1; }
.prose p:first-of-type::first-letter {
  font-size: 2.5em;
  font-weight: 900;
  color: var(--c-gold-600);
  float: left;
  line-height: 1;
  margin-right: 0.1em;
  margin-top: 0.05em;
}
.prose ul, .prose ol { padding-left: 1.5rem; margin: var(--sp-4) 0; }
.prose ul { list-style: none; }
.prose ul > li {
  position: relative;
  padding-left: 0.5rem;
  padding-block: var(--sp-2);
  line-height: 1.9;
}
.prose ul > li::before {
  content: "✓";
  position: absolute;
  left: -1.3rem;
  top: 0.3em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--c-gold-500);
  color: #fff;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
.prose strong {
  color: var(--c-gold-700);
  font-weight: var(--fw-bold);
  background: linear-gradient(180deg, transparent 60%, rgba(184,146,74,.2) 60%);
  padding: 0 2px;
}
.prose ol { list-style: decimal; }
.prose ol > li { padding-block: var(--sp-1); }
.prose ol > li::marker { color: var(--c-gold-600); font-weight: var(--fw-bold); font-size: 1.1em; }
.prose li + li { margin-top: var(--sp-2); }
.prose img {
  width: 100%;
  border-radius: var(--r-md);
  margin-block: var(--sp-6);
}
.prose figure img { margin-block: 0; }
.prose figcaption {
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  text-align: center;
}
.prose blockquote {
  margin: var(--sp-8) 0;
  padding: var(--sp-6) var(--sp-7);
  border-left: 4px solid var(--c-gold-500);
  background: linear-gradient(135deg, rgba(184,146,74,.1) 0%, rgba(184,146,74,.03) 100%);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-family: var(--font-serif);
  font-size: var(--fs-lead);
  line-height: 1.9;
  color: var(--c-ink-700);
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.prose blockquote p { margin: 0; }
.prose a { color: var(--c-ink-600); border-bottom: 1px solid var(--c-ink-200); }
.prose a:hover { color: var(--c-ink-700); border-bottom-color: var(--c-ink-600); }
.prose table { font-size: var(--fs-sm); margin-block: var(--sp-6); }
.prose th, .prose td { padding: var(--sp-3) var(--sp-4); border: 1px solid var(--c-line); text-align: left; }
.prose th { background: var(--c-paper-2); font-weight: var(--fw-semibold); color: var(--c-text); }
.prose code {
  padding: 0.125rem 0.375rem;
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-radius: var(--r-xs);
  font-family: var(--font-num);
  font-size: 0.9em;
}


.prevnext {
  display: grid;
  gap: var(--sp-4);
  margin-top: var(--sp-8);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--c-line);
}
@media (min-width: 48rem) { .prevnext { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.prevnext__item {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  font-size: var(--fs-sm);
  transition: border-color var(--d-base) var(--ease-std), background-color var(--d-base) var(--ease-std);
}
.prevnext__item:hover { border-color: var(--c-ink-500); background: var(--c-ink-50); }
.prevnext__item--next { text-align: right; }
.prevnext__label { font-size: var(--fs-xs); color: var(--text-muted); letter-spacing: 0.1em; }
.prevnext__title { color: var(--c-text); font-weight: var(--fw-medium); }


.spec-list { border-top: 1px solid var(--c-line); }
.spec-list__row {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--c-line);
  font-size: var(--fs-sm);
}
.spec-list__key { color: var(--text-muted); }
.spec-list__val { color: var(--c-text); }


.form-card {
  padding: var(--sp-7) var(--sp-6);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-1);
}
.form-card--ink {
  background: rgba(255,255,255,0.06);
  border-color: var(--c-line-ink);
  box-shadow: none;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.form-card__title { margin-bottom: var(--sp-2); font-size: var(--fs-h3); }
.form-card__lead { margin-bottom: var(--sp-6); font-size: var(--fs-sm); color: var(--text-muted); }
.form-card--ink .form-card__lead { color: var(--c-text-inv-2); }

.form { display: grid; gap: var(--sp-5); }
.form__row { display: grid; gap: var(--sp-5); }
@media (min-width: 48rem) { .form__row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.field { display: flex; flex-direction: column; gap: var(--sp-2); }
.field__label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--c-text);
}
.form-card--ink .field__label { color: #fff; }
.field__req { color: var(--c-danger); margin-left: 0.15em; }
.field__control {
  width: 100%;
  min-height: 2.875rem;
  padding: 0.75rem 1rem;
  background: var(--c-white);
  border: 1px solid var(--c-line-strong);
  border-radius: var(--r-sm);
  font-size: var(--fs-body);
  color: var(--c-text);
  transition: border-color var(--d-base) var(--ease-std), box-shadow var(--d-base) var(--ease-std);
}
.field__control::placeholder { color: var(--c-text-4); }
.field__control:hover { border-color: var(--c-ink-200); }
.field__control:focus {
  outline: none;
  border-color: var(--c-ink-500);
  box-shadow: 0 0 0 3px rgba(31, 111, 99, 0.14);
}
.field__control:focus-visible { outline: none; }
.field__control[aria-invalid="true"] { border-color: var(--c-danger); }
textarea.field__control { min-height: 7rem; resize: vertical; line-height: 1.7; }
select.field__control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.field__hint { font-size: var(--fs-xs); color: var(--text-muted); }
.field__error { font-size: var(--fs-xs); color: var(--c-danger); }

.form-card--ink .field__hint { color: var(--c-text-inv-3); }

.checkbox { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: var(--fs-sm); }
.checkbox input {
  flex: none;
  width: 1.125rem; height: 1.125rem;
  margin-top: 0.2em;
  accent-color: var(--c-ink-600);
}
.form-card--ink .checkbox { color: var(--c-text-inv-2); }
.checkbox a { color: var(--c-ink-600); text-decoration: underline; text-underline-offset: 3px; }
.form-card--ink .checkbox a { color: var(--c-gold-500); }

.captcha-row { display: flex; gap: var(--sp-3); align-items: stretch; }
.captcha-row .field__control { flex: 1; }
.captcha-row img { border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); cursor: pointer; }


.form-status {
  margin: 0;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.7;
}
.form-status--ok { background: var(--c-success-bg); color: var(--c-success); border-color: var(--c-success); }
.form-status--err { background: var(--c-danger-bg); color: var(--c-danger); border-color: var(--c-danger); }
.form-card--ink .form-status { border-color: transparent; }


.field__error:empty,
.form-status:empty {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  background: none;
  font-size: 0;
  line-height: 0;
}


.steps { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-6); }
.steps__item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem; height: 1.5rem;
  border-radius: 50%;
  border: 1px solid var(--c-line-strong);
  font-family: var(--font-num);
  font-size: 0.6875rem;
}
.steps__item.is-active { color: var(--c-ink-700); font-weight: var(--fw-semibold); }
.steps__item.is-active .steps__num { background: var(--c-ink-700); border-color: var(--c-ink-700); color: #fff; }
.steps__line { flex: 1; height: 1px; background: var(--c-line); }


.footer {
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  padding-top: var(--sp-9);
  font-size: var(--fs-sm);
}
.footer a { color: var(--c-text-inv-2); }
.footer a:hover { color: var(--c-gold-500); }

.footer__grid {
  display: grid;
  gap: var(--sp-7);
  padding-bottom: var(--sp-8);
}
@media (min-width: 48rem) { .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: var(--sp-6); } }

.footer__brand-name {
  font-family: var(--font-serif);
  font-size: 1.375rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.06em;
  color: #fff;
}
.footer__intro { margin-top: var(--sp-4); line-height: 1.9; color: var(--c-text-inv-2); max-width: 22rem; }
.footer__title {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-body);
  font-weight: var(--fw-semibold);
  color: #fff;
  letter-spacing: 0.04em;
}
.footer__links { display: grid; gap: var(--sp-3); }
.footer__contact { display: grid; gap: var(--sp-3); }
.footer__contact dt { color: var(--c-text-inv-3); font-size: var(--fs-xs); letter-spacing: 0.08em; }
.footer__contact dd { margin: 0; color: #fff; }
.footer__tel {
  font-family: var(--font-num);
  font-size: 1.375rem;
  font-weight: var(--fw-semibold);
  color: var(--c-gold-500) !important;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.footer__qr { display: flex; gap: var(--sp-5); align-items: flex-start; margin-top: var(--sp-4); }
.footer__qr img { width: 5.5rem; height: 5.5rem; border-radius: var(--r-sm); background: #fff; padding: 4px; }
.footer__qr span { display: block; margin-top: var(--sp-2); font-size: var(--fs-xs); color: var(--c-text-inv-3); }

.footer__bottom {
  border-top: 1px solid var(--c-line-ink);
  padding-block: var(--sp-5) var(--sp-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4) var(--sp-6);
  align-items: center;
  justify-content: space-between;
  font-size: var(--fs-xs);
  color: var(--c-text-inv-3);
}
.footer__legal { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); align-items: center; }
.footer__legal a { color: var(--c-text-inv-3); }
.footer__legal a:hover { color: var(--c-gold-500); }
.footer__disclaimer {
  padding-bottom: var(--sp-6);
  font-size: 0.6875rem;
  line-height: 1.8;
  color: rgba(255,255,255,0.42);
  max-width: 60rem;
}


.float-actions {
  position: fixed;
  right: var(--sp-5);
  bottom: var(--sp-6);
  z-index: var(--z-float);
  display: grid;
  gap: var(--sp-2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: opacity var(--d-mid) var(--ease-std), transform var(--d-mid) var(--ease-out), visibility var(--d-mid);
}
.float-actions.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.float-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  width: 3.25rem; height: 3.25rem;
  border-radius: var(--r-full);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  box-shadow: var(--sh-2);
  color: var(--c-ink-700);
  transition: transform var(--d-base) var(--ease-std), background-color var(--d-base) var(--ease-std), color var(--d-base) var(--ease-std);
}
.float-btn:hover { transform: translateY(-2px); color: var(--c-ink-700); }
.float-btn--primary { background: var(--c-ink-700); border-color: var(--c-ink-700); color: #fff; }
.float-btn--primary:hover { background: var(--c-ink-600); color: #fff; }
.float-btn--gold { background: var(--c-gold-500); border-color: var(--c-gold-500); color: var(--c-ink-800); }
.float-btn--gold:hover { background: var(--c-gold-600); color: var(--c-ink-800); }
.float-btn svg { width: 1.25rem; height: 1.25rem; }
.float-btn__text {
  position: absolute;
  right: calc(100% + 0.5rem);
  white-space: nowrap;
  padding: 0.4rem 0.75rem;
  background: var(--c-ink-800);
  color: #fff;
  border-radius: var(--r-sm);
  font-size: var(--fs-xs);
  opacity: 0;
  transform: translateX(0.25rem);
  pointer-events: none;
  transition: opacity var(--d-base) var(--ease-std), transform var(--d-base) var(--ease-out);
}
.float-btn { position: relative; }
.float-btn:hover .float-btn__text,
.float-btn:focus-visible .float-btn__text { opacity: 1; transform: translateX(0); }

.mobile-bar {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: var(--z-float);
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--c-line);
  padding-bottom: env(safe-area-inset-bottom);
}
.mobile-bar__inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mobile-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 3.5rem;
  padding: 0.5rem 0.25rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
}
.mobile-bar__item svg { width: 1.25rem; height: 1.25rem; }
.mobile-bar__item--primary { background: var(--c-ink-700); color: #fff; }
.mobile-bar__item--primary:hover { color: #fff; }

@media (max-width: 47.99rem) {
  .mobile-bar { display: block; }
  .float-actions { display: none; }
  body { padding-bottom: 3.5rem; }
}


.accordion { border-top: 1px solid var(--c-line); }
.accordion__item { border-bottom: 1px solid var(--c-line); }
.accordion__btn {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--sp-5);
  width: 100%;
  padding: var(--sp-5) 0;
  text-align: left;
  font-size: var(--fs-lead);
  font-weight: var(--fw-medium);
  color: var(--c-text);
  transition: color var(--d-base) var(--ease-std);
}
.accordion__btn:hover { color: var(--c-ink-600); }
.accordion__icon {
  flex: none;
  position: relative;
  width: 1rem; height: 1rem;
  margin-top: 0.45em;
}
.accordion__icon::before,
.accordion__icon::after {
  content: "";
  position: absolute;
  background: var(--c-gold-600);
  transition: transform var(--d-mid) var(--ease-out), opacity var(--d-base) var(--ease-std);
}
.accordion__icon::before { left: 0; top: 50%; width: 100%; height: 1.5px; transform: translateY(-50%); }
.accordion__icon::after { top: 0; left: 50%; width: 1.5px; height: 100%; transform: translateX(-50%); }
.accordion__btn[aria-expanded="true"] .accordion__icon::after { transform: translateX(-50%) scaleY(0); opacity: 0; }
.accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--d-mid) var(--ease-out);
}
.accordion__panel[data-open="true"] { grid-template-rows: 1fr; }
.accordion__panel > div { overflow: hidden; }
.accordion__content { padding-bottom: var(--sp-5); max-width: 52rem; color: var(--text-muted); line-height: var(--lh-loose); }


.tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-5);
  border-bottom: 1px solid var(--c-line);
  margin-bottom: var(--sp-6);
}
.tabs__tab {
  position: relative;
  padding: var(--sp-3) 0;
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--text-muted);
  transition: color var(--d-base) var(--ease-std);
}
.tabs__tab::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--c-gold-500);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--d-mid) var(--ease-out);
}
.tabs__tab[aria-selected="true"] { color: var(--c-ink-700); font-weight: var(--fw-semibold); }
.tabs__tab[aria-selected="true"]::after { transform: scaleX(1); }


[data-reveal] {
  opacity: 0;
  transform: translateY(1.25rem);
  transition:
    opacity var(--d-slow) var(--ease-out),
    transform var(--d-slow) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
[data-reveal].is-revealed { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .hero__media--kenburns img { animation: none !important; }
  .card:hover { transform: none; }
  .btn:hover { transform: none; }
}




.nav__item:not(.has-sub) .nav__caret,
.nav__item:not(.has-sub) .nav__sub { display: none; }
.nav__item.is-cta { display: none; }
.nav__item.is-hide { display: none; }


.brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.brand__logo { object-fit: contain; }
.nav__sub-link.is-active { background: var(--c-ink-50); color: var(--c-ink-700); font-weight: var(--fw-semibold); }
.header__cta { flex: none; }

.page-home .header .header__cta { --btn-bg: var(--c-gold-500); --btn-fg: var(--c-ink-800); --btn-bd: var(--c-gold-500); }


.modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-drawer);
  display: grid;
  place-items: center;
  padding: var(--gutter);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 32, 29, 0.62);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity var(--d-mid) var(--ease-std);
}
.modal.is-open .modal__overlay { opacity: 1; }

.modal__panel {
  position: relative;
  width: min(33rem, 100%);
  max-height: min(88vh, 54rem);
  overflow-y: auto;
  padding: var(--sp-7) var(--sp-6) var(--sp-6);
  background: var(--c-white);
  border-radius: var(--r-xl);
  box-shadow: var(--sh-3);
  opacity: 0;
  transform: translateY(1rem) scale(0.985);
  transition: opacity var(--d-mid) var(--ease-out), transform var(--d-mid) var(--ease-out);
}
.modal.is-open .modal__panel { opacity: 1; transform: none; }

.modal__close {
  position: absolute;
  top: var(--sp-4);
  right: var(--sp-4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--r-full);
  color: var(--text-muted);
  transition: background-color var(--d-base) var(--ease-std), color var(--d-base) var(--ease-std);
}
.modal__close:hover { background: var(--c-paper); color: var(--c-text); }
.modal__close svg { width: 1.25rem; height: 1.25rem; }

.modal__title { margin-bottom: var(--sp-3); font-size: var(--fs-h3); }
.modal__lead { margin-bottom: var(--sp-6); font-size: var(--fs-sm); color: var(--text-muted); line-height: 1.8; }

@media (max-width: 47.99rem) {
  .modal { place-items: end stretch; padding: 0; }
  .modal__panel {
    width: 100%;
    max-height: 92vh;
    border-radius: var(--r-2xl) var(--r-2xl) 0 0;
    padding: var(--sp-6) var(--sp-5) calc(var(--sp-6) + env(safe-area-inset-bottom));
    transform: translateY(2rem);
  }
}


.feature-list { display: grid; gap: var(--sp-3); }
.feature-list li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: var(--fs-sm);
  line-height: 1.75;
}
.feature-list li::before {
  content: "";
  flex: none;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.3em;
  border-radius: 50%;
  background-color: var(--c-ink-100);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='%2314544B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem;
}
.section--ink .feature-list li::before {
  background-color: rgba(200, 169, 106, 0.18);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='%23C8A96A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.feature-list--lg li { font-size: var(--fs-body); }

.step-list { counter-reset: step; display: grid; gap: var(--sp-6); }
@media (min-width: 64rem) {
  .step-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-5); }
  .step-list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.step-list > li {
  position: relative;
  padding-top: var(--sp-7);
  border-top: 1px solid var(--c-line);
}
.section--ink .step-list > li { border-top-color: var(--c-line-ink); }
.step-list > li::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  position: absolute;
  top: var(--sp-3);
  left: 0;
  font-family: var(--font-num);
  font-size: 1.375rem;
  font-weight: var(--fw-semibold);
  line-height: 1;
  color: var(--c-gold-500);
  font-variant-numeric: tabular-nums;
}
.step-list__title { margin-bottom: var(--sp-2); font-size: var(--fs-h4); }
.step-list__desc { margin: 0; font-size: var(--fs-sm); line-height: 1.8; color: var(--text-muted); }
.section--ink .step-list__desc { color: var(--c-text-inv-2); }

.gallery { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); }
.gallery a { display: block; border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--c-line); }
.gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform var(--d-slower) var(--ease-out); }
.gallery a:hover img { transform: scale(1.04); }

.cmp-table { font-size: var(--fs-sm); }
.cmp-table th,
.cmp-table td { padding: var(--sp-4) var(--sp-3); border: 1px solid var(--c-line); text-align: left; vertical-align: top; }
.cmp-table thead th { background: var(--c-ink-700); color: #fff; font-weight: var(--fw-semibold); border-color: var(--c-ink-700); }
.cmp-table tbody th { background: var(--c-paper-2); font-weight: var(--fw-medium); white-space: nowrap; }
.cmp-table tbody tr:nth-child(even) td { background: var(--c-paper-2); }
.cmp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.searchbar { display: flex; gap: var(--sp-3); max-width: 40rem; }
.searchbar .field__control { flex: 1; }
@media (max-width: 47.99rem) { .searchbar { flex-direction: column; } .searchbar .btn { width: 100%; } }

.tag-list { display: flex; flex-wrap: wrap; gap: var(--sp-2); }


.figure-cover {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--c-line);
  background: var(--c-paper-2);
}
.figure-cover img { width: 100%; }


.hero--plain { background: var(--c-ink-800); }
.hero--plain .hero__scrim { display: none; }


.section-empty {
  padding: var(--sp-8) var(--sp-5);
  text-align: center;
  color: var(--text-muted);
  border: 1px dashed var(--c-line-strong);
  border-radius: var(--r-lg);
  font-size: var(--fs-sm);
}




.hero--slides { min-height: clamp(36rem, 100vh, 60rem); }

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  transition: opacity 1.1s var(--ease-std);
}
.hero-slide.is-active { opacity: 1; pointer-events: auto; }


.hero-slide__scrim { position: absolute; inset: 0; background: var(--scrim-hero); }
.hero-slide > .container { position: relative; z-index: 1; }


.hero-slide__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.07);
  transition: transform 7s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero-slide.is-active .hero-slide__img { transform: scale(1); }


.hero-slide.is-active .hero__inner > * {
  animation: heroTextUp 0.9s var(--ease-out) both;
}
.hero-slide.is-active .hero__inner > *:nth-child(1) { animation-delay: 0.15s; }
.hero-slide.is-active .hero__inner > *:nth-child(2) { animation-delay: 0.28s; }
.hero-slide.is-active .hero__inner > *:nth-child(3) { animation-delay: 0.41s; }
.hero-slide.is-active .hero__inner > *:nth-child(4) { animation-delay: 0.54s; }

@keyframes heroTextUp {
  from { opacity: 0; transform: translateY(1.5rem); }
  to   { opacity: 1; transform: none; }
}


.hero__mark {
  position: absolute;
  right: var(--sp-6);
  bottom: var(--sp-6);
  width: 6.5rem;
  opacity: 0.34;
  filter: brightness(0) invert(1);
  pointer-events: none;
}


.hero-arrows { position: absolute; inset: 0; pointer-events: none; }
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: var(--z-sticky);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  background: rgba(20, 41, 34, 0.35);
  color: #fff;
  pointer-events: auto;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color var(--d-base) var(--ease-std), border-color var(--d-base) var(--ease-std);
}
.hero-arrow:hover { background: var(--c-gold-500); border-color: var(--c-gold-500); color: #fff; }
.hero-arrow--prev { left: var(--sp-6); }
.hero-arrow--next { right: var(--sp-6); }
.hero-arrow svg { width: 1.125rem; height: 1.125rem; }
@media (max-width: 63.99rem) { .hero-arrows { display: none; } }

.hero-dots {
  position: absolute;
  left: 50%;
  bottom: var(--sp-6);
  transform: translateX(-50%);
  z-index: var(--z-sticky);
  display: flex;
  gap: 0.625rem;
}
.hero-dot {
  width: 2.25rem;
  height: 2px;
  background: rgba(255, 255, 255, 0.35);
  transition: background-color var(--d-base) var(--ease-std), width var(--d-mid) var(--ease-out);
}
.hero-dot.is-active { background: var(--c-gold-300); width: 3.5rem; }
.hero-dot:hover { background: rgba(255, 255, 255, 0.7); }

@media (max-width: 47.99rem) {
  .hero__mark { display: none; }
  .hero--slides { min-height: auto; }
}


.stat-band { background: var(--c-ink-800); padding-block: var(--sp-8); }
.kpi--gold { border: 0; }
.kpi--gold .kpi__value { color: var(--c-gold-300); }
.kpi--gold .kpi__label { color: var(--c-text-inv-3); letter-spacing: 0.18em; }
.kpi--gold .kpi__item { border-right-color: var(--c-line-ink); }
.kpi--gold .kpi__item:last-child { border-right: 0; }
.kpi--gold a.kpi__item:hover,
.kpi--gold .kpi__item:hover { background: rgba(255, 255, 255, 0.04); }


.page-banner {
  position: relative;
  /* 2026-10-28 甲方：顶部留白 var(--sp-9)=96px 压到 16px，内页导航下方不再空一大条 */
  padding-block: 1rem var(--sp-8);
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  overflow: hidden;
}
.page-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  /* 2026-10-28 甲方：原两层径向光晕在深色底上产生明显色带（竖向明暗分界），改为纯色背景 */
  background: none;
  pointer-events: none;
}
.page-banner > .container { position: relative; z-index: var(--z-base); }
.page-banner__title {
  margin: 0 0 var(--sp-4);
  font-family: var(--font-serif);
  font-size: var(--fs-h1);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: 0.02em;
  color: #fff;
}
.page-banner__desc {
  margin: 0;
  /* 2026-11-09 甲方：与容器齐平，文字超出一行再折行（原 max-width:44rem 导致半宽折行） */
  max-width: 100%;
  font-size: var(--fs-lead);
  line-height: 1.9;
  color: var(--c-text-inv-2);
  font-weight: 400;
}

.page-banner .eyebrow:empty { display: none; }


.timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--sp-8);
  position: relative;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 1.75rem;
  left: 10%;
  right: 10%;
  height: 1px;
  background: rgba(184, 146, 74, 0.32);
}
.timeline__item { padding-inline: var(--sp-4); text-align: center; position: relative; }
.timeline__dot {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto var(--sp-5);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--c-gold-500);
  border-radius: 50%;
  background: var(--c-ink-800);
  color: var(--c-gold-300);
  font-family: var(--font-num);
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  z-index: 2;
}
.timeline__title { margin: 0 0 var(--sp-2); font-size: var(--fs-body); color: #fff; }
.timeline__desc { margin: 0; font-size: var(--fs-xs); line-height: 1.75; color: var(--c-text-inv-3); }

@media (max-width: 63.99rem) {
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); }
  .timeline::before { display: none; }
}
@media (max-width: 35rem) {
  .timeline { grid-template-columns: minmax(0, 1fr); }
}


.milestone { border-top: 1px solid var(--c-line); }
.milestone__row {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: var(--sp-5);
  padding-block: var(--sp-5);
  border-bottom: 1px solid var(--c-line);
}
.milestone__year {
  font-family: var(--font-num);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-gold-600);
  line-height: 1.2;
}
.milestone__title { margin: 0 0 var(--sp-2); font-size: var(--fs-h4); }
.milestone__desc { margin: 0; font-size: var(--fs-sm); line-height: 1.85; color: var(--text-muted); }
@media (max-width: 47.99rem) {
  .milestone__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
}


.value-grid { display: grid; gap: var(--sp-6); }
@media (min-width: 48rem) { .value-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.value-card {
  padding: var(--sp-6);
  background: var(--c-white);
  border-top: 2px solid var(--c-gold-500);
  text-align: center;
}
.value-card__num {
  font-family: var(--font-serif);
  font-size: clamp(2.75rem, 2rem + 2.4vw, 3.5rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-ink-700);
  font-variant-numeric: tabular-nums;
}
.value-card__num em { font-style: normal; font-size: 0.42em; margin-left: 0.15em; color: var(--c-gold-600); }
.value-card__title { margin: var(--sp-3) 0 var(--sp-3); font-size: var(--fs-h4); }
.value-card__desc { margin: 0; font-size: var(--fs-sm); line-height: 1.85; color: var(--text-muted); }


.adv-grid { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.adv-card {
  padding: var(--sp-6) var(--sp-5);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  text-align: center;
  transition: border-color var(--d-base) var(--ease-std), box-shadow var(--d-mid) var(--ease-out);
}
.adv-card:hover { border-color: var(--c-gold-500); box-shadow: var(--sh-2); }
.adv-card__num {
  font-family: var(--font-serif);
  font-size: clamp(2.25rem, 1.7rem + 2vw, 3rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-600);
  font-variant-numeric: tabular-nums;
}
.adv-card__num em { font-style: normal; font-size: 0.4em; margin-left: 0.15em; color: var(--c-ink-600); }
.adv-card__title { margin: var(--sp-3) 0 var(--sp-2); font-size: var(--fs-body); }
.adv-card__desc { margin: 0; font-size: var(--fs-xs); line-height: 1.75; color: var(--text-muted); }


.store-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--c-line);
  border: 1px solid var(--c-line);
}
.store-cell {
  display: block;
  padding: var(--sp-5) var(--sp-5);
  background: var(--c-white);
  transition: background-color var(--d-base) var(--ease-std);
}
.store-cell:hover { background: var(--c-paper); }
.store-cell__city {
  display: block;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-ink-700);
  margin-bottom: 0.375rem;
}
.store-cell__count {
  display: block;
  font-size: var(--fs-xs);
  letter-spacing: 0.12em;
  color: var(--c-gold-600);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 47.99rem) { .store-grid { grid-template-columns: minmax(0, 1fr); } }


.support-grid { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.support-card {
  padding: var(--sp-6) var(--sp-5);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  transition: border-color var(--d-base) var(--ease-std), transform var(--d-mid) var(--ease-out), box-shadow var(--d-mid) var(--ease-out);
}
.support-card:hover { border-color: var(--c-gold-500); transform: translateY(-3px); box-shadow: var(--sh-2); }
.support-card svg { width: 1.875rem; height: 1.875rem; color: var(--c-ink-600); margin-bottom: var(--sp-4); }
.support-card h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-h4); }
.support-card p { margin: 0; font-size: var(--fs-sm); line-height: 1.85; color: var(--text-muted); }


.cond-list { display: grid; gap: var(--sp-3); max-width: 46rem; }
@media (min-width: 48rem) { .cond-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cond-list li {
  position: relative;
  padding-left: 1.75rem;
  font-size: var(--fs-sm);
  line-height: 1.85;
}
.cond-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--c-gold-100);
}
.cond-list li::after {
  content: "";
  position: absolute;
  left: 0.22rem;
  top: 0.62em;
  width: 0.56rem;
  height: 0.3rem;
  border-left: 1.5px solid var(--c-gold-600);
  border-bottom: 1.5px solid var(--c-gold-600);
  transform: rotate(-45deg);
}


.video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
  box-shadow: var(--sh-3);
}
.video-frame video,
.video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;

  object-fit: contain;
}


.video-play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-4);
  background: rgba(20, 41, 34, 0.42);
  color: #fff;
  transition: opacity var(--d-mid) var(--ease-std), visibility var(--d-mid);
}
.video-play:hover { background: rgba(20, 41, 34, 0.28); color: #fff; }
.video-play__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border: 1.5px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: rgba(20, 41, 34, 0.3);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: transform var(--d-mid) var(--ease-out), background-color var(--d-base) var(--ease-std);
}
.video-play:hover .video-play__icon { transform: scale(1.06); background: var(--c-gold-500); border-color: var(--c-gold-500); }
.video-play__icon svg { width: 1.5rem; height: 1.5rem; margin-left: 0.2rem; }
.video-play__text { font-size: var(--fs-sm); letter-spacing: 0.16em; }
.video-frame.is-playing .video-play { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 47.99rem) {
  .video-play__icon { width: 3.5rem; height: 3.5rem; }
  .video-play__text { font-size: var(--fs-xs); }
}


.map-layout { display: grid; gap: var(--sp-7); }
@media (min-width: 64rem) {
  .map-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); align-items: start; }
}

.map-box {
  position: relative;
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  background: var(--c-paper-2);
  overflow: hidden;
}
.map-canvas { width: 100%; height: clamp(21rem, 42vw, 34rem); }
.map-fallback {
  padding: var(--sp-8) var(--sp-6);
  text-align: center;
  font-size: var(--fs-sm);
  line-height: 1.9;
  color: var(--text-muted);
}

.map-legend__title {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-xs);
  letter-spacing: 0.16em;
  color: var(--text-muted);
}




.hero-slide {
  transform: scale(1.08);
  transition: opacity 1.1s ease, transform 6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.hero-slide.is-active { opacity: 1; transform: scale(1); }
.hero-slide.is-leaving { opacity: 0; transform: scale(1.05); }


.hero-slide__img { transform: none; transition: none; }
.hero-slide.is-active .hero-slide__img { transform: none; }


.hero-slide.is-active .hero__inner > * { animation: heroTextUp 0.9s ease both; }
.hero-slide.is-active .hero__inner > *:nth-child(1) { animation-delay: 0.2s; }
.hero-slide.is-active .hero__inner > *:nth-child(2) { animation-delay: 0.35s; }
.hero-slide.is-active .hero__inner > *:nth-child(3) { animation-delay: 0.5s; }
.hero-slide.is-active .hero__inner > *:nth-child(4) { animation-delay: 0.65s; }


.hero--slides .hero__title {
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}
.hero--slides .eyebrow { letter-spacing: 0.36em; gap: var(--sp-4); }
.hero--slides .eyebrow::before { width: 3rem; }


.hero--slides { min-height: 100vh; }
@supports (min-height: 100svh) {
  .hero--slides { min-height: 100svh; }
}


.hero-arrow { width: 3.25rem; height: 3.25rem; }
.hero-arrow--prev { left: 2.25rem; }
.hero-arrow--next { right: 2.25rem; }
.hero-arrow svg { width: 1.125rem; height: 1.125rem; }


.hero-dot { width: 2.25rem; height: 2px; }
.hero-dot.is-active { width: 3.5rem; background: var(--c-gold-300); }


.hero__mark { width: 7.5rem; opacity: 0.35; right: 3.75rem; bottom: 5rem; }


.map-stage {
  position: relative;
  padding-block: var(--sp-9) var(--sp-8);
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  overflow: hidden;
}
.map-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 18%, rgba(53, 117, 95, 0.28), transparent 52%),
    radial-gradient(circle at 82% 78%, rgba(184, 146, 74, 0.16), transparent 50%);
  pointer-events: none;
}
.map-stage > .container { position: relative; z-index: var(--z-base); }
.map-stage .sec-head__title { color: #fff; }
.map-stage .sec-head__lead { color: var(--c-text-inv-2); }
.map-stage .eyebrow { color: var(--c-gold-300); }
.map-stage .link-arrow { color: var(--c-gold-300); }

body.page-home .screen-pair .eyebrow { color: var(--c-gold-700); }


.map-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-bottom: var(--sp-7);
  border-top: 1px solid var(--c-line-ink);
  border-bottom: 1px solid var(--c-line-ink);
}
.map-kpis > li {
  padding: var(--sp-5) var(--sp-3);
  text-align: center;
  border-right: 1px solid var(--c-line-ink);
}
.map-kpis > li:last-child { border-right: 0; }
.map-kpis__value {
  display: block;
  font-family: var(--font-num);
  font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--c-gold-300);
  font-variant-numeric: tabular-nums;
}
.map-kpis__value em { font-style: normal; font-size: 0.42em; margin-left: 0.1em; }
.map-kpis__label { display: block; margin-top: var(--sp-2); font-size: var(--fs-xs); letter-spacing: 0.16em; color: var(--c-text-inv-3); }
@media (max-width: 47.99rem) {
  .map-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-kpis > li:nth-child(2n) { border-right: 0; }
  .map-kpis > li:nth-child(-n+2) { border-bottom: 1px solid var(--c-line-ink); }
}


.map-stage .map-box {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.map-canvas { height: clamp(24rem, 52vw, 40rem); }


.prov-chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 1px;
  background: var(--c-line-ink);
  border: 1px solid var(--c-line-ink);
  margin-top: var(--sp-7);
}
.prov-chips > li { display: flex; }
.prov-chip {
  flex: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--sp-3);
  padding: var(--sp-5) var(--sp-4);
  background: var(--c-ink-800);
  transition: background-color var(--d-base) var(--ease-std);
}
.prov-chip:hover { background: var(--c-ink-600); }
.prov-chip.is-active { background: var(--c-ink-600); box-shadow: inset 0 -2px 0 var(--c-gold-500); }
.prov-chip__name { font-size: var(--fs-body); color: var(--c-text-inv-2); }
.prov-chip__num {
  font-family: var(--font-num);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--c-gold-300);
  font-variant-numeric: tabular-nums;
}



.header {
  position: fixed;
  inset: 0 0 auto 0;
  padding: 1.5rem 0;
  /* 2026-10-28 甲方：原 rgba(.96) 半透明会透出底层底色，与横幅深绿有色差；改为不透明、与横幅同色 */
  background: var(--c-ink-800);
  border-bottom: 0;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
  transition: all 0.4s ease;
}
.header__inner { min-height: 0; }


body.page-home .header,
body.header-over .header {
  background: transparent;
  box-shadow: none;
  padding: 1.5rem 0;
}
body.page-home .header.is-scrolled,
body.header-over .header.is-scrolled {
  background: rgba(20, 41, 34, 0.96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
  padding: 0.875rem 0;
}


body:not(.header-over):not(.page-home) { padding-top: 4.25rem; }


.nav__link {
  padding: 0.5rem 0;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.85);
}
.nav__link:hover { color: var(--c-gold-300); }
.nav__item.is-active > .nav__link { color: var(--c-gold-300); font-weight: 400; }
.nav__link::after { display: none; }
.nav__list { gap: 2rem; }


.header__cta {
  padding: 0.625rem 1.375rem;
  min-height: 0;
  border-radius: 2px;
  font-size: 0.8125rem;
  letter-spacing: 2px;
}
.header .header__tel { display: none; }


.btn { border-radius: 2px; }


.hero--slides .hero-slide__scrim {
  background:
    radial-gradient(circle at 75% 45%, rgba(212, 178, 118, 0.18) 0%, transparent 45%),
    linear-gradient(90deg, rgba(14, 31, 25, 0.94) 0%, rgba(14, 31, 25, 0.68) 55%, rgba(14, 31, 25, 0.15) 100%);
}


.hero-slide__scrim {
  background:
    radial-gradient(circle at 75% 45%, rgba(212, 178, 118, 0.18) 0%, transparent 45%),
    linear-gradient(90deg, rgba(14, 31, 25, 0.88) 0%, rgba(14, 31, 25, 0.55) 45%, rgba(14, 31, 25, 0.15) 100%);
}
.hero--slides { padding-top: 0; padding-bottom: 0; }
.hero--slides .hero__inner { max-width: 38.75rem; }
.hero--slides .eyebrow {
  margin-bottom: 1.5rem;
  font-size: 0.8125rem;
  letter-spacing: 6px;
  gap: 1rem;
  color: var(--c-gold-300);
}
.hero--slides .eyebrow::before { width: 3rem; height: 1px; }
.hero--slides .hero__title {
  margin-bottom: 1.5rem;
  font-size: clamp(2rem, 4.5vw, 3.75rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 2px;
  text-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}
.hero--slides .hero__lead {
  max-width: 32.5rem;
  margin-bottom: 2.25rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.85);
}
.hero--slides .btn { padding: 1rem 2.25rem; font-size: 0.875rem; letter-spacing: 2px; min-height: 0; }
.hero--slides .hero-arrow { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.hero--slides .hero-arrow:hover { background: var(--c-gold-500); border-color: var(--c-gold-500); }
.hero--slides .hero-dot { background: rgba(255, 255, 255, 0.35); }
.hero--slides .hero-dot.is-active { background: var(--c-gold-300); }


.blinds { position: relative; }
.blinds__stage {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--c-ink-800);
}
.blinds__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.3s linear;
}
.blinds__slide.is-active { opacity: 1; }


.blinds__strip {
  position: absolute;
  left: 0;
  right: 0;
  overflow: hidden;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.62s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: clip-path;
}
.blinds__strip--up { clip-path: inset(100% 0 0 0); }
.blinds__strip img {
  position: absolute;
  left: 0;
  width: 100%;
  object-fit: cover;
}
.blinds__strip.is-on { clip-path: inset(0 0 0 0); }


.blinds__dots {
  position: absolute;
  left: 50%;
  bottom: 1.125rem;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 0.625rem;
}
.blinds__dot {
  width: 2.25rem;
  height: 2px;
  background: rgba(255, 255, 255, 0.4);
  transition: background-color var(--d-base) var(--ease-std), width var(--d-mid) var(--ease-out);
}
.blinds__dot:hover { background: rgba(255, 255, 255, 0.75); }
.blinds__dot.is-active { background: var(--c-gold-300); width: 3.5rem; }


.blinds__stage { background: var(--c-ink-900, #0B1A15); }

.blinds__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.01);
  transition: opacity 1.2s ease, transform 7s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}
.blinds__slide.is-active {
  opacity: 1;
  transform: scale(1.08);
}


.blinds__stage::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 46%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to top, rgba(6, 20, 17, 0.78) 0%, rgba(6, 20, 17, 0.28) 46%, transparent 100%);
}


.blinds__caption {
  position: absolute;
  left: var(--sp-7);
  right: var(--sp-7);
  bottom: var(--sp-7);
  z-index: 3;
  max-width: 34rem;
  color: #fff;
  text-align: left;
}
.blinds__caption-title {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 1rem + 1vw, 1.875rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
}
.blinds__caption-desc {
  margin: 0;
  font-size: var(--fs-sm);
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
}
.blinds__caption > * {
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}
.blinds__caption.is-on > * { opacity: 1; transform: none; }
.blinds__caption.is-on > *:nth-child(2) { transition-delay: 0.12s; }


.blinds__progress {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
  height: 2px;
  width: 0;
  background: var(--c-gold-500);
}

.blinds__dots { z-index: 5; }

@media (max-width: 47.99rem) {
  .blinds__caption { left: var(--sp-5); right: var(--sp-5); bottom: 3.25rem; }
  .blinds__stage::after { height: 62%; }
}


.yearline__rail {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-2);
  padding-top: var(--sp-8);
}
.yearline__rail::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--sp-8) + 0.4375rem);
  height: 1px;
  background: linear-gradient(to right, transparent, var(--c-line-gold) 6%, var(--c-line-gold) 94%, transparent);
}
.yearline__btn {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--text-muted);
  transition: color var(--d-base) var(--ease-std);
}
.yearline__btn::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-line-strong);
  transition: all var(--d-mid) var(--ease-out);
}
.yearline__btn:hover { color: var(--c-ink-700); }
.yearline__btn:hover::before { border-color: var(--c-gold-500); transform: scale(1.15); }
.yearline__btn.is-active { color: var(--c-ink-700); }
.yearline__btn.is-active::before {
  background: var(--c-gold-500);
  border-color: var(--c-gold-500);
  box-shadow: 0 0 0 6px rgba(184, 146, 74, 0.18);
}
.yearline__year {
  font-family: var(--font-num);
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.yearline__hint {
  margin-top: var(--sp-6);
  text-align: center;
  font-size: var(--fs-xs);
  color: var(--text-muted);
}


.milestone-modal .modal__panel { max-width: 34rem; }
.milestone-modal__year {
  font-family: var(--font-serif);
  font-size: clamp(3rem, 2rem + 4vw, 4.5rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-600);
  letter-spacing: -0.01em;
}
.milestone-modal__title {
  margin: var(--sp-4) 0 var(--sp-4);
  font-size: var(--fs-h3);
}
.milestone-modal__desc {
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.9;
  color: var(--text-body);
}
.milestone-modal .modal__panel::before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 2px;
  margin-bottom: var(--sp-5);
  background: linear-gradient(to right, var(--c-gold-500), transparent);
}


#products .blinds__stage {
  border: 1px solid var(--c-line-gold);
  background:
    radial-gradient(ellipse at 50% 22%, rgba(212, 178, 118, 0.16), transparent 58%),
    linear-gradient(to bottom, #0F2A24, #07160F);
  padding: var(--sp-4);
  box-shadow: 0 30px 70px -30px rgba(6, 20, 17, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
#products .blinds__slide {
  border-radius: 2px;
  object-fit: cover;
}

#products .blinds__stage::after {
  height: 40%;
  background: linear-gradient(to top, rgba(6, 20, 17, 0.85) 0%, rgba(6, 20, 17, 0.25) 52%, transparent 100%);
}

#products .blinds__caption {
  left: var(--sp-7);
  bottom: var(--sp-6);
  max-width: none;
}
#products .blinds__caption::before { width: 2.75rem; margin-bottom: var(--sp-4); }
#products .blinds__caption-title { font-size: clamp(1.25rem, 1rem + 1.2vw, 1.875rem); }
#products .blinds__caption-desc { display: none; }


#products .card--service .card__body {
  padding: var(--sp-5) var(--sp-4) var(--sp-5) var(--sp-8);
  border-bottom: 1px solid var(--c-line);
  border-left: 2px solid transparent;
  transition: background-color var(--d-base) var(--ease-std), border-color var(--d-base) var(--ease-std), padding-left var(--d-mid) var(--ease-out);
}
#products .card--service .card__body::before { top: var(--sp-5); left: var(--sp-2); }
#products .card--service .card__body::after { display: none; }
#products .card--service.is-current .card__body {
  border-left-color: var(--c-gold-500);
  background: var(--c-paper-2);
  padding-left: calc(var(--sp-8) + 0.375rem);
}
#products .card--service.is-current .card__body::before { color: var(--c-gold-600); }
#products .card--service .card__title { font-size: var(--fs-h4); margin-bottom: var(--sp-2); }


#news .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }

#news .card {
  display: flex;
  flex-direction: column;
  min-height: 15rem;
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-line);
  transition: background-color var(--d-mid) var(--ease-std),
              border-color var(--d-mid) var(--ease-std),
              transform var(--d-mid) var(--ease-out),
              box-shadow var(--d-mid) var(--ease-out);
}
#news .card .card__body { flex: 1; padding: var(--sp-6); }

#news .card__meta { color: var(--c-gold-600); letter-spacing: 0.08em; margin-bottom: var(--sp-4); }
#news .card__title { font-size: var(--fs-h4); }
#news .card__desc { font-size: var(--fs-sm); -webkit-line-clamp: 3; }
#news .card__foot { padding-top: var(--sp-5); }


#news .card:hover,
#news .card:focus-within {
  background: var(--c-ink-700);
  border-color: var(--c-ink-700);
  border-top-color: var(--c-gold-500);
  transform: translateY(-6px);
  box-shadow: 0 24px 48px -24px rgba(20, 41, 34, 0.55);
}
#news .card:hover .card__meta,
#news .card:focus-within .card__meta { color: var(--c-gold-300); }
#news .card:hover .card__title a,
#news .card:focus-within .card__title a { color: #fff; }
#news .card:hover .card__desc,
#news .card:focus-within .card__desc { color: rgba(255, 255, 255, 0.84); }
#news .card:hover .link-arrow,
#news .card:focus-within .link-arrow { color: var(--c-gold-300); }
#news .card__title a { background-image: none; }


#news .card:first-child { grid-column: auto; }
#news .card:first-child .card__body { padding: var(--sp-6); }
#news .card:first-child .card__title { font-size: var(--fs-h4); }
#news .card:first-child .card__desc { font-size: var(--fs-sm); -webkit-line-clamp: 3; }

@media (max-width: 63.99rem) {
  .yearline__rail { flex-wrap: wrap; gap: var(--sp-5) var(--sp-2); }
  .yearline__rail::before { display: none; }
  .yearline__btn { flex: 0 0 auto; min-width: 4rem; }
  #news .grid--3 { grid-template-columns: minmax(0, 1fr); }
  #news .card { min-height: 0; }
}


.calc {
  display: grid;
  gap: var(--sp-7);
  padding: var(--sp-7);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-2);
}
@media (min-width: 64rem) {
  .calc { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--sp-8); }
}
.calc__title { margin: 0 0 var(--sp-2); font-size: var(--fs-h3); }
.calc__lead { margin: 0 0 var(--sp-6); font-size: var(--fs-sm); line-height: 1.8; color: var(--text-muted); }

.calc__field { margin-bottom: var(--sp-6); }
.calc__label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--sp-3);
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--c-text);
}
.calc__label output { font-family: var(--font-num); font-weight: 700; color: var(--c-gold-600); }


.calc__segments { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.calc__segment {
  min-height: 2.5rem;
  padding: 0.4rem 1rem;
  border: 1px solid var(--c-line-strong);
  border-radius: var(--r-full);
  background: var(--c-white);
  font-size: var(--fs-sm);
  transition: all var(--d-base) var(--ease-std);
}
.calc__segment:hover { border-color: var(--c-ink-500); color: var(--c-ink-700); }
.calc__segment[aria-pressed="true"] {
  background: var(--c-ink-700);
  border-color: var(--c-ink-700);
  color: #fff;
}


.calc__range { width: 100%; accent-color: var(--c-gold-600); }


.calc__result { border-top: 1px solid var(--c-line); }
.calc__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--c-line);
  font-size: var(--fs-sm);
}
.calc__row dt { color: var(--text-muted); }
.calc__row dd { margin: 0; font-family: var(--font-num); font-weight: 600; color: var(--c-text); font-variant-numeric: tabular-nums; }
.calc__row--total {
  padding-top: var(--sp-5);
  border-bottom: 0;
  font-size: var(--fs-body);
}
.calc__row--total dt { color: var(--c-text); font-weight: 600; }
.calc__row--total dd {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 900;
  color: var(--c-gold-600);
}
.calc__note {
  margin: var(--sp-5) 0 0;
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: var(--text-muted);
}
.calc__note strong { color: var(--c-warning); }
.calc__actions { margin-top: var(--sp-6); }


#story {
  position: relative;
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  overflow: hidden;
}
#story::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 82% 18%, rgba(212, 178, 118, 0.16), transparent 46%),
    radial-gradient(circle at 10% 86%, rgba(53, 117, 95, 0.3), transparent 54%);
}
#story > .container { position: relative; z-index: 1; }
#story .sec-head__title,
#story h2 { color: #fff; }
#story .lead { color: rgba(255, 255, 255, 0.88); }


#story .video-frame {
  border: 1px solid var(--c-line-gold);
  box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#story .video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.5);
}


.story-quote {
  margin: 0 0 var(--sp-6);
  font-family: var(--font-serif);
  font-size: clamp(1.375rem, 1rem + 1.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: #fff;
}
.story-quote em {
  font-style: normal;
  color: var(--c-gold-300);
}


#story .badge {
  background: transparent;
  border: 1px solid var(--c-line-gold);
  color: var(--c-gold-300);
}
#story .field__hint { color: rgba(255, 255, 255, 0.5); }


.story-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: var(--sp-7);
  border-top: 1px solid var(--c-line-ink);
}
.story-stats > li {
  padding: var(--sp-5) var(--sp-3) 0 0;
  border-right: 1px solid var(--c-line-ink);
}
.story-stats > li:last-child { border-right: 0; padding-right: 0; }
.story-stats__num {
  display: block;
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-300);
}
.story-stats__num em { font-style: normal; font-size: 0.42em; margin-left: 0.12em; }
.story-stats__label {
  display: block;
  margin-top: var(--sp-2);
  font-size: var(--fs-xs);
  letter-spacing: 0.18em;
  color: var(--c-text-inv-3);
}
@media (max-width: 47.99rem) {
  .story-stats > li { padding-right: var(--sp-3); }
}


#growth {
  position: relative;
  background:
    radial-gradient(circle at 50% 0%, rgba(212, 178, 118, 0.12), transparent 52%),
    var(--c-paper);
}
#growth::before {
  content: "";
  position: absolute;
  inset: var(--sp-6) var(--sp-6) auto;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--c-line-gold), transparent);
}

.yearline__panel {
  margin-top: var(--sp-6);
  padding: var(--sp-7) var(--sp-6);
  background: var(--c-white);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-gold-500);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-2);
  min-height: 11rem;
}
.yearline__panel-year {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-600);
}
.yearline__panel-title { margin: 0 0 var(--sp-3); font-size: var(--fs-h3); }
.yearline__panel-desc {
  margin: 0;
  max-width: 52rem;
  font-size: var(--fs-body);
  line-height: 1.95;
  color: var(--text-body);
}

.yearline__panel > * {
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out);
}
.yearline__panel.is-on > * { opacity: 1; transform: none; }
.yearline__panel.is-on > *:nth-child(2) { transition-delay: 0.05s; }
.yearline__panel.is-on > *:nth-child(3) { transition-delay: 0.1s; }
.yearline__hint { margin-top: var(--sp-5); }


#products { perspective: 1600px; }
#products .blinds {
  transform-style: preserve-3d;
  transform: rotateY(-9deg) rotateX(2deg) translateZ(0);
  transition: transform 0.6s var(--ease-out);
  will-change: transform;
}
#products .blinds__stage {
  transform-style: preserve-3d;
  box-shadow: -40px 50px 100px -50px rgba(6, 20, 17, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
#products .blinds__caption { transform: translateZ(48px); }
#products .blinds__dots { transform: translateZ(24px); }


#products .blinds::after {
  content: "";
  position: absolute;
  top: 2%;
  bottom: 2%;
  right: -1.25rem;
  width: 1.25rem;
  background: linear-gradient(to right, rgba(184, 146, 74, 0.45), rgba(184, 146, 74, 0));
  transform: rotateY(90deg);
  transform-origin: left center;
  pointer-events: none;
}

@media (max-width: 63.99rem) {
  #products { perspective: none; }
  #products .blinds { transform: none; }
  #products .blinds::after { display: none; }
}


.calc__map {
  position: relative;
  aspect-ratio: 4 / 3;
  max-height: 20rem;
  margin-top: var(--sp-4);
  border: 1px solid var(--c-line);
  border-radius: var(--r-md);
  background: var(--c-paper-2);
  overflow: hidden;
}
.calc__map-fallback {
  padding: var(--sp-5);
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: var(--text-muted);
  text-align: center;
}
.calc__picked {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-ink-50);
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
}
.calc__picked strong { font-family: var(--font-num); color: var(--c-ink-700); }


#founder {
  position: relative;
  background: var(--c-ink-800);
  color: var(--c-text-inv-2);
  overflow: hidden;
}
#founder::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 22%, rgba(212, 178, 118, 0.18), transparent 44%),
    radial-gradient(circle at 88% 80%, rgba(53, 117, 95, 0.32), transparent 52%);
}
#founder > .container { position: relative; z-index: 1; }


.founder-portrait { perspective: 1300px; }
.founder-portrait__frame {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--c-line-gold);
  box-shadow: -40px 50px 100px -50px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transform: rotateY(7deg) rotateX(1.5deg);
  transition: transform 0.7s var(--ease-out), box-shadow 0.7s var(--ease-out);
  will-change: transform;
}
.founder-portrait__frame:hover {
  transform: rotateY(0deg) rotateX(0deg) scale(1.015);
  box-shadow: -20px 30px 60px -40px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.founder-portrait__frame img { display: block; width: 100%; height: auto; }
.founder-portrait__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(6, 20, 17, 0.62) 0%, transparent 46%);
}
.founder-portrait__badge {
  position: absolute;
  left: var(--sp-6);
  bottom: var(--sp-6);
  z-index: 2;
  padding: 0.5rem 1.125rem;
  background: rgba(20, 41, 34, 0.88);
  border: 1px solid var(--c-line-gold);
  color: var(--c-gold-300);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
@media (max-width: 63.99rem) {
  .founder-portrait { perspective: none; }
  .founder-portrait__frame { transform: none; }
}

.founder-name {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.06em;
  color: #fff;
}
.founder-role {
  margin: 0 0 var(--sp-6);
  font-size: var(--fs-sm);
  letter-spacing: 0.22em;
  color: var(--c-gold-300);
}
.founder-creds { display: grid; gap: 0; margin-top: var(--sp-7); }
.founder-creds__row {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: var(--sp-4);
  padding-block: var(--sp-4);
  border-top: 1px solid var(--c-line-ink);
  font-size: var(--fs-sm);
}
.founder-creds__row:last-child { border-bottom: 1px solid var(--c-line-ink); }
.founder-creds__row dt { color: var(--c-text-inv-3); letter-spacing: 0.06em; }
.founder-creds__row dd { margin: 0; color: #fff; }
@media (max-width: 47.99rem) {
  .founder-creds__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-1); }
}


.todo {
  color: var(--c-gold-300);
  background: rgba(212, 178, 118, 0.14);
  padding: 0 0.3em;
  border-radius: 2px;
}


#story { display: none !important; }


#founder .split { gap: var(--sp-10); align-items: center; }

.founder-name {
  margin-bottom: var(--sp-4);
  font-size: clamp(2.5rem, 1.6rem + 3.2vw, 3.75rem);
  letter-spacing: 0.08em;
}

.founder-role {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-7);
  font-size: var(--fs-xs);
  letter-spacing: 0.28em;
  color: var(--c-gold-500);
}
.founder-role::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: var(--c-gold-500);
}


.founder-quote {
  margin: 0 0 var(--sp-7);
  max-width: 24em;
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.875rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.02em;
  color: #fff;
}
.founder-quote em { font-style: normal; color: var(--c-gold-500); }


.founder-bio { max-width: 33rem; }
.founder-bio p {
  margin: 0 0 var(--sp-5);
  font-size: 1.0625rem;
  line-height: 2.05;
  letter-spacing: 0.012em;
  color: rgba(255, 255, 255, 0.78);
}
.founder-bio p:last-child { margin-bottom: 0; }
.founder-bio strong { color: #fff; font-weight: 600; }


.founder-creds {
  margin-top: var(--sp-8);
  padding-left: var(--sp-6);
  border-left: 1px solid var(--c-line-gold);
  gap: 0;
}
.founder-creds__row {
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: var(--sp-5);
  padding-block: var(--sp-5);
  border-top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.founder-creds__row:first-child { border-top: 1px solid rgba(255, 255, 255, 0.09); }
.founder-creds__row:last-child { border-bottom: 0; }
.founder-creds__row dt {
  padding-top: 0.4em;
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  color: var(--c-gold-300);
}
.founder-creds__row dd {
  font-size: var(--fs-body);
  line-height: 1.8;
  letter-spacing: 0.012em;
  color: #fff;
}

@media (max-width: 63.99rem) {
  #founder .split { gap: var(--sp-7); }
  .founder-bio { max-width: none; }
  .founder-creds { padding-left: var(--sp-5); }
  .founder-creds__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
  .founder-creds__row dt { padding-top: 0; }
}


.founder-portrait { position: relative; }


.founder-portrait::before {
  content: "";
  position: absolute;
  top: 1.75rem;
  left: 1.75rem;
  right: -1.75rem;
  bottom: -1.75rem;
  z-index: 0;
  border: 1px solid var(--c-line-gold);
  opacity: 0.45;
  transition: inset 0.7s var(--ease-out), opacity 0.7s var(--ease-out),
              top 0.7s var(--ease-out), left 0.7s var(--ease-out),
              right 0.7s var(--ease-out), bottom 0.7s var(--ease-out);
}
.founder-portrait:hover::before {
  top: 1.125rem;
  left: 1.125rem;
  right: -1.125rem;
  bottom: -1.125rem;
  opacity: 0.9;
}

.founder-portrait__frame { z-index: 1; background: var(--c-ink-900, #0B1A15); }


.founder-portrait__frame img {
  filter: saturate(0.82) contrast(1.04) brightness(0.97);
  transition: filter 0.8s var(--ease-out), transform 1.1s var(--ease-out);
}


.founder-portrait__tint {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: soft-light;
  background: linear-gradient(145deg, rgba(212, 178, 118, 0.9) 0%, rgba(53, 117, 95, 0.75) 100%);
  transition: opacity 0.8s var(--ease-out);
}

.founder-portrait__frame:hover img,
.founder-portrait:hover .founder-portrait__frame img {
  filter: saturate(1.12) contrast(1.08) brightness(1.02);
  transform: scale(1.035);
}
.founder-portrait__frame:hover .founder-portrait__tint,
.founder-portrait:hover .founder-portrait__tint { opacity: 1; }


.founder-portrait__frame:hover {
  border-color: var(--c-gold-300);
  box-shadow: -30px 44px 90px -46px rgba(0, 0, 0, 0.85),
              0 0 0 1px rgba(212, 178, 118, 0.25),
              inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .founder-portrait__frame img,
  .founder-portrait::before,
  .founder-portrait__tint { transition: none; }
}
@media (max-width: 63.99rem) {
  .founder-portrait::before { display: none; }
}



#founder .split { align-items: stretch; }

.founder-portrait {
  display: flex;
  align-self: start;
}
.founder-portrait__frame {
  width: 100%;
  aspect-ratio: 4 / 5;
}
.founder-portrait__frame img {
  height: 100%;
  object-fit: cover;
  object-position: center 14%;
}


#founder .split > div:last-child {
  display: flex;
  flex-direction: column;
}
.founder-tail { margin-top: auto; }


.founder-portrait__frame::after { z-index: 1; }
.founder-portrait__tint { z-index: 2; }
.founder-portrait__spark {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s var(--ease-std);
}
.founder-portrait__frame:hover .founder-portrait__spark { opacity: 1; }
.founder-portrait__badge { z-index: 4; }

@media (max-width: 63.99rem) {
  #founder .split > div:last-child { height: auto; }
  .founder-portrait__frame { aspect-ratio: 4 / 5; }
}


.founder-bio { max-width: 31rem; }
.founder-bio p { margin-bottom: var(--sp-5); }
.founder-quote { margin-bottom: var(--sp-6); }
.founder-creds { margin-top: var(--sp-7); }


.cta-band { position: relative; overflow: hidden; }


.cta-band::before {
  content: "";
  position: absolute;
  inset: -32%;
  pointer-events: none;
  background:
    radial-gradient(circle at 32% 32%, rgba(212, 178, 118, 0.24), transparent 54%),
    radial-gradient(circle at 70% 68%, rgba(53, 117, 95, 0.32), transparent 56%);
  animation: ctaDrift 18s ease-in-out infinite alternate;
}
@keyframes ctaDrift {
  0%   { transform: translate3d(-2.5%, -1.5%, 0) scale(1); }
  100% { transform: translate3d(3.5%, 2.5%, 0) scale(1.1); }
}
.cta-band > .container { position: relative; z-index: 1; }


.cta-band .eyebrow {
  font-size: var(--fs-sm);
  letter-spacing: 0.3em;
  justify-content: center;
}
.cta-band .eyebrow::before,
.cta-band .eyebrow::after {
  content: "";
  flex: 1;
  max-width: 5rem;
  height: 1px;
  align-self: center;
  background: linear-gradient(to right, transparent, var(--c-gold-500));
  animation: ruleBreathe 5s ease-in-out infinite;
}
.cta-band .eyebrow::after { background: linear-gradient(to left, transparent, var(--c-gold-500)); }
@keyframes ruleBreathe {
  0%, 100% { opacity: 0.35; }
  50%      { opacity: 1; }
}


.cta-band__title,
.cta-band h2 {
  font-size: clamp(2rem, 1.25rem + 3.2vw, 3.5rem);
  line-height: 1.28;
  letter-spacing: 0.02em;
}
.cta-band .lead {
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem);
  line-height: 1.95;
  max-width: 40rem;
  margin-inline: auto;
}
.cta-band .btn-group { justify-content: center; gap: var(--sp-4); }
.cta-band .btn { min-width: 11rem; font-size: 1rem; }


.cta-band .btn--gold { animation: ctaPulse 3.4s ease-in-out infinite; }
@keyframes ctaPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(184, 146, 74, 0.55); }
  50%      { box-shadow: 0 0 0 14px rgba(184, 146, 74, 0); }
}
.cta-band .btn--gold:hover { animation: none; box-shadow: var(--sh-3); }

@media (prefers-reduced-motion: reduce) {
  .cta-band::before,
  .cta-band .eyebrow::before,
  .cta-band .eyebrow::after,
  .cta-band .btn--gold { animation: none; }
}


.timeline {
  padding-bottom: 9rem;
  margin-bottom: -9rem;
}
.timeline__item { position: relative; }


.timeline__dot {
  transition: all var(--d-mid) var(--ease-out);
}
.timeline__item:hover .timeline__dot,
.timeline__item:focus-within .timeline__dot {
  background: linear-gradient(to bottom, #EBD29A, #A5834A);
  color: #16241E;
  border-color: #EBD29A;
  transform: scale(1.14);
  box-shadow: 0 0 0 8px rgba(212, 178, 118, 0.16), 0 0 26px rgba(212, 178, 118, 0.6);
}

.timeline__item:hover::before,
.timeline__item:focus-within::before { background: var(--c-gold-500); }


.timeline__desc {
  position: absolute;
  left: 50%;
  top: calc(100% + 1rem);
  z-index: 30;
  width: min(20rem, 78vw);
  padding: var(--sp-5) var(--sp-6);
  border-radius: var(--r-md);
  border: 1px solid var(--c-line-gold);
  border-top: 3px solid var(--c-gold-500);
  background: linear-gradient(to bottom, rgba(26, 48, 40, 0.97), rgba(12, 26, 21, 0.99));
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 30px 64px -30px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.07);


  font-size: clamp(1rem, 0.94rem + 0.35vw, 1.1875rem);
  line-height: 1.9;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.92);
  text-align: left;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 0.75rem);
  transition: opacity 0.35s var(--ease-out), transform 0.35s var(--ease-out), visibility 0.35s;
}

.timeline__desc::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 0.75rem;
  height: 0.75rem;
  margin-bottom: -0.375rem;
  transform: translateX(-50%) rotate(45deg);
  background: var(--c-gold-500);
  border-radius: 1px;
}

.timeline__item:hover .timeline__desc,
.timeline__item:focus-within .timeline__desc {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}


.timeline__title { font-size: var(--fs-h4); }


.timeline__item:first-child .timeline__desc { left: 0; transform: translate(0, 0.75rem); }
.timeline__item:first-child:hover .timeline__desc { transform: translate(0, 0); }
.timeline__item:last-child .timeline__desc { left: auto; right: 0; transform: translate(0, 0.75rem); }
.timeline__item:last-child:hover .timeline__desc { transform: translate(0, 0); }
.timeline__item:first-child .timeline__desc::before { left: 1.75rem; }
.timeline__item:last-child .timeline__desc::before { left: auto; right: 1.75rem; transform: rotate(45deg); }

@media (max-width: 63.99rem) {
  .timeline { padding-bottom: 0; margin-bottom: 0; }

  .timeline__desc {
    position: static;
    width: auto;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin-top: var(--sp-3);
    background: transparent;
    border: 0;
    border-top: 1px solid var(--c-line-ink);
    border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .timeline__desc::before { display: none; }
}



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


.map-stage [data-china-map],
#chinaMap {
  min-height: min(70svh, 46rem);
}


.map-stage .map-box {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
@supports (width: 100cqw) {
  .map-stage .container { container-type: inline-size; }
}


.map-kpis { margin-bottom: var(--sp-5); }
.map-kpis__value { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); }

@media (max-width: 63.99rem) {
  .map-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .map-stage [data-china-map],
  #chinaMap { min-height: 22rem; }
}


.cta-band__inner--split {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--sp-8);
  align-items: center;
  text-align: left;
}
.cta-band__col { min-width: 0; }
.cta-band__col .eyebrow { justify-content: flex-start; font-size: var(--fs-sm); }
.cta-band__col .eyebrow::before { display: none; }
.cta-band__col .cta-band__lead { margin-inline: 0; max-width: 34rem; }
.cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  margin-top: var(--sp-6);
  justify-content: flex-start;
}


.store-map {
  position: relative;
  height: 13rem;
  margin-top: var(--sp-6);
  border: 1px solid var(--c-line-gold);
  border-radius: var(--r-md);
  overflow: hidden;
  background: linear-gradient(160deg, #14291F 0%, #08130F 100%);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.5);
}

.store-map__streets {
  position: absolute;
  inset: -14%;
  transform: rotate(-8deg);
  background:
    repeating-linear-gradient(90deg, rgba(212, 178, 118, 0.15) 0 1px, transparent 1px 2.6rem),
    repeating-linear-gradient(0deg, rgba(212, 178, 118, 0.12) 0 1px, transparent 1px 2.2rem);
}

.store-map::before {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  top: 50%;
  height: 1.75rem;
  transform: rotate(-8deg);
  background: linear-gradient(to bottom, rgba(212, 178, 118, 0.3), rgba(212, 178, 118, 0.08));
  border-top: 1px solid rgba(212, 178, 118, 0.55);
  border-bottom: 1px solid rgba(212, 178, 118, 0.55);
}

.store-map__water {
  position: absolute;
  right: -8%;
  top: -14%;
  width: 44%;
  height: 54%;
  border-radius: 40% 60% 55% 45%;
  transform: rotate(-14deg);
  background: rgba(78, 150, 168, 0.2);
  filter: blur(2px);
}

.store-map__pin {
  position: absolute;
  left: 45%;
  top: 42%;
  width: 1rem;
  height: 1rem;
  margin: -0.5rem 0 0 -0.5rem;
  border-radius: 50%;
  background: var(--c-gold-300);
  box-shadow: 0 0 0 6px rgba(212, 178, 118, 0.25), 0 0 24px rgba(212, 178, 118, 0.85);
}
.store-map__pin::after {
  content: "";
  position: absolute;
  inset: -0.5rem;
  border-radius: 50%;
  border: 1px solid rgba(212, 178, 118, 0.65);
  animation: pinPulse 2.6s ease-out infinite;
}
@keyframes pinPulse {
  0%   { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(2.6); opacity: 0; }
}
.store-map__label {
  position: absolute;
  left: var(--sp-5);
  right: var(--sp-5);
  bottom: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: var(--sp-3) var(--sp-4);
  border-left: 2px solid var(--c-gold-500);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  background: rgba(8, 18, 14, 0.84);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.store-map__label strong { font-size: var(--fs-sm); color: #fff; }
.store-map__label em {
  font-style: normal;
  font-size: var(--fs-xs);
  color: rgba(255, 255, 255, 0.62);
}


.cta-band__guide {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: var(--sp-8);
}
.cta-band__guide img {
  width: min(100%, 17rem);
  height: auto;
  filter: drop-shadow(0 26px 44px rgba(0, 0, 0, 0.5));
}

.cta-band__bubble {
  position: absolute;
  left: 50%;
  top: 0;
  padding: 0.5rem 1.125rem;
  border-radius: var(--r-full);
  background: #fff;
  color: var(--c-ink-700);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  box-shadow: var(--sh-2);
  animation: bubbleFloat 3.4s ease-in-out infinite;
}
.cta-band__bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  margin-left: -5px;
  border: 5px solid transparent;
  border-top-color: #fff;
}
@keyframes bubbleFloat {
  0%, 100% { transform: translate(-50%, -0.5rem); }
  50%      { transform: translate(-50%, -1.125rem); }
}

@media (max-width: 63.99rem) {
  .cta-band__inner--split { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  .cta-band__guide { order: -1; padding-top: var(--sp-7); }
  .cta-band__guide img { width: min(64%, 12rem); }
  .cta-band__bubble { font-size: var(--fs-xs); padding: 0.4rem 0.875rem; }
  .store-map { height: 11rem; }
}
@media (prefers-reduced-motion: reduce) {
  .store-map__pin::after,
  .cta-band__bubble { animation: none; }
}


.founder-creds__row {
  transition: background-color 0.35s var(--ease-std), padding-left 0.35s var(--ease-out);
}
.founder-creds__row dt { transition: color 0.35s var(--ease-std), letter-spacing 0.35s var(--ease-out); }
.founder-creds__row dd { transition: color 0.35s var(--ease-std); }

.founder-creds__row:hover {
  background: linear-gradient(to right, rgba(212, 178, 118, 0.1), transparent 72%);
  padding-left: var(--sp-3);
}
.founder-creds__row:hover dt {
  color: #fff;
  letter-spacing: 0.26em;
}
.founder-creds__row:hover dd {
  color: var(--c-gold-300);
}


.map-stage {
  position: relative;
  padding: 0 !important;
  overflow: hidden;
}
.map-stage > .container {
  max-width: none;
  padding-inline: 0;
  position: static;
}

.map-stage .sec-head {
  position: absolute;
  z-index: 3;
  top: calc(var(--header-h) + var(--sp-6));
  left: 50%;
  width: min(92rem, calc(100% - var(--sp-8)));
  transform: translateX(-50%);
  margin: 0;
}
.map-stage .map-kpis {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: var(--sp-8);
  width: min(92rem, calc(100% - var(--sp-8)));
  transform: translateX(-50%);
  margin: 0;
}

.map-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(8, 20, 16, 0.88) 0%, rgba(8, 20, 16, 0.35) 26%, transparent 46%),
    linear-gradient(to top, rgba(8, 20, 16, 0.9) 0%, rgba(8, 20, 16, 0.3) 24%, transparent 42%);
}

.map-stage .map-box,
.map-stage .map-canvas,
.map-stage [data-china-map],
#chinaMap {
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
}

@media (max-width: 63.99rem) {
  .map-stage .sec-head { position: static; transform: none; width: auto; padding: var(--sp-7) var(--sp-5) 0; }
  .map-stage .map-kpis { position: static; transform: none; width: auto; padding: var(--sp-5); margin: 0; }
  .map-stage .map-box,
  .map-stage .map-canvas,
  .map-stage [data-china-map],
  #chinaMap { min-height: 24rem; }
}


.screen-pair {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding-block: calc(var(--header-h) + var(--sp-5)) var(--sp-6);
}
@media (min-width: 64rem) {
  .screen-pair { scroll-snap-align: start; scroll-snap-stop: always; }
}

.screen-pair > #products,
.screen-pair > #news {
  min-height: 0;
  padding-block: var(--sp-5);
  display: block;
}

body.page-home .screen-pair > #products,
body.page-home .screen-pair > #news {
  background: var(--c-paper);

  --text-accent: var(--c-gold-700);
}
body.page-home .screen-pair > #products {

  box-shadow: inset 0 1px 0 var(--c-line-gold);
}

.screen-pair #products .blinds__stage { min-height: min(30svh, 15rem); }
.screen-pair #news .card { min-height: 0; }
.screen-pair .sec-head { margin-bottom: var(--sp-5); }
.screen-pair #products .sec-head__title,
.screen-pair #news .sec-head__title { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); }

@media (max-width: 63.99rem) {
  .screen-pair { min-height: 0; padding-block: var(--section-y); }
}


body.page-home #calculator {
  background: var(--c-paper);
  --text-accent: var(--c-gold-700);
}

body.page-home #calculator .eyebrow { color: var(--c-gold-700); }

body.page-home #calculator .sec-head__lead { color: var(--text-body); }

body.page-home #calculator .calc__lead,
body.page-home #calculator .calc__note { color: var(--text-body); }

#calculator .sec-head { margin-bottom: var(--sp-6); }
#calculator .calc { padding: var(--sp-6); gap: var(--sp-6); }
#calculator .calc__map { max-height: min(24svh, 13rem); }
#calculator .calc__field { margin-bottom: var(--sp-5); }
#calculator .calc__note { margin-top: var(--sp-4); }
#calculator .calc__actions { margin-top: var(--sp-5); }
#calculator .calc__row { padding: var(--sp-3) 0; }


.cta-band__photo {
  position: relative;
  margin: 0;
  width: min(100%, 15rem);
  border: 1px solid var(--c-line-gold);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 34px 66px -32px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition: transform 0.6s var(--ease-out), box-shadow 0.6s var(--ease-out);
}
.cta-band__photo img {
  display: block;
  width: 100%;
  height: auto;
  filter: saturate(0.94) contrast(1.04);
  transition: transform 0.9s var(--ease-out), filter 0.6s var(--ease-out);
}

.cta-band__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(8, 20, 16, 0.6) 0%, transparent 42%);
}
.cta-band__photo:hover {
  transform: translateY(-6px);
  box-shadow: 0 44px 80px -34px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(212, 178, 118, 0.35);
}
.cta-band__photo:hover img {
  transform: scale(1.05);
  filter: saturate(1.08) contrast(1.06);
}
.cta-band__guide img { filter: none; width: 100%; }

@media (max-width: 63.99rem) {
  .cta-band__photo { width: min(62%, 11rem); }
}
@media (prefers-reduced-motion: reduce) {
  .cta-band__photo,
  .cta-band__photo img { transition: none; }
}


.screen-pair--inquiry {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  min-height: 100svh;
  padding-block: calc(var(--header-h) + var(--sp-4)) var(--sp-5);
}
@media (min-width: 64rem) {
  .screen-pair--inquiry { scroll-snap-align: start; scroll-snap-stop: always; }
}

.screen-pair--inquiry > section {
  min-height: 0;
  display: block;
  padding-block: var(--sp-5);
}

.screen-pair--inquiry .sec-head { margin-bottom: var(--sp-5); }
.screen-pair--inquiry .sec-head__title { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); }
.screen-pair--inquiry .sec-head__lead { font-size: var(--fs-sm); }
.screen-pair--inquiry .timeline { padding-bottom: 0; margin-bottom: 0; }
.screen-pair--inquiry .timeline__title { font-size: var(--fs-body); }
.screen-pair--inquiry .timeline__dot { width: 2.5rem; height: 2.5rem; font-size: var(--fs-xs); }

.screen-pair--inquiry .timeline__desc {
  width: min(17rem, 76vw);
  padding: var(--sp-4) var(--sp-5);
  font-size: var(--fs-sm);
  line-height: 1.8;
}
.screen-pair--inquiry .cta-band__title { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); }
.screen-pair--inquiry .cta-band .lead { font-size: var(--fs-sm); }

@media (max-width: 63.99rem) {
  .screen-pair--inquiry { min-height: 0; }
}


.store-board {
  margin-top: var(--sp-6);
  border: 1px solid var(--c-line-gold);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(14, 30, 24, 0.85), rgba(8, 18, 14, 0.95));
  overflow: hidden;
}
.store-board__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid rgba(212, 178, 118, 0.28);
  font-size: var(--fs-sm);
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.72);
}
.store-board__head strong {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-300);
}
.store-board__head strong em { font-style: normal; font-size: 0.5em; margin-left: 0.1em; }

.store-board__viewport {
  position: relative;
  height: 9.5rem;
  overflow: hidden;

  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
}
.store-board__list {
  animation: boardScroll 18s linear infinite;
}
.store-board__viewport:hover .store-board__list { animation-play-state: paused; }
@keyframes boardScroll {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
.store-board__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-3) var(--sp-5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.8);
  transition: color 0.3s var(--ease-std), background-color 0.3s var(--ease-std), padding-left 0.3s var(--ease-out);
}
.store-board__list li strong {
  font-family: var(--font-num);
  font-weight: 700;
  color: var(--c-gold-300);
}
.store-board__list li:hover {
  color: #fff;
  background: rgba(212, 178, 118, 0.09);
  padding-left: calc(var(--sp-5) + 0.375rem);
}
.store-board__foot {
  margin: 0;
  padding: var(--sp-4) var(--sp-5);
  border-top: 1px solid rgba(212, 178, 118, 0.28);
  font-size: var(--fs-xs);
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  .store-board__list { animation: none; }
  .store-board__viewport { height: 14rem; overflow-y: auto; }
}
@media (max-width: 63.99rem) {
  .store-board__viewport { height: 8rem; }
}


#founder { padding-block: calc(var(--header-h) + var(--sp-4)) var(--sp-4); }
#founder .founder-name { margin-bottom: var(--sp-1); font-size: clamp(1.875rem, 1.3rem + 2.2vw, 2.75rem); }
#founder .founder-role { margin-bottom: var(--sp-4); font-size: 0.9375rem; }
#founder .founder-quote { margin-bottom: var(--sp-4); font-size: clamp(1rem, 0.9rem + 0.55vw, 1.25rem); }
#founder .founder-portrait__frame img { max-height: calc(100svh - 36rem); }
#founder .founder-portrait__caption { margin-top: var(--sp-3); padding-top: var(--sp-3); font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); }
.founder-creds__row { padding-block: var(--sp-3); }
.founder-tail { margin-top: var(--sp-4); }
#founder .founder-tail .btn-group { padding-top: var(--sp-5); }
#founder .btn--lg { padding: 0.75rem 1.5rem; font-size: 0.9375rem; }
.founder-numbers { margin-top: var(--sp-5); padding-top: var(--sp-4); }
.founder-numbers .kpi__value { font-size: clamp(1.375rem, 1rem + 1.5vw, 2rem); }
.founder-numbers__note { margin-top: var(--sp-3); }

@media (max-width: 63.99rem) {
  #founder .founder-portrait__frame img { max-height: none; }
}


.yearline--tree .yearline__panel { overflow: hidden; }


.yearline--tree .yearline__panel::after {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 55%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg, transparent, rgba(255, 240, 205, 0.16), transparent);
  animation: panelSweep 6s ease-in-out infinite;
}
@keyframes panelSweep {
  0%        { left: -60%; }
  55%, 100% { left: 125%; }
}

.yearline--tree .yearline__panel > * { position: relative; z-index: 3; }
.yearline--tree .yearline__panel {
  transition: box-shadow 0.6s var(--ease-out), border-color 0.6s var(--ease-std);
}
.yearline--tree .yearline__panel:hover {
  border-color: var(--c-gold-300);
  box-shadow: 0 0 0 1px rgba(212, 178, 118, 0.25), 0 0 60px rgba(184, 146, 74, 0.28),
              0 30px 70px -34px rgba(0, 0, 0, 0.8);
}
@media (prefers-reduced-motion: reduce) {
  .yearline--tree .yearline__panel::after { animation: none; opacity: 0.35; left: 20%; }
}


.screen-pair--inquiry {
  background:
    radial-gradient(circle at 24% 26%, rgba(212, 178, 118, 0.13), transparent 54%),
    radial-gradient(circle at 78% 74%, rgba(53, 117, 95, 0.22), transparent 56%),
    linear-gradient(to bottom, #0C1A16 0%, #0A1512 100%);
}

.screen-pair--inquiry > section { background: none !important; }
.screen-pair--inquiry > section::before { opacity: 0.5; }

.screen-pair--inquiry > section + section { border-top: 1px solid rgba(212, 178, 118, 0.22); }



.footer { scroll-snap-align: none; }
html.page-home .footer {
  scroll-snap-align: end;
  scroll-snap-stop: always;
}


html {
  scroll-snap-type: none;
  scroll-behavior: smooth;
}
@media (min-width: 64rem) {
  html.page-home { scroll-snap-type: y proximity; }

  main > section,
  main > .map-stage,
  main > .cta-band,
  .screen-pair,
  .screen-pair--inquiry {
    scroll-snap-align: none;
  }
  html.page-home main > section,
  html.page-home main > .map-stage,
  html.page-home main > .cta-band,
  html.page-home .screen-pair,
  html.page-home .screen-pair--inquiry {
    scroll-snap-align: start;
  }

  html.page-home #calculator {
    scroll-snap-align: none !important;
  }
}



.map-stage .container { container-type: normal; }


.map-stage {
  position: relative;
  display: block !important;
  min-height: 100vh;
  min-height: 100svh;
  height: 100vh;
  height: 100svh;
  padding: 0 !important;
  overflow: hidden;
}
.map-stage > .container {
  position: static;
  max-width: none;
  padding: 0;
  height: 100%;
}
.map-stage .map-box {
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}


.map-stage .sec-head {
  position: absolute;
  z-index: 5;
  top: calc(var(--header-h) + var(--sp-5));
  left: 50%;
  width: min(92rem, calc(100% - var(--sp-8)));
  transform: translateX(-50%);
  margin: 0;
}

.map-stage .map-kpis {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: var(--sp-7);
  width: min(92rem, calc(100% - var(--sp-8)));
  transform: translateX(-50%);
  margin: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5);
}

.map-stage .map-kpis::before {
  content: "";
  position: absolute;
  inset: calc(var(--sp-5) * -1) calc(var(--sp-6) * -1);
  z-index: -1;
  border-radius: var(--r-lg);
  background: rgba(8, 18, 14, 0.62);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 178, 118, 0.24);
}
.map-kpis__value { font-size: clamp(1.75rem, 1.2rem + 2.2vw, 3rem); }
.map-kpis__label { font-size: var(--fs-sm); letter-spacing: 0.18em; }

@media (max-width: 63.99rem) {
  .map-stage { height: auto; min-height: 0; display: flex !important; flex-direction: column; }
  .map-stage .sec-head,
  .map-stage .map-kpis {
    position: static;
    transform: none;
    width: auto;
    padding-inline: var(--sp-5);
  }
  .map-stage .sec-head { padding-top: var(--sp-7); }
  .map-stage .map-kpis { padding-block: var(--sp-5); }
  .map-stage .map-kpis::before { display: none; }
  .map-stage .map-box { height: auto; }
  .map-stage [data-china-map],
  #chinaMap { min-height: 26rem; }
}




.screen-pair {
  height: 100vh;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
  justify-content: center;
  padding-block: calc(var(--header-h) + var(--sp-3)) var(--sp-4);
}
.screen-pair > #products,
.screen-pair > #news {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--sp-4);
}
.screen-pair .sec-head { margin-bottom: var(--sp-4); }

.screen-pair .sec-head__lead { display: none; }
.screen-pair .sec-head__title { font-size: clamp(1.125rem, 0.95rem + 0.8vw, 1.5rem); }
.screen-pair #products .blinds__stage { min-height: min(26svh, 13rem) !important; }
.screen-pair #news .card { min-height: 0 !important; }
.screen-pair #news .card__body { padding: var(--sp-5); }
.screen-pair #news .card__desc { -webkit-line-clamp: 2; }
.screen-pair #news .card__foot { padding-top: var(--sp-4); }


.screen-pair--inquiry {
  height: 100vh;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
  justify-content: center;
  padding-block: calc(var(--header-h) + var(--sp-3)) var(--sp-4);
}
.screen-pair--inquiry > section {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--sp-4);
}

.screen-pair--inquiry > section .sec-head__lead { display: none; }
.screen-pair--inquiry > section:first-child .btn-group { display: none; }
.screen-pair--inquiry > section:first-child .sec-head { margin-bottom: var(--sp-4); }

.screen-pair--inquiry .cta-band .eyebrow { display: none; }
.screen-pair--inquiry .cta-band__title { margin-top: 0; }
.screen-pair--inquiry .cta-band__lead { font-size: var(--fs-xs); margin-bottom: var(--sp-4); }

.screen-pair--inquiry .store-board { margin-top: var(--sp-4); }
.screen-pair--inquiry .store-board__viewport { height: 6.5rem; }
.screen-pair--inquiry .store-board__head { padding: var(--sp-3) var(--sp-5); }
.screen-pair--inquiry .store-board__head strong { font-size: 1.375rem; }
.screen-pair--inquiry .store-board__foot { padding: var(--sp-3) var(--sp-5); }
.screen-pair--inquiry .cta-band__photo { width: min(100%, 10rem); }
.screen-pair--inquiry .store-map { height: 1px; }
.screen-pair--inquiry .timeline__title { font-size: var(--fs-sm); }
.screen-pair--inquiry .timeline__dot { width: 2.25rem; height: 2.25rem; }


.map-stage {
  height: auto !important;
  min-height: 100vh;
  min-height: 100svh;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  padding-block: calc(var(--header-h) + var(--sp-5)) var(--sp-6) !important;
}

.map-stage .sec-head,
.map-stage .map-kpis {
  position: static !important;
  transform: none !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}
.map-stage .sec-head { margin-bottom: var(--sp-5) !important; }
.map-stage .map-kpis { margin-bottom: var(--sp-5) !important; }
.map-stage .map-kpis::before { display: none; }

.map-stage .map-box {
  flex: 1 1 auto;
  height: auto !important;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.map-stage .map-box,
.map-stage .map-canvas,
.map-stage [data-china-map],
#chinaMap {
  min-height: min(70svh, 44rem) !important;
  width: 100%;
}

@media (max-width: 63.99rem) {
  .screen-pair,
  .screen-pair--inquiry { height: auto; overflow: visible; }
  .map-stage { min-height: 0; }
  .map-stage .map-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


.map-stage {
  height: auto !important;
  min-height: 100vh;
  min-height: 100svh;
  display: block !important;
  justify-content: flex-start;
  padding-block: calc(var(--header-h) + var(--sp-5)) var(--sp-6) !important;
  overflow: visible;
}
.map-stage > .container {
  position: static;
  max-width: none;
  height: auto;
  padding-inline: var(--gutter, 2.5rem);
}


.map-stage .sec-head,
.map-stage .map-kpis {
  position: static !important;
  transform: none !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
}


.map-stage .sec-head { margin-bottom: var(--sp-4) !important; }
.map-stage .sec-head__title {
  font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.125rem);
  line-height: 1.2;
}
.map-stage .sec-head__lead {
  margin-top: var(--sp-2);
  max-width: 44rem;
  font-size: var(--fs-sm);
  line-height: 1.7;
}

.map-stage .map-kpis {
  margin-bottom: var(--sp-5) !important;
  padding-block: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.map-stage .map-kpis::before { display: none; }
.map-stage .map-kpis__value { font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem); }
.map-stage .map-kpis__label { font-size: var(--fs-xs); letter-spacing: 0.16em; }


.map-stage .map-box {
  height: auto !important;
  flex: none;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.map-stage .map-box,
.map-stage .map-canvas,
.map-stage [data-china-map],
#chinaMap {
  min-height: min(64svh, 40rem) !important;
  width: 100%;
}



.screen-pair--inquiry {
  justify-content: flex-start;
  padding-block: calc(var(--header-h) + var(--sp-2)) var(--sp-4);
}
.screen-pair--inquiry > section {
  justify-content: flex-start;
  padding-block: var(--sp-3);
}
.screen-pair--inquiry > section:first-child .sec-head { margin-top: 0; }
.screen-pair--inquiry > section:first-child .sec-head__title { margin-top: 0; }


.store-guide-modal .modal__panel { max-width: 30rem; }
.store-guide__prov {
  margin: 0 0 var(--sp-2);
  font-size: var(--fs-xs);
  letter-spacing: 0.22em;
  color: var(--c-gold-600);
}
.store-guide__city {
  margin: 0 0 var(--sp-4);
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
}

.store-guide__map {
  position: relative;
  height: 11rem;
  border: 1px solid var(--c-line-gold);
  border-radius: var(--r-md);
  overflow: hidden;
  background: linear-gradient(160deg, #14291F, #08130F);
}
.store-guide__map::before {
  content: "";
  position: absolute;
  inset: -14%;
  transform: rotate(-8deg);
  background:
    repeating-linear-gradient(90deg, rgba(212, 178, 118, 0.14) 0 1px, transparent 1px 2.4rem),
    repeating-linear-gradient(0deg, rgba(212, 178, 118, 0.11) 0 1px, transparent 1px 2rem);
}
.store-guide__pin {
  position: absolute;
  width: 0.875rem;
  height: 0.875rem;
  margin: -0.4375rem 0 0 -0.4375rem;
  border-radius: 50%;
  background: var(--c-gold-300);
  box-shadow: 0 0 0 6px rgba(212, 178, 118, 0.22), 0 0 20px rgba(212, 178, 118, 0.85);
  transition: left 0.5s var(--ease-out), top 0.5s var(--ease-out);
}
.store-guide__pin::after {
  content: "";
  position: absolute;
  inset: -0.5rem;
  border-radius: 50%;
  border: 1px solid rgba(212, 178, 118, 0.6);
  animation: pinPulse 2.6s ease-out infinite;
}
.store-guide__count {
  margin: var(--sp-4) 0 var(--sp-5);
  font-size: var(--fs-sm);
  line-height: 1.8;
  color: var(--text-muted);
}
.store-guide__count strong {
  font-family: var(--font-num);
  font-size: 1.25rem;
  color: var(--c-gold-600);
}
.store-guide-modal .btn-group { justify-content: flex-start; }


.store-board__list li { cursor: pointer; }
.store-board__list li:focus-visible { outline: 2px solid var(--c-gold-500); outline-offset: -2px; }


.map-stage {
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  padding-block: calc(var(--header-h) + var(--sp-6)) var(--sp-8) !important;
  overflow: visible;
}
.map-stage > .container {
  max-width: var(--w-wide, 92rem);
  margin-inline: auto;
  padding-inline: var(--gutter, 2.5rem);
  height: auto;
}


.map-stage .sec-head {
  position: static !important;
  transform: none !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin: 0 0 var(--sp-6) !important;
}
.map-stage .sec-head .eyebrow { display: none; }
.map-stage .sec-head__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1.75rem, 1.3rem + 1.7vw, 2.5rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: 0.01em;
  color: #fff;
}
.map-stage .sec-head__lead {
  margin: var(--sp-3) 0 0;
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.78);
}


.map-stage .map-kpis {
  position: static !important;
  transform: none !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin: 0 0 var(--sp-7) !important;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(212, 178, 118, 0.3);
  border-bottom: 1px solid rgba(212, 178, 118, 0.3);
}
.map-stage .map-kpis::before { display: none; }
.map-stage .map-kpis > li {
  padding: var(--sp-5) var(--sp-3);
  text-align: center;
  border-right: 1px solid rgba(212, 178, 118, 0.22);
}
.map-stage .map-kpis > li:last-child { border-right: 0; }
.map-stage .map-kpis__value {
  display: block;
  font-family: var(--font-serif);
  font-size: clamp(2rem, 1.4rem + 1.9vw, 3rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-300);
}
.map-stage .map-kpis__label {
  display: block;
  margin-top: var(--sp-3);
  font-size: var(--fs-xs);
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.62);
}


.map-stage .map-box {
  height: auto !important;
  max-width: 92rem;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.map-stage .map-box,
.map-stage .map-canvas,
.map-stage [data-china-map],
#chinaMap {
  min-height: min(54svh, 33rem) !important;
  width: 100%;
}


.map-stage .prov-chips,
.map-stage [class*="prov-chips"] {
  margin-top: var(--sp-6);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(212, 178, 118, 0.3);
  background: transparent;
}
.map-stage .prov-chips > *,
.map-stage [class*="prov-chips"] > * {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-5) var(--sp-3);
  border-right: 1px solid rgba(212, 178, 118, 0.22);
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.72);
  text-align: center;
}
.map-stage .prov-chips > *:last-child,
.map-stage [class*="prov-chips"] > *:last-child { border-right: 0; }
.map-stage .prov-chips strong,
.map-stage .prov-chips em,
.map-stage [class*="prov-chips"] strong,
.map-stage [class*="prov-chips"] em {
  font-family: var(--font-num);
  font-style: normal;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--c-gold-300);
}

.map-stage .sec-head { position: relative; }
.map-stage .sec-head .link-arrow {
  position: absolute;
  right: 0;
  bottom: 0.35rem;
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.82);
}
.map-stage .sec-head .link-arrow:hover { color: var(--c-gold-300); }

@media (max-width: 63.99rem) {
  .map-stage .map-kpis,
  .map-stage .prov-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-stage .map-kpis > li:nth-child(2n),
  .map-stage .prov-chips > *:nth-child(2n) { border-right: 0; }
  .map-stage .map-kpis > li { border-bottom: 1px solid rgba(212, 178, 118, 0.18); }
  .map-stage .sec-head .link-arrow { position: static; display: inline-block; margin-top: var(--sp-3); }
  .map-stage [data-china-map], #chinaMap { min-height: 22rem !important; }
}


.screen-pair--inquiry {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: 0;
  height: 100vh;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
  justify-content: initial;
  padding-block: calc(var(--header-h) + var(--sp-4)) var(--sp-5);
}

.screen-pair--inquiry > section:first-child {
  padding-block: 0 var(--sp-5);
  display: block;
}
.screen-pair--inquiry > section:first-child .sec-head { margin-bottom: var(--sp-6) !important; }
.screen-pair--inquiry > section:first-child .sec-head__title { margin-bottom: 0; }

.screen-pair--inquiry > section:first-child .timeline { margin: 0; }


.screen-pair--inquiry > section:last-child {
  min-height: 0;
  padding-block: var(--sp-6) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid rgba(212, 178, 118, 0.22);
}
.screen-pair--inquiry > section + section { border-top: 1px solid rgba(212, 178, 118, 0.22); }
.screen-pair--inquiry .cta-band > .container { height: 100%; }
.screen-pair--inquiry .cta-band__inner--split {
  height: 100%;
  align-items: stretch;
  gap: var(--sp-8);
}

.screen-pair--inquiry .cta-band__col {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.screen-pair--inquiry .cta-band__title { margin-bottom: var(--sp-3); }
.screen-pair--inquiry .cta-band__lead { margin-bottom: var(--sp-4); }

.screen-pair--inquiry .store-board {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 7rem;
  margin-top: 0;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 5.5rem;
}
.screen-pair--inquiry .cta-band__actions { margin-top: var(--sp-5); }


.screen-pair--inquiry .cta-band__guide {
  align-items: center;
  height: 100%;
  padding-top: 0;
}
.screen-pair--inquiry .cta-band__photo { width: min(100%, 13rem); }

@media (max-width: 63.99rem) {
  .screen-pair--inquiry {
    display: block;
    height: auto;
    overflow: visible;
    padding-block: var(--section-y);
  }
  .screen-pair--inquiry .cta-band__inner--split { height: auto; }
  .screen-pair--inquiry .store-board { flex: none; }
  .screen-pair--inquiry .store-board__viewport { height: 8rem; flex: none; }
}


.screen-pair--inquiry {

  padding-block: calc(var(--header-h) + 0.25rem) var(--sp-4);
}
.screen-pair--inquiry > section:first-child { padding-block: 0 var(--sp-5); }
.screen-pair--inquiry > section:first-child .sec-head { margin-bottom: var(--sp-5) !important; }

.screen-pair--inquiry .sec-head .eyebrow { margin-bottom: var(--sp-2); }


.store-guide__panel { max-width: 36rem; }

.store-guide__list {
  margin: 0 0 var(--sp-5);
  max-height: 16rem;
  overflow-y: auto;
  border-top: 1px solid var(--c-line);
  -webkit-overflow-scrolling: touch;
}
.store-guide__list li {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: var(--sp-4) var(--sp-2);
  border-bottom: 1px solid var(--c-line);
  transition: background-color 0.3s var(--ease-std), padding-left 0.3s var(--ease-out);
}
.store-guide__list li:hover {
  background: var(--c-paper-2);
  padding-left: var(--sp-4);
}
.store-guide__name {
  font-size: var(--fs-body);
  font-weight: 600;
  color: var(--c-ink-700);
  line-height: 1.5;
}
.store-guide__addr {
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--text-muted);
}

.store-guide__list::-webkit-scrollbar { width: 4px; }
.store-guide__list::-webkit-scrollbar-thumb {
  background: var(--c-line-gold);
  border-radius: 2px;
}
.store-guide__list::-webkit-scrollbar-track { background: transparent; }


.store-guide__list:empty { display: none; }



.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 8fr) minmax(0, 5fr);
}


.screen-pair--inquiry .store-board {
  flex: 0 1 auto;
  min-height: 0;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 0 1 auto;
  height: auto;
  min-height: 4.5rem;
  max-height: 8rem;
}


.screen-pair--inquiry .cta-band__photo {
  width: min(100%, 21rem);
}


.cta-band__photo img {
  filter: brightness(0.4) saturate(0.55) contrast(1.06);
  transition: filter 0.65s var(--ease-out), transform 0.9s var(--ease-out);
}
.cta-band__photo::after {
  background: linear-gradient(to top, rgba(6, 18, 14, 0.8) 0%, rgba(6, 18, 14, 0.42) 55%, rgba(6, 18, 14, 0.28) 100%);
  transition: opacity 0.65s var(--ease-out);
}


.cta-band__photo:hover,
.cta-band__photo:focus-within {
  border-color: var(--c-gold-300);
  box-shadow:
    0 0 0 1px rgba(212, 178, 118, 0.55),
    0 0 46px rgba(212, 178, 118, 0.6),
    0 0 90px rgba(184, 146, 74, 0.3),
    0 34px 66px -32px rgba(0, 0, 0, 0.85);
}
.cta-band__photo:hover img,
.cta-band__photo:focus-within img {

  filter: brightness(1.08) saturate(1.15) contrast(1.06) sepia(0.14);
  transform: scale(1.045);
}
.cta-band__photo:hover::after,
.cta-band__photo:focus-within::after { opacity: 0.3; }

@media (prefers-reduced-motion: reduce) {
  .cta-band__photo img,
  .cta-band__photo::after { transition: none; }
}
@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__photo { width: min(72%, 16rem); }
  .screen-pair--inquiry .store-board__viewport { max-height: 10rem; }
}




.screen-pair--inquiry { padding-block: calc(var(--header-h) - 2.5rem) var(--sp-4); }
.screen-pair--inquiry > section:first-child .sec-head { margin-bottom: var(--sp-5) !important; }


.screen-pair--inquiry .store-board {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 6rem;
  max-height: min(36svh, 22rem);
}

.screen-pair--inquiry .cta-band__actions { margin-top: var(--sp-5); }


.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  align-items: stretch;
}
.screen-pair--inquiry .cta-band__guide {
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-top: 0;
}
.screen-pair--inquiry .cta-band__photo {
  width: 100%;
  max-width: none;
}

.screen-pair--inquiry .cta-band__photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry { padding-block: var(--section-y); }
  .screen-pair--inquiry .cta-band__inner--split { grid-template-columns: minmax(0, 1fr); }
  .screen-pair--inquiry .cta-band__photo { width: 100%; }
  .screen-pair--inquiry .store-board__viewport { max-height: 12rem; }
}




.screen-pair--inquiry { padding-block: calc(var(--header-h) - 1rem) var(--sp-4); }


.screen-pair--inquiry .store-board {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 8rem;
  max-height: min(48svh, 30rem);
}


.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  align-items: stretch;
}
.screen-pair--inquiry .cta-band__guide {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100%;
  padding-top: var(--sp-8);
}
.screen-pair--inquiry .cta-band__photo {
  flex: 1 1 auto;
  min-height: 14rem;
  width: 100%;
  height: auto;
  margin: 0;
}

.screen-pair--inquiry .cta-band__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__guide { padding-top: var(--sp-7); }
  .screen-pair--inquiry .cta-band__photo { flex: none; height: auto; min-height: 0; }
  .screen-pair--inquiry .cta-band__photo img { height: auto; object-fit: contain; }
  .screen-pair--inquiry .store-board__viewport { max-height: 14rem; }
}





.screen-pair--inquiry { padding-block: var(--sp-4) var(--sp-4); }
.screen-pair--inquiry > section:first-child { padding-block: var(--sp-2) var(--sp-5); }


.screen-pair--inquiry .store-board {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 11rem;
  max-height: none;
}

.screen-pair--inquiry .cta-band__col { flex: 1 1 auto; }
.screen-pair--inquiry .cta-band__actions { margin-top: var(--sp-5); }


.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  align-items: stretch;
  gap: var(--sp-7);
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__inner--split { grid-template-columns: minmax(0, 1fr); }
  .screen-pair--inquiry .store-board__viewport { min-height: 9rem; max-height: 16rem; }
}





.screen-pair--inquiry > section:first-child {
  position: relative;
  z-index: 3;
  padding-block: var(--sp-2) var(--sp-6);
}
.screen-pair--inquiry > section:last-child {
  position: relative;
  z-index: 1;
  padding-block: var(--sp-7) 0;
}
.screen-pair--inquiry .timeline__desc { z-index: 60; }


.screen-pair--inquiry .store-board {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 0 0 auto;
  height: 15rem;
  min-height: 0;
  max-height: none;
}


.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
  align-items: start;
  gap: var(--sp-7);
}


.screen-pair--inquiry .cta-band__guide {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: auto;
  padding-top: var(--sp-7);
}
.screen-pair--inquiry .cta-band__photo {
  flex: none;
  width: auto;
  height: auto;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  align-self: flex-start;
}

.screen-pair--inquiry .cta-band__photo img {
  display: block;
  height: 20rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__guide { padding-top: var(--sp-7); }
  .screen-pair--inquiry .cta-band__photo { align-self: center; }
  .screen-pair--inquiry .cta-band__photo img { height: auto; width: 100%; }
  .screen-pair--inquiry .store-board__viewport { height: 11rem; }
}




.screen-pair--inquiry > section:last-child {
  justify-content: center;
  padding-block: var(--sp-5) 0;
}


.screen-pair--inquiry > section:first-child { padding-block: var(--sp-2) var(--sp-3); }
.screen-pair--inquiry .timeline__desc {
  top: calc(100% + 0.75rem);
  padding: var(--sp-4) var(--sp-5);
}



.screen-pair--inquiry .cta-band__inner--split {
  grid-template-columns: minmax(0, 10fr) minmax(0, 9fr);
  align-items: center;
  gap: var(--sp-6);
}


.screen-pair--inquiry .cta-band__guide {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  height: auto;
  padding-top: 0;
}
.screen-pair--inquiry .cta-band__photo {
  width: 100%;
  height: auto;
  align-self: stretch;
  min-height: 0;
  margin: 0;
}
.screen-pair--inquiry .cta-band__photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}


.screen-pair--inquiry .cta-band__bubble {
  position: static;
  align-self: flex-start;
  margin: 0 0 var(--sp-4);
  animation: bubbleNudge 3.4s ease-in-out infinite;
}
@keyframes bubbleNudge {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
  .screen-pair--inquiry .cta-band__bubble { animation: none; }
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__inner--split { grid-template-columns: minmax(0, 1fr); }
  .screen-pair--inquiry .cta-band__photo { width: 100%; }
  .screen-pair--inquiry .cta-band__bubble { align-self: center; }
  .screen-pair--inquiry .store-board__viewport { height: 11rem; }
}


.screen-pair--inquiry > section:last-child {
  justify-content: flex-start;
  align-items: stretch;
  padding-block: var(--sp-5) 0;
}
.screen-pair--inquiry > section:last-child > .container { height: 100%; }

.screen-pair--inquiry .cta-band__inner--split {
  height: 100%;
  align-items: stretch;
}


.screen-pair--inquiry .cta-band__col {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}


.screen-pair--inquiry .store-board {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 1 1 auto;
  height: auto;
  min-height: 7rem;
  max-height: none;
}


.screen-pair--inquiry .cta-band__actions { margin-top: var(--sp-5); }


.screen-pair--inquiry .cta-band__guide {
  height: 100%;
  justify-content: center;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry > section:last-child > .container { height: auto; }
  .screen-pair--inquiry .cta-band__inner--split { height: auto; }
  .screen-pair--inquiry .cta-band__col { height: auto; }
  .screen-pair--inquiry .store-board { flex: 0 0 auto; }
  .screen-pair--inquiry .store-board__viewport { height: 11rem; flex: 0 0 auto; }
  .screen-pair--inquiry .cta-band__guide { height: auto; }
}


.screen-pair--inquiry { --board-rows: 6; }

.screen-pair--inquiry .store-board__list li {
  height: 3.25rem;
  padding-block: 0;
  align-items: center;
  box-sizing: border-box;
}
.screen-pair--inquiry .store-board__viewport {
  flex: 0 0 auto;
  height: calc(var(--board-rows) * 3.25rem);
  min-height: 0;
  max-height: none;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry { --board-rows: 4; }
}


.screen-pair--inquiry .cta-band__col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
  min-height: 0;
}


.screen-pair--inquiry .store-board {
  flex: 0 0 auto;
  margin-top: auto;
}
.screen-pair--inquiry .cta-band__actions {
  margin-top: auto;
  padding-top: var(--sp-5);
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__col { height: auto; }
  .screen-pair--inquiry .store-board { margin-top: var(--sp-5); }
  .screen-pair--inquiry .cta-band__actions { margin-top: var(--sp-5); }
}



.screen-pair--inquiry { --board-rows: 16; }

.screen-pair--inquiry .store-board__list li {
  height: 2.25rem;
  padding-block: 0;
  padding-inline: var(--sp-4);
  align-items: center;
  font-size: var(--fs-sm);
  box-sizing: border-box;
}
.screen-pair--inquiry .store-board__viewport {
  height: calc(var(--board-rows) * 2.25rem);
  min-height: 0;
  max-height: none;
}

.screen-pair--inquiry .store-board__head { padding: var(--sp-3) var(--sp-4); }
.screen-pair--inquiry .store-board__foot { padding: var(--sp-3) var(--sp-4); }


.screen-pair--inquiry .store-board { margin-top: var(--sp-5); }
.screen-pair--inquiry .cta-band__actions {
  margin-top: var(--sp-5);
  padding-top: 0;
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry { --board-rows: 8; }
  .screen-pair--inquiry .store-board__list li { height: 2.5rem; }
  .screen-pair--inquiry .store-board__viewport { height: calc(var(--board-rows) * 2.5rem); }
}


.screen-pair--inquiry .cta-band__lead { display: none; }

.screen-pair--inquiry .cta-band__title {

  margin-top: 3.5rem;
  margin-bottom: var(--sp-5);
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__title { margin-top: var(--sp-6); }
}


.screen-pair--inquiry .cta-band__guide {
  perspective: 1400px;
}

.screen-pair--inquiry .cta-band__photo {
  position: relative;
  transform-style: preserve-3d;

  transform: rotateY(-11deg) rotateX(3deg) translateZ(0);
  transition: transform 0.75s var(--ease-out),
              box-shadow 0.75s var(--ease-out),
              border-color 0.6s var(--ease-std);
  will-change: transform;

  box-shadow:
    -30px 42px 74px -38px rgba(0, 0, 0, 0.85),
    -6px 10px 22px -12px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}


.screen-pair--inquiry .cta-band__photo img {
  filter: none;
  transform: none;
  transition: filter 0.75s var(--ease-out), transform 0.75s var(--ease-out);
}

.screen-pair--inquiry .cta-band__photo::after {
  background: linear-gradient(to top, rgba(6, 18, 14, 0.45) 0%, transparent 52%);
  opacity: 1;
  transition: opacity 0.75s var(--ease-out);
}


.screen-pair--inquiry .cta-band__photo:hover,
.screen-pair--inquiry .cta-band__photo:focus-within {
  transform: rotateY(-3deg) rotateX(1deg) scale(1.02);
  border-color: rgba(212, 178, 118, 0.5);
  box-shadow:
    -16px 26px 54px -34px rgba(0, 0, 0, 0.9),
    0 0 0 1px rgba(212, 178, 118, 0.22);
}
.screen-pair--inquiry .cta-band__photo:hover img,
.screen-pair--inquiry .cta-band__photo:focus-within img {
  filter: brightness(0.4) saturate(0.6) contrast(1.05);
  transform: scale(1.01);
}
.screen-pair--inquiry .cta-band__photo:hover::after,
.screen-pair--inquiry .cta-band__photo:focus-within::after {
  background: linear-gradient(to top, rgba(4, 12, 9, 0.85) 0%, rgba(4, 12, 9, 0.5) 60%, rgba(4, 12, 9, 0.32) 100%);
}

@media (prefers-reduced-motion: reduce) {
  .screen-pair--inquiry .cta-band__photo,
  .screen-pair--inquiry .cta-band__photo img,
  .screen-pair--inquiry .cta-band__photo::after { transition: none; }
}
@media (max-width: 63.99rem) {
  .screen-pair--inquiry .cta-band__guide { perspective: none; }
  .screen-pair--inquiry .cta-band__photo { transform: none; }
  .screen-pair--inquiry .cta-band__photo:hover { transform: none; }
}


.map-stage {
  min-height: 100vh;
  min-height: 100svh;
  height: auto !important;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  padding-block: calc(var(--header-h) + var(--sp-4)) var(--sp-5) !important;
}


.map-stage .sec-head { margin-bottom: var(--sp-4) !important; }
.map-stage .sec-head__title { font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem); }
.map-stage .sec-head__lead {
  margin-top: var(--sp-2);
  max-width: 38rem;
  font-size: var(--fs-sm);
  line-height: 1.7;
}


.map-stage .map-kpis { margin-bottom: var(--sp-4) !important; }
.map-stage .map-kpis > li { padding: var(--sp-4) var(--sp-3); }
.map-stage .map-kpis__value { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.125rem); }
.map-stage .map-kpis__label { margin-top: var(--sp-2); font-size: var(--fs-xs); }


.map-stage .map-box {
  flex: 1 1 auto;
  min-height: 0;
  height: auto !important;
  margin: 0;
  border: 0;
}
.map-stage .map-box,
.map-stage .map-canvas,
.map-stage [data-china-map],
#chinaMap {
  min-height: 18rem !important;
  max-height: none;
  width: 100%;
}


.map-stage .prov-chips { margin-top: var(--sp-4); }
.map-stage .prov-chips > * { padding: var(--sp-3) var(--sp-2); }
.map-stage .prov-chips strong,
.map-stage .prov-chips em,
.map-stage [class*="prov-chips"] strong,
.map-stage [class*="prov-chips"] em { font-size: 1.0625rem; }

@media (max-width: 63.99rem) {
  .map-stage { min-height: 0; }
  .map-stage .map-box { flex: 0 0 auto; }
  .map-stage [data-china-map],
  #chinaMap { min-height: 22rem !important; }
}


.screen-pair {
  padding-block: var(--sp-3) var(--sp-3);
}


.screen-pair > #products { padding-block: var(--sp-3); }
.screen-pair #products .sec-head { margin-bottom: var(--sp-3); }
.screen-pair #products .sec-head__title {
  font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem);
}
.screen-pair #products .blinds__stage { min-height: min(28svh, 16rem) !important; }
.screen-pair #products .card--service .card__body { padding: var(--sp-4) var(--sp-3); }
.screen-pair #products .card--service .card__desc { -webkit-line-clamp: 2; }


.screen-pair > #news { padding-block: var(--sp-3); }
.screen-pair #news .sec-head { margin-bottom: var(--sp-3); }
.screen-pair #news .sec-head__title {
  font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem);
}
.screen-pair #news .card__body { padding: var(--sp-4); }
.screen-pair #news .card__meta { margin-bottom: var(--sp-2); }
.screen-pair #news .card__title { font-size: 1rem; }
.screen-pair #news .card__desc { -webkit-line-clamp: 2; }
.screen-pair #news .card__foot { padding-top: var(--sp-3); }

@media (max-width: 63.99rem) {
  .screen-pair { padding-block: var(--section-y); }
}


.screen-pair {
  justify-content: flex-start;
  padding-block: var(--sp-3) var(--sp-6);
}


.screen-pair #products .blinds {
  aspect-ratio: auto;
  height: 15.5rem;
  max-height: 15.5rem;
}
.screen-pair #products .blinds__stage {
  min-height: 0 !important;
  height: 100%;
}


.screen-pair > #news { padding-block: var(--sp-3) var(--sp-5); }

@media (max-width: 63.99rem) {
  .screen-pair #products .blinds { height: 18rem; max-height: 18rem; }
}


.screen-pair--inquiry { --board-rows: 11; }


.screen-pair--inquiry .cta-band > .container {
  width: 100%;
  max-width: var(--w-wide, 92rem);
  margin-inline: auto;
  padding-inline: var(--gutter, 2.5rem);
  height: 100%;
}


.screen-pair--inquiry .store-board__viewport {
  height: calc(var(--board-rows) * 2.25rem);
  max-height: calc(100% - 9rem);
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry { --board-rows: 8; }
  .screen-pair--inquiry .store-board__viewport { max-height: none; }
}


.screen-pair--inquiry {
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch;
  justify-content: stretch;
}

.screen-pair--inquiry > section { width: 100%; }
.screen-pair--inquiry > section > .container {
  width: 100%;
  max-width: var(--w-wide, 92rem);
  margin-inline: auto;
}


.screen-pair > #products,
.screen-pair > #news { width: 100%; }
.screen-pair > #products > .container,
.screen-pair > #news > .container {
  width: 100%;
  max-width: var(--w-wide, 92rem);
  margin-inline: auto;
}


main > section {
  padding-top: calc(var(--header-h) + 0.25rem) !important;
}

main > .hero { padding-top: 0 !important; }


.screen-pair--inquiry > section,
.screen-pair > #products,
.screen-pair > #news {
  padding-top: 0 !important;
}

.screen-pair > #news { padding-top: var(--sp-3) !important; }





:root { --screen-top-gap: 88px; }


body.page-home main > section,
body.page-home main > .map-stage,
body.page-home main > .cta-band,
body.page-home .screen-pair,
body.page-home .screen-pair--inquiry {
  padding-top: calc(var(--header-h) + var(--screen-top-gap)) !important;

  min-height: 100vh !important;
  min-height: 100svh !important;
  box-sizing: border-box !important;
}


.screen-pair,
.screen-pair--inquiry {
  padding-top: calc(var(--header-h) + var(--screen-top-gap)) !important;
}


#products .grid--auto { border-left: 0 !important; }

#products .card--service {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#products .card--service .card__body {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: 0 var(--sp-3);
  padding: var(--sp-5) 0;
  padding-left: 0;
  border-left: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--c-line);
}


#products .card--service .card__body::before {
  position: static;
  grid-column: 1;
  left: auto;
  top: auto;
  padding-top: 0.25em;
  counter-increment: prod;
  content: "0" counter(prod);
  font-family: var(--font-num);
  font-size: var(--fs-xs);
  letter-spacing: 0.08em;
  color: var(--c-text-4);
  transition: color var(--d-base) var(--ease-std);
}


#products .card--service .card__icon,
#products .card--service .card__title,
#products .card--service .card__desc { grid-column: 2; }
#products .card--service .card__title { margin-bottom: var(--sp-2); }
#products .card--service .card__foot { display: none !important; }


#products .card--service.is-current .card__body {
  background: var(--c-paper-2);
  box-shadow: inset 2px 0 0 var(--c-gold-500);
  padding-left: var(--sp-4);
}
#products .card--service.is-current .card__body::before { color: var(--c-gold-600); }


#products .card--service .card__body::after { display: none !important; }




.screen-pair--inquiry > section:first-child {
  padding-block: 0 6.5rem !important;
}
.screen-pair--inquiry .timeline { padding-bottom: 0; margin-bottom: 0; }

.screen-pair--inquiry .cta-band__title { margin-top: 0 !important; }


.screen-pair--inquiry .timeline__desc {
  width: min(16rem, 72vw);
  padding: var(--sp-4) var(--sp-5);
  font-size: var(--fs-sm);
  line-height: 1.75;
}


.screen-pair--inquiry { --board-rows: 14; }



.screen-pair--inquiry .cta-band__guide { perspective: none; }

.screen-pair--inquiry .cta-band__photo {
  transform: none !important;
  transform-style: flat;
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.screen-pair--inquiry .cta-band__photo:hover,
.screen-pair--inquiry .cta-band__photo:focus-within {
  transform: none !important;
  border-color: var(--c-line-gold);
  box-shadow: 0 34px 66px -34px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(212, 178, 118, 0.28);
}

.screen-pair--inquiry .cta-band__photo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none;
}
.screen-pair--inquiry .cta-band__photo:hover img,
.screen-pair--inquiry .cta-band__photo:focus-within img {
  filter: brightness(0.4) saturate(0.6) contrast(1.05);
  transform: none;
}



#products { perspective: none !important; }
#products .blinds {
  transform: none !important;
  transform-style: flat !important;
}
#products .blinds::after { display: none !important; }
#products .blinds__caption,
#products .blinds__dots { transform: none !important; }

#products .blinds__stage {
  box-shadow: 0 34px 64px -36px rgba(6, 20, 17, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}


#products .blinds__strips {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
#products .blinds__strip {
  position: absolute;
  left: 0;
  width: 100%;
  height: 11.2%;
  background-repeat: no-repeat;
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  backface-visibility: hidden;
}
#products .blinds__slide.is-active .blinds__strip { transform: scaleY(1); }

@media (prefers-reduced-motion: reduce) {
  #products .blinds__strip { transition: opacity 0.3s linear; transform: none !important; }
}


#products > .container { align-items: stretch; }

#products .blinds {
  display: flex;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
}
#products .blinds__stage {
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
}

#products .grid--auto {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#products .card--service .card__body { flex: 1 1 auto; }




#founder .founder-portrait__frame img {
  max-height: calc(100svh - 22rem) !important;
  object-fit: contain;
}


.founder-creds__row { padding-block: var(--sp-5) !important; }
.founder-creds__row dd { line-height: 1.85; }


#founder { padding-bottom: var(--sp-4) !important; }
.founder-numbers {
  margin-top: var(--sp-4) !important;
  padding-top: var(--sp-4) !important;
}
.founder-numbers .kpi__value { font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem) !important; }
.founder-numbers__note { margin-top: var(--sp-2) !important; }


.screen-pair--inquiry .founder-tail,
#founder .founder-tail { margin-top: var(--sp-6) !important; }
#founder .founder-tail .btn-group { padding-top: var(--sp-5) !important; }


#founder .founder-portrait__frame img {
  max-height: calc(100svh - 25rem) !important;
}

.founder-portrait::before {
  top: 1rem;
  left: 1rem;
  right: -1rem;
  bottom: -1rem;
}
.founder-portrait:hover::before {
  top: 0.5rem;
  left: 0.5rem;
  right: -0.5rem;
  bottom: -0.5rem;
}

.founder-numbers { margin-top: var(--sp-6) !important; }


.hero--slides .hero-slide {
  opacity: 0;
  transform: translate3d(-5%, 0, 0) scale(1.02);
  transition: opacity 1.8s var(--ease-std),
              transform 8s linear;
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.hero--slides .hero-slide.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1.12);
}
.hero--slides .hero-slide.is-leaving {
  opacity: 0;
  transform: translate3d(5%, 0, 0) scale(1.14);
}


.hero--slides .hero-slide .hero__inner { transition: opacity 0.35s linear; }
.hero--slides .hero-slide.is-leaving .hero__inner { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .hero--slides .hero-slide,
  .hero--slides .hero-slide.is-active,
  .hero--slides .hero-slide.is-leaving {
    transform: none;
    transition: opacity 0.4s linear;
  }
}




.hero--slides .hero__media { position: relative; }
.hero--slides .hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(to bottom, rgba(255, 240, 205, 0.15) 0%, rgba(255, 240, 205, 0.04) 14%, transparent 28%),
    radial-gradient(ellipse 64% 54% at 33% 29%, rgba(255, 245, 216, 0.19) 0%, rgba(255, 238, 200, 0.07) 42%, transparent 66%),
    radial-gradient(ellipse 46% 40% at 72% 46%, rgba(255, 236, 192, 0.1) 0%, transparent 62%),
    radial-gradient(ellipse 98% 88% at 50% 52%, transparent 38%, rgba(4, 12, 9, 0.52) 100%);
  animation: heroBloom 9s ease-in-out infinite;
}

@keyframes heroBloom {
  0%, 100% { opacity: 0.76; }
  50%      { opacity: 1; }
}


.hero--slides .hero-slide__img {
  filter: contrast(1.07) saturate(1.08) brightness(1.01);
  transition: filter 1.4s var(--ease-std);
}
.hero--slides .hero-slide.is-active .hero-slide__img {
  filter: contrast(1.11) saturate(1.13) brightness(1.05);
}


.hero--slides .hero__inner { position: relative; }
.hero--slides .hero__inner::before {
  content: "";
  position: absolute;
  left: -14%;
  right: -22%;
  top: -22%;
  bottom: -26%;
  z-index: -1;
  border-radius: 46%;
  background: radial-gradient(ellipse at 38% 50%,
    rgba(8, 22, 17, 0.5) 0%, rgba(8, 22, 17, 0.26) 46%, transparent 76%);
  filter: blur(8px);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .hero--slides .hero__media::after { animation: none; opacity: 1; }
}


.hero--slides .hero__media::after { display: none !important; }
.hero--slides .hero__inner::before { display: none !important; }


.hero--slides .hero-slide__img {
  filter: contrast(1.07) saturate(1.08) brightness(1.01);
}
.hero--slides .hero-slide.is-active .hero-slide__img {
  filter: contrast(1.1) saturate(1.12) brightness(1.04);
}




.hero--slides .hero-slide__img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  z-index: 0 !important;
}


.hero--slides .hero-slide > .container {
  position: relative !important;
  width: 100% !important;
  max-width: var(--w-wide, 92rem) !important;
  margin-inline: auto !important;
  flex: 1 1 auto !important;
  z-index: 1;
}


.hero--slides .hero__inner {
  max-width: 52rem !important;
  margin-inline: auto !important;
  text-align: center !important;
  position: relative !important;
}
.hero--slides .hero__title,
.hero--slides .hero__lead { white-space: normal !important; }


.hero--slides .hero-slide {
  opacity: 0;
  transform: scale(1.08);
  transition: opacity 1.1s ease,
              transform 6s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.hero--slides .hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.hero--slides .hero-slide.is-leaving {
  opacity: 0;
  transform: scale(1.05);
}

.hero--slides .hero-slide .hero__inner { transition: opacity 0.25s linear; }
.hero--slides .hero-slide.is-leaving .hero__inner { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .hero--slides .hero-slide,
  .hero--slides .hero-slide.is-active,
  .hero--slides .hero-slide.is-leaving {
    transform: none;
    transition: opacity 0.4s linear;
  }
}











.screen-pair,
.screen-pair--inquiry {
  height: 100vh !important;
  height: 100svh !important;
  overflow: hidden;
}

main > .hero { padding-top: 0 !important; }


.screen-pair--inquiry > section,
.screen-pair--inquiry > section:first-child,
.screen-pair > #products,
.screen-pair > #news {
  padding-top: 0 !important;
}


.screen-pair .sec-head,
.screen-pair--inquiry .sec-head,
main > section .sec-head,
.screen-pair .container,
.screen-pair--inquiry .container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.screen-pair--inquiry .cta-band__title { margin-top: var(--sp-5) !important; }


html { scroll-padding-top: 0 !important; }







































.founder-portrait { flex-direction: column; }

.founder-portrait__caption {
  position: relative;
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  text-align: center;
  font-family: var(--font-serif);
  font-size: clamp(0.9375rem, 0.85rem + 0.4vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  color: var(--c-gold-300);
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.55s var(--ease-out), transform 0.55s var(--ease-out);
}
.founder-portrait__caption::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 3rem;
  height: 1px;
  transform: translateX(-50%) scaleX(0.3);
  background: linear-gradient(to right, transparent, var(--c-gold-500), transparent);
  transition: transform 0.7s var(--ease-out);
}
.founder-portrait__frame:hover ~ .founder-portrait__caption,
.founder-portrait:hover .founder-portrait__caption {
  opacity: 1;
  transform: none;
}
.founder-portrait__frame:hover ~ .founder-portrait__caption::before,
.founder-portrait:hover .founder-portrait__caption::before { transform: translateX(-50%) scaleX(1); }



.tree__crown {
  width: 12rem;
  height: 12rem;

  background: url("../img/logo-jiaboshi.png") center / contain no-repeat;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 10px 36px rgba(212, 178, 118, 0.55))
          drop-shadow(0 0 90px rgba(184, 146, 74, 0.32));
}

.tree__crown::before,
.tree__crown::after { display: none; }

.tree__crown-verdigris { display: none; }


.tree { padding-top: 13.5rem !important; }
.tree__trunk { top: 12rem !important; }


.tree__canopy { display: none !important; }

@media (max-width: 63.99rem) {
  .tree { padding-top: 9.5rem !important; }
  .tree__crown { width: 8rem; height: 8rem; }
  .tree__trunk { top: 8rem !important; }
}



.hero--slides .hero__media { position: absolute; inset: 0; }

.hero--slides .hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}


.hero--slides .hero-slide__img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  z-index: 0 !important;
}


.hero--slides .hero-slide__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
}


.hero--slides .hero-slide > .container {
  position: relative !important;
  z-index: 2;
  width: 100% !important;
  max-width: 92rem !important;
  margin-inline: auto !important;
  padding-inline: 2.5rem;
  box-sizing: border-box;
  flex: 1 1 auto !important;
}


.hero--slides .hero__inner {
  position: relative;
  width: 100%;
  max-width: 58rem;
  margin-inline: auto;
  text-align: center;
}
.hero--slides .hero__title,
.hero--slides .hero__lead,
.hero--slides .eyebrow { white-space: normal !important; }


.hero--slides .hero-arrows,
.hero--slides .hero-dots { z-index: 5; }


@media (max-width: 47.99rem) {
  .hero--slides .hero-slide > .container { padding-inline: 1.25rem; }
  .hero--slides .hero__inner { max-width: none; }
}

.tree__crown-verdigris {
  position: absolute;
  left: 50%;
  top: 88%;
  width: 0.375rem;
  height: 1.75rem;
  transform: translateX(-50%);
  border-radius: 0 0 50% 50%;
  background: linear-gradient(to bottom, rgba(106, 150, 126, 0.75), rgba(106, 150, 126, 0));
  filter: blur(0.4px);
}


.tree__canopy {
  position: absolute;
  left: 50%;
  top: 1.875rem;
  width: 0;
  height: 0;
  z-index: 2;
}
.tree__canopy-leaf {
  position: absolute;
  left: 0;
  top: 0;
  width: 2rem;
  height: 1rem;
  margin: -0.5rem 0 0 -0.125rem;
  border-radius: 0 100% 0 100%;
  background: linear-gradient(135deg, #F0DCAE 0%, #B08C4E 52%, #6E5222 100%);
  box-shadow: 0 0 14px rgba(184, 146, 74, 0.5), inset 0 1px 0 rgba(255, 240, 205, 0.4);
  transform-origin: 0 50%;
}
.tree__canopy-leaf::before {
  content: "";
  position: absolute;
  left: 14%;
  top: 50%;
  width: 72%;
  height: 1px;
  background: rgba(60, 44, 18, 0.5);
  transform: rotate(-14deg);
  transform-origin: left center;
}

@media (max-width: 63.99rem) {
  .tree__crown { width: 2.75rem; height: 2.75rem; }
  .tree__canopy { top: 1.375rem; }
  .tree__canopy-leaf { width: 1.5rem; height: 0.75rem; margin-top: -0.375rem; }
}







.container--narrow { max-width: 48rem; margin-inline: auto; }

.prose {
  font-size: 1rem;
  line-height: 2.05;
  color: #1A1A1A;
}
.prose h2 {
  margin: var(--sp-8, 2rem) 0 var(--sp-4, 1rem);
  padding-top: var(--sp-5, 1.25rem);
  border-top: 1px solid var(--c-line, #E5E0D5);
  font-family: var(--font-serif, serif);
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 700;
  line-height: 1.5;
  color: var(--c-ink-800, #142922);
}
.prose h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.prose p { margin: 0 0 var(--sp-4, 1rem); }
.prose ul {
  margin: 0 0 var(--sp-5, 1.25rem);
  padding-left: 1.25rem;
  list-style: disc;
}
.prose li { margin-bottom: var(--sp-3, 0.75rem); }
.prose li::marker { color: var(--c-gold-500, #B8924A); }
.prose strong { color: var(--c-ink-800, #142922); font-weight: 600; }
.prose a { color: var(--c-gold-600, #A8843C); text-decoration: underline; text-underline-offset: 3px; }
.prose a:hover { color: var(--c-ink-700, #1F4A3E); }


.todo {
  color: var(--c-gold-600, #A8843C);
  background: rgba(184, 146, 74, 0.13);
  padding: 0 0.35em;
  border-radius: 2px;
  font-size: 0.9em;
}

@media (max-width: 47.99rem) {
  .prose { font-size: 0.9375rem; line-height: 1.95; }
  .prose ul { padding-left: 1rem; }
}



.card--news {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--c-line, #E5E0D5);
  border-radius: var(--r-lg, 1rem);
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
              border-color 0.4s ease;
}
.card--news:hover {
  transform: translateY(-4px);
  border-color: var(--c-line-gold, #D4B276);
  box-shadow: 0 22px 44px -24px rgba(20, 41, 34, 0.32);
}
.card--news .card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: var(--sp-6, 1.5rem);
}
.card--news .card__meta {
  margin: 0 0 var(--sp-3, 0.75rem);
  font-family: var(--font-num, monospace);
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.1em;
  color: var(--c-gold-600, #A8843C);
}
.card--news .card__title {
  margin: 0 0 var(--sp-3, 0.75rem);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.card--news .card__title a { color: inherit; text-decoration: none; }
.card--news:hover .card__title a { color: var(--c-ink-700, #1F4A3E); }
.card--news .card__desc {
  flex: 1 1 auto;
  margin: 0 0 var(--sp-5, 1.25rem);
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--text-muted, #6B6B6B);
}
.card--news .card__foot { margin: 0; }





.header .nav__link {
  position: relative;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-indent: 0.14em;

  white-space: nowrap;
  transition: color 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}


.header .nav__item { flex: 0 0 auto; }
.header .nav__list { flex-wrap: nowrap; }


.header .nav__link::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0.12rem;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--c-gold-500, #B8924A) 24%,
    var(--c-gold-300, #D4B276) 50%,
    var(--c-gold-500, #B8924A) 76%,
    transparent 100%
  );
  transition: left 0.44s cubic-bezier(0.22, 0.61, 0.36, 1),
              right 0.44s cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 0.3s ease;
}
.header .nav__item:hover > .nav__link::after,
.header .nav__item.has-sub:hover > .nav__link::after,
.header .nav__item.is-active > .nav__link::after {
  left: 0.3rem;
  right: 0.3rem;
  opacity: 1;
}


.header .nav__item.is-active > .nav__link { color: var(--c-gold-300, #D4B276); }
.header .nav__item:hover > .nav__link { color: var(--c-gold-300, #D4B276); }


@media (min-width: 90.0625rem) {
  .header .nav__list { gap: 0.625rem; }
  .header .nav__link { padding-inline: 0.375rem; }
}
@media (max-width: 90rem) {
  .header .nav__list { gap: 0.375rem; }
  .header .nav__link { padding-inline: 0.25rem; letter-spacing: 0.08em; text-indent: 0.08em; }
}
@media (max-width: 75rem) {
  .header .nav__list { gap: 0.1875rem; }
  .header .nav__link { padding-inline: 0.125rem; letter-spacing: 0.06em; text-indent: 0.06em; }
}


.header .nav__caret {
  transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1),
              border-color 0.3s ease;
}
.header .nav__item.has-sub:hover .nav__caret { transform: rotate(180deg); }


.header .nav__sub {
  min-width: 13rem;
  padding: 0.55rem;
  background: rgba(15, 34, 28, 0.97);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  border: 1px solid rgba(212, 178, 118, 0.24);
  border-radius: 0.85rem;
  box-shadow: 0 26px 52px -22px rgba(0, 0, 0, 0.6),
              inset 0 1px 0 rgba(255, 255, 255, 0.07);
}


.header .nav__sub-link {
  position: relative;
  padding: 0.62rem 0.9rem 0.62rem 1.15rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.76);
  transition: color 0.28s ease,
              background 0.28s ease,
              padding-left 0.34s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.header .nav__sub-link::before {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--c-gold-500, #B8924A);
  transform: translateY(-50%);
  transition: width 0.34s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.header .nav__sub-link:hover,
.header .nav__sub-link.is-active {
  color: var(--c-gold-300, #D4B276);
  background: rgba(212, 178, 118, 0.11);
  padding-left: 1.6rem;
}
.header .nav__sub-link:hover::before,
.header .nav__sub-link.is-active::before { width: 0.8rem; }


.header-over .nav__link { text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45); }



.video-frame--premium {
  position: relative;
  margin: 0;
  padding: 0.7rem;
  background: linear-gradient(
    152deg,
    rgba(212, 178, 118, 0.30) 0%,
    rgba(212, 178, 118, 0.06) 40%,
    rgba(212, 178, 118, 0.04) 62%,
    rgba(212, 178, 118, 0.24) 100%
  );
  border-radius: 1.1rem;
  box-shadow: 0 34px 64px -32px rgba(0, 0, 0, 0.72);
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.video-frame--premium:hover {
  transform: translateY(-5px);
  box-shadow: 0 46px 82px -34px rgba(0, 0, 0, 0.78);
}


.video-frame__inner {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 0.62rem;
  background: #0B1F1A;
  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.32);
}
.video-frame__inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}


.video-frame__corner {
  position: absolute;
  width: 1.3rem;
  height: 1.3rem;
  border: 2px solid var(--c-gold-300, #D4B276);
  opacity: 0.85;
  pointer-events: none;
  transition: width 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
              height 0.42s cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 0.35s ease;
}
.video-frame--premium:hover .video-frame__corner {
  width: 1.7rem;
  height: 1.7rem;
  opacity: 1;
}
.video-frame__corner:nth-of-type(1) {
  top: -0.38rem; left: -0.38rem;
  border-right: 0; border-bottom: 0;
  border-radius: 0.5rem 0 0 0;
}
.video-frame__corner:nth-of-type(2) {
  top: -0.38rem; right: -0.38rem;
  border-left: 0; border-bottom: 0;
  border-radius: 0 0.5rem 0 0;
}
.video-frame__corner:nth-of-type(3) {
  bottom: -0.38rem; left: -0.38rem;
  border-right: 0; border-top: 0;
  border-radius: 0 0 0 0.5rem;
}
.video-frame__corner:nth-of-type(4) {
  bottom: -0.38rem; right: -0.38rem;
  border-left: 0; border-top: 0;
  border-radius: 0 0 0.5rem 0;
}


.video-frame__caption {
  margin: 0.7rem 0 0;
  text-align: center;
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  .video-frame--premium,
  .video-frame__corner { transition: none; }
  .video-frame--premium:hover { transform: none; }
}





.calc {
  position: relative;
  padding: clamp(1.5rem, 2.6vw, 2.75rem);
  background: #fff;
  border: 1px solid var(--c-line, #E5E0D5);
  border-radius: 1.15rem;
  box-shadow: 0 44px 88px -52px rgba(20, 41, 34, 0.45),
              0 1px 0 rgba(255, 255, 255, 0.7) inset;
  overflow: hidden;
}
.calc::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--c-gold-500, #B8924A) 22%,
    var(--c-gold-300, #D4B276) 50%,
    var(--c-gold-500, #B8924A) 78%,
    transparent 100%
  );
}


.calc__label {
  display: block;
  margin-bottom: 0.7rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--c-ink-800, #142922);
}
.calc__field + .calc__field { margin-top: 1.85rem; }


.calc__segment {
  padding: 0.6rem 1.15rem;
  border: 1px solid var(--c-line, #E5E0D5);
  border-radius: 999px;
  background: #fff;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  color: var(--c-ink-700, #1F4A3E);
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
              border-color 0.3s ease,
              color 0.3s ease,
              background 0.3s ease,
              box-shadow 0.3s ease;
}
.calc__segment:hover {
  transform: translateY(-1px);
  border-color: var(--c-gold-500, #B8924A);
  color: var(--c-gold-600, #A8843C);
}
.calc__segment.is-active,
.calc__segment[aria-pressed="true"] {
  background: linear-gradient(152deg, #26614F 0%, #1B4438 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 26px -14px rgba(20, 41, 34, 0.65),
              inset 0 1px 0 rgba(255, 255, 255, 0.16);
}


.calc__range {
  accent-color: var(--c-gold-600, #A8843C);
  width: 100%;
}


.calc__result { margin: 0; }

.calc__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(20, 41, 34, 0.08);
}
.calc__row dt {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-muted, #6B6B6B);
}
.calc__row dd {
  margin: 0;
  flex: none;
  font-family: var(--font-num, monospace);
  font-variant-numeric: tabular-nums;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-ink-800, #142922);
}


.calc__row--total {
  margin-top: 1.1rem;
  padding-top: 1.5rem;
  border-bottom: 0;
  border-top: 1px solid rgba(212, 178, 118, 0.5);
  align-items: center;
}
.calc__row--total dt {
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-ink-800, #142922);
}
.calc__row--total dd {
  font-family: var(--font-serif, serif);
  font-size: clamp(1.5rem, 1rem + 1.6vw, 2.25rem);
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--c-gold-600, #A8843C);
  white-space: nowrap;
}


.calc__picked {
  margin-top: 1rem;
  padding: 0.8rem 1.1rem;
  border-left: 3px solid var(--c-gold-500, #B8924A);
  border-radius: 0 0.5rem 0.5rem 0;
  background: rgba(184, 146, 74, 0.07);
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--c-ink-700, #1F4A3E);
}

.calc__picked strong { color: var(--c-gold-700, #8A6A30); font-weight: 700; }


.calc__map {
  border: 1px solid rgba(20, 41, 34, 0.1);
  border-radius: 0.75rem;
  background: #F3F7F4;
  overflow: hidden;
}


.calc__note {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(20, 41, 34, 0.08);
  font-size: 0.8125rem;
  line-height: 1.9;
  color: var(--text-muted, #6B6B6B);
}
.calc__note strong { color: var(--c-ink-800, #142922); }

.calc__actions { margin-top: 1.5rem; }


.calc__row { flex-wrap: wrap; }
.calc__row__note {
  flex: 0 0 100%;
  width: 100%;
  margin: 0.25rem 0 0;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 400;
  font-variant-numeric: normal;
  line-height: 1.45;
  letter-spacing: 0;
  color: #3D3D3D;
}

@media (max-width: 47.99rem) {
  .calc__row { padding: 0.7rem 0; }
  .calc__row--total { flex-direction: column; align-items: flex-start; gap: 0.35rem; }
  .calc__row--total dd { font-size: 1.75rem; }
}





.hero--slides .hero__inner .eyebrow,
.hero--slides .hero__inner .hero__eyebrow {
  margin-bottom: 1.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.44em;
  text-indent: 0.44em;
  color: var(--c-gold-300, #D4B276);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75);
}


.hero--slides .hero__title {
  font-size: clamp(2.25rem, 1.5rem + 3.1vw, 5rem);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.55),
    0 6px 18px rgba(0, 0, 0, 0.55),
    0 18px 48px rgba(0, 0, 0, 0.5),
    0 0 100px rgba(0, 0, 0, 0.4);
}


.hero--slides .hero__title em,
.hero--slides .hero__title .gold {
  filter: drop-shadow(0 0 18px rgba(212, 178, 118, 0.45));
}


.hero--slides .hero__lead {
  margin-top: 1.8rem;
  max-width: 42rem;
  font-size: clamp(1rem, 0.93rem + 0.34vw, 1.1875rem);
  line-height: 2.05;
  color: rgba(255, 255, 255, 0.92);
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.6),
    0 8px 28px rgba(0, 0, 0, 0.6);
}


.hero--slides .hero__inner .btn-group {
  margin-top: 2.6rem;
  gap: 1.15rem;
}
.hero--slides .hero__inner .btn--gold,
.hero--slides .hero__inner .btn--primary {
  box-shadow: 0 18px 40px -18px rgba(184, 146, 74, 0.9),
              0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}
.hero--slides .hero__inner .btn--outline-light,
.hero--slides .hero__inner .btn--outline {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  background: rgba(255, 255, 255, 0.07);
}


@media (max-width: 47.99rem) {
  .hero--slides .hero__title {
    font-size: clamp(1.5rem, 0.9rem + 3.8vw, 2.25rem);
    line-height: 1.25;
    white-space: nowrap;
  }
  .hero--slides .hero__lead { margin-top: 1.35rem; line-height: 1.95; }
  .hero--slides .hero__inner .btn-group { margin-top: 2rem; }
  .hero--slides .hero__inner .eyebrow { letter-spacing: 0.3em; text-indent: 0.3em; }
}


.hero--slides .hero__eyebrow,
.hero--slides .btn-group { white-space: normal; }
.hero--slides .hero__title { margin-inline: auto; }


.founder-portrait__spark { display: none !important; }
.founder-portrait__frame:hover .founder-portrait__spark { opacity: 0 !important; }

.hero--slides .hero__spark { display: none !important; }



.calc__map {
  height: 14rem !important;
  min-height: 14rem !important;
  max-height: 14rem !important;
}


.calc { padding: clamp(1.35rem, 2.1vw, 2.15rem) !important; }
.calc__row { padding: 0.62rem 0 !important; }
.calc__field + .calc__field { margin-top: 1.4rem !important; }
.calc__note { margin-top: 1rem !important; padding-top: 1rem !important; }
.calc__actions { margin-top: 1.15rem !important; }



.chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3, 0.75rem);
}
.chip {
  padding: 0.5rem 1.1rem;
  border: 1px solid var(--c-line, #E5E0D5);
  border-radius: 999px;
  background: #fff;
  font-size: 0.875rem;
  color: var(--c-ink-700, #1F4A3E);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease,
              border-color 0.3s ease, box-shadow 0.3s ease;
}
.chip:hover {
  border-color: var(--c-gold-500, #B8924A);
  color: var(--c-gold-600, #A8843C);
}
.chip.is-active {
  background: var(--c-ink-700, #1F4A3E);
  border-color: var(--c-ink-700, #1F4A3E);
  color: #fff;
  box-shadow: 0 8px 20px -10px rgba(20, 41, 34, 0.5);
}



.card--product {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--c-line, #E5E0D5);
  border-radius: var(--r-lg, 1rem);
  transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
              border-color 0.4s ease;
}
.card--product:hover {
  transform: translateY(-6px);
  border-color: var(--c-line-gold, #D4B276);
  box-shadow: 0 28px 56px -28px rgba(20, 41, 34, 0.4);
}
.card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--c-paper, #F7F4EE);
}
.card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.card--product:hover .card__media img { transform: scale(1.06); }

.card--product .card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: var(--sp-6, 1.5rem);
}
.card__meta {
  margin: 0 0 var(--sp-2, 0.5rem);
  font-family: var(--font-num, monospace);
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.14em;
  color: var(--c-gold-600, #A8843C);
}
.card--product .card__title {
  margin: 0 0 var(--sp-3, 0.75rem);
  font-size: var(--fs-h3, 1.375rem);
}
.card--product .card__title a { color: inherit; text-decoration: none; }
.card--product:hover .card__title a { color: var(--c-ink-700, #1F4A3E); }
.card--product .card__desc {
  flex: 1 1 auto;
  margin: 0 0 var(--sp-5, 1.25rem);
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--text-muted, #6B6B6B);
}
.card--product .card__foot { margin: 0; }



.notice {
  padding: var(--sp-4, 1rem) var(--sp-5, 1.25rem);
  border-left: 3px solid var(--c-gold-500, #B8924A);
  border-radius: 0 var(--r-md, 0.5rem) var(--r-md, 0.5rem) 0;
  background: var(--c-paper, #F7F4EE);
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--text-muted, #6B6B6B);
}
.notice strong { color: var(--c-ink-800, #142922); }

@media (max-width: 47.99rem) {
  .card--product .card__body { padding: var(--sp-5, 1.25rem); }
}



.breadcrumb,
.breadcrumb > .container,
.breadcrumb a,
.breadcrumb span {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
.breadcrumb::before,
.breadcrumb::after { display: none !important; }

.breadcrumb,
.breadcrumb > .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.breadcrumb > .container { width: 100%; }

.breadcrumb__sep { color: var(--c-line-strong, #D5CEBF); }
.breadcrumb__current,
.breadcrumb span[aria-current] { color: var(--c-ink-700, #1F4A3E); }


.breadcrumb {
  margin-bottom: var(--sp-4, 1rem);
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.04em;
  color: var(--text-muted, #6B6B6B);
}
.breadcrumb a {
  color: var(--c-ink-600, #2A5F50);
  text-decoration: none;
  transition: color 0.3s ease;
}
.breadcrumb a:hover { color: var(--c-gold-600, #A8843C); }


.page-banner .breadcrumb { color: rgba(255, 255, 255, 0.5); }
.page-banner .breadcrumb a { color: rgba(255, 255, 255, 0.68); }
.page-banner .breadcrumb a:hover { color: var(--c-gold-300, #D4B276); }
.page-banner .breadcrumb__sep { color: rgba(255, 255, 255, 0.32); }
.page-banner .breadcrumb__current,
.page-banner .breadcrumb span[aria-current] { color: rgba(255, 255, 255, 0.9); }



.faq {
  max-width: 56rem;
  border-top: 1px solid var(--c-line, #E5E0D5);
}
.faq__item { border-bottom: 1px solid var(--c-line, #E5E0D5); }
.faq__q {
  position: relative;
  padding: var(--sp-5, 1.25rem) 3rem var(--sp-5, 1.25rem) 0;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--c-ink-800, #142922);
  cursor: pointer;
  list-style: none;
  transition: color 0.3s ease;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after {
  content: "";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: -0.5rem;
  border-right: 2px solid var(--c-gold-600, #A8843C);
  border-bottom: 2px solid var(--c-gold-600, #A8843C);
  transform: rotate(45deg);
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.faq__item[open] .faq__q::after { transform: rotate(-135deg); margin-top: -0.125rem; }
.faq__q:hover { color: var(--c-gold-600, #A8843C); }
.faq__a {
  padding: 0 3rem var(--sp-6, 1.5rem) 0;
  font-size: 0.9375rem;
  line-height: 1.9;
  color: var(--text-muted, #6B6B6B);
}
.faq__a p { margin: 0 0 var(--sp-4, 1rem); }
.faq__a p:last-child { margin-bottom: 0; }
.faq__a strong { color: var(--c-ink-800, #142922); }



.adv-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-5, 1.25rem);
}
.adv-card {
  padding: var(--sp-6, 1.5rem);
  background: #fff;
  border: 1px solid var(--c-line, #E5E0D5);
  border-top: 3px solid var(--c-gold-500, #B8924A);
  border-radius: var(--r-md, 0.5rem);
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
              box-shadow 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.adv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -22px rgba(20, 41, 34, 0.35);
}
.adv-card__num {
  font-family: var(--font-serif, serif);
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  color: var(--c-gold-600, #A8843C);
}
.adv-card__num em { font-style: normal; font-size: 0.42em; margin-left: 0.12em; }
.adv-card__title {
  margin: var(--sp-3, 0.75rem) 0 var(--sp-2, 0.5rem);
  font-size: 1.0625rem;
}
.adv-card__desc {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--text-muted, #6B6B6B);
}

@media (max-width: 63.99rem) {
  .adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .adv-grid { grid-template-columns: minmax(0, 1fr); }
  .faq__q { padding-right: 2.5rem; }
  .faq__a { padding-right: 1rem; }
}





.video-facade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: #0B1F1A;
  cursor: pointer;
  overflow: hidden;
  -webkit-appearance: none;
  appearance: none;
}


.video-facade .video-facade__poster {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  object-fit: cover;
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}


.video-facade::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: rgba(6, 32, 29, 0.22);
  background-image: var(--scrim-card, linear-gradient(
      to top,
      rgba(6, 32, 29, 0.78) 0%,
      rgba(6, 32, 29, 0.28) 46%,
      rgba(6, 32, 29, 0) 100%
    ));
}


.video-facade__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: 4.25rem;
  height: 4.25rem;
  margin: -2.125rem 0 0 -2.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--c-gold-500, #B8924A);
  border-radius: var(--r-full, 999px);
  background: rgba(11, 26, 21, 0.45);
  color: var(--c-gold-300, #D4B276);
  box-shadow: var(--sh-ink, 0 10px 30px rgba(8, 40, 36, 0.22));
  pointer-events: none;
  transition: transform var(--d-base, 200ms) var(--ease-std, ease),
              background-color var(--d-base, 200ms) var(--ease-std, ease),
              border-color var(--d-base, 200ms) var(--ease-std, ease),
              color var(--d-base, 200ms) var(--ease-std, ease),
              box-shadow var(--d-base, 200ms) var(--ease-std, ease);
}


.video-facade__play svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
}


.video-facade__text {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 1.35rem;
  transform: translateX(-50%);
  display: block;
  white-space: nowrap;
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.18em;
  color: var(--c-text-inv, #FFFFFF);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}


.video-facade:hover .video-facade__poster,
.video-facade:focus-visible .video-facade__poster {
  transform: scale(1.04);
}
.video-facade:hover .video-facade__play,
.video-facade:focus-visible .video-facade__play {
  transform: scale(1.08);
  background: var(--c-gold-500, #B8924A);
  border-color: var(--c-gold-300, #D4B276);
  color: var(--c-ink-900, #0B1A15);
  box-shadow: 0 0 0 6px rgba(184, 146, 74, 0.22),
              0 14px 34px rgba(0, 0, 0, 0.5);
}


@media (prefers-reduced-motion: reduce) {
  .video-facade,
  .video-facade__poster,
  .video-facade__play { transition: none; }
  .video-facade:hover .video-facade__poster,
  .video-facade:focus-visible .video-facade__poster,
  .video-facade:hover .video-facade__play,
  .video-facade:focus-visible .video-facade__play { transform: none; }
}


.qr-box,
.side-card__qr {
  display: block;
  line-height: 0;
}
.qr-box img,
.side-card__qr img {
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
  border-radius: var(--r-sm, 6px);
  background: #FFFFFF;
}

.side-card__qr img {
  width: 6rem;
  height: 6rem;
}




body.page-home .screen-pair--inquiry .timeline__desc {
  position: static;
  left: auto;
  right: auto;
  top: auto;
  z-index: auto;
  width: auto;
  max-width: 22rem;
  margin: var(--sp-3) auto 0;
  padding: var(--sp-2) 0 0;
  border: 0;
  border-top: 1px solid var(--c-line-ink);
  border-radius: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  font-size: var(--fs-sm);
  line-height: 1.8;
  letter-spacing: 0;
  color: var(--c-text-inv-3);
  text-align: center;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: none;
}

body.page-home .screen-pair--inquiry .timeline__desc::before { display: none; }



body.page-home .screen-pair--inquiry {
  padding-top: calc(var(--header-h) + var(--sp-4)) !important;
}


body.page-home .screen-pair--inquiry {
  height: auto !important;
}


body.page-home .screen-pair--inquiry > section:first-child {
  padding-block: 0 var(--sp-5) !important;
}





.prose {
  width: 100%;
  min-width: 0;
}
.split > * { min-width: 0; }


.prose p {
  margin-top: 0;
  margin-bottom: 0.9rem;
}


.prose > p:last-child { margin-bottom: 0; }


.prose > p:first-child {
  margin-bottom: var(--sp-5);
  font-size: calc(var(--fs-body) * 1.03125);
  line-height: 1.95;
  color: var(--c-text);
}

@supports selector(:has(*)) {
  .prose > p:first-child:has(+ p:has(> strong:only-child)) { margin-bottom: var(--sp-4); }
}


@supports selector(:has(*)) {

  .prose p:has(> strong:only-child):not(:has(+ p:has(> strong:only-child))) {
    position: relative;
    margin: var(--sp-7) 0 var(--sp-4);
    padding-top: var(--sp-5);
    font-size: 1.0625rem;
  }
  .prose p:has(> strong:only-child):not(:has(+ p:has(> strong:only-child)))::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4.5rem;
    height: 2px;
    border-radius: var(--r-full);
    background: linear-gradient(90deg, var(--c-gold-500), transparent);
  }

  .prose p + p:has(> strong:only-child) { margin-top: var(--sp-3); }
}


@supports selector(:has(*)) {
  .prose p:has(> strong:nth-child(2):last-child) {
    padding-left: 1.15em;
    text-indent: -1.15em;
    margin-bottom: 0.55rem;
    line-height: 1.85;
  }
}


@media (max-width: 47.99rem) {
  @supports selector(:has(*)) {
    .prose p:has(> strong:nth-child(2):last-child) {
      padding-left: 1em;
      text-indent: -1em;
    }
  }
}





body.page-detail {

  --detail-top: 4.25rem;

  --toc-h: 3.5rem;
}


.toc-bar {
  position: sticky;

  top: calc(var(--detail-top, 4.25rem) - 0.25rem);
  z-index: var(--z-sticky);
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
  box-shadow: 0 10px 22px -14px rgba(11, 15, 14, 0.35);
}
.toc-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  min-height: var(--toc-h, 3.5rem);
}
.toc-bar__label {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-eyebrow);
  color: var(--c-gold-600);
  white-space: nowrap;
}

.toc-bar__label::before {
  content: "";
  width: 1.25rem;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

.toc-bar__meta {
  flex: none;
  font-size: var(--fs-xs);
  color: var(--text-muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.toc-bar__meta:empty { display: none; }
.toc-bar__nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--sp-5);
  padding-block: var(--sp-2);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.toc-bar__nav::-webkit-scrollbar { display: none; }
.toc-bar__link {
  position: relative;
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding-block: 0.25rem 0.5rem;
  font-size: var(--fs-sm);
  color: var(--text-muted);
  white-space: nowrap;
  transition: color var(--d-base) var(--ease-std);
}
.toc-bar__dot {
  flex: none;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-line-strong);
  transition: background-color var(--d-base) var(--ease-std);
}
.toc-bar__text {
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

.toc-bar__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: var(--r-full);
  background: var(--c-gold-500);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--d-mid) var(--ease-out);
}
.toc-bar__link:hover { color: var(--c-ink-700); }
.toc-bar__link:hover .toc-bar__dot { background: var(--c-line-gold); }
.toc-bar__link.is-active { color: var(--c-ink-700); font-weight: var(--fw-semibold); }
.toc-bar__link.is-active .toc-bar__dot { background: var(--c-gold-500); }
.toc-bar__link.is-active::after { transform: scaleX(1); }


.toc-bar__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, var(--c-gold-500), var(--c-gold-300));
  transform: scaleX(0);
  transform-origin: left center;
}


body.page-detail .sidebar {
  top: calc(var(--detail-top, 4.25rem) + var(--toc-h, 3.5rem) + var(--sp-4));
}


body.page-detail .prose h3 {
  position: relative;
  margin-top: var(--sp-8);
  padding-top: var(--sp-5);
  padding-left: 3rem;
  border-top: 1px solid var(--c-line);
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  line-height: 1.45;
  color: var(--c-ink-800);

  scroll-margin-top: calc(var(--detail-top, 4.25rem) + var(--toc-h, 3.5rem) + var(--sp-4));
}
body.page-detail .prose h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: var(--sp-5);
  width: 3px;
  height: 1.5rem;
  border-radius: var(--r-full);
  background: var(--c-gold-500);
}

body.page-detail .prose h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
body.page-detail .prose h3:first-child::before { top: 0; }


body.page-detail .detail-cta {
  position: relative;
  margin-top: var(--sp-8);
  padding: var(--sp-7) var(--sp-6) var(--sp-6);
  background: linear-gradient(158deg, var(--c-ink-700), var(--c-ink-800));
  border-radius: var(--r-lg);
  overflow: hidden;
  color: var(--c-text-inv-2);
}

body.page-detail .detail-cta::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold-500), rgba(184, 146, 74, 0.12) 62%, transparent);
}
body.page-detail .detail-cta__eyebrow {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-eyebrow);
  color: var(--c-gold-300);
}
body.page-detail .detail-cta__title {
  margin: 0 0 var(--sp-3);
  font-family: var(--font-serif);
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  color: #fff;
}
body.page-detail .detail-cta__lead {
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-sm);
  line-height: 1.85;
  color: var(--c-text-inv-2);
}


body.page-detail .page-banner__title { margin-bottom: var(--sp-3); }
body.page-detail .page-banner__title::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 2px;
  margin-top: var(--sp-3);
  border-radius: var(--r-full);
  background: linear-gradient(90deg, var(--c-gold-500), transparent);
}


body.page-detail main > section.section,
body.page-detail main > article > .section {
  padding-top: var(--sp-7) !important;
}


@media (max-width: 63.99rem) {

  body.page-detail .prose h3 { padding-left: 2.5rem; }
}
@media (max-width: 47.99rem) {
  .toc-bar__inner { gap: var(--sp-3); }
  .toc-bar__nav { gap: var(--sp-4); }
  .toc-bar__text { max-width: 11rem; }

  .toc-bar__meta { display: none; }
  body.page-detail .detail-cta { padding: var(--sp-6) var(--sp-5); }
}





body.page-home {
  --home-header-h: 6.75rem;
  --home-top-gap:  var(--sp-4);
}


body.page-home main > section:not(.hero):not(.map-stage),
body.page-home main > .cta-band,
body.page-home .screen-pair,
body.page-home .screen-pair--inquiry {
  padding-top: calc(var(--home-header-h) + var(--home-top-gap)) !important;

  min-height: 100vh !important;
  min-height: 100svh !important;

  box-sizing: border-box !important;
}


body.page-home main > .hero { padding-top: 0 !important; }


body.page-home main > section.map-stage {
  display: block !important;
  padding-top: calc(var(--home-header-h) + var(--home-top-gap)) !important;

  padding-block-start: calc(var(--home-header-h) + var(--home-top-gap)) !important;
}

body.page-home .map-stage .sec-head {
  top: calc(var(--home-header-h) + var(--home-top-gap)) !important;
}


body.page-home .screen-pair,
body.page-home .screen-pair--inquiry {
  height: auto !important;
}


@media (max-width: 56.25rem) {
  body.page-home {
    --home-header-h: 4.5rem;
  }
}


@media (max-width: 63.99rem) {
  body.page-home main > section:not(.hero):not(.map-stage),
  body.page-home main > .map-stage,
  body.page-home main > .cta-band,
  body.page-home .screen-pair,
  body.page-home .screen-pair--inquiry {
    min-height: 0 !important;
  }
}


body.page-home .screen-pair > #products,
body.page-home .screen-pair > #news,
body.page-home .screen-pair--inquiry > section {
  scroll-margin-top: calc(var(--home-header-h) + var(--home-top-gap));
}





body.page-home main > .hero,
body.page-home main > .stat-band,
body.page-home main > section.section,
body.page-home main > .map-stage,
body.page-home .screen-pair,
body.page-home .screen-pair--inquiry {
  height: 100vh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  box-sizing: border-box !important;
}


body.page-home main { overflow-x: clip; }


body.page-home main > section:not(.hero):not(.map-stage),
body.page-home .screen-pair,
body.page-home .screen-pair--inquiry,
body.page-home .screen-pair > #products,
body.page-home .screen-pair > #news {
  justify-content: flex-start !important;
}


@media (min-width: 64rem) {
  body.page-home #growth {
    overflow-x: clip;
    overflow-y: auto;
    scrollbar-width: none;
  }
  body.page-home #growth::-webkit-scrollbar { width: 0; height: 0; }

  body.page-home #growth > .container { flex: 0 0 auto; }

  body.page-home .screen-pair,
  body.page-home .screen-pair--inquiry {
    overflow-x: clip;
    overflow-y: auto;
    scrollbar-width: none;
  }
  body.page-home .screen-pair::-webkit-scrollbar,
  body.page-home .screen-pair--inquiry::-webkit-scrollbar { width: 0; height: 0; }
}


@media (min-width: 64rem) and (max-height: 85rem) {
  body.page-home #growth .sec-head { margin-bottom: var(--sp-6); }
  body.page-home #growth .yearline--tree { padding-block: var(--sp-3); }
  body.page-home #growth .field__hint { margin-top: var(--sp-5) !important; }
}


@media (min-width: 64rem) and (max-height: 47.5rem) {

  body.page-home #calculator .calc { padding: var(--sp-5) !important; }
  body.page-home #calculator .sec-head { margin-bottom: var(--sp-6) !important; }
  body.page-home #calculator .calc .calc__map {
    height: 10rem !important;
    min-height: 10rem !important;
    max-height: 10rem !important;
  }
}


@media (min-width: 64rem) and (max-height: 41.25rem) {
  body.page-home #calculator .calc { padding: var(--sp-4) !important; }
  body.page-home #calculator .calc .calc__map {
    height: 7rem !important;
    min-height: 7rem !important;
    max-height: 7rem !important;
  }
}


@media (max-width: 63.99rem) {
  body.page-home main > .hero,
  body.page-home main > .stat-band,
  body.page-home main > section.section,
  body.page-home main > .map-stage,
  body.page-home .screen-pair,
  body.page-home .screen-pair--inquiry {
    height: auto !important;
  }
  body.page-home main { overflow-x: clip; }
}






body.page-home #founder {
  background-color: #0F211B;
  color: var(--c-text-inv-2);
  --text-accent: var(--c-gold-300);
}

body.page-home #founder .eyebrow {
  color: var(--c-gold-300);
}

body.page-home #founder .founder-numbers__note {
  color: rgba(255, 255, 255, 0.66);
}



body.page-home .screen-pair--inquiry {
  background-color: #F4EFE6;
  background-image:
    linear-gradient(to right, transparent 0, rgba(184, 146, 74, 0.62) 50%, transparent 100%),
    linear-gradient(to bottom, rgba(10, 21, 18, 0.34) 0, rgba(10, 21, 18, 0) 132px),
    radial-gradient(circle at 22% 26%, rgba(184, 146, 74, 0.10), transparent 54%),
    radial-gradient(circle at 80% 76%, rgba(31, 74, 62, 0.07), transparent 56%);
  background-repeat: no-repeat;
  background-position: center top, center top, center, center;
  background-size: 100% 1px, 100% 132px, auto, auto;
  color: var(--text-body);
  --text-accent: #7A5F2B;
}

body.page-home .screen-pair--inquiry .section--ink {
  background: none;
  color: var(--text-body);
}
body.page-home .screen-pair--inquiry h2,
body.page-home .screen-pair--inquiry h3,
body.page-home .screen-pair--inquiry .sec-head__title,
body.page-home .screen-pair--inquiry .timeline__title,
body.page-home .screen-pair--inquiry .cta-band__title {
  color: #1A1A1A;
}
body.page-home .screen-pair--inquiry .sec-head__lead,
body.page-home .screen-pair--inquiry .cta-band__lead,
body.page-home .screen-pair--inquiry .cta-band .lead {
  color: var(--text-body);
}
body.page-home .screen-pair--inquiry .eyebrow {
  color: #7A5F2B;
}
body.page-home .screen-pair--inquiry .eyebrow::before {
  background: var(--c-gold-500);
}

body.page-home .screen-pair--inquiry .section--ink a,
body.page-home .screen-pair--inquiry .section--ink a:hover {
  color: var(--c-ink-700);
}
body.page-home .screen-pair--inquiry .section--ink a.btn,
body.page-home .screen-pair--inquiry .section--ink a.btn:hover {
  color: var(--btn-fg);
}

body.page-home .screen-pair--inquiry .timeline::before {
  background: rgba(184, 146, 74, 0.45);
}

body.page-home .screen-pair--inquiry .timeline__desc {
  border-top-color: rgba(26, 26, 26, 0.16);
  color: #5A554C;
}

body.page-home .screen-pair--inquiry .cta-band {
  color: var(--text-body);
}

body.page-home .screen-pair--inquiry .cta-band::before {
  opacity: 0.42;
}


body.page-home .screen-pair--inquiry > section + section {
  border-top-color: rgba(184, 146, 74, 0.35);
}

body.page-home .screen-pair--inquiry .video-frame--premium {
  background: linear-gradient(152deg, rgba(184, 146, 74, 0.36) 0%, rgba(184, 146, 74, 0.12) 40%, rgba(184, 146, 74, 0.10) 62%, rgba(184, 146, 74, 0.30) 100%);
}

body.page-home .screen-pair--inquiry .video-frame__caption {
  color: #5A554C;
}
body.page-home .screen-pair--inquiry .btn--outline-light {
  --btn-fg: var(--c-ink-700);
  --btn-bd: rgba(31, 74, 62, 0.42);
}
body.page-home .screen-pair--inquiry .btn--outline-light:hover {
  --btn-bg: var(--c-ink-700);
  --btn-fg: var(--c-text-inv);
  --btn-bd: var(--c-ink-700);
}



body.page-home #growth {
  background-color: #0A1512;
}


body.page-home main > section.map-stage {
  background-color: var(--c-ink-800);
  background-image:
    linear-gradient(to right, transparent 0, rgba(184, 146, 74, 0.62) 50%, transparent 100%),
    linear-gradient(to bottom, rgba(239, 233, 220, 0.16) 0, rgba(239, 233, 220, 0) 132px);
  background-repeat: no-repeat;
  background-position: center top, center top;
  background-size: 100% 1px, 100% 132px;
}




body.page-home .screen-pair:not(.screen-pair--inquiry) {
  background-color: var(--c-ink-800);

  background-image:
    linear-gradient(to bottom, #16302A 0, #F4EFE6 4.5rem);
  background-image:
    linear-gradient(to bottom, #16302A 0, #F4EFE6 var(--header-h));
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% calc(var(--home-header-h) + var(--home-top-gap));
}


body.page-home .screen-pair > #products {
  background-color: #F4EFE6;
  color: var(--text-body);
  --text-accent: #7A5F2B;
}

body.page-home .screen-pair > #news {
  background-color: var(--c-ink-800);
  background-image:
    linear-gradient(to right, transparent 0, rgba(184, 146, 74, 0.62) 50%, transparent 100%),
    linear-gradient(to bottom, rgba(239, 233, 220, 0.18) 0, rgba(239, 233, 220, 0) 64px);
  background-repeat: no-repeat;
  background-position: center top, center top;
  background-size: 100% 1px, 100% 64px;
  color: var(--c-text-inv-2);
  --text-accent: var(--c-gold-300);
}

body.page-home .screen-pair #products .eyebrow {
  color: #7A5F2B;
}
body.page-home .screen-pair #news .eyebrow {
  color: var(--c-gold-300);
}
body.page-home .screen-pair #products .sec-head__title {
  color: #1A1A1A;
}
body.page-home .screen-pair #news .sec-head__title {
  color: var(--c-text-inv);
}
body.page-home .screen-pair #products .sec-head__lead {
  color: var(--text-body);
}
body.page-home .screen-pair #news .sec-head__lead {
  color: var(--c-text-inv-2);
}

body.page-home .screen-pair #products .card--service .card__body {
  border-bottom-color: rgba(26, 26, 26, 0.16);
}

body.page-home .screen-pair #products .card--service .card__body::before {
  color: #5A554C;
}
body.page-home .screen-pair #products .card--service .card__title,
body.page-home .screen-pair #products .card--service .card__title a {
  color: #1A1A1A;
}

body.page-home .screen-pair #products .card--service .card__title a:hover {
  color: #7A5F2B;
}
body.page-home .screen-pair #products .card--service .card__desc {
  color: #5A554C;
}

body.page-home .screen-pair #products .card--service .card__body:hover,
body.page-home .screen-pair #products .card--service.is-current .card__body {
  background-color: var(--c-paper-2);
}

body.page-home .screen-pair #products .card--service.is-current .card__body::before {
  color: #7A5F2B;
}
body.page-home .screen-pair #products .card--service.is-current .card__title a {
  color: var(--c-ink-700);
}

body.page-home .screen-pair #news .card {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(184, 146, 74, 0.24);
  border-top-color: rgba(184, 146, 74, 0.52);
}
body.page-home .screen-pair #news .card__title,
body.page-home .screen-pair #news .card__title a {
  color: var(--c-text-inv);
}
body.page-home .screen-pair #news .card__desc {
  color: var(--c-text-inv-2);
}
body.page-home .screen-pair #news .card__meta,
body.page-home .screen-pair #news .link-arrow {
  color: var(--c-gold-300);
}
body.page-home .screen-pair #news .card:hover,
body.page-home .screen-pair #news .card:focus-within {
  background-color: var(--c-ink-700);
  border-color: rgba(184, 146, 74, 0.62);
  border-top-color: var(--c-gold-500);
}
body.page-home .screen-pair #news .card:hover .card__title a,
body.page-home .screen-pair #news .card:focus-within .card__title a {
  color: var(--c-text-inv);
}
body.page-home .screen-pair #news .card:hover .card__desc,
body.page-home .screen-pair #news .card:focus-within .card__desc {
  color: var(--c-text-inv-2);
}


body.page-home #calculator {

  --calc-row-pad: 0.62rem;
  --calc-grow: 0px;
  background-color: #0F211B;
  background-image:
    linear-gradient(to right, transparent 0, rgba(184, 146, 74, 0.62) 50%, transparent 100%),
    linear-gradient(to right, transparent 0, rgba(184, 146, 74, 0.62) 50%, transparent 100%),
    radial-gradient(ellipse at 50% 0%, rgba(212, 178, 118, 0.10), transparent 46%),
    radial-gradient(ellipse at 50% 100%, rgba(212, 178, 118, 0.09), transparent 44%);
  background-repeat: no-repeat;
  background-position: center top, center bottom, center, center;
  background-size: 100% 1px, 100% 1px, auto, auto;
  color: var(--c-text-inv-2);
  --text-accent: var(--c-gold-300);
}
body.page-home #calculator .eyebrow {
  color: var(--c-gold-300);
}
body.page-home #calculator .sec-head__title {
  color: var(--c-text-inv);
}
body.page-home #calculator .sec-head__lead {
  color: var(--c-text-inv-2);
}

body.page-home #calculator .calc {
  box-shadow: 0 44px 88px -52px rgba(0, 0, 0, 0.62),
              0 1px 0 rgba(255, 255, 255, 0.7) inset;
}



@media (min-width: 64rem) {
  body.page-home #calculator {

    --calc-row-pad: 0.5rem;
  }

  body.page-home #calculator .calc__row {
    padding-block: 0.5rem !important;
  }

  body.page-home #calculator .calc__map {
    height: 20rem !important;
    min-height: 20rem !important;
    max-height: 30rem !important;
  }
}


body.page-home #calculator .calc__col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

body.page-home #calculator .calc__col--form .calc__field:last-child {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
body.page-home #calculator .calc__col--form .calc__map {
  flex: 1 1 auto;
}

body.page-home #calculator .calc__col--result {
  justify-content: flex-start;
}



.footer__qr .qa-item {
  display: grid;
  grid-template-rows: 5.5rem auto;
  grid-template-columns: minmax(5.5rem, auto);
  align-content: start;
}
.footer__qr .qa-item .qr-box {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__qr img {
  width: 5.5rem;
  height: 5.5rem;
  padding: 4px;
  object-fit: contain;
}
.footer__qr .qa-item > span:last-child {
  margin-top: var(--sp-2);
  line-height: 1.7;
}





.page-franchisee .gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5, 1.25rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 63.99rem) {
  .page-franchisee .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .page-franchisee .gallery-grid { grid-template-columns: minmax(0, 1fr); }
}


.page-franchisee .gallery-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--c-line, #E3DED2);
  border-radius: var(--r-md, 0.5rem);
  background: var(--c-white, #FFFFFF);
  transition: transform var(--d-base, 0.3s) var(--ease-std, ease),
              box-shadow var(--d-base, 0.3s) var(--ease-std, ease),
              border-color var(--d-base, 0.3s) var(--ease-std, ease);
}
.page-franchisee .gallery-card:hover,
.page-franchisee .gallery-card:focus-within {
  transform: translateY(-6px);
  border-color: var(--c-gold-300, #D4B276);
  box-shadow: 0 28px 56px -28px rgba(20, 41, 34, 0.4);
}


.page-franchisee .gallery-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--c-paper, #F7F4EE);
}
.page-franchisee .gallery-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.page-franchisee .gallery-card:hover .gallery-card__media img,
.page-franchisee .gallery-card:focus-within .gallery-card__media img { transform: scale(1.045); }

.page-franchisee .gallery-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: var(--sp-5, 1.25rem) var(--sp-5, 1.25rem) var(--sp-6, 1.5rem);
}
.page-franchisee .gallery-card__title {
  margin: 0 0 var(--sp-3, 0.75rem);
  font-size: var(--fs-h4, 1.125rem);
  line-height: 1.5;
}
.page-franchisee .gallery-card__title a {
  color: var(--c-ink-700, #1F4A3E);
  text-decoration: none;
}
.page-franchisee .gallery-card:hover .gallery-card__title a,
.page-franchisee .gallery-card:focus-within .gallery-card__title a {
  color: var(--c-gold-600, #A8843C);
}

.page-franchisee .gallery-card__addr {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: 5.25em;
  margin: 0 0 var(--sp-5, 1.25rem);
  font-size: var(--fs-sm, 0.875rem);
  line-height: 1.75;
  color: var(--text-muted, #6B6B6B);
  word-break: break-all;
}

.page-franchisee .gallery-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4, 1rem);
  margin: auto 0 0;
  font-size: var(--fs-xs, 0.75rem);
  color: var(--text-muted, #6B6B6B);
  font-variant-numeric: tabular-nums;
}




.page-franchisee .store-addr {
  margin: 0 0 var(--sp-6, 1.5rem);
  padding: var(--sp-5, 1.25rem) var(--sp-5, 1.25rem);
  border-left: 3px solid var(--c-gold-500, #B8924A);
  border-radius: 0 var(--r-md, 0.5rem) var(--r-md, 0.5rem) 0;
  background: var(--c-paper, #F7F4EE);
}
.page-franchisee .store-addr__label {
  display: block;
  margin-bottom: var(--sp-2, 0.5rem);
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.14em;
  color: var(--c-gold-600, #A8843C);
}
.page-franchisee .store-addr__text {
  margin: 0;
  font-size: var(--fs-lead, 1.0625rem);
  line-height: 1.8;
  color: var(--c-ink-700, #1F4A3E);
}

.page-franchisee .store-photo {
  margin: 0 0 var(--sp-7, 1.75rem);
}

.page-franchisee .store-photo img {
  display: block;
  width: 100%;
  max-width: 56rem;
  height: auto;
  margin-inline: auto;
  border-radius: var(--r-md, 0.5rem);
  background: var(--c-paper, #F7F4EE);
}


.page-franchisee .store-album {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-5, 1.25rem);
  margin-bottom: var(--sp-7, 1.75rem);
}
.page-franchisee .store-album__item {
  margin: 0;
  overflow: hidden;
  border-radius: var(--r-md, 0.5rem);
  background: var(--c-paper, #F7F4EE);
}
.page-franchisee .store-album__item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.page-franchisee .store-album__item:hover img { transform: scale(1.045); }


.page-franchisee .store-cta {
  margin-top: var(--sp-7, 1.75rem);
  padding: var(--sp-6, 1.5rem);
  border: 1px solid var(--c-line, #E3DED2);
  border-radius: var(--r-md, 0.5rem);
  background: var(--c-paper, #F7F4EE);
}
.page-franchisee .store-cta__eyebrow {
  margin: 0 0 var(--sp-2, 0.5rem);
  font-size: var(--fs-xs, 0.75rem);
  letter-spacing: 0.14em;
  color: var(--c-gold-600, #A8843C);
}
.page-franchisee .store-cta__title {
  margin: 0 0 var(--sp-3, 0.75rem);
  font-size: var(--fs-h4, 1.125rem);
  color: var(--c-ink-700, #1F4A3E);
}
.page-franchisee .store-cta__lead {
  margin: 0 0 var(--sp-5, 1.25rem);
  font-size: var(--fs-sm, 0.875rem);
  line-height: 1.85;
  color: var(--text-muted, #6B6B6B);
}

.page-franchisee .store-cta .btn--outline-light {
  border-color: var(--c-ink-600, #2A5F50);
  color: var(--c-ink-700, #1F4A3E);
}

@media (max-width: 47.99rem) {
  .page-franchisee .store-album { grid-template-columns: minmax(0, 1fr); }
  .page-franchisee .gallery-card__addr { min-height: 0; }
}


.page-banner .article-meta {
  border-top-color: rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.72);
}
.page-banner .article-meta__item { color: rgba(255, 255, 255, 0.72); }






body.page-message main .footer__contact dt {
  color: #5A554C;
}
body.page-message main .footer__contact dd {
  color: #3D3D3D;
}
body.page-message main .footer__tel {
  color: var(--c-gold-300) !important;
}
body.page-message main .footer__qr span {
  color: #5A554C;
}

body.page-message main .footer__qr .qa-item > span:last-child {
  color: #5A554C;
}


body.page-message .notice--info {
  color: #3D3D3D;
}


body.page-message .field__control {
  border-color: var(--c-ink-200);
}
body.page-message .field__control::placeholder {
  color: #767676;
}
body.page-message .captcha-row img {
  border-color: var(--c-ink-200);
}




@media (max-width: 47.99rem) {


  body.page-home main {
    display: flex;
    flex-direction: column;
  }
  body.page-home main > .hero { order: 1; }
  body.page-home main > #founder { order: 2; }
  body.page-home main > #growth { order: 3; }
  body.page-home main > #stores { order: 4; }
  body.page-home main > .screen-pair { order: 5; }

  body.page-home main > .screen-pair.screen-pair--inquiry { order: 6; }
  body.page-home main > #calculator { order: 7; }

  body.page-home main > .stat-band,
  body.page-home main > #story { order: 8; }


  body.page-home main > #contact-screen { order: 9; }
  body.page-home main > #contact-notice { order: 10; }



  .header__inner { gap: 0.75rem; }
  .header__actions { gap: 0.5rem; }
  .brand { min-width: 0; }
  .brand__text {
    display: inline-flex;
    flex-direction: column;
    min-width: 0;
  }

  .brand__name {
    display: block;
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.0625rem;
    letter-spacing: 0.06em;
  }
  .brand__tag,
  .brand__slogan { display: none; }
  .header .header__tel {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid rgba(212, 178, 118, 0.46);
    border-radius: 999px;
    color: var(--c-gold-300);
  }
  .header .header__tel svg { width: 1.25rem; height: 1.25rem; }

  .header .header__tel span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }



  body.page-home .hero--slides .hero-slide__scrim {
    background:
      linear-gradient(to bottom,
        rgba(14, 31, 25, 0.92) 0%,
        rgba(14, 31, 25, 0.65) 18%,
        rgba(14, 31, 25, 0.62) 52%,
        rgba(14, 31, 25, 0.92) 100%);
  }

  body.page-home .hero--slides .hero__title,
  body.page-home .hero--slides .hero__lead,
  body.page-home .hero--slides .eyebrow {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
  }

  body.page-home .hero--slides .hero__lead {
    max-width: 34rem;
    font-size: 0.9375rem;
    line-height: 1.9;
  }
  body.page-home .hero--slides .btn {
    min-height: 2.75rem;
    padding: 0.8125rem 1.5rem;
    font-size: 0.9375rem;
  }
  body.page-home .hero--slides .hero__inner .btn-group { gap: 0.75rem; }

  body.page-home .hero-dots {
    bottom: calc(3.5rem + 0.75rem + env(safe-area-inset-bottom));
    gap: 0.125rem;
  }
  body.page-home .hero-dot {
    position: relative;
    width: 2.25rem;
    height: 2.75rem;
    background: none !important;
  }
  body.page-home .hero-dot::after {
    content: "";
    position: absolute;
    left: 0.1875rem;
    right: 0.1875rem;
    top: 50%;
    height: 2px;
    margin-top: -1px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.5);
  }
  body.page-home .hero-dot.is-active { width: 3.25rem; }
  body.page-home .hero-dot.is-active::after { background: var(--c-gold-300); }



  .mobile-bar {
    background: rgba(20, 41, 34, 0.97);
    border-top: 1px solid rgba(212, 178, 118, 0.28);
  }
  .mobile-bar__item {
    min-height: 3.5rem;
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.72);
  }
  .mobile-bar__item svg { color: var(--c-gold-300); }
  .mobile-bar__item--primary {
    background: var(--c-gold-500);
    color: var(--c-ink-800);
    font-weight: 600;
  }
  .mobile-bar__item--primary svg { color: var(--c-ink-800); }

  body { padding-bottom: calc(3.5rem + env(safe-area-inset-bottom)); }



  .mobile-bar__inner {
    /* 2026-11-09 定稿：底栏 5 项（首页/简介/加盟/门店/联系），列数必须同步。
       全站只有这一处定义列数：首页 index.html 原先另有一段 !important 写死
       5 列，已删除——那段曾导致改 6 项时首页溢出、内页正常。 */
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .mobile-bar__item {
    padding-inline: 0.125rem;
    font-size: 0.6875rem;
  }
  .mobile-bar__item svg {
    width: 1.15rem;
    height: 1.15rem;
  }

  body { padding-bottom: calc(3.625rem + env(safe-area-inset-bottom)); }



  body.page-home #founder .founder-name { font-size: 2rem; }
  body.page-home #founder .founder-role {
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  body.page-home #founder .founder-quote {
    font-size: 1.25rem;
    line-height: 1.7;
  }
  body.page-home #founder .founder-creds__row { padding-block: 0.875rem; }
  body.page-home #founder .founder-creds__row dt { font-size: 0.8125rem; }
  body.page-home #founder .founder-creds__row dd { font-size: 0.9375rem; }



  body.page-home #growth .yearline--tree { display: none !important; }
  body.page-home #growth .growth { display: block !important; }
  body.page-home #growth .growth [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }

  body.page-home #growth .growth__fill { display: none !important; }
  body.page-home #growth .growth::before { background: rgba(212, 178, 118, 0.30); }

  body.page-home #growth .growth__title {
    color: #FFFFFF;
    font-size: 1.125rem;
  }
  body.page-home #growth .growth__desc {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9375rem;
    line-height: 1.9;
  }
  body.page-home #growth .growth__year {
    color: var(--c-gold-300);
    font-size: 2rem;
  }

  body.page-home #growth .growth__phase span {
    background: rgba(212, 178, 118, 0.12);
    box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.32);
    color: var(--c-gold-300);
    font-weight: 400;
  }



  body.page-home .map-stage .map-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.page-home .map-stage .map-kpis > li { padding: 1rem 0.75rem; }
  body.page-home .map-stage .map-kpis > li:nth-child(2n) { border-right: 0; }
  body.page-home .map-stage .map-kpis > li:nth-child(2n+1) {
    border-right: 1px solid rgba(212, 178, 118, 0.18);
  }
  body.page-home .map-stage .map-kpis > li:nth-child(-n+2) {
    border-bottom: 1px solid rgba(212, 178, 118, 0.18);
  }
  body.page-home .map-stage .map-box,
  body.page-home .map-stage .map-canvas,
  body.page-home #chinaMap {
    min-height: 24rem !important;
  }

  body.page-home .map-stage .prov-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  body.page-home .map-stage .prov-chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.5rem 0.875rem;
  }



  body.page-home .screen-pair #products .blinds__stage { min-height: 14rem !important; }
  body.page-home .screen-pair .sec-head__lead,
  body.page-home .screen-pair--inquiry > section .sec-head__lead {
    display: block;
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  body.page-home .card__title { font-size: 1.125rem; line-height: 1.5; }
  body.page-home .card__desc { font-size: 0.9375rem; line-height: 1.8; }



  body.page-home .screen-pair--inquiry .timeline__title { font-size: 1rem; }
  body.page-home .screen-pair--inquiry .timeline__dot {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 0.8125rem;
  }
  body.page-home .screen-pair--inquiry .timeline__desc {
    max-width: none;
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.8;
  }

  body.page-home .screen-pair--inquiry .store-board__viewport { display: none; }
  body.page-home .screen-pair--inquiry .store-board { margin-top: 1rem; }
  body.page-home .screen-pair--inquiry .cta-band__actions .btn { width: 100%; }



  body.page-home #calculator .calc__segment { min-height: 2.75rem; }
  body.page-home #calculator .calc__row { padding-block: 0.7rem !important; }
  body.page-home #calculator .calc__actions .btn { width: 100%; }
  body.page-home #calculator .calc__note { font-size: 0.875rem; line-height: 1.85; }



  body.page-home .sec-head__lead { font-size: 0.9375rem; line-height: 1.8; }
  .footer__intro,
  .footer__disclaimer { font-size: 0.875rem; line-height: 1.85; }
  .footer__links a,
  .link-arrow { padding-block: 0.5rem; }
  .breadcrumb a,
  .article-meta a { padding-block: 0.35rem; }


  .footer { padding: var(--sp-6) 0 calc(var(--sp-5) + env(safe-area-inset-bottom)); }
  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-5);
    text-align: center;
  }

  .footer__grid > div:nth-child(2),
  .footer__grid > div:nth-child(4) { display: none; }

  .footer__intro { display: none; }

  .footer__contact dt:nth-of-type(2),
  .footer__contact dt:nth-of-type(3),
  .footer__contact dt:nth-of-type(4) { display: none; }
  .footer__contact dd:nth-of-type(2),
  .footer__contact dd:nth-of-type(3),
  .footer__contact dd:nth-of-type(4) { display: none; }

  .footer__qr { justify-content: center; }
  .footer__qr .qr-box img { width: 80px !important; height: 80px !important; }

  .footer__disclaimer { margin-top: var(--sp-5); font-size: 0.75rem; }
  .footer__bottom { flex-direction: column; gap: 8px; text-align: center; }


  body.page-home section { padding-block: var(--sp-7); }
  body.page-home .sec-head { margin-bottom: var(--sp-5); }
  body.page-home .sec-head__title { font-size: 1.5rem; }
  body.page-home .sec-head__lead { font-size: 0.875rem; }


  body.page-home .founder-bio { display: none; }
  body.page-home .founder-quote { font-size: 1rem; }


  body.page-home .growth__item { padding-block: var(--sp-3); }


  body.page-home #news .grid { grid-template-columns: 1fr; gap: var(--sp-4); }


  body.page-home #products .grid > *:nth-child(n+2) { display: none; }
  body.page-home #products .grid { grid-template-columns: 1fr; gap: var(--sp-4); }


  body.page-home .growth__item:nth-child(n+4) { display: none; }


  body.page-home .calculator__row { padding-block: var(--sp-2); }
  body.page-home .calculator__result { margin-top: var(--sp-4); }


  body.page-home .kpi__value { font-size: 3.5rem; font-weight: 700; }
  body.page-home .kpi__item { padding-block: var(--sp-3); }


  .hero__media > div[style*="position:absolute"] {
    font-size: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
  }

}


#support .timeline {
  position: relative;
  padding: 2rem 0;
}


#support .timeline::before {
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-gold-500) 15%,
    var(--c-gold-300) 50%,
    var(--c-gold-500) 85%,
    transparent 100%
  ) !important;
  height: 2px;
}


#support .timeline__dot {
  width: 4rem !important;
  height: 4rem !important;
  background: linear-gradient(135deg, #D9B36C 0%, #a8873f 100%) !important;
  border: 2px solid rgba(217, 183, 108, 0.4) !important;
  box-shadow:
    0 0 24px rgba(217, 183, 108, 0.35),
    inset 0 2px 0 rgba(255,255,255,0.25);
  font-size: 1.25rem !important;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}


#support .timeline__item:hover .timeline__dot {
  transform: scale(1.15);
  box-shadow:
    0 0 40px rgba(217, 183, 108, 0.6),
    inset 0 2px 0 rgba(255,255,255,0.35);
}


#support .timeline__title {
  font-size: 1.2rem !important;
  font-weight: 600;
  color: #1a4d3a;
  margin-top: 1.25rem;
  letter-spacing: 1px;
}


#support .timeline__desc {
  position: absolute !important;
  top: calc(100% + 1.5rem);
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  width: 280px;
  background: rgba(20, 60, 45, 0.95) !important;
  border: 1px solid rgba(217, 183, 108, 0.4);
  border-radius: 12px;
  padding: 1.25rem 1.5rem !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.875rem;
  line-height: 1.7;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
  z-index: 10;
  backdrop-filter: blur(10px);
}


#support .timeline__desc::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: rgba(20, 60, 45, 0.95);
  border-left: 1px solid rgba(217, 183, 108, 0.4);
  border-top: 1px solid rgba(217, 183, 108, 0.4);
}


#support .timeline__item:hover .timeline__desc {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}


#support .timeline__item:first-child .timeline__desc {
  left: 0;
  transform: translateY(10px);
}
#support .timeline__item:first-child:hover .timeline__desc {
  transform: translateY(0);
}
#support .timeline__item:first-child .timeline__desc::before {
  left: 2rem;
  transform: rotate(45deg);
}

#support .timeline__item:last-child .timeline__desc {
  left: auto;
  right: 0;
  transform: translateY(10px);
}
#support .timeline__item:last-child:hover .timeline__desc {
  transform: translateY(0);
}
#support .timeline__item:last-child .timeline__desc::before {
  left: auto;
  right: 2rem;
  transform: rotate(45deg);
}


@media (max-width: 47.99rem) {
  #support .timeline::before { display: none !important; }
  #support .timeline__item { padding: 1.5rem 0; }

  #support .timeline__desc {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    width: 100%;
    margin-top: 1rem;
    border: 1px solid rgba(217, 183, 108, 0.2);
    background: rgba(255,255,255,0.05) !important;
    box-shadow: none;
  }
  #support .timeline__desc::before { display: none !important; }
}



.hero--slides .hero__particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}


@media (prefers-reduced-motion: reduce) {
  .hero--slides .hero__particles { display: none !important; }
}





@media (min-width: 64rem) {
  .header__phone {
    flex: none;
    --btn-bg: var(--c-gold-500);
    --btn-fg: var(--c-ink-800);
    --btn-bd: var(--c-gold-500);
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    font-family: var(--font-num);
    font-size: 0.8125rem;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.02em;
    font-variant-numeric: tabular-nums;
  }
  .header__phone:hover {
    --btn-bg: var(--c-gold-600);
    --btn-bd: var(--c-gold-600);
    color: var(--c-ink-800);
  }
}


@media (max-width: 63.99rem) {
  .header__phone { display: none; }
}

/* 2026-11-09 第一批：1024-1200px 保留电话按钮。
   实测只放开显示会把 100px 宽的按钮挤出屏幕右侧（截图只露「400-65」），
   所以这个区间隐藏品牌副标题腾出约 120px，并再收紧一档菜单。 */
@media (min-width: 64rem) and (max-width: 75rem) {
  .header .brand__slogan { display: none !important; }
  .header .nav__list { gap: 0 !important; }
  .header .nav__link { padding-inline: .125rem !important; font-size: .75rem !important; letter-spacing: 0 !important; }
  .header__phone { padding-inline: .5rem !important; font-size: .75rem !important; }
}


@media (min-width: 90.0625rem) {
  .header .nav__list { gap: 0.375rem; }
  .header .nav__link { padding-inline: 0.25rem; }
}




.card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
}
.card img {
  transition: transform 0.4s ease;
}
.card:hover img {
  transform: scale(1.03);
}


.back-to-top {
  position: fixed;
  right: 1.5rem;
  bottom: 6rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--c-gold-500);
  color: var(--c-white);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(184,146,74,.4);
  z-index: var(--z-fixed, 90);
  border: none;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: var(--c-gold-600);
  transform: translateY(-2px);
}
.back-to-top svg {
  width: 20px;
  height: 20px;
}


.stat-number {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}


.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .card:hover { transform: none; }
  .card:hover img { transform: none; }
}


.footer {
  position: relative;
}
.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, var(--c-gold-500) 50%, transparent 100%);
  opacity: 0.6;
}


.home-side-nav {
  position: fixed;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%) translateX(20px);
  z-index: var(--z-fixed, 90);
  display: none;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  border-radius: var(--r-lg);
  box-shadow: 0 8px 32px rgba(0,0,0,.1);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
.home-side-nav.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}
@media (min-width: 90rem) {
  .home-side-nav { display: flex; }
}
.home-side-nav__item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: var(--fw-medium);
  color: var(--text-body);
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: all 0.25s ease;
  white-space: nowrap;
}
.home-side-nav__item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-line);
  transition: all 0.25s ease;
}
.home-side-nav__item:hover {
  background: rgba(184,146,74,.08);
  color: var(--c-gold-700);
}
.home-side-nav__item.is-active {
  background: var(--c-gold-500);
  color: #fff;
  font-weight: var(--fw-semibold);
}
.home-side-nav__item.is-active::before {
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.3);
}









[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
.prose h2, .prose h3, .prose p, .prose ul, .prose blockquote, .prose figure {
  scroll-margin-top: 120px;
}
.prose strong {
  color: var(--c-gold-600);
  font-weight: var(--fw-semibold);
}


.product-showcase {
  margin-bottom: var(--sp-7);
}
.product-showcase__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow:
    0 20px 60px -15px rgba(14, 59, 54, 0.35),
    0 0 0 1px rgba(184, 146, 74, 0.15);
  background: #f5f0e6;
}
.product-showcase__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.product-showcase__img.is-active {
  opacity: 1;
}
.product-showcase__dots {
  display: flex;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
.product-showcase__dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(184, 146, 74, 0.3);
  cursor: pointer;
  transition: all 0.3s ease;
}
.product-showcase__dots span.is-active {
  background: var(--c-gold-500);
  transform: scale(1.3);
}
.product-showcase__dots span:hover {
  background: var(--c-gold-400);
}


.product-showcase__frame {
  transition: box-shadow 0.5s ease;
  overflow: hidden;
}
.product-showcase__frame:hover {
  box-shadow:
    0 25px 70px -15px rgba(14, 59, 54, 0.5),
    0 0 0 1px rgba(184, 146, 74, 0.3);
}
.product-showcase__img {
  transition: opacity 1.2s ease-in-out, filter 0.6s ease;
  filter: brightness(0.55);
}
.product-showcase__frame:hover .product-showcase__img {
  filter: brightness(1);
}


.map-stage .map-kpis {
  background: linear-gradient(135deg, rgba(184, 146, 74, 0.2), rgba(184, 146, 74, 0.12));
  border-radius: 1rem;
  border: 1px solid rgba(212, 178, 118, 0.4);
  box-shadow:
    0 8px 32px rgba(184, 146, 74, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.map-stage .map-kpis > li {
  padding: 1.5rem 1rem;
}
.map-stage .map-kpis__value {
  color: #E8C988;
  font-weight: 700;
  text-shadow:
    0 0 24px rgba(232, 201, 136, 0.4),
    0 2px 8px rgba(0, 0, 0, 0.3);
}
.map-stage .map-kpis__label {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}


.section, .map-stage {
  scroll-margin-top: 80px;
}



.map-tip {

  position: absolute;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  margin: 0;
  z-index: 6;
  pointer-events: none;
  max-width: min(18rem, 70vw);
  padding: var(--sp-3) var(--sp-4);
  border: 1.5px solid rgba(212, 178, 118, 0.6);
  border-radius: 8px;
  background: rgba(20, 41, 34, 0.95);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  color: var(--c-gold-300);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.16s ease;
}
.map-tip.is-on {
  opacity: 1;
  visibility: visible;
}
.map-tip__name {
  display: block;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: 0.02em;
}
.map-tip__num strong {
  color: #FFFFFF;
  font-weight: 700;
}
.map-tip__empty {
  display: block;
  color: #E8C988;
  font-weight: 600;
}

.map-tip.is-empty .map-tip__name {
  color: var(--c-gold-300);
}


@media (max-width: 47.99rem) {
  .map-tip {
    font-size: 0.9375rem;
    padding: var(--sp-2) var(--sp-3);
    max-width: min(15rem, 78vw);
  }
  .map-tip__name { font-size: 1rem; }
}


@media (prefers-reduced-motion: reduce) {
  .map-tip { transition: none; }
}



.hero--slides .hero__note {
  margin-top: 1.1rem;
  font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1.0625rem);
  font-weight: 300;
  line-height: 1.95;
  color: rgba(255, 255, 255, 0.82);
  text-shadow:
    0 1px 4px rgba(0, 0, 0, 0.6),
    0 8px 28px rgba(0, 0, 0, 0.6);
}


@media (max-width: 47.99rem) {
  .hero--slides .hero__note {
    margin-top: 0.9rem;
    font-size: 0.875rem;
    line-height: 1.85;
  }
}



body.page-home main > section#contact-screen {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding-top: calc(var(--home-header-h) + var(--sp-4)) !important;
  padding-bottom: var(--sp-8) !important;

  position: relative !important;
  isolation: isolate !important;
  z-index: 0 !important;
}
body.page-home main > section#contact-screen > .container {
  width: 100%;
}
body.page-home main > section#contact-screen::before {
  inset: 0 !important;
}


body.page-home main > #contact-notice {
  padding-top: var(--sp-7) !important;
  padding-bottom: var(--sp-7) !important;
  min-height: 0 !important;
  height: auto !important;
}




body.page-home main > section#contact-screen {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding-top: 80px !important;
  padding-bottom: 60px !important;
}
body.page-home main > #contact-notice {
  height: auto !important;
  min-height: 0 !important;
}


.product-thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  align-self: center;
}
.product-thumb-card {
  display: block;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product-thumb-card:hover {
  transform: translateY(-4px);
}
.product-thumb-card__img {
  aspect-ratio: 1/1;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eee;
  margin-bottom: 0.75rem;
  background: #f9f9f9;
}
.product-thumb-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-thumb-card__name {
  font-size: 1rem;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0;
}
@media (max-width: 63.99rem) {
  .product-thumb-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


.product-grid-3x3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: var(--sp-7);
}
.product-showcase-card {
  display: block;
  text-align: center;
}
.product-showcase-card__frame {
  aspect-ratio: 4/3;
  border: 1px solid #B8924A;
  background: #fff;
  padding: 0;
  border-radius: 4px;
  box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.15);
  margin-bottom: 1rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  overflow: hidden;
}
.product-showcase-card:hover .product-showcase-card__frame {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -15px rgba(184, 146, 74, 0.3);
  border-color: #B8924A;
}
.product-showcase-card__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-showcase-card__name {
  font-size: 1.05rem;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0;
}
@media (max-width: 63.99rem) {
  .product-grid-3x3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media (max-width: 47.99rem) {
  .product-grid-3x3 {
    grid-template-columns: 1fr;
  }
}


.product-grid-3x3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  margin-top: 3rem !important;
}
.product-showcase-card {
  display: block !important;
  text-align: center !important;
}
.product-showcase-card__frame {
  aspect-ratio: 4/3 !important;
  border: 1px solid #B8924A !important;
  background: #ffffff !important;
  padding: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  margin-bottom: 1rem !important;
  transition: all 0.4s ease !important;
}
.product-showcase-card:hover .product-showcase-card__frame {
  box-shadow: 0 15px 35px -10px rgba(184, 146, 74, 0.25) !important;
  transform: translateY(-6px) !important;
}
.product-showcase-card__frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s ease !important;
}
.product-showcase-card:hover .product-showcase-card__frame img {
  transform: scale(1.06) !important;
}
.product-showcase-card__name {
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
}
@media (max-width: 63.99rem) {
  .product-grid-3x3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}
@media (max-width: 47.99rem) {
  .product-grid-3x3 {
    grid-template-columns: 1fr !important;
  }
}


#products .container--wide .product-grid-3x3 {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


.product-swiper-wrap {
  width: 100%;
  margin-top: var(--sp-7);
  padding: 2rem 0;
}
.productSwiper {
  width: 100%;
  padding-bottom: 3rem !important;
}
.productSwiper .swiper-slide {
  background: #fff;
  border: 1px solid #B8924A;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  transition: all 0.3s ease;
}
.product-slide-card {
  display: block;
}
.product-slide-card__img {
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #f9f9f9;
}
.product-slide-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-slide-card__name {
  padding: 1rem 0.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0;
}
.productSwiper .swiper-pagination-bullet {
  background: #B8924A;
}
.productSwiper .swiper-pagination-bullet-active {
  background: #B8924A;
  width: 20px;
  border-radius: 2px;
}


#products > .container {
  display: block;
}
#products .sec-head {
  margin-bottom: var(--sp-5);
}


.product-swiper-wrap {
  width: 100%;
  margin-top: 0;
  padding: 0 0 0.5rem;
  overflow: hidden;
}
.productSwiper {
  width: 100%;
  padding: 0 0 3.75rem !important;
  overflow: visible;
}
.productSwiper .swiper-wrapper {
  align-items: center;
}
.productSwiper .swiper-slide {
  width: min(78vw, 34rem);
  height: auto;
  background: #fff;
  border: 1px solid rgba(184, 146, 74, 0.72);
  border-radius: 12px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 18px 42px -26px rgba(7, 22, 15, 0.55);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.productSwiper .swiper-slide:hover {
  border-color: #B8924A;
  box-shadow: 0 24px 52px -26px rgba(184, 146, 74, 0.55);
}
.product-slide-card {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.product-slide-card__img {
  position: relative;
  width: 100%;
  height: 0;
  aspect-ratio: auto;
  padding-bottom: 56.25%;
  overflow: hidden;
  background: #fff;
}
.product-slide-card__img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.55s ease;
}
.productSwiper .swiper-slide:hover .product-slide-card__img img {
  transform: scale(1.04);
}
.product-slide-card__name {
  padding: 0.9rem 0.75rem 1rem;
  margin: 0;
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.1rem);
  font-weight: 500;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.productSwiper .swiper-pagination {
  bottom: 1rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.productSwiper .swiper-pagination-bullet {
  width: 30px;
  height: 3px;
  margin: 0 !important;
  border-radius: 999px;
  background: rgba(184, 146, 74, 0.32);
  opacity: 1;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.productSwiper .swiper-pagination-bullet-active {
  width: 48px;
  height: 3px;
  border-radius: 999px;
  background: #B8924A;
  opacity: 1;
}
@media (min-width: 48rem) {
  .productSwiper .swiper-slide {
    width: min(60vw, 34rem);
  }
}
@media (min-width: 64rem) {
  .productSwiper .swiper-slide {
    width: min(48rem, 46vw);
  }
}
@media (max-width: 47.99rem) {
  .product-swiper-wrap {
    margin-top: var(--sp-5);
    padding-top: 1rem;
  }
  .productSwiper {
    padding-bottom: 3rem !important;
  }
  .productSwiper .swiper-slide {
    width: min(78vw, 22rem);
    border-radius: 10px;
  }
  .product-slide-card__name {
    padding: 0.75rem 0.5rem 0.9rem;
  }
}


.product-detail-prose {
  width: 100%;
  font-size: 1.0625rem;
  line-height: 2.1;
  color: var(--text-body);
  background: var(--c-white);
  padding: var(--sp-8) var(--sp-9);
  border-radius: var(--r-lg);
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.product-detail-prose__media {
  margin: 0 0 var(--sp-6);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--c-paper-2);
}
.product-detail-prose__media img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
}
.product-detail-prose__empty {
  margin: 0 0 var(--sp-6);
  padding: var(--sp-8) var(--sp-5);
  border: 1px dashed var(--c-line);
  border-radius: var(--r-md);
  text-align: center;
  color: var(--text-muted);
}
.product-detail-prose__brief {
  padding-top: var(--sp-5);
  border-top: 1px solid var(--c-line);
}
.product-detail-prose__title {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  color: var(--c-ink-700);
}
.product-detail-prose__brief .feature-list {
  margin: 0;
}
@media (max-width: 47.99rem) {
  .product-detail-prose {
    padding: var(--sp-5);
  }
}
.product-detail-hint {
  margin: 0;
  color: var(--text-muted);
  font-size: var(--fs-sm);
  line-height: 1.8;
}

.productSwiper .swiper-slide {
  filter: brightness(0.56) saturate(0.62);
  opacity: 0.96;
  transition: filter 0.55s ease, opacity 0.55s ease, box-shadow 0.55s ease;
}
.productSwiper .swiper-slide-active {
  filter: brightness(1.08) saturate(1.05);
  opacity: 1;
  box-shadow: 0 34px 90px -36px rgba(0, 0, 0, 0.82), 0 0 0 1px rgba(212, 178, 118, 0.28);
}
.productSwiper .swiper-slide .product-slide-card__img::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(2, 8, 6, 0.42) 0%, rgba(2, 8, 6, 0.74) 100%);
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.55s ease;
}
.productSwiper .swiper-slide-active .product-slide-card__img::after {
  opacity: 0;
}
.productSwiper .swiper-slide .product-slide-card__name {
  transition: color 0.55s ease, opacity 0.55s ease;
}
.productSwiper .swiper-slide:not(.swiper-slide-active) .product-slide-card__name {
  color: #6f6f6f;
  opacity: 0.78;
}
@media (max-width: 47.99rem) {
  .productSwiper .swiper-pagination {
    gap: 9px;
  }
  .productSwiper .swiper-pagination-bullet {
    width: 20px;
    height: 3px;
  }
  .productSwiper .swiper-pagination-bullet-active {
    width: 34px;
    height: 3px;
  }
}

.product-assurance-section {
  padding-top: var(--sp-8) !important;
  padding-bottom: var(--sp-8) !important;
}
.product-assurance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(184, 146, 74, 0.38);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 28px 70px -38px rgba(7, 22, 15, 0.55);
}
.product-assurance__item {
  padding: var(--sp-6) var(--sp-4);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(184, 146, 74, 0.16), transparent 62%),
    linear-gradient(180deg, #12352E 0%, #0A1D18 100%);
  color: #fff;
}
.product-assurance__num {
  display: block;
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--c-gold-300);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.product-assurance__label {
  display: block;
  margin-top: var(--sp-2);
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}
@media (max-width: 63.99rem) {
  .product-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 47.99rem) {
  .product-assurance-section {
    padding-top: var(--sp-7) !important;
    padding-bottom: var(--sp-7) !important;
  }
  .product-assurance {
    grid-template-columns: 1fr;
  }
  .product-assurance__item {
    padding: var(--sp-5) var(--sp-4);
  }
}

.services-layout {
  position: relative;
  overflow: hidden;
  background-color: #061412;
  background-image:
    radial-gradient(circle at 50% 46%, rgba(18, 53, 46, 0.86) 0%, rgba(6, 20, 18, 0.96) 58%, #061412 100%),
    radial-gradient(rgba(184, 146, 74, 0.13) 1.2px, transparent 1.2px);
  background-size: auto, 22px 22px;
  color: #fff;
}
.services-layout::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54%;
  width: 1400px;
  height: 380px;
  transform: translate(-50%, -50%);
  border-top: 1px solid rgba(212, 178, 118, 0.32);
  border-radius: 50%;
  pointer-events: none;
}
.services-layout .container { position: relative; z-index: 2; }
.services-layout__title { text-align: center; margin-bottom: var(--sp-4); }
.services-layout__title p {
  margin: 0;
  font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.1rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #fff;
}
.services-layout__title span {
  display: block;
  margin-top: var(--sp-2);
  color: var(--c-gold-300);
  font-size: var(--fs-sm);
  letter-spacing: 0.28em;
}
.services-layout__swiper-wrap { position: relative; }
.servicesSwiper { padding: 2rem 0 1rem; overflow: visible; }
.servicesSwiper .swiper-slide { height: 420px; position: relative; }
.services-slide {
  display: block;
  height: 100%;
  padding-top: 80px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  transition: padding 0.5s;
}
.servicesSwiper .swiper-slide-active .services-slide { padding-top: 40px; }
.services-slide__circle {
  display: block;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  border-radius: 50%;
  transition: transform 0.5s;
}
.services-slide__circle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 5px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  box-sizing: border-box;
  animation: servicesRipple 1.2s linear infinite;
  transition: border-color 0.5s;
}
.servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.25); }
.servicesSwiper .swiper-slide-active .services-slide__circle img { border-color: rgba(212, 178, 118, 0.62); }
.services-slide__title {
  margin: 14px auto 0;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  transition: margin 0.5s, font-size 0.5s;
}
.servicesSwiper .swiper-slide-active .services-slide__title { margin-top: 32px; font-size: 1.15rem; }
.services-slide__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 8px auto 0;
  max-width: 92%;
  color: #B1B4C6;
  font-size: 14px;
  line-height: 1.6;
  opacity: 0;
  transition: opacity 0.5s;
}
.servicesSwiper .swiper-slide-active .services-slide__desc { opacity: 1; }
@keyframes servicesRipple {
  0% { box-shadow: 0 0 0 0 rgba(248,248,255,0.10), 0 0 0 10px rgba(248,248,255,0.08), 0 0 0 20px rgba(248,248,255,0.06), 0 0 0 30px rgba(248,248,255,0.03); }
  100% { box-shadow: 0 0 0 10px rgba(230,230,250,0.08), 0 0 0 20px rgba(230,230,250,0.06), 0 0 0 30px rgba(230,230,250,0.03), 0 0 0 40px rgba(230,230,250,0); }
}
.services-layout__control {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.services-nav {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 8px;
  background: var(--c-gold-500);
  color: #07160F;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.25s, background-color 0.25s;
}
.services-nav:hover { transform: translateY(-2px); background: var(--c-gold-300); }
.services-nav svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.services-count {
  min-width: 200px;
  height: 43px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.12em;
  font-variant-numeric: tabular-nums;
  background: rgba(255, 255, 255, 0.03);
}
.services-index, .services-total { color: var(--c-gold-300); }
@media (max-width: 63.99rem) {
  .servicesSwiper .swiper-slide { height: 380px; }
  .services-slide { padding-top: 64px; }
  .servicesSwiper .swiper-slide-active .services-slide { padding-top: 36px; }
  .services-slide__circle { width: 170px; height: 170px; }
  .servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.18); }
  .services-slide__desc { -webkit-line-clamp: 3; }
}
@media (max-width: 47.99rem) {
  .services-layout__title p { font-size: 1.55rem; }
  .servicesSwiper { padding-top: 0; }
  .servicesSwiper .swiper-slide { height: 330px; }
  .services-slide { padding-top: 54px; }
  .servicesSwiper .swiper-slide-active .services-slide { padding-top: 34px; }
  .services-slide__circle { width: 145px; height: 145px; }
  .servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.16); }
  .services-slide__title { font-size: 0.95rem; }
  .servicesSwiper .swiper-slide-active .services-slide__title { font-size: 1.02rem; margin-top: 28px; }
  .services-slide__desc { font-size: 12px; max-width: 96%; }
  .services-layout__control { gap: 0.75rem; }
  .services-count { min-width: 150px; height: 40px; font-size: 16px; }
  .services-nav { width: 40px; height: 40px; }
}
.services-layout {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding-block: calc(var(--header-h) + var(--sp-6)) var(--sp-6);
}
.services-slide__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 94%;
}

.services-layout__title { margin-bottom: var(--sp-3); }
.servicesSwiper { padding: 0.5rem 0 0; }
.servicesSwiper .swiper-slide { height: 350px; }
.services-slide { padding-top: 34px; }
.servicesSwiper .swiper-slide-active .services-slide { padding-top: 20px; }
.services-slide__circle { width: 168px; height: 168px; }
.servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.16); }
.services-slide__title { margin: 18px auto 0; font-size: 1rem; }
.servicesSwiper .swiper-slide-active .services-slide__title { margin-top: 30px; font-size: 1.08rem; }
.services-slide__desc { margin-top: 6px; max-width: 88%; font-size: 13px; line-height: 1.6; }
.services-layout__control { margin-top: 1rem; }
@media (max-width: 63.99rem) {
  .servicesSwiper .swiper-slide { height: 320px; }
  .services-slide { padding-top: 30px; }
  .servicesSwiper .swiper-slide-active .services-slide { padding-top: 18px; }
  .services-slide__circle { width: 140px; height: 140px; }
  .servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.14); }
  .servicesSwiper .swiper-slide-active .services-slide__title { margin-top: 26px; }
}
@media (max-width: 47.99rem) {
  .servicesSwiper .swiper-slide { height: 300px; }
  .services-slide { padding-top: 24px; }
  .servicesSwiper .swiper-slide-active .services-slide { padding-top: 12px; }
  .services-slide__circle { width: 120px; height: 120px; }
  .servicesSwiper .swiper-slide-active .services-slide__circle { transform: scale(1.12); }
  .services-slide__title { margin-top: 14px; font-size: 0.92rem; }
  .servicesSwiper .swiper-slide-active .services-slide__title { margin-top: 24px; font-size: 1rem; }
  .services-slide__desc { font-size: 12px; max-width: 94%; }
  .services-layout__control { margin-top: 0.5rem; }
}
.services-slide__circle img {
  border-width: 3px;
  border-color: rgba(255, 255, 255, 0.16);
}
.servicesSwiper .swiper-slide-active .services-slide__circle img {
  border-color: rgba(212, 178, 118, 0.72);
}

.services-layout {
  padding-top: calc(var(--header-h) + var(--sp-7));
  padding-bottom: var(--sp-7);
}
.services-process {
  width: 100%;
  max-width: 68rem;
  margin: var(--sp-6) auto 0;
  padding: var(--sp-5) var(--sp-6);
  border: 1px solid rgba(212, 178, 118, 0.22);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 20px 50px -34px rgba(0, 0, 0, 0.65);
}
.services-process__lead {
  margin: 0 0 var(--sp-4);
  text-align: center;
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.72);
}
.services-process__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
  list-style: none;
}
.services-process__list li {
  position: relative;
  text-align: center;
  color: #fff;
}
.services-process__list li span {
  display: flex;
  width: 34px;
  height: 34px;
  margin: 0 auto 8px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212, 178, 118, 0.5);
  border-radius: 50%;
  color: var(--c-gold-300);
  font-size: 12px;
}
.services-process__list li strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
}
.services-process__list li em {
  display: block;
  margin-top: 4px;
  font-style: normal;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.6);
}
@media (max-width: 63.99rem) {
  .services-process__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--sp-4); }
}
@media (max-width: 47.99rem) {
  .services-layout {
    padding-top: calc(var(--header-h) + var(--sp-6));
    padding-bottom: var(--sp-6);
  }
  .services-process { margin-top: var(--sp-5); padding: var(--sp-4); }
  .services-process__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--sp-4); }
  .services-process__list li:last-child { grid-column: 1 / -1; }
}

.services-layout {
  justify-content: center;
  padding-top: calc(var(--header-h) + var(--sp-9));
  padding-bottom: var(--sp-8);
}
.services-process {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(212, 178, 118, 0.28);
}
.services-process__lead {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.84);
}
.services-process__list {
  gap: var(--sp-4);
}
.services-process__list li {
  padding: var(--sp-4) var(--sp-3);
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--r-md);
  box-shadow: 0 12px 30px -24px rgba(0, 0, 0, 0.70);
}
.services-process__list li span {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  border-color: rgba(212, 178, 118, 0.60);
  background: rgba(212, 178, 118, 0.10);
  font-size: 14px;
  font-weight: 600;
}
.services-process__list li strong {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.services-process__list li em {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}
@media (max-width: 63.99rem) {
  .services-layout {
    padding-top: calc(var(--header-h) + var(--sp-8));
    padding-bottom: var(--sp-7);
  }
}
@media (max-width: 47.99rem) {
  .services-layout {
    padding-top: calc(var(--header-h) + var(--sp-7));
    padding-bottom: var(--sp-6);
  }
  .services-process__list li {
    padding: var(--sp-3) var(--sp-3);
  }
  .services-process__list li strong {
    font-size: 1.08rem;
  }
  .services-process__list li em {
    font-size: 13px;
  }
}

.jbs-float {
  position: fixed;
  right: 30px;
  top: 50%;
  width: 122px;
  height: 122px;
  margin-top: -61px;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  z-index: var(--z-float);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  -webkit-tap-highlight-color: transparent;
}
.jbs-float.is-visible {
  opacity: 1;
  visibility: visible;
}
.jbs-float__circles {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.jbs-float__circles span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
  border-radius: 50%;
  background: rgba(195, 13, 35, 0.5);
  animation: jbsPulse 2.4s ease-out infinite;
}
.jbs-float__circles .c-2 { animation-delay: 0.8s; }
.jbs-float__circles .c-3 { animation-delay: 1.6s; }
@keyframes jbsPulse {
  0% { transform: scale(0.75); opacity: 0.85; }
  100% { transform: scale(1.45); opacity: 0; }
}
.jbs-float__img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 88px;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 2;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.28));
  transition: transform 0.3s ease;
}
.jbs-float:hover .jbs-float__img {
  transform: translate(-50%, -50%) scale(1.06);
}
.jbs-float__tip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(8px);
  width: 192px;
  height: 41px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #C30D23, #E23B4B);
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.45);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.jbs-float__tip::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: #E23B4B;
}
.jbs-float:hover .jbs-float__tip,
.jbs-float:focus-visible .jbs-float__tip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
@media (max-width: 47.99rem) {
  .jbs-float { display: none; }
}

.jbs-float {
  top: auto;
  bottom: 30px;
  margin-top: 0;
}
.back-to-top {
  display: none !important;
}
@media (max-width: 47.99rem) {
  .jbs-float { display: none; }
}

.jbs-float__circles span,
.jbs-float__circles::before,
.jbs-float__circles::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
  border-radius: 50%;
  background: rgba(184, 146, 74, 0.16);
  border: 1px solid rgba(212, 178, 118, 0.48);
  transform: scale(0.35);
  opacity: 0;
  animation: jbsPulse 2.8s cubic-bezier(0, 0, 0.2, 1) infinite;
  animation-play-state: paused;
}
.jbs-float__circles span:nth-child(1) { animation-delay: 0s; }
.jbs-float__circles span:nth-child(2) { animation-delay: 0.7s; }
.jbs-float__circles span:nth-child(3) { animation-delay: 1.4s; }
.jbs-float__circles::before { animation-delay: 2.1s; }
.jbs-float__circles::after { animation-delay: 2.8s; }
.jbs-float:hover .jbs-float__circles span,
.jbs-float:hover .jbs-float__circles::before,
.jbs-float:hover .jbs-float__circles::after {
  animation-play-state: running;
}
@keyframes jbsPulse {
  0% { transform: scale(0.35); opacity: 0; }
  16% { opacity: 0.72; }
  70% { opacity: 0.30; }
  100% { transform: scale(1.75); opacity: 0; }
}
.jbs-float__tip {
  background: linear-gradient(90deg, #0E3B36, #14544B);
  border: 1px solid rgba(212, 178, 118, 0.55);
  box-shadow: 0 10px 24px -12px rgba(7, 22, 15, 0.65);
}
.jbs-float__tip::after {
  border-left-color: #14544B;
}

@media (max-width: 47.99rem) {
  .jbs-float {
    display: block;
    width: 84px;
    height: 84px;
    right: 12px;
    bottom: calc(3.5rem + 14px);
    bottom: calc(3.5rem + 14px + env(safe-area-inset-bottom));
  }
  .jbs-float__img {
    width: 60px;
  }
  .jbs-float__circles span,
  .jbs-float__circles::before,
  .jbs-float__circles::after {
    width: 56px;
    height: 56px;
    margin: -28px 0 0 -28px;
    animation-play-state: running;
  }
  .jbs-float__tip {
    right: auto;
    left: 50%;
    top: auto;
    bottom: calc(100% + 10px);
    transform: translateX(-50%) translateY(6px);
  }
  .jbs-float:focus .jbs-float__tip,
  .jbs-float:active .jbs-float__tip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  .jbs-float__tip::after {
    right: auto;
    left: 50%;
    top: auto;
    bottom: -6px;
    transform: translateX(-50%) rotate(90deg);
    border-left-color: #14544B;
  }
}

@media (max-width: 47.99rem) {
  .jbs-float__tip {
    right: 0;
    left: auto;
    width: 182px;
    max-width: 62vw;
    transform: translateY(6px);
  }
  .jbs-float:focus .jbs-float__tip,
  .jbs-float:active .jbs-float__tip {
    transform: translateY(0);
  }
  .jbs-float__tip::after {
    right: 24px;
    left: auto;
    top: auto;
    bottom: -6px;
    transform: none;
    border: 6px solid transparent;
    border-top-color: #14544B;
    border-left-color: transparent;
  }
}

@media (max-width: 47.99rem) {
  .jbs-float__tip,
  .jbs-float:hover .jbs-float__tip,
  .jbs-float:focus .jbs-float__tip,
  .jbs-float:active .jbs-float__tip {
    display: none !important;
  }
}

@media (max-width: 47.99rem) {
  body.page-home main > #services-layout { order: 7; }
}

.footer__disclaimer {
  max-width: 72rem;
  padding: var(--sp-4) var(--sp-5);
  border-left: 3px solid var(--c-gold-500);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  background: rgba(212, 178, 118, 0.08);
  font-size: 0.8125rem;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.82);
}
.footer__disclaimer-note {
  display: inline-block;
  margin-top: var(--sp-2);
  color: rgba(255, 255, 255, 0.68);
}
@media (max-width: 47.99rem) {
  .footer__disclaimer {
    padding: var(--sp-4) var(--sp-4);
    font-size: 0.8125rem;
    line-height: 1.9;
  }
}

.qualification-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5);
  user-select: none;
  -webkit-user-select: none;
}
.qualification-card {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid rgba(184, 146, 74, 0.32);
  border-radius: var(--r-md);
  overflow: hidden;
  background: #0E3B36;
  cursor: zoom-in;
  box-shadow: 0 14px 36px -24px rgba(7, 22, 15, 0.65);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.qualification-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #fff;
  filter: brightness(0.72) saturate(0.84);
  transition: filter 0.45s ease, transform 0.45s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.qualification-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 20, 18, 0.06), rgba(6, 20, 18, 0.38));
  pointer-events: none;
  transition: opacity 0.45s ease;
}
.qualification-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 178, 118, 0.78);
  box-shadow: 0 24px 54px -28px rgba(7, 22, 15, 0.85);
}
.qualification-card:hover img {
  filter: brightness(1) saturate(1);
  transform: scale(1.03);
}
.qualification-card:hover .qualification-card__shade { opacity: 0.28; }

.qualification-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(4, 14, 12, 0.93);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  user-select: none;
  -webkit-user-select: none;
}
.qualification-lightbox.is-open { opacity: 1; visibility: visible; }
.qualification-lightbox__img {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border: 1px solid rgba(212, 178, 118, 0.58);
  border-radius: var(--r-md);
  box-shadow: 0 30px 80px -30px rgba(0, 0, 0, 0.85);
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.qualification-lightbox__close,
.qualification-lightbox__nav {
  position: absolute;
  border: 0;
  background: rgba(14, 59, 54, 0.85);
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
}
.qualification-lightbox__close:hover,
.qualification-lightbox__nav:hover { background: var(--c-gold-500); color: #07160F; transform: scale(1.06); }
.qualification-lightbox__close { top: 2rem; right: 2rem; }
.qualification-lightbox__nav--prev { left: 2rem; top: 50%; transform: translateY(-50%); }
.qualification-lightbox__nav--next { right: 2rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 63.99rem) {
  .qualification-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .qualification-gallery { grid-template-columns: 1fr; gap: var(--sp-4); }
  .qualification-lightbox__nav { width: 40px; height: 40px; font-size: 24px; }
  .qualification-lightbox__nav--prev { left: 0.75rem; }
  .qualification-lightbox__nav--next { right: 0.75rem; }
  .qualification-lightbox__close { top: 1rem; right: 1rem; }
}

.qualification-lightbox__img {
  max-width: 80vw;
  max-height: 76vh;
}
@media (max-width: 47.99rem) {
  .qualification-lightbox__img {
    max-width: 88vw;
    max-height: 64vh;
  }
}

.qualification-lightbox {
  padding: 4vh 0;
}
.qualification-lightbox__img {
  max-width: min(62vw, 980px) !important;
  max-height: min(64vh, 680px) !important;
}
@media (max-width: 47.99rem) {
  .qualification-lightbox {
    padding: 4.5rem 0 5.5rem;
  }
  .qualification-lightbox__img {
    max-width: 76vw !important;
    max-height: 52vh !important;
  }
  .qualification-lightbox__nav {
    top: auto !important;
    bottom: 1.25rem;
    transform: none !important;
    width: 38px;
    height: 38px;
    font-size: 22px;
  }
  .qualification-lightbox__nav--prev { left: 1rem; }
  .qualification-lightbox__nav--next { right: 1rem; }
  .qualification-lightbox__close {
    top: 0.75rem;
    right: 0.75rem;
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
}

.qualification-lightbox {
  align-items: flex-start;
  padding: 7vh 0 6rem;
  background: #07160F !important;
}
@media (max-width: 47.99rem) {
  .qualification-lightbox {
    padding: 4.5rem 0 5.5rem;
  }
}

.qualification-lightbox__img {
  max-width: min(52vw, 820px) !important;
  max-height: min(52vh, 560px) !important;
}
@media (max-width: 47.99rem) {
  .qualification-lightbox__img {
    max-width: 72vw !important;
    max-height: 44vh !important;
  }
}

.qualification-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--sp-5) !important;
}
.qualification-item {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  height: 100%;
}
.qualification-caption {
  margin: 0;
  text-align: center;
  color: var(--c-ink-700);
  font-size: 0.9375rem;
  line-height: 1.6;
  font-weight: 600;
}
@media (max-width: 63.99rem) {
  .qualification-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 47.99rem) {
  .qualification-gallery {
    grid-template-columns: 1fr !important;
  }
  .qualification-caption {
    font-size: 0.875rem;
  }
}

.qualification-card {
  cursor: default !important;
}

.services-grid {
  --sc1: 1fr;
  --sc2: 1fr;
  --sc3: 1fr;
  --sr1: 1fr;
  --sr2: 1fr;
  --sr3: 1fr;
  display: grid;
  grid-template-columns: var(--sc1) var(--sc2) var(--sc3);
  grid-template-rows: var(--sr1) var(--sr2) var(--sr3);
  gap: 12px;
  width: 100%;
  height: min(66vh, 620px);
  min-height: 480px;
  margin-top: var(--sp-4);
  transition: grid-template-columns 0.45s ease, grid-template-rows 0.45s ease;
}
.service-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(212, 178, 118, 0.25);
  border-radius: var(--r-md);
  background: #0E231F;
  box-shadow: 0 12px 30px -22px rgba(0, 0, 0, 0.75);
  cursor: pointer;
  transition: border-color 0.45s ease, box-shadow 0.45s ease, transform 0.45s ease;
}
.service-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.78) saturate(0.9);
  transition: transform 0.65s ease, filter 0.65s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.service-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 18px;
  background: linear-gradient(180deg, transparent, rgba(4, 14, 12, 0.9));
  color: #fff;
}
.service-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.service-card__desc {
  margin: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  transition: max-height 0.45s ease, opacity 0.45s ease, margin 0.45s ease;
}
.service-card:hover,
.service-card:focus-visible,
.service-card.is-active {
  border-color: rgba(212, 178, 118, 0.78);
  box-shadow: 0 22px 48px -26px rgba(0, 0, 0, 0.92);
}
.service-card:hover img,
.service-card:focus-visible img,
.service-card.is-active img {
  filter: brightness(1.04) saturate(1);
  transform: scale(1.05);
}
.service-card:hover .service-card__desc,
.service-card:focus-visible .service-card__desc,
.service-card.is-active .service-card__desc {
  max-height: 4.5em;
  opacity: 1;
  margin-top: 6px;
}
@media (max-width: 63.99rem) {
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    height: auto;
    min-height: 0;
  }
  .service-card { height: 210px; }
}
@media (max-width: 47.99rem) {
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  .service-card { height: 180px; }
  .service-card__desc {
    max-height: none;
    opacity: 1;
    margin-top: 6px;
  }
}

.services-layout {
  justify-content: center;
  padding-top: calc(var(--header-h) + var(--sp-5));
  padding-bottom: var(--sp-5);
}
.services-layout__title {
  margin-bottom: var(--sp-4);
}
.services-grid {
  height: min(58vh, 560px);
  min-height: 420px;
  gap: 10px;
  margin-top: var(--sp-3);
}
.service-card__body {
  padding: 14px 16px;
}
.service-card__title {
  font-size: 1rem;
}
@media (max-width: 63.99rem) {
  .services-layout {
    padding-top: calc(var(--header-h) + var(--sp-4));
    padding-bottom: var(--sp-4);
  }
  .services-grid {
    height: auto;
    min-height: 0;
    gap: 10px;
  }
}
@media (max-width: 47.99rem) {
  .services-layout {
    padding-top: calc(var(--header-h) + var(--sp-4));
    padding-bottom: var(--sp-6);
  }
  .service-card {
    height: 190px;
  }
}

.services-grid {
  height: min(82vh, 920px);
  min-height: 600px;
  gap: 18px 16px;
  margin-top: var(--sp-4);
}
.service-card__body {
  padding: 16px 18px;
}
.service-card__title {
  font-size: 1.05rem;
}
@media (max-width: 63.99rem) {
  .services-grid {
    height: auto;
    min-height: 0;
    gap: 12px;
  }
}
@media (max-width: 47.99rem) {
  .service-card {
    height: 210px;
  }
}

.services-grid {
  transition:
    grid-template-columns 1.35s cubic-bezier(0.22, 0.61, 0.36, 1),
    grid-template-rows 1.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.service-card {
  transition:
    border-color 0.9s ease,
    box-shadow 0.9s ease,
    transform 0.9s ease;
}
.service-card img {
  transition:
    transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    filter 0.9s ease;
}
.service-card__desc {
  transition:
    max-height 0.8s ease,
    opacity 0.8s ease,
    margin 0.8s ease;
}

@media (min-width: 64rem) {
  html.page-home #services-layout,
  html.page-home #contact-screen,
  html.page-home #contact-notice {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
  html.page-home {
    scroll-snap-type: y proximity !important;
  }
}

@media (min-width: 64rem) {
  html.page-home {
    scroll-snap-type: none !important;
  }
  html.page-home #services-layout,
  html.page-home #contact-screen,
  html.page-home #contact-notice {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .timeline {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: var(--sp-4);
    margin-top: var(--sp-5);
    padding: 0 0 var(--sp-4);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .screen-pair--inquiry .timeline::before {
    display: none !important;
  }
  .screen-pair--inquiry .timeline__item {
    flex: 0 0 min(72vw, 18rem);
    padding: var(--sp-4) var(--sp-4) var(--sp-5);
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(212, 178, 118, 0.24);
    border-radius: var(--r-md);
    scroll-snap-align: start;
    text-align: left;
  }
  .screen-pair--inquiry .timeline__dot {
    margin: 0 0 var(--sp-3);
  }
  .screen-pair--inquiry .timeline__title {
    font-size: var(--fs-body);
  }
  .screen-pair--inquiry .timeline__desc {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    margin-top: var(--sp-3) !important;
    padding: var(--sp-3) 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--c-line-ink) !important;
    border-radius: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    font-size: var(--fs-xs) !important;
    line-height: 1.7 !important;
    color: var(--c-text-inv-3) !important;
  }
  .screen-pair--inquiry .timeline__desc::before {
    display: none !important;
  }
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .timeline__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .screen-pair--inquiry .timeline__dot {
    margin: 0 auto var(--sp-3) !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    font-size: 0.875rem !important;
  }
  .screen-pair--inquiry .timeline__title {
    font-size: 1.1rem !important;
    color: #1A1A1A !important;
  }
  .screen-pair--inquiry .timeline__desc {
    font-size: 0.875rem !important;
    line-height: 1.75 !important;
    color: #1A1A1A !important;
  }
}

@media (max-width: 63.99rem) {
  .screen-pair--inquiry .timeline {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
  }
  .screen-pair--inquiry .timeline__item {
    scroll-snap-align: none !important;
  }
  .screen-pair--inquiry .timeline__desc {
    color: #1A1A1A !important;
    -webkit-text-fill-color: #1A1A1A !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides {
    min-height: 100vh !important;
    min-height: 100svh !important;
  }
  .hero--slides .hero-slide__img {
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides {
    min-height: 100vh !important;
    min-height: 100svh !important;
    background: #07160F;
  }
  .hero--slides .hero-slide__img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #07160F;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides,
  .hero--slides .hero-slide {
    background: #07160F;
  }
  .hero--slides .hero-slide::before {
    content: "";
    position: absolute;
    inset: -8%;
    background-image: var(--hero-bg, none);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: blur(18px) brightness(0.52) saturate(0.85);
    transform: scale(1.12);
    z-index: -1;
    pointer-events: none;
  }
  .hero--slides .hero-slide__img {
    object-fit: contain !important;
    object-position: center center !important;
    z-index: 0 !important;
  }
  .hero--slides .hero-slide__scrim {
    z-index: 1;
  }
  .hero--slides .hero-slide > .container {
    z-index: 2;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides .hero-slide {
    background-color: #07160F;
    background-image: var(--hero-bg, none);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .hero--slides .hero-slide::before {
    display: none !important;
  }
  .hero--slides .hero-slide__img {
    object-fit: contain !important;
    object-position: center center !important;
  }
}


@media (max-width: 63.99rem) {
  .hero--slides {
    height: 62vh !important;
    min-height: 440px !important;
    max-height: 560px !important;
  }
  .hero--slides .hero-slide__img {
    object-fit: cover !important;
  }

  .hero--slides .hero-slide:nth-child(1) .hero-slide__img { object-position: 50% center !important; }

  .hero--slides .hero-slide:nth-child(2) .hero-slide__img { object-position: 40% center !important; }

  .hero--slides .hero-slide:nth-child(3) .hero-slide__img { object-position: 60% center !important; }

  .hero--slides .hero-slide:nth-child(4) .hero-slide__img { object-position: 15% center !important; }

  .hero--slides .hero-slide:nth-child(5) .hero-slide__img { object-position: 60% center !important; }
}


@media (max-width: 63.99rem) {
  main > section,
  main > .screen-pair,
  main > .map-stage,
  main > .cta-band,
  .screen-pair > section {
    min-height: 0 !important;
    height: auto !important;
    padding-top: calc(var(--header-h, 72px) + 20px) !important;
    padding-bottom: 40px !important;
  }
  .map-stage .map-box,
  .map-stage .map-canvas,
  #chinaMap {
    min-height: 320px !important;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides .hero-slide {
    background-image: var(--hero-bg, none) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #07160F !important;
  }
  .hero--slides .hero-slide__img {
    display: none !important;
  }
}

@media (max-width: 47.99rem) {
  /* 2026-10-28 甲方：cover 铺满后 82vh 太高、左右裁切约 15%，主体被挤出画面。
     降到 72vh 后裁切仅约 4%，竖图主体基本完整可见。 */
  .hero--slides {
    min-height: 72vh !important;
    min-height: 72svh !important;
    height: 72svh;
  }
  .hero--slides .hero-slide {
    background-size: cover !important;
    background-position: center center !important;
    background-color: #07160F !important;
  }
  /* 第 1 张「甲博士」logo 偏左（约 20%），焦点左移保护；其余居中 */
  .hero--slides .hero-slide:nth-child(1) {
    background-position: 32% top !important;
  }
  .hero--slides .hero-slide__img {
    display: none !important;
  }
}

@media (max-width: 47.99rem) {
  .hero--slides .hero-slide {
    background-size: var(--hero-bg-size, cover) !important;
  }
}


@media (min-width: 64rem) {
  body.page-home main > section,
  body.page-home main > .screen-pair,
  body.page-home main > .map-stage,
  body.page-home main > .cta-band {
    padding-top: var(--home-header-h, 108px) !important;
    box-sizing: border-box;
  }
}


@media (max-width: 63.99rem) {
  .drawer {
    background: #0a2e1f !important;
    background: linear-gradient(180deg, #0a2e1f 0%, #0d3a27 100%) !important;
  }
  .drawer__head {
    border-bottom: none !important;
    justify-content: center !important;
    padding-top: 20px !important;
    padding-bottom: 10px !important;
  }
  .drawer__head .brand__logo {
    filter: brightness(0) invert(1);
    opacity: .9;
  }
  .drawer__nav {
    padding: 10px 28px 30px !important;
  }

  .drawer__nav::before { display: none !important; }
  .drawer__group {
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
  }
  .drawer__toggle {
    color: #fff !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    padding: 16px 0 !important;
  }
  .drawer__toggle > .drawer__toggle-label::before {
    content: "·";
    margin-right: 10px;
    color: #D9B36C;
    font-size: 1.5rem;
  }

  .drawer__toggle .nav__caret {
    width: 46px !important;
    height: 26px !important;
    background: rgba(255,255,255,.2);
    border-radius: 26px !important;
    position: relative !important;
    transition: background .2s;
    margin-left: auto;
    transform: none !important;
    flex: none;
  }
  .drawer__toggle .nav__caret::before { content: none !important; }
  .drawer__toggle .nav__caret::after {
    content: "";
    position: absolute;
    top: 3px; left: 3px;
    width: 20px; height: 20px;
    background: #fff;
    border-radius: 50%;
    transition: left .2s;
  }
  .drawer__toggle[aria-expanded="true"] .nav__caret {
    background: #D9B36C !important;
    transform: none !important;
  }
  .drawer__toggle[aria-expanded="true"] .nav__caret::after {
    left: 23px !important;
  }

  .drawer__sub {
    display: grid !important;
    grid-template-rows: 0fr !important;
    overflow: hidden !important;
    max-height: 0 !important;
    min-width: 0;
    transition: grid-template-rows .3s ease, max-height .3s ease !important;
  }
  .drawer__sub[data-open="true"] {
    grid-template-rows: 1fr !important;
    max-height: 60rem !important;
  }

  .drawer__sub > div {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px 18px;
    padding: 0 0 14px 24px !important;
    position: relative;
    min-height: 0;
  }
  .drawer__sub[data-open="true"]::before {
    content: "";
    position: absolute;
    top: -10px; right: 10px;
    width: 36px; height: 42px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28' fill='none'%3E%3Cpath d='M12 2C8.5 2 6 5.5 6 9c0 1.2.2 2.3.6 3.2C5.5 13 4 14.8 4 17c0 3 2.7 5.5 6 5.5s6-2.5 6-5.5c0-2.2-1.5-4-2.6-4.8.4-.9.6-2 .6-3.2 0-3.5-2.5-7-6-7z' fill='%23c9a961' opacity='0.25'/%3E%3Ccircle cx='8.5' cy='5' r='1.2' fill='%23c9a961' opacity='0.4'/%3E%3Ccircle cx='12' cy='4' r='1.4' fill='%23c9a961' opacity='0.4'/%3E%3Ccircle cx='15.5' cy='5' r='1.2' fill='%23c9a961' opacity='0.4'/%3E%3C/svg%3E") center/contain no-repeat;
    pointer-events: none;
  }
  .drawer__sub-link {
    color: rgba(255,255,255,.8) !important;
    border-left: none !important;
    padding: 4px 0 !important;
    font-size: .95rem !important;
    white-space: nowrap;
  }
  .drawer__foot {
    background: transparent !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    padding-top: 24px !important;
  }
  .drawer__foot .btn--primary {
    background: #D9B36C !important;
    color: #0a2e1f !important;
    border: none !important;
    font-weight: 600;
  }
  .drawer__foot .btn--outline {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.4) !important;
  }
}


@media (max-width: 63.99rem) {

  .header,
  body.page-home .header,
  body.header-over .header {
    background: rgba(10,46,31,.85) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.08) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    padding: 0 !important;
  }

  .header__inner {
    position: relative;
    display: block;
    min-height: 3.75rem;
  }
  .header .container { padding-left: 0; padding-right: 0; }

  .header .brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    gap: 0;
    margin: 0 !important;
  }
  .header .brand__text { display: none !important; }
  .header .brand__logo,
  body.page-home .header .brand__logo {
    display: block !important;
    width: 120px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: url("../img/logo-jiaboshi.png") center/contain no-repeat !important;
    border-radius: 0 !important;
    filter: none !important;
    object-fit: contain !important;
    opacity: 1;
  }
  .header .brand__logo { visibility: visible !important; }

  .header__inner .burger__line { background: #fff !important; }
  .header__inner .burger {
    position: absolute;
    left: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
  }

  .mobile-head__search {
    position: absolute;
    right: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    color: #fff;
    border-radius: 0.5rem;
  }
  .mobile-head__search svg { width: 1.25rem; height: 1.25rem; }

  .header .header__tel,
  .header .header__phone { display: none !important; }


  .mobile-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: #0a2e1f;
    border-top: 1px solid rgba(255, 255, 255, .12);
  }
  .mobile-search[hidden] { display: none !important; }
  .mobile-search__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 2.25rem;
    padding: 0 0.75rem;
    border: 0;
    border-radius: 2px;
    background: #fff;
    color: #333;
    font-size: 0.8125rem;
    -webkit-appearance: none;
    appearance: none;
  }
  .mobile-search__btn {
    flex: none;
    height: 2.25rem;
    padding: 0 1rem;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 2px;
    background: transparent;
    color: #fff;
    font-size: 0.8125rem;
    line-height: 1;
  }


  .drawer {
    background: linear-gradient(180deg, #0a2e1f 0%, #0d3a27 100%) !important;
  }

  .drawer__head {
    position: relative;
    background: #0a2e1f !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    display: block !important;
    min-height: 3.75rem;
    padding: 0.5rem 0.75rem !important;
  }
  .drawer__head .burger {
    position: absolute;
    left: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    width: 2.25rem;
    height: 2.25rem;
  }
  .drawer__head .burger__line { background: #fff !important; }

  .drawer__logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    line-height: 0;
  }
  .drawer__logo img {
    width: 120px;
    height: auto;
    border-radius: 0 !important;
    background: none !important;
  }

  .drawer__logo img,
  .header .brand__logo {
    width: 2.5rem !important;
    height: 2.5rem !important;
    padding: 0 !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
  }
  .drawer__logo img {
    display: block;
    width: 120px !important;
    height: 36px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: none !important;
  }
  .drawer__search {
    position: absolute;
    right: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    color: #fff;
  }
  .drawer__search svg { width: 1.25rem; height: 1.25rem; }


  .drawer__nav {
    padding: 0.75rem 1.1rem 0 !important;

    min-width: 0;
  }
  .drawer {
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }

  .drawer__nav::before { display: none !important; }
  .drawer__group {
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
  }
  .drawer__toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.5rem 0 !important;
    color: #fff !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    line-height: 1.3;
    text-align: left;
  }

  .drawer__group { padding-left: 1.05rem; }
  .drawer__group::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.625rem;
    width: 0.3rem;
    height: 0.3rem;
    margin-top: -0.15rem;
    border-radius: 50%;
    background: #D9B36C;
  }

  .drawer__group.is-current > .drawer__toggle { color: #d4b276 !important; }


  .drawer__toggle .nav__caret {
    width: 2.875rem !important;
    height: 1.625rem !important;
    margin-left: auto;
    flex: none;
    border-radius: 1.625rem !important;
    background: rgba(255, 255, 255, .22) !important;
    transform: none !important;
    transition: background .25s var(--ease-std, ease);
  }
  .drawer__toggle .nav__caret::before { content: none !important; }
  .drawer__toggle .nav__caret::after {
    content: "";
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: #fff;
    transition: left .25s var(--ease-std, ease);
  }
  .drawer__toggle[aria-expanded="true"] .nav__caret {
    background: #D9B36C !important;
    transform: none !important;
  }
  .drawer__toggle[aria-expanded="true"] .nav__caret::after { left: 1.4375rem !important; }



  .drawer__sub {
    display: grid !important;
    grid-template-rows: 0fr !important;
    overflow: hidden !important;
    max-height: 0 !important;
    min-width: 0;
    transition: grid-template-rows .3s var(--ease-out, ease), max-height .3s var(--ease-out, ease) !important;
  }
  .drawer__sub[data-open="true"] {
    grid-template-rows: 1fr !important;
    max-height: 60rem !important;
  }
  .drawer__sub > div {
    overflow: hidden !important;
    min-height: 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    align-content: flex-start;
    column-gap: 1.15rem;
    row-gap: 0.75rem;
    padding: 0.25rem 0 0.9rem 1.05rem !important;
    position: relative;
  }

  .drawer__sub-nail { display: none; }
  .drawer__sub[data-open="true"] .drawer__sub-nail {
    display: block;
    flex: none;
    width: 1.15rem;
    height: 1.35rem;
    margin-left: auto;
    margin-right: 0.1rem;
    align-self: center;
    opacity: 0.85;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28' fill='none'%3E%3Cpath d='M12 2C8.5 2 6 5.5 6 9c0 1.2.2 2.3.6 3.2C5.5 13 4 14.8 4 17c0 3 2.7 5.5 6 5.5s6-2.5 6-5.5c0-2.2-1.5-4-2.6-4.8.4-.9.6-2 .6-3.2 0-3.5-2.5-7-6-7z' fill='%23c9a961' fill-opacity='0.75'/%3E%3C/svg%3E") center/contain no-repeat;
    pointer-events: none;
  }
  .drawer__sub-link {
    flex: none;
    display: block;
    padding: 0 !important;
    border: 0 !important;

    color: #fff !important;
    font-size: 0.9375rem !important;
    line-height: 1.4;
    white-space: nowrap;
  }
  .drawer__sub-link.is-active { color: #d4b276 !important; }

  .drawer__sub > div > a.drawer__sub-link:first-child { display: none !important; }


  .drawer__hotline {
    display: block;
    margin-top: 1.4rem;
    padding: 1.6rem 0 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
  }
  .drawer__hotline-label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.0625rem;
    color: rgba(255, 255, 255, .92);
  }
  .drawer__hotline-label svg { width: 1rem !important; height: 1.2rem !important; flex: none; }
  .drawer__hotline-num {
    display: block;
    margin-top: 0.35rem;
    font-family: var(--font-num, inherit);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #fff;
    font-variant-numeric: tabular-nums;
  }


  .drawer__foot {
    margin-top: 0;
    padding: 0.25rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom)) !important;
    background: transparent !important;
    border-top: 0 !important;
  }

  .drawer__foot .btn--outline {
    background: #D9B36C !important;
    color: #0a2e1f !important;
    border: none !important;
    font-weight: 600;
  }

  @media (prefers-reduced-motion: reduce) {
    .drawer__sub,
    .drawer__toggle .nav__caret,
    .drawer__toggle .nav__caret::after { transition: none !important; }
  }
}


@media (max-width: 63.99rem) {

  .drawer__toggle > .drawer__toggle-label::before { content: none !important; }


  .drawer__sub::before { content: none !important; }


  .drawer__sub-nail { display: none !important; }


  .drawer__toggle .nav__caret { display: none !important; }


  .drawer__toggle {
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .drawer__toggle-label { flex: 0 1 auto; min-width: 0; }


  .drawer__nail {
    flex: none;
    width: 0;
    height: 1.4rem;
    margin-left: 0;
    opacity: 0;
    overflow: hidden;
    line-height: 0;
    pointer-events: none;
    transition: width .25s var(--ease-std, ease), margin-left .25s var(--ease-std, ease), opacity .2s var(--ease-std, ease);
  }
  .drawer__nail img {
    display: block;
    width: 2.25rem;
    height: 1.4rem;
    object-fit: contain;
  }
  .drawer__toggle[aria-expanded="true"] .drawer__nail {
    width: 2.25rem;
    margin-left: 0.35rem;
    opacity: 1;
  }


  .drawer__sub > div {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 0.25rem;
    row-gap: 0.85rem;
    padding: 0.35rem 0 1.05rem 1.05rem !important;
  }

  .drawer__sub > div > a.drawer__sub-link:first-child { display: block !important; }
  .drawer__sub-link {
    text-align: center !important;
    white-space: normal !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    padding: 0 0.2rem !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .drawer__nail { transition: none !important; }
  }
}




@media (min-width: 64rem) {
  .nav__item.has-sub:hover > .nav__sub,
  .nav__item.has-sub:focus-within > .nav__sub,
  .nav__item.has-sub.is-open > .nav__sub {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
    pointer-events: auto !important;
    z-index: 9999 !important;
    display: block !important;
  }
}


@media (max-width: 63.99rem) {

  .container--wide { padding-left: 1rem !important; padding-right: 1rem !important; }
  .prose, .article-body, .rich-text { text-align: left !important; width: 100% !important; }
  .prose p, .article-body p, .rich-text p {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .prose ul, .prose ol { padding-left: 1.2rem !important; }

  .feature-list li {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  .feature-list li strong {
    flex: none !important;
    white-space: nowrap !important;
    margin-right: 0.5rem !important;
  }
}


@media (min-width: 64rem) {


  body.page-home main > section.section:not(#contact-screen),
  body.page-home main > section.map-stage,
  body.page-home main > .map-stage,
  body.page-home main > .screen-pair,
  body.page-home main > .screen-pair--inquiry {
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }


  body.page-home main > .hero {
    height: 100vh !important;
    height: 100svh !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    max-height: 100vh !important;
    max-height: 100svh !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }


  body.page-home main > section.section:not(#contact-screen),
  body.page-home main > section.map-stage,
  body.page-home main > .map-stage,
  body.page-home main > .screen-pair,
  body.page-home main > .screen-pair--inquiry {
    padding-top: 7.75rem !important;
    padding-bottom: 3rem !important;
  }


  body.page-home main > .screen-pair:not(.screen-pair--inquiry) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  body.page-home main > .screen-pair--inquiry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    justify-content: stretch !important;
    align-content: start !important;
    row-gap: 0 !important;
  }
  body.page-home main > .screen-pair > *,
  body.page-home main > .screen-pair--inquiry > * {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    align-self: start !important;
  }


  body.page-home main > #contact-screen,
  body.page-home main > #contact-notice {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.page-home main > #contact-notice {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }


  body.page-home #growth,
  body.page-home main > .screen-pair,
  body.page-home main > .screen-pair--inquiry {
    overflow: visible !important;
    scrollbar-width: auto !important;
  }
  body.page-home #growth::-webkit-scrollbar,
  body.page-home main > .screen-pair::-webkit-scrollbar,
  body.page-home main > .screen-pair--inquiry::-webkit-scrollbar {
    width: auto;
    height: auto;
  }




  body.page-home #stores .map-box,
  body.page-home #stores .map-canvas,
  body.page-home #stores [data-china-map],
  body.page-home #stores #chinaMap {
    height: clamp(24rem, calc(100svh - 21rem), 62rem) !important;
    min-height: 0 !important;
    max-height: none !important;
  }


  body.page-home #services-layout .services-grid {
    height: clamp(22rem, calc(100svh - 20rem), 57.5rem) !important;
    min-height: 0 !important;
    max-height: none !important;
  }


  body.page-home .screen-pair--inquiry .store-board__viewport {
    height: clamp(5rem, calc(100svh - 42rem), 28.625rem) !important;
    max-height: none !important;
  }


  body.page-home .screen-pair--inquiry .video-frame--premium {
    max-width: min(100%, calc((100svh - 30rem) * 16 / 9 + 3rem)) !important;
  }


  .home-side-nav { display: none !important; }
}


@media (min-width: 114rem) {
  .home-side-nav { display: flex !important; }
}


@media (min-width: 120rem) {
  :root {
    --w-wide: 1560px;
    --w-container: 1360px;
    --w-content: 1280px;
  }
}

@media (min-width: 160rem) {
  :root {
    --w-wide: 1720px;
    --w-container: 1480px;
    --w-content: 1400px;
  }
}



@media (min-width: 64rem) {


  body.page-home main > section.section:not(#contact-screen),
  body.page-home main > section.map-stage,
  body.page-home main > .map-stage,
  body.page-home main > .screen-pair,
  body.page-home main > .screen-pair--inquiry {
    padding-bottom: clamp(1rem, calc(100vh / 15 - 3rem), 3rem) !important;
  }



  body.page-home #founder .founder-portrait__frame img {
    max-height: clamp(14rem, calc(100vh - 28rem), calc(100vh - 22rem)) !important;
  }

  body.page-home #founder .founder-creds__row {
    padding-block: clamp(0.25rem, calc(100vh / 22.5 - 2.5rem), 1.5rem) !important;
  }

  body.page-home #founder .founder-tail {
    margin-top: clamp(0.5rem, calc(100vh / 15 - 4rem), 2rem) !important;
  }
  body.page-home #founder .founder-tail .btn-group {
    padding-top: clamp(0.5rem, calc(100vh / 22.5 - 2.5rem), 1.5rem) !important;
  }
  body.page-home #founder .founder-numbers {
    margin-top: clamp(0.5rem, calc(100vh / 15 - 4rem), 2rem) !important;
  }


  body.page-home #growth .tree {
    padding-top: clamp(7rem, calc(100vh / 7.5 + 1.5rem), 13.5rem) !important;
    padding-bottom: clamp(0.5rem, calc(100vh / 9 - 6.5rem), 3.5rem) !important;
  }
  body.page-home #growth .sec-head {
    margin-bottom: clamp(0.25rem, calc(100vh * 7 / 45 - 10rem), 4rem) !important;
  }
  body.page-home #growth .field__hint {
    margin-top: clamp(0.25rem, calc(100vh / 9 - 7rem), 3rem) !important;
  }


  body.page-home #stores .map-box,
  body.page-home #stores .map-canvas,
  body.page-home #stores [data-china-map],
  body.page-home #stores #chinaMap {
    height: clamp(24rem, calc(100svh - 21rem), 62rem) !important;
  }
  body.page-home #stores .prov-chips {
    margin-top: clamp(0.25rem, calc(100vh / 30 - 2rem), 1rem) !important;
  }
  body.page-home #stores .field__hint {
    margin-top: clamp(0.25rem, calc(100vh / 22.5 - 2.5rem), 1.5rem) !important;
  }


  body.page-home .screen-pair--inquiry .store-board__viewport {
    height: clamp(3rem, calc(100vh * 13 / 36 - 3.875rem), 28.625rem) !important;
  }
  body.page-home .screen-pair--inquiry > section:first-child {
    padding-bottom: clamp(0.5rem, calc(100vh / 22.5 - 2.5rem), 1.5rem) !important;
  }


  body.page-home .screen-pair #products .productSwiper .swiper-slide {
    width: min(48rem, 46vw, max(16rem, calc(100vh * 19 / 36 + 0.5rem))) !important;
  }
  body.page-home .screen-pair .productSwiper {
    padding-bottom: clamp(0.5rem, calc(100vh / 10 - 5.25rem), 3.75rem) !important;
  }
  body.page-home .screen-pair #products .product-swiper-wrap {
    padding-bottom: clamp(0rem, calc(100vh / 45 - 1.5rem), 0.5rem) !important;
  }
  body.page-home .screen-pair #products .sec-head {
    margin-bottom: clamp(0.25rem, calc(100vh / 45 - 1.25rem), 0.75rem) !important;
  }
  body.page-home .screen-pair > #products,
  body.page-home .screen-pair > #news {
    padding-top: 0 !important;
  }
  body.page-home .screen-pair > #products {
    padding-bottom: clamp(0.25rem, calc(100vh / 90 - 0.25rem), 0.75rem) !important;
  }
  body.page-home .screen-pair > #news {
    padding-bottom: clamp(0.25rem, calc(100vh / 22.5 - 2.5rem), 1.5rem) !important;
  }
  body.page-home .screen-pair #news .card__body {
    padding: clamp(0.5rem, calc(100vh / 18 - 3rem), 2rem) !important;
  }
  body.page-home .screen-pair #news .card__meta {
    margin-bottom: clamp(0.25rem, calc(100vh / 90 - 0.5rem), 0.5rem) !important;
  }
  body.page-home .screen-pair #news .card__foot {
    padding-top: clamp(0.25rem, calc(100vh / 90 - 0.25rem), 0.75rem) !important;
  }
  body.page-home .screen-pair #news .sec-head {
    margin-bottom: clamp(0.25rem, calc(100vh / 45 - 1.25rem), 0.75rem) !important;
  }
}


@media (min-width: 64rem) and (max-height: 85rem) {


  body.page-home #founder .founder-portrait {
    position: relative !important;
    align-self: stretch !important;
    min-height: 0 !important;
  }
  body.page-home #founder .founder-portrait__frame {
    position: absolute !important;
    top: 0 !important;
    bottom: 2.6rem !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }
  body.page-home #founder .founder-portrait__frame img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 22% !important;
  }
  body.page-home #founder .founder-portrait__caption {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
  }
}


@media (min-width: 64rem) and (max-width: 113.99rem) {
  .home-side-nav {
    display: flex !important;
    right: 0.75rem;
    font-size: clamp(0.6875rem, calc(0.55vw + 0.25rem), 0.875rem);
    padding: 0.6em;
    gap: 0.4em;
    border-radius: 0.9em;
  }
  .home-side-nav__item {
    font-size: 1em;
    padding: 0.5em 0.8em;
    gap: 0.55em;
    border-radius: 0.5em;
  }
  .home-side-nav__item::before {
    width: 0.43em;
    height: 0.43em;
  }
  .home-side-nav__item.is-active::before {
    box-shadow: 0 0 0 0.21em rgba(255, 255, 255, 0.3);
  }
}



body.page-home .founder-quali {
  margin-top: var(--sp-4, 1rem);
}


.quali-marquee {
  overflow: hidden;

  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
}
.quali-track {
  display: flex;
  width: max-content;
  animation: qualiScroll 50s linear infinite;
}
.quali-set {
  display: flex;
  gap: 12px;
  padding-right: 12px;
}
@keyframes qualiScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.quali-marquee:hover .quali-track,
.quali-marquee.is-paused .quali-track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .quali-track { animation: none; }
  .quali-marquee { overflow-x: auto; }
}


.quali-card {
  flex: 0 0 auto;
  width: 213px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: center;
  cursor: zoom-in;
  -webkit-tap-highlight-color: transparent;
}
.quali-card__pic {
  position: relative;
  display: block;
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--c-line-gold, #d4b276);
  border-radius: var(--r-md, 8px);
  box-shadow: 0 8px 24px -18px rgba(0, 0, 0, 0.6);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.founder-quali .quali-card__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
  -webkit-touch-callout: none;
}

.quali-card__pic::after {
  content: "甲博士修脚";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 2px;
  white-space: nowrap;
  color: rgba(14, 35, 30, 0.13);
  pointer-events: none;
  z-index: 2;
}
.quali-card__cap {
  display: block;
  margin-top: 6px;
  height: 2.7em;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.35;

  color: var(--c-text-inv-2, rgba(255, 255, 255, 0.78));
}
.quali-card:hover .quali-card__pic,
.quali-card:focus-visible .quali-card__pic {
  transform: translateY(-2px);
  border-color: var(--c-gold-500, #b8924a);
  box-shadow: 0 14px 30px -18px rgba(0, 0, 0, 0.75);
}
.quali-card:focus-visible {
  outline: 2px solid var(--c-gold-500, #b8924a);
  outline-offset: 3px;
}

.quali-hint {
  display: none;
}


.founder-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0.4rem 1.5rem;
  margin: var(--sp-4, 1rem) 0 0;
  font-size: 14px;
  line-height: 1.6;

  color: var(--c-text-inv-2, rgba(255, 255, 255, 0.78));
}
.founder-stats__tip a {
  color: var(--c-gold-300, #d4b276);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.founder-stats span { white-space: nowrap; }
.founder-stats b {
  color: var(--c-gold-300, #d4b276);
  font-size: 1.35em;
  font-weight: 700;
}
.founder-stats em {
  font-style: normal;
  font-size: 12px;
  color: var(--c-text-inv-3, rgba(255, 255, 255, 0.58));
}



body.quali-lb-open {
  overflow: hidden;
  padding-right: var(--lb-sbw, 0px);
}
.quali-lb {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: none;
  align-items: center;
  justify-content: center;

  background: rgba(6, 20, 17, 0.94);
}
.quali-lb.is-open { display: flex; }
.quali-lb__fig {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 0;
  max-width: min(92vw, 1100px);
  max-height: 88vh;
}
.quali-lb__pic {
  position: relative;
  display: block;
  max-height: 78vh;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--c-line-gold, #d4b276);
  border-radius: 8px;
}
.quali-lb__pic img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 1100px);
  max-height: 78vh;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
.quali-lb__pic::after {
  content: "甲博士修脚";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 6px;
  white-space: nowrap;
  color: rgba(14, 35, 30, 0.12);
  pointer-events: none;
  z-index: 2;
}
.quali-lb__cap {
  font-size: 15px;
  color: #e9f0ec;
  text-align: center;
}
.quali-lb__close,
.quali-lb__nav {
  position: absolute;
  border: 0;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.quali-lb__close {
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  font-size: 26px;
  line-height: 1;
}
.quali-lb__nav {
  top: 50%;
  width: 48px;
  height: 64px;
  margin-top: -32px;
  font-size: 34px;
  line-height: 1;
}
.quali-lb__nav--prev { left: 18px; }
.quali-lb__nav--next { right: 18px; }
.quali-lb__close:hover,
.quali-lb__close:focus-visible,
.quali-lb__nav:hover,
.quali-lb__nav:focus-visible {
  background: rgba(255, 255, 255, 0.24);
  outline: none;
}


@media (min-width: 64rem) {
  .yearline--tree .tree__row {
    min-height: 3.5rem;
  }
}


@media (max-width: 63.99rem) {
  body.page-home .growth__item:nth-child(n+4) {
    display: grid;
  }
  body.page-home .growth .growth__desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}


@media (min-width: 64rem) {
  .header .nav__sub-link::after {
    content: "";
    display: inline-block;
    width: 1.75rem;
    height: 1.1rem;
    margin-left: 0.5rem;
    vertical-align: middle;
    background: url("../img/nav-nail.png") center / contain no-repeat;
    opacity: 1;
    transition: opacity 0.28s ease, transform 0.28s ease;
  }
  .header .nav__sub-link:hover::after,
  .header .nav__sub-link.is-active::after {
    opacity: 1;
    transform: translateX(0.12rem);
  }
}


.brand__m-tag { display: none; }

@media (max-width: 63.99rem) {
  .header .brand {
    display: flex !important;
    align-items: center;
    gap: 0.4rem;
  }
  .header .brand__logo,
  body.page-home .header .brand__logo {
    width: 2.125rem !important;
    height: 2.125rem !important;
    padding: 0.1rem !important;

    background-color: #fff !important;
    background-image: none !important;
    border-radius: 0.45rem !important;
  }

  .header .brand__name { display: none !important; }
  .header .brand__text {
    display: flex !important;
    flex-direction: column;
    gap: 0.06rem;
    line-height: 1.15;
  }
  .header .brand__tag {
    display: block !important;
    margin-top: 0;
    font-size: 0.6875rem;          /* 2026-11-09 豆包实测 8px 太小，提到 11px；white-space:nowrap 已保证单行，不会再出现 390 宽「理」字转行 */
    line-height: 1.25;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .header .brand__slogan { display: none !important; }
  .header .brand__m-tag {
    display: block;
    margin-top: 0;
    font-size: 0.6875rem;          /* 2026-11-09 9px → 11px，与上一行同步，nowrap 保单行 */
    line-height: 1.25;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
  }
}


@media (max-width: 63.99rem) {
  .drawer__logo img {
    display: block;
    width: 2.125rem !important;
    height: 2.125rem !important;
    padding: 0.1rem !important;
    background-color: #fff !important;
    background-image: none !important;
    border-radius: 0.45rem !important;
    object-fit: contain !important;
  }
}




.founder-quali .quali-card { touch-action: manipulation; }
.quali-card__pic::before {
  content: "";
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background-color: rgba(11, 26, 21, 0.74);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f0d9a8' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.2' cy='10.2' r='6.2'/%3E%3Cpath d='M19.5 19.5l-4.4-4.4M10.2 7.6v5.2M7.6 10.2h5.2'/%3E%3C/svg%3E");
  background-position: center;
  background-size: 0.85rem 0.85rem;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 3;
}
.quali-card:hover .quali-card__pic::before,
.quali-card:focus-visible .quali-card__pic::before { opacity: 1; }
@media (hover: none) {
  .quali-card__pic::before { opacity: 0.92; }
}


.quali-lb__count {
  margin: 0.45rem 0 0;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  color: var(--c-gold-300, #d4b276);
  text-align: center;
}
.quali-lb__hint {
  margin: 0.15rem 0 0;
  font-size: 0.6875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
}
@media (max-width: 40rem) {
  .quali-lb__hint { font-size: 0.625rem; }
}

.quali-lb__fig { max-height: 90vh; gap: 0.6rem; }
.quali-lb__pic,
.quali-lb__pic img { max-height: 72vh; }
.quali-lb__pic { cursor: zoom-in; }
.quali-lb__pic img { pointer-events: auto; }

.quali-lb__pic.is-loading::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  border: 2px solid rgba(184, 146, 74, 0.3);
  border-top-color: var(--c-gold-500, #b8924a);
  animation: qualiSpin 0.8s linear infinite;
  z-index: 3;
}
@keyframes qualiSpin { to { transform: rotate(360deg); } }

.quali-lb.is-zoomed .quali-lb__pic {
  cursor: zoom-out;
  overflow: auto;
  max-width: 92vw;
}
.quali-lb.is-zoomed .quali-lb__pic img {
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  cursor: zoom-out;
}


@media (min-width: 64rem) {
  .header .nav__link { font-size: 1rem; }
}

@media (min-width: 75.0625rem) {
  .header .nav {
    margin-left: auto;
    margin-right: 0.5rem;
  }

  .header .header__actions { margin-left: 0; }
}

@media (min-width: 64rem) {
  .header .nav__sub-link:hover::after,
  .header .nav__sub-link:focus-visible::after {
    background-image: url("../img/nav-nail-green.png?v=20261017");
  }
}


@media (min-width: 90rem) {
  .header .brand { gap: 0.75rem; }


  .header .brand__logo,
  .page-home .header .brand__logo {
    width: 3rem;
    height: 3rem;
  }


  .header .brand__text {
    flex-direction: row;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 0.625rem;
    line-height: 1.1;
  }
  .header .brand__name {
    font-size: 1.75rem;
    line-height: 1.1;
  }

  .header .brand__tag { display: none; }
  .header .brand__slogan {
    font-size: 0.8125rem;
    color: var(--c-gold-300);
    white-space: nowrap;
  }


  .header .header__actions { margin-left: 0; }


  .header .nav__list { flex-wrap: nowrap; }
  .header .nav__link { white-space: nowrap; }
}


.join-gallery {
  position: relative;
  margin: 1.25rem 0 0.5rem;

  padding: 0.5rem;
  border-radius: 0.9rem;
  background: linear-gradient(
    152deg,
    rgba(212, 178, 118, 0.42) 0%,
    rgba(212, 178, 118, 0.12) 42%,
    rgba(212, 178, 118, 0.08) 62%,
    rgba(212, 178, 118, 0.34) 100%
  );
  box-shadow: 0 18px 40px -26px rgba(0, 0, 0, 0.55);
  transition: background var(--d-base) var(--ease-std), box-shadow var(--d-base) var(--ease-std);
}

.join-gallery:hover {
  background: linear-gradient(
    152deg,
    rgba(212, 178, 118, 0.64) 0%,
    rgba(212, 178, 118, 0.2) 42%,
    rgba(212, 178, 118, 0.14) 62%,
    rgba(212, 178, 118, 0.52) 100%
  );
  box-shadow: 0 26px 54px -26px rgba(0, 0, 0, 0.64);
}

.join-gallery__viewport {
  display: flex;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.25rem 0 0.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;

  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.38);
  border-radius: 0.5rem;
}
.join-gallery__viewport::-webkit-scrollbar { display: none; }
.join-gallery__viewport:focus-visible {
  outline: 2px solid var(--c-gold-500);
  outline-offset: 4px;
  border-radius: 0.5rem;
}




.join-gallery__slide {
  position: relative;
  flex: 0 0 100%;
  scroll-snap-align: center;
  margin: 0;
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--c-ink-900);
  box-shadow: 0 12px 30px -20px rgba(0, 0, 0, 0.6);
}
.join-gallery__slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;

  filter: brightness(0.96) contrast(1.02);
  transition: filter 0.35s var(--ease-std);
}
.join-gallery:hover .join-gallery__slide img {
  filter: brightness(1.15) contrast(1.1) saturate(1.06);
}
.join-gallery__slide figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 1.75rem 0.875rem 0.6rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  color: #fff;
  background: linear-gradient(to top, rgba(6, 20, 16, 0.78), rgba(6, 20, 16, 0));
}


.join-gallery__arrow {
  position: absolute;
  top: 50%;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 4px 12px -6px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  z-index: 2;
  transition: background-color var(--d-fast) var(--ease-std),
              opacity var(--d-fast) var(--ease-std),
              transform var(--d-fast) var(--ease-std);
}
.join-gallery__arrow::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 0.5rem; height: 0.5rem;
  border-right: 2px solid var(--c-ink-600);
  border-bottom: 2px solid var(--c-ink-600);

  transform: translate(-50%, -50%) rotate(135deg);
}

.join-gallery__arrow--next::before { transform: translate(-50%, -50%) rotate(-45deg); }
.join-gallery__arrow--prev { left: 1rem; }
.join-gallery__arrow--next { right: 1rem; }
.join-gallery__arrow:hover { background: #fff; transform: scale(1.06); }
.join-gallery__arrow:disabled { opacity: 0.28; cursor: default; }
.join-gallery__arrow:disabled:hover { transform: none; background: rgba(255, 255, 255, 0.88); }

.join-gallery__hint {
  margin: 0.5rem 0 0;
  font-size: 0.75rem;
  color: var(--c-text-2);
}


.cta-band__title-note {
  display: block;
  margin: 0.375rem 0 0;
  font-size: 0.5em;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--c-text-2);
  line-height: 1.5;
}



img {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}




.support-page .sup-adv {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 19rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 3.4vw, 3.5rem);
  align-items: center;
  margin-top: clamp(2rem, 3.2vw, 3.25rem);
}

.support-page .sec-head__lead { max-width: 52rem; }
.sup-adv__col {
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.75rem);
}
.sup-adv-item {
  display: flex;
  align-items: flex-start;
  gap: 1.375rem;
}

@media (min-width: 64rem) {
  .sup-adv__col:last-child .sup-adv-item { flex-direction: row-reverse; text-align: right; }
  .sup-adv__col:last-child .sup-adv-item__body h3::after { left: auto; right: 0; transform-origin: right center; }
}
.sup-adv-item__ico {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  color: var(--c-gold-500);
  background: rgba(184, 146, 74, 0.1);
  border: 1px solid rgba(184, 146, 74, 0.34);
  transition: background-color var(--d-base) var(--ease-std),
              border-color var(--d-base) var(--ease-std),
              color var(--d-base) var(--ease-std);
}
.sup-adv-item__ico svg {
  width: 1.375rem;
  height: 1.375rem;
}
.sup-adv-item:hover .sup-adv-item__ico {
  background: var(--c-gold-500);
  border-color: var(--c-gold-500);
  color: #fff;
}
.sup-adv-item__body h3 {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--c-ink-900);
}
.sup-adv-item__body p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--c-text-2);
}

.sup-adv__core {
  position: relative;
  display: grid;
  justify-items: center;
  padding: 2.75rem 0;
  text-align: center;
}

.sup-adv__badge {
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 19rem);
  aspect-ratio: 1 / 1;
}
.sup-adv__ring {
  position: absolute;
  inset: 0;

  margin: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  border: 1px dashed rgba(184, 146, 74, 0.5);
  pointer-events: none;
}
.sup-adv__disc {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(6.5rem, 11vw, 9rem);
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle at 32% 26%, #1d3b31, var(--c-ink-900) 72%);
  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.55),
              0 20px 44px -22px rgba(11, 26, 21, 0.7);
}
.sup-adv__disc img {
  width: 50%;
  height: auto;
}
.sup-adv__num {
  position: relative;
  z-index: 1;
  margin: 1.25rem 0 0;
  font-size: 1rem;
  letter-spacing: 0.02em;
  color: var(--c-ink-900);
}
.sup-adv__num em {
  font-style: normal;
  font-size: 0.75rem;
  color: var(--c-gold-500);
}
.sup-adv__sub {
  position: relative;
  z-index: 1;
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--c-text-2);
}


.sup-adv__core::before {
  content: "";
  position: absolute;
  inset: -8% 0;
  background: radial-gradient(circle at 50% 46%, rgba(212, 178, 118, 0.22), rgba(212, 178, 118, 0) 62%);
  pointer-events: none;
}
@keyframes supSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.sup-adv__ring {
  animation: supSpin 70s linear infinite;
}
@keyframes supPulse {
  0%, 100% {
    box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.55),
                0 20px 44px -22px rgba(11, 26, 21, 0.7),
                0 0 0 0 rgba(212, 178, 118, 0);
  }
  50% {
    box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.85),
                0 26px 52px -22px rgba(11, 26, 21, 0.75),
                0 0 28px 3px rgba(212, 178, 118, 0.22);
  }
}
.sup-adv__disc {
  animation: supPulse 5.5s ease-in-out infinite;
}
.sup-adv-item__ico {
  transition: background-color var(--d-base) var(--ease-std),
              border-color var(--d-base) var(--ease-std),
              color var(--d-base) var(--ease-std),
              transform 0.3s var(--ease-std);
}
.sup-adv-item:hover .sup-adv-item__ico {
  transform: scale(1.1);
}
.sup-adv-item__body h3 {
  position: relative;
  padding-bottom: 0.45rem;
}
.sup-adv-item__body h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1.5rem;
  height: 2px;
  background: var(--c-gold-500);
  transform: scaleX(0.5);
  transform-origin: left center;
  opacity: 0.4;
  transition: transform 0.35s var(--ease-std), opacity 0.35s var(--ease-std);
}
.sup-adv-item:hover .sup-adv-item__body h3::after {
  transform: scaleX(1);
  opacity: 1;
}
.sup-adv__col .sup-adv-item:nth-child(1) { --reveal-delay: 0ms; }
.sup-adv__col .sup-adv-item:nth-child(2) { --reveal-delay: 90ms; }
.sup-adv__col .sup-adv-item:nth-child(3) { --reveal-delay: 180ms; }
@media (prefers-reduced-motion: reduce) {
  .sup-adv__ring,
  .sup-adv__disc { animation: none; }
  .sup-adv-item__ico,
  .sup-adv-item__body h3::after { transition: none; }
}

.support-page .sup-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.75rem, 3vw, 2.75rem) clamp(1rem, 1.8vw, 1.75rem);
  margin: clamp(2rem, 3.2vw, 3.25rem) 0 0;
  padding: 0;
  list-style: none;
}
.sup-flow-step {
  position: relative;
  padding-top: 0.25rem;
  text-align: center;
}

.sup-flow-step::after {
  content: "";
  position: absolute;
  top: 2.15rem;
  left: calc(50% + 2.45rem);
  right: calc(-50% + 2.45rem);
  height: 2px;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(184, 146, 74, 0.55) 0 7px,
    rgba(184, 146, 74, 0) 7px 15px
  );
  background-size: 15px 2px;
  animation: supFlowDash 1.8s linear infinite;
  pointer-events: none;
}
.sup-flow-step:nth-child(4n)::after { display: none; }
@keyframes supFlowDash {
  to { background-position: 15px 0; }
}
.sup-flow-step__no {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--c-gold-500);
}
.sup-flow-step__ico {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin: 0.5rem 0 0.875rem;
  border-radius: 999px;
  color: var(--c-gold-500);
  background: #fff;
  border: 1px solid rgba(184, 146, 74, 0.4);
  box-shadow: 0 12px 28px -20px rgba(11, 26, 21, 0.55);
  transition: background-color var(--d-base) var(--ease-std),
              border-color var(--d-base) var(--ease-std),
              color var(--d-base) var(--ease-std),
              transform var(--d-base) var(--ease-std);
}
.sup-flow-step__ico svg {
  width: 1.5rem;
  height: 1.5rem;
}
.sup-flow-step:hover .sup-flow-step__ico {
  background: var(--c-gold-500);
  border-color: var(--c-gold-500);
  color: #fff;
  transform: translateY(-3px);
}
.sup-flow-step__title {
  margin: 0 0 0.35rem;
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--c-ink-900);
}
.sup-flow-step__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--c-text-2);
}
@media (prefers-reduced-motion: reduce) {
  .sup-flow-step::after { animation: none; }
}

.sup-hq-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 1.6vw, 1.5rem);
  margin: clamp(1.5rem, 2.4vw, 2.5rem) 0 0;
  padding: 0;
  list-style: none;
}
.sup-hq-card {
  padding: clamp(1.15rem, 1.8vw, 1.6rem);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(212, 178, 118, 0.32);
  transition: background-color var(--d-base) var(--ease-std),
              border-color var(--d-base) var(--ease-std);
}
.sup-hq-card:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(212, 178, 118, 0.62);
}
.sup-hq-card__title {
  margin: 0 0 0.5rem;
  padding-bottom: 0.6rem;
  font-size: 1.0625rem;
  line-height: 1.4;
  color: var(--c-gold-300);
  border-bottom: 1px solid rgba(212, 178, 118, 0.24);
}
.sup-hq-card__desc {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: var(--c-text-inv-2);
}
.sup-hq-note {
  margin: clamp(1.25rem, 2vw, 1.75rem) 0 0;
  font-size: 0.75rem;
  line-height: 1.7;
  color: var(--c-text-inv-3);
  text-align: center;
}
.sup-hq-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
}

.sup-hq-cta--cols {
  gap: 0.875rem;
  margin-top: clamp(1.75rem, 2.6vw, 2.25rem);
  margin-bottom: 0.25rem;
}
.sup-hq-cta--cols .btn {
  min-width: 8.5rem;
}
@media (max-width: 47.99rem) {
  .sup-hq-cta--cols .btn { flex: 1 1 calc(50% - 0.5rem); min-width: 0; }
}


@media (max-width: 63.99rem) {
  .support-page .sup-adv { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .sup-adv__core { order: -1; padding: 2.25rem 0; }
  .sup-adv__ring { width: min(100%, 15rem); }
  .sup-adv__col { gap: 1rem; }
  .support-page .sup-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sup-flow-step:nth-child(4n)::after { display: block; }
  .sup-flow-step:nth-child(2n)::after { display: none; }
  .sup-hq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
  .support-page .sup-flow,
  .support-page .sup-hq-grid { grid-template-columns: minmax(0, 1fr); }
  .sup-flow-step::after { display: none; }
  .sup-adv-item__ico { width: 2.625rem; height: 2.625rem; }
  .sup-adv-item__ico svg { width: 1.25rem; height: 1.25rem; }
  .sup-flow-step__ico { width: 3.5rem; height: 3.5rem; }
}


@media (max-width: 63.99rem) {
  .join-gallery__slide { flex-basis: 88%; }
  .join-gallery__arrow { width: 2.125rem; height: 2.125rem; margin-top: -1.0625rem; }
  .join-gallery__arrow--prev { left: 0.25rem; }
  .join-gallery__arrow--next { right: 0.25rem; }
  .join-gallery__slide figcaption { font-size: 0.6875rem; padding: 1.5rem 0.75rem 0.5rem; }
}


.jbs-float {
  transition: opacity 0.35s ease, visibility 0.35s ease,
              transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.jbs-float:hover {
  transform: translateY(-3px);
}
.jbs-float__circles span,
.jbs-float__circles::before,
.jbs-float__circles::after {
  border: 2px solid rgba(212, 178, 118, 0.78);
  background: rgba(212, 178, 118, 0.12);
  animation-name: jbsPulseStrong;
  animation-duration: 2.6s;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  animation-iteration-count: infinite;
  animation-play-state: paused;
}
.jbs-float:hover .jbs-float__circles span,
.jbs-float:hover .jbs-float__circles::before,
.jbs-float:hover .jbs-float__circles::after {
  animation-play-state: running;
}
@keyframes jbsPulseStrong {
  0%   { transform: scale(0.5);  opacity: 0; }
  18%  { opacity: 0.9; }
  70%  { opacity: 0.35; }
  100% { transform: scale(2);    opacity: 0; }
}
.jbs-float:hover .jbs-float__img {
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.3))
          drop-shadow(0 0 16px rgba(212, 178, 118, 0.6));
}
@media (prefers-reduced-motion: reduce) {
  .jbs-float:hover { transform: none; }
  .jbs-float:hover .jbs-float__circles span,
  .jbs-float:hover .jbs-float__circles::before,
  .jbs-float:hover .jbs-float__circles::after {
    animation-name: none;
    opacity: 0.5;
    transform: scale(1.35);
  }
}



.sup-adv__disc::before,
.sup-adv__disc::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  border: 3px solid rgba(212, 178, 118, 0.95);
  background: rgba(212, 178, 118, 0.06);
  box-shadow: 0 0 18px rgba(212, 178, 118, 0.5);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.82);
  pointer-events: none;
  z-index: 0;
}
.sup-adv__disc::before {
  width: 100%;
  height: 100%;
}
.sup-adv__disc::after {
  width: 138%;
  height: 138%;
}
@keyframes supHalo {
  0%   { transform: translate(-50%, -50%) scale(0.82); opacity: 0; }
  22%  { opacity: 1; }
  75%  { opacity: 0.45; }
  100% { transform: translate(-50%, -50%) scale(2.05); opacity: 0; }
}
.sup-adv__core:hover .sup-adv__disc::before {
  animation: supHalo 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}
.sup-adv__core:hover .sup-adv__disc::after {
  animation: supHalo 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
  animation-delay: 1.2s;
}

.sup-adv__disc {
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.sup-adv__core:hover .sup-adv__disc {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .sup-adv__core:hover .sup-adv__disc::before,
  .sup-adv__core:hover .sup-adv__disc::after { animation: none; opacity: 0; }
  .sup-adv__core:hover .sup-adv__disc { transform: none; }
}





.ab-stats,
.ab-brand,
.ab-gallery,
.ab-history {
  min-height: 0;
}
.ab-stats {
  background: var(--c-ink-900);
  color: var(--c-text-inv-2);
  padding-block: clamp(2rem, 3vw, 2.75rem);
}
.ab-stats__inner { text-align: center; }
.ab-stats__eyebrow {
  margin: 0 0 clamp(1.25rem, 2vw, 1.75rem);
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  color: var(--c-gold-300);
}
.ab-stats__eyebrow span {
  margin-left: 0.75rem;
  letter-spacing: 0.12em;
  color: var(--c-text-inv-3);
}
.ab-stats__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.ab-stats__list li {
  position: relative;
  display: grid;
  gap: 0.35rem;
}
.ab-stats__list li + li::before {
  content: "";
  position: absolute;
  left: calc(-1 * clamp(0.5rem, 1.2vw, 1rem));
  top: 50%;
  width: 1px;
  height: 2.25rem;
  transform: translateY(-50%);
  background: linear-gradient(to bottom, transparent, rgba(212, 178, 118, 0.5), transparent);
}
.ab-stats__list strong {
  font-family: var(--font-display, inherit);
  font-size: clamp(2rem, 3.6vw, 3rem);
  line-height: 1;
  color: var(--c-gold-300);
}
.ab-stats__list em {
  font-style: normal;
  margin-left: 0.25rem;
  font-size: 0.875rem;
  color: var(--c-gold-500);
}
.ab-stats__list span {
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  color: var(--c-text-inv-3);
}


.ab-brand__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}
.ab-brand__mark { display: grid; place-items: center; }
.ab-brand__badge {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(10rem, 18vw, 15rem);
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: radial-gradient(circle at 32% 26%, #1d3b31, var(--c-ink-800) 72%);
  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, 0.6),
              0 26px 60px -30px rgba(0, 0, 0, 0.8);
}
.ab-brand__badge::before {
  content: "";
  position: absolute;
  inset: -9%;
  border-radius: 999px;
  border: 1px dashed rgba(212, 178, 118, 0.45);
  animation: supSpin 70s linear infinite;
  pointer-events: none;
}
.ab-brand__badge img { width: 46%; height: auto; }
.ab-brand__title {
  margin: 0.5rem 0 0.875rem;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.35;
  color: var(--c-text-inv);
}
.ab-brand__lead {
  margin: 0 0 clamp(1.25rem, 2vw, 1.75rem);
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--c-text-inv-2);
}
.ab-brand__points {
  display: grid;
  gap: 0.875rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ab-brand__points li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--c-text-inv-3);
}
.ab-brand__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 0.5rem;
  height: 2px;
  background: var(--c-gold-500);
}
.ab-brand__points strong {
  margin-right: 0.5rem;
  font-weight: 600;
  color: var(--c-gold-300);
}


.ab-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.875rem, 1.6vw, 1.25rem);
  margin: clamp(1.75rem, 2.8vw, 2.5rem) 0 0;
  padding: 0;
  list-style: none;
}
.ab-gallery__item { margin: 0; }

.ab-ph {
  position: relative;
  display: grid;
  place-items: center;
  gap: 0.5rem;
  aspect-ratio: 4 / 3;
  border-radius: 0.6rem;
  border: 1px dashed rgba(184, 146, 74, 0.5);
  background:
    linear-gradient(135deg, rgba(184, 146, 74, 0.06), rgba(184, 146, 74, 0.02)),
    #fff;
  color: var(--c-text-2);
  overflow: hidden;
  transition: border-color var(--d-base) var(--ease-std),
              box-shadow var(--d-base) var(--ease-std);
}
.ab-ph::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 38%, rgba(212, 178, 118, 0.22) 50%, transparent 62%);
  transform: translateX(-120%);
  transition: transform 0.7s var(--ease-std);
  pointer-events: none;
}
.ab-gallery__item:hover .ab-ph {
  border-color: rgba(184, 146, 74, 0.85);
  box-shadow: 0 18px 34px -26px rgba(11, 26, 21, 0.6);
}
.ab-gallery__item:hover .ab-ph::after { transform: translateX(120%); }
.ab-ph__ico {
  font-size: 1.5rem;
  line-height: 1;
  color: var(--c-gold-500);
}
.ab-ph__txt {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
}
.ab-gallery__cap {
  margin: 0.6rem 0 0;
  font-size: 0.875rem;
  text-align: center;
  color: var(--c-text-2);
}


.ab-history__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.875rem, 1.6vw, 1.25rem);
  margin: clamp(1.75rem, 2.8vw, 2.5rem) 0 0;
  padding: 0;
  list-style: none;
}
.ab-history__item {
  position: relative;
  padding: clamp(1rem, 1.8vw, 1.35rem);
  border-radius: 0.6rem;
  background: #fff;
  border: 1px solid rgba(11, 26, 21, 0.07);
  transition: border-color var(--d-base) var(--ease-std),
              transform var(--d-base) var(--ease-std);
}
.ab-history__item::before {
  content: "";
  position: absolute;
  left: clamp(1rem, 1.8vw, 1.35rem);
  right: clamp(1rem, 1.8vw, 1.35rem);
  top: 0;
  height: 2px;
  background: var(--c-gold-500);
  transform: scaleX(0.35);
  transform-origin: left center;
  opacity: 0.5;
  transition: transform 0.35s var(--ease-std), opacity 0.35s var(--ease-std);
}
.ab-history__item:hover {
  border-color: rgba(184, 146, 74, 0.6);
  transform: translateY(-3px);
}
.ab-history__item:hover::before { transform: scaleX(1); opacity: 1; }
.ab-history__year {
  display: block;
  font-family: var(--font-display, inherit);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  line-height: 1;
  color: var(--c-gold-500);
}
.ab-history__item h3 {
  margin: 0.6rem 0 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--c-ink-900);
}


@media (max-width: 63.99rem) {
  .ab-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-stats__list li:nth-child(3)::before { display: none; }
  .ab-brand__inner { grid-template-columns: minmax(0, 1fr); }
  .ab-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-history__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .ab-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-gallery__grid { grid-template-columns: minmax(0, 1fr); }
  .ab-history__list { grid-template-columns: minmax(0, 1fr); }
  .ab-brand__badge { width: 9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ab-brand__badge::before { animation: none; }
  .ab-ph::after { transition: none; }
}


.abf,
.abc { min-height: 0; }


.abf__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(2rem, 4.5vw, 4.5rem);
  align-items: start;
}
.abf__portrait { display: grid; justify-items: center; gap: 1rem; }
.abf__frame {
  position: relative;
  display: block;
  width: min(100%, 25rem);
  padding: 0.6rem;
  border-radius: 0.75rem;
  background: linear-gradient(152deg, rgba(212, 178, 118, 0.55) 0%, rgba(212, 178, 118, 0.12) 45%, rgba(212, 178, 118, 0.42) 100%);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.85);
}
.abf__frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.45rem;
  object-fit: cover;
}
.abf__badge {
  position: absolute;
  left: 50%;
  bottom: -0.85rem;
  transform: translateX(-50%);
  padding: 0.35rem 1rem;
  border-radius: 999px;
  background: var(--c-gold-500);
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.abf__caption {
  margin: 0;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  color: var(--c-text-inv-3);
}
.abf__name {
  margin: 0.5rem 0 0.35rem;
  font-size: clamp(1.75rem, 2.8vw, 2.25rem);
  line-height: 1.3;
  color: var(--c-text-inv);
}
.abf__role {
  margin: 0 0 clamp(1.25rem, 2.2vw, 1.75rem);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  color: var(--c-gold-300);
}
.abf__quote {
  position: relative;
  margin: 0 0 clamp(1.25rem, 2.2vw, 1.75rem);
  padding-left: 1.25rem;
  font-family: var(--font-display, inherit);
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  line-height: 1.5;
  color: var(--c-text-inv);
}
.abf__quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  bottom: 0.25em;
  width: 2px;
  background: var(--c-gold-500);
}
.abf__quote em { font-style: normal; color: var(--c-gold-300); }
.abf__lead {
  margin: 0 0 clamp(1.25rem, 2.2vw, 1.75rem);
  font-size: 0.9375rem;
  line-height: 1.9;
  color: var(--c-text-inv-2);
}
.abf__creds {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.abf__creds li {
  padding-top: 0.6rem;
  border-top: 1px solid rgba(212, 178, 118, 0.25);
}
.abf__creds span {
  display: block;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  color: var(--c-text-inv-3);
}
.abf__creds strong {
  display: block;
  margin-top: 0.3rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  color: var(--c-text-inv-2);
}


.abc__head { max-width: 46rem; }
.abc__title {
  margin: 0.4rem 0 0;
  font-size: clamp(1.75rem, 2.8vw, 2.25rem);
  line-height: 1.3;
  color: var(--c-ink-900);
}
.abc__body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr);
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
  margin-top: clamp(1.5rem, 2.6vw, 2.25rem);
}
.abc__main p {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.95;
  color: var(--c-text-2);
}
.abc__main p:last-child { margin-bottom: 0; }
.abc__main strong { color: var(--c-ink-900); }
.abc__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.abc__facts li {
  padding: 1rem;
  border-radius: 0.6rem;
  background: var(--section--paper, #F7F4EE);
  border: 1px solid rgba(184, 146, 74, 0.22);
}
.abc__facts strong {
  display: block;
  font-family: var(--font-display, inherit);
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  line-height: 1;
  color: var(--c-gold-500);
}
.abc__facts span {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.75rem;
  color: var(--c-text-2);
}
.abc__how { margin-top: clamp(2rem, 3.2vw, 2.75rem); }
.abc__how-title {
  margin: 0 0 1rem;
  padding-bottom: 0.6rem;
  font-size: 1.125rem;
  color: var(--c-ink-900);
  border-bottom: 1px solid rgba(11, 26, 21, 0.08);
}
.abc__how-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.abc__how-list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--c-text-2);
}
.abc__how-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.5rem;
  height: 2px;
  background: var(--c-gold-500);
}
.abc__how-list strong {
  margin-right: 0.4rem;
  color: var(--c-ink-900);
}


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


@media (max-width: 63.99rem) {
  .abf__inner { grid-template-columns: minmax(0, 1fr); }
  .abf__creds { grid-template-columns: minmax(0, 1fr); }
  .abc__body { grid-template-columns: minmax(0, 1fr); }
  .abc__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .abc__how-list { grid-template-columns: minmax(0, 1fr); }
  .ab-gallery__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .abc__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-gallery__grid--3 { grid-template-columns: minmax(0, 1fr); }
}


.ab-gallery__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.6rem;
  background: #eee;
  box-shadow: 0 14px 30px -24px rgba(11, 26, 21, 0.65);
  transition: filter 0.45s var(--ease-std), box-shadow 0.45s var(--ease-std);
}
.ab-gallery__item:hover .ab-gallery__img {
  filter: brightness(1.06) contrast(1.04) saturate(1.03);
  box-shadow: 0 20px 38px -22px rgba(11, 26, 21, 0.6),
              0 0 0 1px rgba(184, 146, 74, 0.6);
}
@media (prefers-reduced-motion: reduce) {
  .ab-gallery__img { transition: none; }
}



body.about-page { overflow-x: clip; }
.reveal-left[data-reveal] { transform: translateX(-3rem); }
.reveal-right[data-reveal] { transform: translateX(3rem); }
.reveal-left[data-reveal].is-revealed,
.reveal-right[data-reveal].is-revealed { transform: none; }

@media (prefers-reduced-motion: reduce) {
  .reveal-left[data-reveal],
  .reveal-right[data-reveal] { transform: none; }
}

/* 2026-11-09 手机端安全兜底：创始人区左右滑入动画在低端机/弱网/JS 未触发时
   会把左右两块各自推出安全边距（375 视口实测整页一度到 407px）。
   窄屏直接取消平移、只保留淡入；电脑端（≥768px）滑入效果保持不变。 */
@media (max-width: 47.99rem) {
  .reveal-left[data-reveal],
  .reveal-right[data-reveal] { transform: none !important; }
}


.ab-brand__lead,
.abf__lead,
.abc__main p { text-wrap: pretty; }


.about-page .ab-brand__badge::after,
.about-page .ab-brand__mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  border: 3px solid rgba(212, 178, 118, 0.95);
  background: rgba(212, 178, 118, 0.06);
  box-shadow: 0 0 18px rgba(212, 178, 118, 0.5);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.82);
  pointer-events: none;
  z-index: 0;
}

.about-page .ab-brand__badge::after {
  width: 118%;
  height: 118%;
  border-width: 2px;
}
.about-page .ab-brand__mark { position: relative; }
.about-page .ab-brand__mark::after {
  content: none;
}
@keyframes aboutHalo {
  0%   { transform: translate(-50%, -50%) scale(0.92); opacity: 0; }
  22%  { opacity: 0.9; }
  78%  { opacity: 0.4; }
  100% { transform: translate(-50%, -50%) scale(1.24); opacity: 0; }
}
.about-page .ab-brand:hover .ab-brand__badge::after {
  animation: aboutHalo 2.2s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@media (prefers-reduced-motion: reduce) {
  .about-page .ab-brand:hover .ab-brand__badge::after,
  .about-page .ab-brand:hover .ab-brand__mark::after { animation: none; opacity: 0; }
}


.ab-gallery__pic {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 0.6rem;
  background: #ececec;
  box-shadow: 0 14px 30px -24px rgba(11, 26, 21, 0.65);
  transition: box-shadow 0.45s var(--ease-std);
}
.ab-gallery__pic .ab-gallery__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
  background: none;
  box-shadow: none;
  transform: scale(1);
  transition: transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1),
              filter 0.5s var(--ease-std);
}

.ab-gallery__pic::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.6rem;
  box-shadow: inset 0 0 0 1px rgba(184, 146, 74, 0);
  transition: box-shadow 0.45s var(--ease-std);
  pointer-events: none;
  z-index: 2;
}

.ab-gallery__shine {
  position: absolute;
  inset: -20%;
  background: linear-gradient(
    115deg,
    rgba(255, 255, 255, 0) 38%,
    rgba(255, 255, 255, 0.38) 50%,
    rgba(255, 255, 255, 0) 62%
  );
  transform: translateX(-135%) rotate(0.001deg);
  transition: transform 0.85s cubic-bezier(0.22, 0.61, 0.36, 1);
  pointer-events: none;
  z-index: 3;
}
.ab-gallery__item:hover .ab-gallery__pic {
  box-shadow: 0 22px 44px -22px rgba(11, 26, 21, 0.7);
}
.ab-gallery__item:hover .ab-gallery__pic .ab-gallery__img {
  transform: scale(1.07);
  filter: brightness(1.05) saturate(1.05);
}
.ab-gallery__item:hover .ab-gallery__pic::after {
  box-shadow: inset 0 0 0 1px rgba(184, 146, 74, 0.7);
}
.ab-gallery__item:hover .ab-gallery__shine {
  transform: translateX(135%);
}
.ab-gallery__cap {
  transition: color 0.35s var(--ease-std);
}
.ab-gallery__item:hover .ab-gallery__cap {
  color: var(--c-gold-500);
}


.ab-gallery__item:nth-child(1) { --reveal-delay: 0ms; }
.ab-gallery__item:nth-child(2) { --reveal-delay: 80ms; }
.ab-gallery__item:nth-child(3) { --reveal-delay: 160ms; }
.ab-gallery__item:nth-child(4) { --reveal-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  .ab-gallery__pic .ab-gallery__img,
  .ab-gallery__shine,
  .ab-gallery__pic::after,
  .ab-gallery__cap { transition: none; }
  .ab-gallery__item:hover .ab-gallery__pic .ab-gallery__img { transform: none; }
  .ab-gallery__item:hover .ab-gallery__shine { transform: translateX(-135%); }
}


.drawer__toggle-label {
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  padding-right: 0.75rem;
  -webkit-tap-highlight-color: transparent;
}
.drawer__toggle-label:active { opacity: 0.75; }
.drawer__toggle-btn {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 44px;
  min-height: 44px;
  padding: 0 0 0 0.625rem;
  margin: 0;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.drawer__toggle-btn .drawer__nail {
  width: 0;
  margin-left: 0;
  opacity: 0;
  overflow: hidden;
  transition: width 0.25s var(--ease-std), margin-left 0.25s var(--ease-std), opacity 0.2s var(--ease-std);
}
.drawer__toggle-btn[aria-expanded="true"] .drawer__nail {
  width: 2.6rem;
  margin-left: 0.4rem;
  opacity: 1;
}
.drawer__toggle-btn::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  margin-left: 0.1rem;
  border-right: 1.5px solid rgba(255, 255, 255, 0.6);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.6);
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform 0.25s var(--ease-std), opacity 0.2s var(--ease-std), border-color 0.2s;
}
.drawer__toggle-btn[aria-expanded="true"]::after {
  opacity: 0;
  border-color: var(--c-gold-300);
}
@media (prefers-reduced-motion: reduce) {
  .drawer__toggle-btn .drawer__nail { transition: none; }
}


.product-detail-prose__desc {
  margin: 0 0 0.85rem;
  font-size: 0.9375rem;
  line-height: 1.95;
  color: var(--c-text-2);
  word-break: break-word;
}
.product-detail-prose__desc p { margin: 0 0 0.6rem; }
.product-detail-prose__desc p:last-child { margin-bottom: 0; }
.product-detail-prose__safe {
  margin: 0;
  padding-top: 0.7rem;
  border-top: 1px dashed rgba(11, 26, 21, 0.12);
  font-size: 0.8125rem;
  line-height: 1.7;
  color: var(--text-muted);
}


.product-detail-prose__body { margin: 0 0 1rem; }
.product-detail-prose__body > :first-child { margin-top: 0; }
.product-detail-prose__body > :last-child { margin-bottom: 0; }

.product-detail-prose__body--plain { white-space: pre-line; }


.spec-label {
  color: var(--c-gold-700, #8a6a2f);
  font-weight: 600;
  background: linear-gradient(180deg, transparent 60%, rgba(184, 146, 74, 0.22) 60%);
  padding: 0 2px;
  border-radius: 2px;
}




.footer__brand-name { display: inline-flex; align-items: center; gap: 10px; }
.footer__seal {
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-left: 2px;
  opacity: 0.92;
  transform: rotate(-3deg);
  transition: transform 0.3s var(--ease-std), opacity 0.3s var(--ease-std);
}
.footer__brand-name:hover .footer__seal { transform: rotate(0deg) scale(1.06); opacity: 1; }


.ab-brand__h { display: flex; align-items: center; gap: 12px; margin-bottom: 0.35rem; }
.ab-brand__seal {
  width: 34px;
  height: 34px;
  transform: rotate(-4deg);
  opacity: 0.9;
}




.side-nav__link.is-active {
  background: var(--c-cinnabar-soft, rgba(158, 43, 37, 0.10)) !important;
  color: var(--c-cinnabar, #9E2B25) !important;
  font-weight: 600 !important;
  box-shadow: inset 3px 0 0 var(--c-cinnabar, #9E2B25);
}
.side-nav__link.is-active::before { background: var(--c-cinnabar, #9E2B25) !important; }


.seal-corner {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 44px;
  height: 44px;
  transform: rotate(-8deg);
  filter: drop-shadow(0 4px 10px rgba(158, 43, 37, 0.28));
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .footer__seal, .footer__brand-name:hover .footer__seal { transition: none; transform: none; }
}


.product-detail-prose__media { position: relative; }

.product-detail-prose__media::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 38px;
  height: 38px;
  background: url("../img/seal-jia.png?v=20261018") center / contain no-repeat;
  transform: rotate(-8deg);
  opacity: 0.88;
  pointer-events: none;
  z-index: 4;
  filter: drop-shadow(0 2px 6px rgba(158, 43, 37, 0.35));
  transition: opacity 0.3s var(--ease-std), transform 0.3s var(--ease-std);
}

.product-detail-prose__media::after {
  width: 48px;
  height: 48px;
  top: 14px;
  right: 14px;
}
.product-detail-prose__media:hover::after { opacity: 1; transform: rotate(0deg) scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .quali-card__pic::after,
  .product-detail-prose__media::after,
  .qualification-card::before { transition: none; }
}


.quali-card__pic::after {
  width: 28px;
  height: 28px;
  top: 6px;
  right: 6px;
}
.product-detail-prose__body { position: relative; }
.product-detail-prose__body::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 46px;
  height: 46px;
  background: url("../img/seal-jia.png?v=20261018") center / contain no-repeat;
  transform: rotate(-8deg);
  opacity: 0.9;
  pointer-events: none;
  z-index: 4;
  filter: drop-shadow(0 2px 6px rgba(158, 43, 37, 0.35));
}


.qualification-item:nth-child(3) .qualification-card::before,
.qualification-item:nth-child(4) .qualification-card::before,
.qualification-item:nth-child(8) .qualification-card::before,
.quali-set > .quali-card:nth-child(3) .quali-card__pic::after,
.quali-set > .quali-card:nth-child(4) .quali-card__pic::after,
.quali-set > .quali-card:nth-child(8) .quali-card__pic::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  background: url("../img/seal-jia.png?v=20261018") center / contain no-repeat;
  transform: rotate(-8deg);
  opacity: 0.9;
  pointer-events: none;
  z-index: 4;
  filter: drop-shadow(0 2px 6px rgba(158, 43, 37, 0.35));
  transition: opacity 0.3s var(--ease-std), transform 0.3s var(--ease-std);
}
.quali-set > .quali-card:nth-child(3) .quali-card__pic::after,
.quali-set > .quali-card:nth-child(4) .quali-card__pic::after,
.quali-set > .quali-card:nth-child(8) .quali-card__pic::after {
  width: 26px;
  height: 26px;
  top: 6px;
  right: 6px;
}
.qualification-item:nth-child(3) .qualification-card:hover::before,
.qualification-item:nth-child(4) .qualification-card:hover::before,
.qualification-item:nth-child(8) .qualification-card:hover::before,
.quali-set > .quali-card:nth-child(3):hover .quali-card__pic::after,
.quali-set > .quali-card:nth-child(4):hover .quali-card__pic::after,
.quali-set > .quali-card:nth-child(8):hover .quali-card__pic::after {
  opacity: 1;
  transform: rotate(0deg) scale(1.06);
}


.join-show {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.2vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.join-show__item {
  position: relative;
  display: block;
  border-radius: 0.55rem;
  overflow: hidden;
  background: #e9e6df;
  box-shadow: 0 18px 38px -30px rgba(11, 26, 21, 0.75);
  transition: box-shadow 0.45s var(--ease-std);
}

.join-show__item:nth-child(even) { transform: translateY(clamp(1.25rem, 2.6vw, 2.75rem)); }
.join-show__pic { display: block; }
.join-show__pic img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transform: scale(1);
  transition: transform 1.2s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.5s var(--ease-std);
}
.join-show__item:hover .join-show__pic img {
  transform: scale(1.06);
  filter: brightness(1.05) saturate(1.04);
}
.join-show__meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  padding: 3rem 1.1rem 1rem;
  background: linear-gradient(to top, rgba(7, 18, 14, 0.88) 0%, rgba(7, 18, 14, 0.55) 45%, rgba(7, 18, 14, 0) 100%);
  transition: opacity 0.35s var(--ease-std);
}
.join-show__meta em {
  font-family: var(--font-num);
  font-style: normal;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--c-gold-300, #D4B276);
}
.join-show__meta strong {
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
}
.join-show__item:hover { box-shadow: 0 26px 48px -28px rgba(11, 26, 21, 0.8); }
@media (max-width: 47.99rem) {
  .join-show { grid-template-columns: minmax(0, 1fr); }
  .join-show__item:nth-child(even) { transform: none; }
  .join-show__meta { padding: 2.4rem 0.9rem 0.85rem; }
  .join-show__meta strong { font-size: 0.8125rem; }
}
@media (prefers-reduced-motion: reduce) {
  .join-show__item, .join-show__pic img { transition: none; }
  .join-show__item:hover .join-show__pic img { transform: none; }
}


.hero-slide__img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.hero-slide,
.hero__media { user-select: none; -webkit-user-select: none; }


.hero__title--sm { font-size: clamp(1.5rem, 3.9vw, 3.1rem) !important; line-height: 1.24 !important; }


.jbs-float__circles::before,
.jbs-float__circles::after {
  animation: none !important;
  opacity: 0 !important;
}


.jbs-float__circles span {
  animation: none !important;
  opacity: 0;
  transform: scale(1.1);
}
.jbs-float__circles span:nth-child(1) {
  opacity: 0.55;
  transform: scale(1.22);
}


.jbs-float:hover .jbs-float__circles span {
  animation-name: jbsPulseStrong !important;
  animation-duration: 2.6s !important;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
}
.jbs-float:hover .jbs-float__circles span:nth-child(1) { animation-delay: 0s !important; }
.jbs-float:hover .jbs-float__circles span:nth-child(2) { animation-delay: 0.85s !important; }
.jbs-float:hover .jbs-float__circles span:nth-child(3) { animation-delay: 1.7s !important; }


.jbs-float:not(:hover) .jbs-float__circles span:nth-child(1) {
  opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
  .jbs-float:hover .jbs-float__circles span {
    animation: none !important;
    opacity: 0;
  }
  .jbs-float:hover .jbs-float__circles span:nth-child(1) { opacity: 0.55; }
  .jbs-float__circles::before,
  .jbs-float__circles::after { display: none !important; }
}


.jbs-float__circles span:nth-child(1) {
  animation: jbsPulseStrong 3.4s cubic-bezier(0, 0, 0.2, 1) infinite !important;
  opacity: 0.6;
}

.jbs-float:hover .jbs-float__circles span:nth-child(1) {
  animation-duration: 2.6s !important;
}
.jbs-float:hover .jbs-float__circles span:nth-child(2) {
  animation: jbsPulseStrong 2.6s cubic-bezier(0, 0, 0.2, 1) 0.85s infinite !important;
}
.jbs-float:hover .jbs-float__circles span:nth-child(3) {
  animation: jbsPulseStrong 2.6s cubic-bezier(0, 0, 0.2, 1) 1.7s infinite !important;
}
@media (prefers-reduced-motion: reduce) {
  .jbs-float__circles span:nth-child(1) { animation: none !important; opacity: 0.55; }
}


.jbs-float__circles span:nth-child(3),
.jbs-float:hover .jbs-float__circles span:nth-child(3),
.jbs-float__circles::before,
.jbs-float__circles::after {
  animation: none !important;
  opacity: 0 !important;
  display: none !important;
}


.jbs-float__circles span:nth-child(1) {
  display: block !important;
  animation: jbsPulseStrong 3.4s cubic-bezier(0, 0, 0.2, 1) infinite !important;
  opacity: 0.6;
}

.jbs-float__circles span:nth-child(2) {
  display: block !important;
  animation: none !important;
  opacity: 0;
}
.jbs-float:hover .jbs-float__circles span:nth-child(1) {
  animation: jbsPulseStrong 2.6s cubic-bezier(0, 0, 0.2, 1) infinite !important;
}
.jbs-float:hover .jbs-float__circles span:nth-child(2) {
  animation: jbsPulseStrong 2.6s cubic-bezier(0, 0, 0.2, 1) 1.3s infinite !important;
}

@media (prefers-reduced-motion: reduce) {
  .jbs-float__circles span:nth-child(1),
  .jbs-float:hover .jbs-float__circles span:nth-child(1) {
    animation: none !important;
    opacity: 0.55;
  }
  .jbs-float__circles span:nth-child(2) { opacity: 0 !important; }
}


.founder-portrait__frame { position: relative; }

.founder-portrait__zoom.quali-card {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
  cursor: zoom-in;
}
.founder-portrait__zoom.quali-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.founder-portrait__zoom.quali-card:hover img { transform: scale(1.03); }
.founder-portrait__zoom.quali-card:focus-visible {
  outline: 2px solid var(--c-gold-300, #D4B276);
  outline-offset: 3px;
}

.founder-portrait__zoom::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(7, 18, 14, 0.66) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4B276' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
  border: 1px solid rgba(212, 178, 118, 0.5);
  opacity: 0;
  transition: opacity 0.3s var(--ease-std, ease);
  pointer-events: none;
  z-index: 3;
}
.founder-portrait__zoom.quali-card:hover::after,
.founder-portrait__zoom.quali-card:focus-visible::after { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .founder-portrait__zoom.quali-card img { transition: none; }
  .founder-portrait__zoom.quali-card:hover img { transform: none; }
}


.simple-zoom {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2.5rem);
  background: rgba(4, 12, 9, 0.92);
  cursor: zoom-out;
}
.simple-zoom[hidden] { display: none !important; }
.simple-zoom__inner {
  margin: 0;
  max-width: min(92vw, 1100px);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.simple-zoom__img {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  margin: 0 auto;
  border-radius: 0.35rem;
  box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9);
  background: #0B1A15;
}
.simple-zoom__cap {
  text-align: center;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  color: rgba(237, 230, 218, 0.82);
}
.simple-zoom__close {
  position: absolute;
  top: clamp(0.75rem, 2vw, 1.5rem);
  right: clamp(0.75rem, 2vw, 1.5rem);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(212, 178, 118, 0.5);
  background: rgba(7, 18, 14, 0.7);
  color: var(--c-gold-300, #D4B276);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.simple-zoom__close:hover { background: rgba(212, 178, 118, 0.18); }
body.is-simple-zoom { overflow: hidden; }


.qualification-card[data-simple-zoom] {
  cursor: zoom-in;
}
.qualification-card[data-simple-zoom]:focus-visible {
  outline: 2px solid var(--c-gold-300, #D4B276);
  outline-offset: 3px;
}

.simple-zoom__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(212, 178, 118, 0.45);
  background: rgba(7, 18, 14, 0.66);
  color: var(--c-gold-300, #D4B276);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease;
}
.simple-zoom__nav:hover { background: rgba(212, 178, 118, 0.18); border-color: rgba(212, 178, 118, 0.8); }
.simple-zoom__nav--prev { left: clamp(0.75rem, 2vw, 2rem); }
.simple-zoom__nav--next { right: clamp(0.75rem, 2vw, 2rem); }
.simple-zoom__count {
  position: absolute;
  left: 50%;
  bottom: clamp(0.75rem, 2.5vw, 1.75rem);
  transform: translateX(-50%);
  margin: 0;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  color: rgba(237, 230, 218, 0.62);
}
@media (max-width: 47.99rem) {
  .simple-zoom__nav { width: 40px; height: 40px; font-size: 24px; }
}


.hero--slides .hero-slide__scrim {
  background:
    radial-gradient(ellipse 64% 54% at 50% 52%,
      rgba(8, 20, 16, 0.20) 0%,
      rgba(8, 20, 16, 0.08) 55%,
      rgba(8, 20, 16, 0) 78%),
    var(--scrim-hero);
}

@media (max-width: 47.99rem) {
  .hero--slides .hero .btn-group {
    flex-direction: column;
    width: 100%;
    max-width: 20rem;
    margin-inline: auto;
    gap: 0.625rem;
  }
  .hero--slides .hero .btn-group .btn {
    width: 100%;
    justify-content: center;
  }
}


body.page-home {
  --pc-dark: #16302A;
  --pc-dark-2: #1B332C;
  --pc-emerald: #22463C;
  --pc-sand: #F4EFE6;
  --pc-ivory: #F4EFE6;
  --pc-gold: #D9B36C;
  --pc-gold-2: #A8843C;
  --pc-gold-3: #8A6A30;
  --pc-cream: #F6F1E7;
  --pc-cream-2: #C6D2CA;
  --pc-ink: #16261F;
  --pc-ink-2: #55655D;
  background-color: var(--pc-dark) !important;
}
body.page-home main { background-color: var(--pc-dark) !important; }
body.page-home main > section,
body.page-home main > div.screen-pair { margin-block: 0 !important; }


body.page-home main > section#founder {
  background-color: #16302A !important;
  background-image:
    radial-gradient(circle at 22% 18%, rgba(53, 117, 95, 0.28), transparent 52%),
    radial-gradient(circle at 82% 78%, rgba(184, 146, 74, 0.16), transparent 50%) !important;
}
body.page-home #founder .sec-head__title { color: var(--pc-cream) !important; }
body.page-home #founder .sec-head__lead { color: var(--pc-cream-2) !important; }
body.page-home #founder .eyebrow { color: var(--pc-gold) !important; }


body.page-home #growth { background-color: var(--pc-ivory) !important; }
body.page-home #growth .sec-head__title,
body.page-home #growth .growth__title,
body.page-home #growth .growth__year,
body.page-home #growth .growth__phase span { color: var(--pc-ink) !important; }
body.page-home #growth .sec-head__lead,
body.page-home #growth .growth__desc,
body.page-home #growth .growth__phase em { color: var(--pc-ink-2) !important; }
body.page-home #growth .eyebrow { color: var(--pc-gold-3) !important; }
body.page-home #growth .growth__year { color: var(--pc-gold-3) !important; font-weight: 600 !important; }
body.page-home #growth .growth__card {
  background-color: #FFFFFF !important;
  border: 1px solid rgba(22, 38, 31, 0.08) !important;
  box-shadow: 0 22px 46px -38px rgba(22, 38, 31, 0.6) !important;
}
body.page-home #growth .growth__fill {
  background: linear-gradient(to bottom, var(--pc-gold-2) 0%, rgba(192, 154, 87, 0.22) 100%) !important;
}
body.page-home #growth .growth__dot {
  background-color: var(--pc-gold-2) !important;
  box-shadow: 0 0 0 4px rgba(192, 154, 87, 0.16) !important;
}


body.page-home main > section.map-stage { background-color: var(--pc-emerald) !important; }
body.page-home main > section.map-stage :is(h2, h3, h4, p, span, strong, em, li, a) { color: var(--pc-cream) !important; }
body.page-home main > section.map-stage .sec-head__lead { color: var(--pc-cream-2) !important; }
body.page-home main > section.map-stage .eyebrow { color: var(--pc-gold) !important; }


body.page-home #services-layout { background-color: var(--pc-dark) !important; }
body.page-home #services-layout .sec-head__title { color: var(--pc-cream) !important; }
body.page-home #services-layout .sec-head__lead { color: var(--pc-cream-2) !important; }
body.page-home #services-layout .eyebrow { color: var(--pc-gold) !important; }
body.page-home #services-layout .service-card {
  background-color: var(--pc-dark-2) !important;
  border: 1px solid rgba(217, 188, 133, 0.2) !important;
}
body.page-home #services-layout .service-card__title { color: var(--pc-cream) !important; }
body.page-home #services-layout .service-card__desc { color: var(--pc-cream-2) !important; }


body.page-home .screen-pair--inquiry { background-color: var(--pc-sand) !important; }
body.page-home .screen-pair--inquiry > section,
body.page-home #support,
body.page-home .cta-band { background-color: var(--pc-sand) !important; }
body.page-home #support::before,
body.page-home .cta-band::before { opacity: 0 !important; }
body.page-home #support :is(h2, h3, h4, p, span, li, strong, em, dt, dd),
body.page-home .cta-band :is(h2, h3, h4, p, span, li, strong, em, figcaption) {
  color: var(--pc-ink) !important;
}
body.page-home #support .sec-head__lead,
body.page-home .cta-band__title-note { color: var(--pc-ink-2) !important; }
body.page-home #support .eyebrow { color: var(--pc-gold-3) !important; }
body.page-home #support .timeline__item,
body.page-home .cta-band .join-gallery__slide {
  background-color: #FFFFFF !important;
  border: 1px solid rgba(22, 38, 31, 0.1) !important;
  box-shadow: 0 22px 46px -38px rgba(22, 38, 31, 0.55) !important;
}
body.page-home #support .timeline__dot { background-color: var(--pc-gold-2) !important; color: #FFFFFF !important; }
body.page-home #support .timeline__title { color: var(--pc-ink) !important; }
body.page-home #support .timeline__desc {
  background-color: var(--pc-dark) !important;
  color: var(--pc-cream) !important;
  border: 1px solid rgba(217, 188, 133, 0.4) !important;
}
body.page-home .cta-band .join-gallery__arrow,
body.page-home .cta-band .btn:not(.btn--gold) {
  background-color: transparent !important;
  color: var(--pc-ink) !important;
  border-color: rgba(22, 38, 31, 0.3) !important;
}


body.page-home .btn--gold {
  background: linear-gradient(135deg, #D9B36C 0%, var(--pc-gold-2) 100%) !important;
  color: #1A201C !important;
  border-color: transparent !important;
}
body.page-home .btn--outline-light { border-color: rgba(217, 188, 133, 0.55) !important; color: var(--pc-cream) !important; }


body.page-home .screen-pair--inquiry,
body.page-home .screen-pair--inquiry > section,
body.page-home #support,
body.page-home .cta-band {
  background-image: none !important;
}
body.page-home .screen-pair--inquiry::before,
body.page-home .screen-pair--inquiry::after,
body.page-home #support::before,
body.page-home #support::after,
body.page-home .cta-band::before,
body.page-home .cta-band::after {
  content: none !important;
  display: none !important;
}

body.page-home main::before,
body.page-home main::after,
body.page-home > .page::before,
body.page-home > .page::after { display: none !important; }


body.page-home .hero--slides .hero-slide:nth-child(1) .hero-slide__img { object-position: 50% 55% !important; }
body.page-home .hero--slides .hero-slide:nth-child(2) .hero-slide__img { object-position: 62% 50% !important; }
body.page-home .hero--slides .hero-slide:nth-child(3) .hero-slide__img { object-position: 52% 45% !important; }
body.page-home .hero--slides .hero-slide:nth-child(4) .hero-slide__img { object-position: 68% 50% !important; }
body.page-home .hero--slides .hero-slide:nth-child(5) .hero-slide__img { object-position: 50% 50% !important; }


body.page-home .hero--slides .hero__inner {
  text-align: left !important;
  max-width: 46rem !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
body.page-home .hero--slides .eyebrow,
body.page-home .hero--slides .hero__lead,
body.page-home .hero--slides .hero__note { text-align: left !important; }
body.page-home .hero--slides .btn-group { justify-content: flex-start !important; }

body.page-home .hero--slides .hero-slide__scrim {
  background: linear-gradient(100deg,
    rgba(8, 20, 16, 0.76) 0%,
    rgba(8, 20, 16, 0.48) 38%,
    rgba(8, 20, 16, 0.12) 68%,
    rgba(8, 20, 16, 0.00) 100%) !important;
}
body.page-home .hero--slides .hero-slide:nth-child(2) .hero-slide__img,
body.page-home .hero--slides .hero-slide:nth-child(4) .hero-slide__img {
  filter: brightness(1.08) !important;
}


body.page-home .hero--slides .hero-slide { transition: opacity 1.2s var(--ease-std, ease), visibility 1.2s !important; }


@keyframes heroLineV2 {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}
body.page-home .hero--slides .hero-slide.is-active .eyebrow       { animation: heroLineV2 0.7s 0.05s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__title   { animation: heroLineV2 0.8s 0.18s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__lead    { animation: heroLineV2 0.7s 0.34s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__note    { animation: heroLineV2 0.7s 0.46s both; }
body.page-home .hero--slides .hero-slide.is-active .btn-group     { animation: heroLineV2 0.7s 0.58s both; }


@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero__inner {
    max-width: 100% !important;
    margin-top: auto !important;
    padding-bottom: clamp(1.5rem, 6vw, 3rem) !important;
  }
  body.page-home .hero--slides .hero-slide { align-items: flex-end !important; }
  body.page-home .hero--slides .hero-slide__scrim {
    background: linear-gradient(to top,
      rgba(8, 20, 16, 0.93) 0%,
      rgba(8, 20, 16, 0.62) 42%,
      rgba(8, 20, 16, 0.12) 74%,
      rgba(8, 20, 16, 0.00) 100%) !important;
  }
  body.page-home .hero--slides .hero__note { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .hero--slides .hero-slide.is-active .eyebrow,
  body.page-home .hero--slides .hero-slide.is-active .hero__title,
  body.page-home .hero--slides .hero-slide.is-active .hero__lead,
  body.page-home .hero--slides .hero-slide.is-active .hero__note,
  body.page-home .hero--slides .hero-slide.is-active .btn-group { animation: none !important; }
}


body.page-home .hero--slides .hero-slide:nth-child(1) .hero__inner,
body.page-home .hero--slides .hero-slide:nth-child(5) .hero__inner {
  margin-left: clamp(5rem, 15vw, 15rem) !important;
  max-width: 40rem !important;
}

@keyframes heroLineV3 {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
body.page-home .hero--slides .hero-slide.is-active .eyebrow     { animation: heroLineV3 0.55s 0.10s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__title { animation: heroLineV3 0.70s 0.22s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__lead  { animation: heroLineV3 0.55s 0.36s both; }
body.page-home .hero--slides .hero-slide.is-active .hero__note  { animation: heroLineV3 0.55s 0.46s both; }
body.page-home .hero--slides .hero-slide.is-active .btn-group   { animation: heroLineV3 0.55s 0.56s both; }


body.page-home .hero--slides .hero-slide__img {
  transform: scale(1.08);
  transition: transform 9s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 1.2s var(--ease-std, ease) !important;
  will-change: transform;
}
body.page-home .hero--slides .hero-slide.is-active .hero-slide__img {
  transform: scale(1);
}
body.page-home .hero--slides .hero-slide.is-active .hero-slide__scrim {
  transition: opacity 1.2s var(--ease-std, ease) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .hero--slides .hero-slide__img,
  body.page-home .hero--slides .hero-slide.is-active .hero-slide__img { transform: none !important; transition: none !important; }
}



body.page-home .hero--slides .hero-slide.is-active .eyebrow,
body.page-home .hero--slides .hero-slide.is-active .hero__title,
body.page-home .hero--slides .hero-slide.is-active .hero__lead,
body.page-home .hero--slides .hero-slide.is-active .hero__note,
body.page-home .hero--slides .hero-slide.is-active .btn-group {
  animation: none !important;
}
body.page-home .hero--slides .hero-slide {
  transition: none !important;
}
body.page-home .hero--slides .hero-slide__img {
  transform: none !important;
  transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}
body.page-home .hero--slides .hero-slide.is-active .hero-slide__img {
  transform: scale(1.07) !important;
}




body.page-home .hero--slides .hero__title {
  font-size: clamp(1.8rem, 3.2vw, 3.4rem) !important;
  line-height: 1.22 !important;
  letter-spacing: 0.02em !important;
}
body.page-home .hero--slides .hero__lead {
  font-size: clamp(0.9375rem, 1.15vw, 1.125rem) !important;
  line-height: 1.6 !important;
  max-width: 34em !important;
}
body.page-home .hero--slides .hero__note { display: none !important; }




body.page-home .hero--slides .hero__inner,
body.page-home .hero--slides .hero__inner > * {
  text-align: left !important;
}
body.page-home .hero--slides .hero__title,
body.page-home .hero--slides .hero__lead,
body.page-home .hero--slides .eyebrow {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
body.page-home .hero--slides .btn-group {
  justify-content: flex-start !important;
  align-self: flex-start !important;
  margin-left: 0 !important;
}
@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero__inner,
  body.page-home .hero--slides .hero__inner > * { text-align: left !important; }
  body.page-home .hero--slides .hero__title,
  body.page-home .hero--slides .hero__lead,
  body.page-home .hero--slides .eyebrow { margin-left: 0 !important; margin-right: auto !important; }
  body.page-home .hero--slides .btn-group { justify-content: flex-start !important; align-self: flex-start !important; }
}


@media (max-width: 47.99rem) {
  body.page-home #support .timeline__desc {
    background-color: #FFFFFF !important;
    color: #1C1A17 !important;
    border: 1px solid rgba(126, 98, 41, 0.22) !important;
    box-shadow: 0 14px 30px -22px rgba(40, 32, 20, 0.45) !important;
  }
  body.page-home #support .timeline__item { background-color: #FFFFFF !important; }
  body.page-home #support .timeline__title { color: #1C1A17 !important; }
}


body.page-home #growth { background-color: #F7F4EE !important; }
body.page-home #growth .sec-head__title,
body.page-home #growth .growth__title,
body.page-home #growth .growth__phase span { color: #16261F !important; }
body.page-home #growth .sec-head__lead,
body.page-home #growth .growth__desc,
body.page-home #growth .growth__phase em { color: #55655D !important; }
body.page-home #growth .eyebrow { color: #8A6A30 !important; }
body.page-home #growth .growth__year { color: #A8843C !important; }
@media (max-width: 47.99rem) {
  body.page-home #growth .growth__card {
    background-color: #FFFFFF !important;
    border: 1px solid rgba(22, 38, 31, 0.1) !important;
  }
  body.page-home #growth { background-color: #F7F4EE !important; }
  body.page-home #growth .sec-head__title { color: #16261F !important; }
  body.page-home #growth .growth__title { color: #16261F !important; }
  body.page-home #growth .growth__desc { color: #55655D !important; }
}


body.page-home #growth .growth,
body.page-home #growth .growth__tree,
body.page-home #growth .growth-wrap,
body.page-home #growth .growth__inner {
  background-color: transparent !important;
  background-image: none !important;
}
body.page-home #growth .growth__year,
body.page-home #growth .growth__phase span {
  color: #16261F !important;
}
body.page-home #growth .growth__phase {
  background-color: rgba(22, 38, 31, 0.06) !important;
  border-color: rgba(22, 38, 31, 0.12) !important;
}
body.page-home #growth .growth__phase em { color: #7E6229 !important; }


body.page-home #growth {
  background-image: none !important;
}
body.page-home #growth .yearline__panel,
body.page-home #growth .yearline__panel.is-on {
  background-image: none !important;
  background-color: #FFFFFF !important;
  border: 1px solid rgba(22, 38, 31, 0.1) !important;
}
body.page-home #growth .yearline__btn { color: #16261F !important; }
body.page-home #growth .yearline__btn.is-active { color: #1C1A17 !important; background-color: rgba(165, 127, 60, 0.16) !important; }


@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero__inner {
    padding-bottom: clamp(4.5rem, 14vw, 6rem) !important;
  }
  body.page-home .hero--slides .hero-dots {
    bottom: clamp(1.1rem, 4vw, 1.6rem) !important;
    z-index: 6 !important;
  }
  body.page-home .founder-portrait__frame {
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
  }
  body.page-home .founder-portrait__zoom.quali-card,
  body.page-home .founder-portrait__zoom.quali-card img {
    height: 100% !important;
    object-fit: cover !important;
  }
}


body.page-home #growth .yearline__panel :is(h1, h2, h3, h4, p, span, strong, em, li, dt, dd, small),
body.page-home #growth :is(.growth__phase, .growth__year, .growth__title, .growth__desc) {
  color: #16261F !important;
}
body.page-home #growth .yearline__panel :is(p, span, em, small, dd),
body.page-home #growth .growth__desc {
  color: #55655D !important;
}

body.page-home #growth .yearline__panel :is(strong, b),
body.page-home #growth .growth__year {
  color: #A8843C !important;
}

body.page-home #growth > .container > p,
body.page-home #growth .growth-note,
body.page-home #growth .sec-footnote,
body.page-home #growth small {
  color: #7A6A55 !important;
}

body.page-home #growth .yearline__panel { color: #16261F !important; }
body.page-home #growth .yearline__panel hr,
body.page-home #growth .yearline__panel::after { border-color: rgba(22, 38, 31, 0.12) !important; }


body.page-home {
  --c-paper: #F4EFE6;
  --c-paper-2: #F7F2E9;
  --c-gold-300: #D9B36C;
  --c-gold-500: #A8843C;
  --cinnabar: #9E2B25;
}


body.page-home main > section:not(.hero):not(.map-stage),
body.page-home main > section.section--ink,
body.page-home .screen-pair--inquiry > section,
body.page-home #services-layout,
body.page-home #contact-screen {

  background-color: var(--pc-dark, #16302A) !important;
  background-image: none !important;
}
body.page-home #founder::before,
body.page-home #services-layout::before,
body.page-home #contact-screen::before { opacity: 0 !important; }


body.page-home #growth { background-color: #F4EFE6 !important; background-image: none !important; }
body.page-home #growth .sec-head__title,
body.page-home #growth .growth__title,
body.page-home #growth .growth__phase span { color: #16261F !important; }
body.page-home #growth .sec-head__lead,
body.page-home #growth .growth__desc { color: #55655D !important; }
body.page-home #growth .eyebrow { color: #A8843C !important; }
body.page-home #growth .growth__year { color: #A8843C !important; }
body.page-home #growth .yearline__panel { background-color: #FFFFFF !important; background-image: none !important; }
body.page-home #growth .yearline__panel :is(p,span,em,small,dd,li) { color: #55655D !important; }
body.page-home #growth .yearline__panel :is(h1,h2,h3,h4,strong,b) { color: #16261F !important; }


body.page-home .screen-pair--inquiry,
body.page-home #support,
body.page-home .cta-band { background-color: #F4EFE6 !important; background-image: none !important; }
body.page-home #support :is(h2,h3,h4,p,span,li,strong,em,dt,dd),
body.page-home .cta-band :is(h2,h3,h4,p,span,li,strong,em,figcaption) { color: #16261F !important; }
body.page-home #support .sec-head__lead,
body.page-home .cta-band__title-note { color: #5C544B !important; }
body.page-home #support .eyebrow { color: #A8843C !important; }
body.page-home #support .timeline__item,
body.page-home .cta-band .join-gallery__slide,
body.page-home .cta-band .video-frame--premium {
  background-color: #FFFFFF !important;
  border: 1px solid rgba(28,26,23,.1) !important;
}
body.page-home #support .timeline__title { color: #16261F !important; }
body.page-home #support .timeline__desc {
  background-color: #16302A !important;
  color: #EFE8DC !important;
  border: 1px solid rgba(217,183,108,.4) !important;
}
body.page-home #support .timeline__dot { background-color: #D9B36C !important; color: #16302A !important; }


body.page-home main > section.map-stage { background-color: #16302A !important; background-image: none !important; }


body.page-home .eyebrow { letter-spacing: .3em !important; }


body.page-home .nav__link:hover,
body.page-home .nav__link:focus-visible { color: #9E2B25 !important; }
body.page-home .nav__link--current,
body.page-home .nav__link.is-active { color: #9E2B25 !important; }
body.page-home .nav__link--current::after,
body.page-home .nav__link.is-active::after { background-color: #9E2B25 !important; }
body.page-home .header { border-bottom: 1px solid rgba(158,43,37,.28) !important; }

body.page-home a[href="/support/"].btn,
body.page-home a.btn[href*="support"],
body.page-home .btn--cinnabar {
  background: linear-gradient(135deg, #B5372F 0%, #9E2B25 100%) !important;
  color: #F7F1E6 !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px -18px rgba(158,43,37,.85) !important;
}
body.page-home a[href="/support/"].btn:hover,
body.page-home a.btn[href*="support"]:hover { background: linear-gradient(135deg, #C04038 0%, #A8332C 100%) !important; }


body.page-home .btn--gold {
  background: linear-gradient(135deg, #D9B36C 0%, #A8843C 100%) !important;
  color: #1A201C !important;
  border-color: transparent !important;
}
body.page-home .btn--outline-light {
  border-color: rgba(217,183,108,.55) !important;
  color: #EFE8DC !important;
}
body.page-home #support .btn:not(.btn--gold):not([href*="support"]),
body.page-home .cta-band .btn:not(.btn--gold):not([href*="support"]) {
  color: #16261F !important;
  border-color: rgba(28,26,23,.3) !important;
  background-color: transparent !important;
}


body.page-home .cta-band,
body.page-home .cta-band > .container,
body.page-home .cta-band > section,
body.page-home #services-layout {
  background-color: #F4EFE6 !important;
  background-image: none !important;
}
body.page-home .cta-band::before,
body.page-home .cta-band::after,
body.page-home #services-layout::before,
body.page-home #services-layout::after {
  content: none !important;
  display: none !important;
}


body.page-home .cta-band__title { color: #16261F !important; }
body.page-home .cta-band__title-note { color: #5C544B !important; }
body.page-home .cta-band .join-gallery__hint,
body.page-home .cta-band .video-frame__caption { color: #5C544B !important; }
body.page-home .cta-band .btn:not(.btn--gold):not([href*="support"]) {
  color: #16261F !important;
  border-color: rgba(28,26,23,.3) !important;
  background-color: transparent !important;
}
body.page-home .cta-band .btn--gold { color: #1A201C !important; }


body.page-home #services-layout .sec-head__title { color: #16261F !important; }
body.page-home #services-layout .sec-head__lead { color: #55655D !important; }
body.page-home #services-layout .eyebrow { color: #A8843C !important; }
body.page-home #services-layout .service-card {
  background-color: #FFFFFF !important;
  border: 1px solid rgba(28,26,23,.1) !important;
  box-shadow: 0 24px 48px -42px rgba(28,26,23,.6) !important;
}
body.page-home #services-layout .service-card__title { color: #16261F !important; }
body.page-home #services-layout .service-card__desc { color: #55655D !important; }


body.page-home .screen-pair--inquiry > section.cta-band,
body.page-home .screen-pair--inquiry > section#support,
body.page-home .screen-pair--inquiry > section.cta-band > .container {
  background-color: #F4EFE6 !important;
  background-image: none !important;
}


body.page-home #services-layout .services-layout__title,
body.page-home #services-layout .services-layout__title span { color: #16261F !important; }
body.page-home #services-layout .services-layout__title span { color: #A8843C !important; }
body.page-home #services-layout .services-layout__subtitle,
body.page-home #services-layout .services-layout__lead { color: #55655D !important; }


body.page-home #services-layout .service-card__title {
  color: #D9B36C !important;
  text-shadow: 0 1px 2px rgba(22,48,42,.55) !important;
}
body.page-home #services-layout .service-card__desc {
  color: #FFFFFF !important;
  text-shadow: 0 1px 2px rgba(22,48,42,.6) !important;
}
body.page-home #services-layout .service-card__body {
  background: linear-gradient(to top,
    rgba(22, 48, 42, 0.90) 0%,
    rgba(22, 48, 42, 0.62) 55%,
    rgba(22, 48, 42, 0.00) 100%) !important;
}


body.page-home #services-layout .services-layout__title,
body.page-home #services-layout .services-layout__title span,
body.page-home #services-layout .services-layout__title em,
body.page-home #services-layout .services-layout__title strong {
  color: #16261F !important;
  -webkit-text-fill-color: #16261F !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-shadow: none !important;
}


body.page-home .nav__link,
body.page-home .nav__link:visited {
  color: #F2EADA !important;
}
body.page-home .nav__link:hover,
body.page-home .nav__link:focus-visible {
  color: #D9B36C !important;
}
body.page-home .nav__link--current,
body.page-home .nav__link.is-active,
body.page-home .nav__link[aria-current="page"] {
  color: #D9B36C !important;
  font-weight: 500 !important;
}
body.page-home .nav__link--current::after,
body.page-home .nav__link.is-active::after,
body.page-home .nav__link[aria-current="page"]::after {
  background-color: #D9B36C !important;
}

body.page-home .header {
  border-bottom: 1px solid rgba(217,183,108,.22) !important;
}

body.page-home .nav__sub-link { color: rgba(242,234,218,.82) !important; }
body.page-home .nav__sub-link:hover,
body.page-home .nav__sub-link:focus-visible { color: #D9B36C !important; }


body.page-home .nav__link[href="/"],
body.page-home .nav__link[href="./"],
body.page-home .nav__link[href$="/index.php"],
body.page-home .nav__link[href$="/index.html"] {
  color: #D9B36C !important;
  font-weight: 500 !important;
}
body.page-home .nav__link[href="/"]:hover,
body.page-home .nav__link[href="/"]:focus-visible { color: #D9B36C !important; }




body.page-home #growth .tree__trunk {
  background: linear-gradient(to right, #6E5222 0%, #8A6A2F 42%, #B4904F 58%, #6E5222 100%) !important;
}
body.page-home #growth .tree__crown {
  filter: saturate(.92) brightness(.86) !important;
}
body.page-home #growth .tree__base {
  background: linear-gradient(to right, #6E5222 0%, #8A6A2F 50%, #6E5222 100%) !important;
}
body.page-home #growth .tree__glow,
body.page-home #growth .tree__crown-glow {
  opacity: .42 !important;
  background: radial-gradient(circle, rgba(232, 197, 133, .55) 0%, rgba(232, 197, 133, 0) 70%) !important;
}
body.page-home #growth .growth__year { color: #7E6229 !important; }
body.page-home #growth .growth__dot {
  background-color: #8A6A2F !important;
  box-shadow: 0 0 0 3px rgba(138, 106, 47, .18) !important;
}
body.page-home #growth .growth__item.is-current .growth__dot,
body.page-home #growth .growth__item:hover .growth__dot {
  background-color: #9E2B25 !important;
  box-shadow: 0 0 0 4px rgba(158, 43, 37, .18) !important;
}
body.page-home #growth .growth__item.is-current .growth__year,
body.page-home #growth .growth__item:hover .growth__year { color: #9E2B25 !important; }
body.page-home #growth .growth__fill {
  background: linear-gradient(to bottom, #8A6A2F 0%, rgba(138,106,47,.18) 100%) !important;
}
body.page-home #growth .eyebrow { color: #7E6229 !important; }


@keyframes gTreeGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes gTreeFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes gNodeLight { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
@keyframes gPulse { 0%,100% { box-shadow: 0 0 0 3px rgba(138,106,47,.18); } 50% { box-shadow: 0 0 0 9px rgba(138,106,47,.06); } }
@keyframes gSweep { 0% { transform: translateY(100%); opacity: 0; } 12% { opacity: .55; } 60% { opacity: .18; } 100% { transform: translateY(-30%); opacity: 0; } }

body.page-home #growth .tree__trunk {
  transform-origin: bottom center;
  transform: scaleY(0);
}
body.page-home #growth .tree__crown,
body.page-home #growth .tree__base,
body.page-home #growth .tree__crown-verdigris {
  opacity: 0;
}
body.page-home #growth .growth__item .growth__dot { opacity: 0; }
body.page-home #growth .growth__year { opacity: 0; }

body.page-home #growth.is-grown .tree__trunk {
  animation: gTreeGrow 2.8s cubic-bezier(.22,.61,.36,1) forwards;
}
body.page-home #growth.is-grown .tree__base {
  animation: gTreeFade .9s .1s var(--ease-std, ease) forwards;
}
body.page-home #growth.is-grown .tree__crown,
body.page-home #growth.is-grown .tree__crown-verdigris {
  animation: gTreeFade 1.1s 1.9s var(--ease-std, ease) forwards;
}
body.page-home #growth.is-grown .growth__item .growth__dot {
  animation: gNodeLight .5s var(--ease-std, ease) forwards;
}
body.page-home #growth.is-grown .growth__year {
  animation: gTreeFade .5s var(--ease-std, ease) forwards;
}
body.page-home #growth.is-grown .growth__item:nth-child(1) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(1) .growth__year { animation-delay: .25s; }
body.page-home #growth.is-grown .growth__item:nth-child(2) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(2) .growth__year { animation-delay: .45s; }
body.page-home #growth.is-grown .growth__item:nth-child(3) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(3) .growth__year { animation-delay: .65s; }
body.page-home #growth.is-grown .growth__item:nth-child(4) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(4) .growth__year { animation-delay: .85s; }
body.page-home #growth.is-grown .growth__item:nth-child(5) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(5) .growth__year { animation-delay: 1.05s; }
body.page-home #growth.is-grown .growth__item:nth-child(6) .growth__dot,
body.page-home #growth.is-grown .growth__item:nth-child(6) .growth__year { animation-delay: 1.25s; }


body.page-home #growth.is-grown .growth__dot { animation: gPulse 4s ease-in-out infinite; }
body.page-home #growth.is-grown::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(to top, rgba(232,197,133,.16) 0%, rgba(232,197,133,0) 100%);
  animation: gSweep 9s 3.4s ease-in-out infinite;
  z-index: 2;
}
body.page-home #growth { position: relative; }

@media (prefers-reduced-motion: reduce) {
  body.page-home #growth .tree__trunk,
  body.page-home #growth .tree__crown,
  body.page-home #growth .tree__base,
  body.page-home #growth .tree__crown-verdigris,
  body.page-home #growth .growth__dot,
  body.page-home #growth .growth__year { animation: none !important; opacity: 1 !important; transform: none !important; }
  body.page-home #growth.is-grown::after { display: none !important; }
}
@media (max-width: 47.99rem) {
  body.page-home #growth.is-grown::after { display: none !important; }
}


body.page-home #growth .tree__trunk { transform-origin: bottom center; }
body.page-home #growth .tree__crown,
body.page-home #growth .tree__base,
body.page-home #growth .tree__crown-verdigris,
body.page-home #growth .growth__item .growth__dot,
body.page-home #growth .growth__year { opacity: 1 !important; }




body.page-home #growth .growth--legacy { display: none !important; }


body.page-home #growth .tree-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: center;
  margin-top: clamp(1.4rem, 3vh, 2.2rem);
}
body.page-home #growth .tree-stage__svg {
  display: block;
  width: 100%;
  max-width: 560px;
  max-height: min(64vh, 620px);
  height: auto;
  margin: 0 auto;
  overflow: visible;
}


body.page-home #growth .trunk-path,
body.page-home #growth .branch-path {
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
body.page-home #growth .trunk-path { stroke: url(#trunkGrad); stroke-width: 7; }
body.page-home #growth .branch-path { stroke: #8A6A2F; stroke-width: 2.6; }
body.page-home #growth .tree-base { opacity: 0; }
body.page-home #growth .tree-logo { opacity: 0; }
body.page-home #growth .tree-node { opacity: 0; cursor: pointer; }

body.page-home #growth.is-grown .trunk-path {
  animation: jbsTrunkDraw 2.4s cubic-bezier(.22,.61,.36,1) forwards;
}
body.page-home #growth.is-grown .branch-path {
  animation: jbsBranchDraw 1.1s cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: var(--d, 0s);
}
body.page-home #growth.is-grown .tree-base {
  animation: jbsTreeFade .8s .1s ease forwards;
}
body.page-home #growth.is-grown .tree-logo {
  animation: jbsTreeFade .9s 2.1s ease forwards;
}
body.page-home #growth.is-grown .tree-node {
  animation: jbsNodePop .5s ease forwards;
  animation-delay: var(--d, 0s);
}
@keyframes jbsTrunkDraw { to { stroke-dashoffset: 0; } }
@keyframes jbsBranchDraw { to { stroke-dashoffset: 0; } }
@keyframes jbsTreeFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes jbsNodePop { from { opacity: 0; } to { opacity: 1; } }


body.page-home #growth .tree-node:hover .leaf-shape,
body.page-home #growth .tree-node.is-on .leaf-shape { fill: url(#cinnabarGrad) !important; }
body.page-home #growth .tree-node:hover text,
body.page-home #growth .tree-node.is-on text { fill: #9E2B25 !important; }
body.page-home #growth .tree-node:focus-visible { outline: none; }


body.page-home #growth .tree-plaque {
  position: relative;
  background: #16261F;
  color: #EFE8DC;
  border: 1px solid rgba(201,165,92,.35);
  border-radius: 4px;
  padding: clamp(1.3rem, 2.6vw, 2rem);
  box-shadow: 0 30px 60px -44px rgba(22,38,31,.8);
}
body.page-home #growth .tree-plaque__tag {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .2em;
  color: #A8843C;
  border: 1px solid rgba(201,165,92,.3);
  padding: .3rem .7rem;
  margin-bottom: 1rem;
}
body.page-home #growth .tree-plaque__year {
  font-family: var(--serif);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  color: #C9A55C;
  line-height: 1;
}
body.page-home #growth .tree-plaque__title {
  font-family: var(--serif);
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  color: #F4EFE6;
  margin: .6rem 0 .7rem;
}
body.page-home #growth .tree-plaque__desc {
  font-size: .875rem;
  line-height: 1.9;
  color: rgba(239,232,220,.78);
}
body.page-home #growth .tree-plaque__seal {
  position: absolute;
  right: 1rem; bottom: 1rem;
  width: 42px; height: 42px;
  background: #9E2B25;
  color: #F7F1E6;
  font-family: var(--serif);
  font-size: 12px;
  line-height: 1.2;
  display: grid;
  place-items: center;
  border-radius: 3px;
  text-align: center;
}


@media (max-width: 63.99rem) {
  body.page-home #growth .tree-stage { grid-template-columns: 1fr; }
  body.page-home #growth .tree-stage__svg { max-width: 460px; max-height: 52vh; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-home #growth .trunk-path,
  body.page-home #growth .branch-path { stroke-dashoffset: 0 !important; animation: none !important; }
  body.page-home #growth .tree-base,
  body.page-home #growth .tree-logo,
  body.page-home #growth .tree-node { opacity: 1 !important; animation: none !important; }
}


body.page-home #growth .tree-stage {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}
body.page-home #growth .tree-stage__svg {
  width: 100%;
  max-width: 460px;
  height: auto;
  max-height: none;
}
@media (max-width: 63.99rem) {
  body.page-home #growth .tree-stage__svg { max-width: 380px; max-height: none; }
}


body.page-home #growth .tree,
body.page-home #growth .tree-wrap,
body.page-home #growth .tree-svg,
body.page-home #growth .yearline,
body.page-home #growth .yearline__panel { display: none !important; }




  #growth{
    --paper:#F3EBD8;
    --paper-deep:#E8DDC2;
    --ink:#2B2114;
    --ink-soft:#5C4D33;
    --bronze:#8A6A30;
    --bronze-mid:#B08C4E;
    --bronze-light:#D9B76C;
    --bronze-pale:#EBD29A;
    --jade:#16241E;
    --jade-deep:#0C1712;
    --seal:#B33A2A;
    --serif:"Noto Serif SC","Songti SC",serif;
    --sans:"Noto Sans SC","PingFang SC",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:
      radial-gradient(ellipse at 50% -10%, #FBF5E6 0%, var(--paper) 55%, var(--paper-deep) 100%);
    min-height:100vh;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }

  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.3 0 0 0 0 0.15 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }


#growth .stage{
    position:relative;z-index:1;
    max-width:1280px;margin:0 auto;
    padding:80px 32px 120px;
  }
#growth .head{text-align:center;margin-bottom:56px}
#growth .head .eyebrow{
    display:inline-flex;align-items:center;gap:14px;
    font-family:var(--serif);font-size:13px;letter-spacing:.5em;color:var(--bronze);
    text-transform:uppercase;margin-bottom:18px;
  }
#growth .head .eyebrow::before,.head .eyebrow::after{
    content:"";width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze-mid));
  }
#growth .head .eyebrow::after{background:linear-gradient(90deg,var(--bronze-mid),transparent)}
#growth .head h1{
    font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.5vw,54px);
    color:var(--ink);letter-spacing:.12em;
  }
#growth .head .sub{
    margin-top:16px;color:var(--ink-soft);font-size:15px;letter-spacing:.05em;
  }


#growth .journey{
    display:grid;
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    gap:56px;align-items:start;
  }


#growth .tree-wrap{
    position:relative;
    height:1080px;
    padding-top:20px;
  }
#growth .tree-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}


#growth .grow-path{
    fill:none;stroke-linecap:round;
    stroke-dasharray:100;stroke-dashoffset:100;
    transition:stroke-dashoffset 2.2s cubic-bezier(.22,.61,.36,1);
  }
#growth .grow-path[path-length]{}
#growth .journey.is-in .grow-path{stroke-dashoffset:0}
#growth .branch-path{
    fill:none;stroke:var(--bronze-mid);stroke-width:2.2;stroke-linecap:round;
    stroke-dasharray:100;stroke-dashoffset:100;
    transition:stroke-dashoffset .9s ease;transition-delay:var(--d,0s);
  }
#growth .journey.is-in .branch-path{stroke-dashoffset:0}


#growth .band{opacity:0;transition:opacity .6s ease .2s}
#growth .journey.is-in .band{opacity:1}
#growth .band-label{
    font-family:var(--serif);font-size:12px;font-weight:600;fill:var(--paper);
    letter-spacing:.2em;
  }


#growth .leaf-node{
    position:absolute;z-index:3;
    display:flex;align-items:center;gap:10px;
    cursor:pointer;background:none;border:none;
    opacity:0;transform:scale(.4);
    transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1);
    transition-delay:var(--d,0s);
  }
#growth .journey.is-in .leaf-node{opacity:1;transform:scale(1)}
#growth .leaf-node .leaf{
    width:26px;height:14px;border-radius:0 100% 0 100%;
    background:linear-gradient(135deg,#E8CE94 0%,#B08C4E 46%,#6E5222 100%);
    box-shadow:0 0 10px rgba(184,146,74,.4),inset 0 1px 0 rgba(255,240,205,.5);
    transition:all .35s ease;
    flex:0 0 auto;
  }
#growth .leaf-node .yr{
    font-family:var(--serif);font-weight:700;font-size:16px;color:var(--bronze);
    letter-spacing:.05em;transition:color .3s;
  }
#growth .leaf-node:hover .leaf,.leaf-node.active .leaf{
    background:linear-gradient(135deg,#FFF0CE 0%,#D4B276 46%,#A5834A 100%);
    box-shadow:0 0 18px rgba(212,178,118,.85),inset 0 1px 0 rgba(255,255,255,.6);
    transform:scale(1.18);
  }
#growth .leaf-node:hover .yr,.leaf-node.active .yr{color:var(--ink)}

#growth .leaf-node.fruit .leaf{
    width:22px;height:22px;border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#F2DCA6,#C9A55C 50%,#6E5222);
    box-shadow:0 0 14px rgba(212,178,118,.7),inset 0 2px 4px rgba(255,240,205,.5),inset 0 -2px 4px rgba(0,0,0,.3);
  }
#growth .leaf-node.fruit .yr{font-size:18px;color:var(--bronze)}


#growth .n-left {right:calc(100% - 22%);transform-origin:right center}
#growth .n-right{left:calc(100% - 22%);transform-origin:left center}
#growth .journey.is-in .n-left {opacity:1;transform:scale(1)}
#growth .journey.is-in .n-right{opacity:1;transform:scale(1)}

#growth .leaf-node.n-left{transform:scale(.4)}
#growth .leaf-node.n-right{transform:scale(.4)}
#growth .journey.is-in .leaf-node.n-left,.journey.is-in .leaf-node.n-right{transform:scale(1)}


#growth .plaque-col{position:relative;min-height:600px}
#growth .plaque{
    position:sticky;top:90px;
    background:
      linear-gradient(180deg,rgba(255,240,205,.06) 0%,transparent 30%),
      linear-gradient(160deg,#1B2E26 0%,#0E1A15 100%);
    border:1px solid #6E5222;
    border-top:3px solid var(--bronze-light);
    border-radius:6px;
    padding:56px 52px 64px;
    min-height:560px;
    box-shadow:
      0 30px 70px -30px rgba(40,28,10,.55),
      inset 0 1px 0 rgba(255,240,205,.12),
      inset 0 0 60px rgba(0,0,0,.35);
    overflow:hidden;
  }

#growth .plaque::before{
    content:"";position:absolute;inset:10px;pointer-events:none;
    background:
      radial-gradient(circle 4px at 14px 14px,var(--bronze-light) 90%,transparent 100%),
      radial-gradient(circle 4px at calc(100% - 14px) 14px,var(--bronze-light) 90%,transparent 100%),
      radial-gradient(circle 4px at 14px calc(100% - 14px),var(--bronze-light) 90%,transparent 100%),
      radial-gradient(circle 4px at calc(100% - 14px) calc(100% - 14px),var(--bronze-light) 90%,transparent 100%);
  }

#growth .plaque::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;
    background-image:
      repeating-linear-gradient(45deg,transparent 0 12px,rgba(217,183,108,.4) 12px 13px);
  }
#growth .plaque .stage-tag{
    display:inline-block;
    font-family:var(--serif);font-size:12px;letter-spacing:.3em;
    color:var(--bronze-light);
    padding:4px 14px;border:1px solid rgba(217,183,108,.4);border-radius:2px;
    margin-bottom:28px;
  }
#growth .plaque .year{
    font-family:var(--serif);font-weight:900;
    font-size:clamp(56px,6vw,84px);line-height:1;
    background:linear-gradient(180deg,#F5E0A8 0%,#D9B76C 45%,#8A6A30 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    text-shadow:0 0 40px rgba(212,178,118,.25);
    margin-bottom:8px;
  }
#growth .plaque .title{
    font-family:var(--serif);font-weight:700;font-size:26px;color:#F5EED8;
    letter-spacing:.08em;margin-bottom:22px;
  }
#growth .plaque .desc{
    color:rgba(245,238,216,.82);font-size:15px;line-height:1.9;
    max-width:520px;
  }

#growth .seal{
    position:absolute;right:44px;bottom:44px;
    width:64px;height:64px;
    background:var(--seal);color:#FBF5E0;
    font-family:var(--serif);font-weight:900;font-size:14px;line-height:1.15;
    display:flex;align-items:center;justify-content:center;text-align:center;
    border-radius:4px;letter-spacing:.1em;
    box-shadow:0 4px 14px rgba(179,58,42,.4),inset 0 0 0 2px rgba(251,245,224,.85);
    transform:rotate(-4deg);
    opacity:.92;
  }

#growth .plaque .panel{display:none;animation:fadeUp .5s ease}
#growth .plaque .panel.on{display:block}
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(14px)}
    to{opacity:1;transform:none}
  }


#growth .epigraph{
    margin-top:80px;text-align:center;
    font-family:var(--serif);color:var(--bronze);
    font-size:14px;letter-spacing:.4em;
  }
#growth .epigraph .num{
    display:inline-block;margin:0 18px;
    font-size:22px;font-weight:700;color:var(--ink);
  }


  @media (max-width:900px){
#growth .stage{padding:48px 18px 80px}
#growth .journey{grid-template-columns:1fr;gap:32px}
#growth .tree-wrap{height:clamp(380px,48vh,560px)}
#growth .plaque{position:static;min-height:0;padding:36px 26px 80px}
#growth .plaque .year{font-size:48px}
#growth .seal{right:22px;bottom:22px;width:54px;height:54px;font-size:12px}
#growth .n-left{right:calc(100% - 18%)}
#growth .n-right{left:calc(100% - 18%)}
#growth .leaf-node .yr{font-size:14px}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
#growth .grow-path,.branch-path{stroke-dashoffset:0}
#growth .leaf-node{opacity:1;transform:none}
  }



body.page-home #growth .stage > .head { display: none !important; }
body.page-home #growth .stage { padding: 0 !important; }



  #support{
    --paper:#F2EBDC;
    --paper-deep:#E8DFC9;
    --ink:#1F3A30;
    --ink-soft:rgba(31,58,48,.72);
    --ink-dim:rgba(31,58,48,.5);
    --bronze:#8A6A30;
    --bronze-mid:#B08C4E;
    --bronze-light:#D4B276;
    --gold:#B89455;
    --gold-bright:#E6CB93;
    --serif:"Noto Serif SC","Songti SC",serif;
    --sans:"Noto Sans SC","PingFang SC",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
#support{
    font-family:var(--sans);color:var(--ink);
    background:
      radial-gradient(ellipse at 50% 0%, #F7F1E3 0%, var(--paper) 60%, var(--paper-deep) 100%);
    min-height:100vh;line-height:1.7;
    -webkit-font-smoothing:antialiased;
    padding:70px 24px 80px;
  }

  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.45 0 0 0 0 0.25 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
#support .wrap{position:relative;max-width:1200px;margin:0 auto}


#support .head{margin-bottom:44px}
#support .eyebrow{
    display:inline-flex;align-items:center;gap:14px;
    font-family:var(--serif);font-size:12px;letter-spacing:.45em;color:var(--bronze);
    margin-bottom:18px;
  }
#support .eyebrow::before{
    content:"";width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--bronze));
  }
#support h1{
    font-family:var(--serif);font-weight:900;
    font-size:clamp(28px,3.6vw,44px);letter-spacing:.06em;color:var(--ink)!important;
  }
#support h1 em{font-style:normal;color:var(--bronze)!important;position:relative;padding:0 .1em}


#support .timeline{
    position:relative;
    margin:10px 0 50px;padding:44px 28px 30px;
    border:1px solid var(--bronze-mid);
    border-radius:6px;
    background:
      linear-gradient(180deg, rgba(255,251,240,.6), rgba(232,223,201,.4));
    box-shadow:
      0 0 0 1px rgba(138,106,48,.15),
      0 1px 0 rgba(255,251,240,.6) inset,
      0 18px 36px -20px rgba(31,58,48,.3);
  }

#support .timeline::before{
    content:"";position:absolute;left:12%;right:12%;top:82px;height:2px;
    background:linear-gradient(90deg,transparent,var(--bronze-mid) 8%,var(--bronze-mid) 92%,transparent);
  }
#support .steps{
    display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative;
  }
#support .step{
    text-align:center;position:relative;cursor:default;
  }
#support .node{
    width:68px;height:68px;margin:0 auto;border-radius:50%;
    background:radial-gradient(circle at 32% 28%, #2A5546 0%, #1F3A30 55%, #142821 100%);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-weight:900;font-size:18px;
    color:var(--gold-bright);
    text-shadow:0 1px 0 rgba(0,0,0,.4), 0 0 12px rgba(230,203,147,.35);
    box-shadow:
      0 0 0 3px var(--paper),
      0 0 0 4px var(--bronze-mid),
      0 10px 20px -6px rgba(31,58,48,.45),
      inset 0 2px 4px rgba(230,203,147,.15),
      inset 0 -4px 8px rgba(0,0,0,.4);
    position:relative;
    transition:all .4s cubic-bezier(.22,.61,.36,1);
  }

#support .node::after{
    content:"";position:absolute;inset:-7px;border-radius:50%;
    background:
      radial-gradient(circle 2.5px at 50% 0,var(--bronze) 90%,transparent),
      radial-gradient(circle 2.5px at 50% 100%,var(--bronze) 90%,transparent),
      radial-gradient(circle 2.5px at 0 50%,var(--bronze) 90%,transparent),
      radial-gradient(circle 2.5px at 100% 50%,var(--bronze) 90%,transparent);
    opacity:.7;
  }
@media (hover:hover){
#support .step:hover .node{
    transform:translateY(-6px) scale(1.08);
    background:radial-gradient(circle at 32% 28%, #356351 0%, #24483C 55%, #163028 100%);
    box-shadow:
      0 0 0 3px var(--paper),
      0 0 0 4px var(--gold),
      0 16px 28px -6px rgba(31,58,48,.55),
      0 0 26px rgba(212,178,118,.45),
      inset 0 2px 4px rgba(230,203,147,.25),
      inset 0 -4px 8px rgba(0,0,0,.35);
  }
}
#support .step .sname{
    margin-top:16px;font-family:var(--serif);font-weight:700;font-size:15px;
    letter-spacing:.12em;color:var(--ink);
  }

#support .step .sdesc{
    position:absolute;left:50%;top:100%;margin-top:12px;
    transform:translate(-50%,8px);
    width:180px;padding:12px 14px;border-radius:4px;
    background:#1F3A30;color:rgba(245,238,216,.92);
    font-size:12px;line-height:1.6;letter-spacing:.03em;
    border:1px solid var(--bronze-mid);
    box-shadow:0 12px 28px -10px rgba(0,0,0,.45);
    opacity:0;pointer-events:none;
    transition:all .35s cubic-bezier(.22,.61,.36,1);
    z-index:10;
  }
#support .step .sdesc::before{
    content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(45deg);
    width:8px;height:8px;background:#1F3A30;border-left:1px solid var(--bronze-mid);border-top:1px solid var(--bronze-mid);
  }
@media (hover:hover){
#support .step:hover .sdesc{opacity:1;transform:translate(-50%,0)}
}


#support .gallery-title{
    display:flex;align-items:baseline;gap:16px;margin-bottom:24px;
  }
#support .gallery-title h2{
    font-family:var(--serif);font-weight:900;font-size:clamp(22px,2.6vw,30px);
    letter-spacing:.08em;color:var(--ink);
  }
#support .gallery-title span{font-size:13px;color:var(--ink-dim)}
#support .gallery{
    display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:40px;
    align-items:end;
  }
#support .frame{
    position:relative;border-radius:4px;
    border:1px solid var(--bronze-mid);
    background:#fff;
    padding:14px;
    box-shadow:
      0 0 0 1px rgba(138,106,48,.2),
      0 18px 40px -20px rgba(31,58,48,.35);
    transition:transform .4s, box-shadow .4s;
  }
#support .frame:hover{transform:translateY(-4px);box-shadow:0 24px 50px -20px rgba(31,58,48,.45)}

#support .frame::before,.frame::after{
    content:"";position:absolute;width:18px;height:18px;
    border:2px solid var(--bronze);
  }
#support .frame::before{left:-2px;top:-2px;border-right:none;border-bottom:none}
#support .frame::after{right:-2px;bottom:-2px;border-left:none;border-top:none}
#support .frame .img{
    width:100%;aspect-ratio:16/10;border-radius:2px;
    background:
      linear-gradient(135deg,rgba(31,58,48,.05),rgba(138,106,48,.08)),
      repeating-linear-gradient(45deg,#EDE4CF 0 12px,#E8DFC9 12px 24px);
    display:flex;align-items:center;justify-content:center;
    color:var(--ink-dim);font-size:13px;letter-spacing:.2em;
  }

#support .frame-video{
    background:linear-gradient(160deg,#24483C 0%,#1F3A30 60%,#142821 100%);
    border-color:var(--bronze-mid);
    padding:12px;
    box-shadow:
      0 0 0 1px rgba(0,0,0,.2),
      0 0 22px rgba(212,178,118,.18),
      0 18px 40px -20px rgba(31,58,48,.5);
  }
#support .frame-video .img{
    aspect-ratio:16/9;
    background:
      radial-gradient(circle at 50% 50%, rgba(212,178,118,.12), transparent 70%),
      repeating-linear-gradient(45deg,rgba(212,178,118,.06) 0 10px,rgba(212,178,118,.02) 10px 20px);
    border:1px solid rgba(212,178,118,.35);
    color:var(--gold-bright);
  }
#support .frame-video .caption{color:rgba(245,238,216,.75);margin-top:10px}
#support .frame .caption{
    margin-top:12px;font-size:12px;color:var(--ink-dim);text-align:center;letter-spacing:.1em;
  }


#support .cta{
    display:flex;gap:16px;align-items:center;margin-top:10px;flex-wrap:wrap;
  }
#support .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 34px;border-radius:2px;
    font-family:var(--serif);font-weight:700;font-size:15px;letter-spacing:.2em;
    cursor:pointer;text-decoration:none;transition:all .35s;
    border:1px solid transparent;
  }
#support .btn-primary{
    color:var(--gold-bright);
    background:linear-gradient(160deg,#24483C 0%,#1F3A30 50%,#142821 100%);
    border:1px solid var(--bronze-mid);
    box-shadow:
      0 1px 0 rgba(230,203,147,.25) inset,
      0 -3px 6px rgba(0,0,0,.3) inset,
      0 12px 24px -10px rgba(31,58,48,.55);
  }
#support .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(31,58,48,.65), 0 0 0 1px var(--gold)}
#support .btn-ghost{
    color:var(--ink);background:transparent;
    border:1px solid var(--bronze);
  }
#support .btn-ghost:hover{background:rgba(31,58,48,.06);transform:translateY(-2px)}

  @media (max-width:860px){
#support .steps{grid-template-columns:repeat(3,1fr);gap:24px 8px}
#support .timeline::before{display:none}
#support .gallery{grid-template-columns:1fr}
  }




  #stores{
    --bg:#0D221C;
    --bg-deep:#081611;
    --bg-light:#1C3E36;
    --board:#18382F;
    --board-deep:#112820;
    --board-edge:#B08C4E;
    --bronze:#8A6A30;
    --bronze-mid:#B08C4E;
    --bronze-light:#D9B76C;
    --gold:#E6CB93;
    --gold-bright:#F2DCA6;
    --ink:#F5EED8;
    --ink-soft:rgba(245,238,216,.8);
    --ink-dim:rgba(245,238,216,.5);
    --serif:"Noto Serif SC","Songti SC",serif;
    --sans:"Noto Sans SC","PingFang SC",sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
#stores{
    font-family:var(--sans);color:var(--ink);
    background:
      radial-gradient(ellipse at 50% 0%, #1A3A30 0%, var(--bg) 45%, var(--bg-deep) 100%);
    min-height:100vh;line-height:1.7;
    -webkit-font-smoothing:antialiased;
    padding:60px 20px 80px;
    overflow-x:hidden;
  }

  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.7 0 0 0 0 0.4 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

#stores .dust{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
#stores .dust i{
    position:absolute;bottom:-10px;left:var(--x);
    width:var(--s);height:var(--s);border-radius:50%;
    background:radial-gradient(circle,rgba(242,220,166,.8),transparent 70%);
    opacity:0;
    animation:float var(--t) linear infinite;
    animation-delay:var(--d);
  }
  @keyframes float{
    0%{transform:translateY(0) translateX(0);opacity:0}
    10%{opacity:.6}
    90%{opacity:.3}
    100%{transform:translateY(-110vh) translateX(30px);opacity:0}
  }

#stores .wrap{position:relative;max-width:1180px;margin:0 auto;z-index:1}


#stores .head{text-align:center;margin-bottom:36px}
#stores .eyebrow{
    display:inline-flex;align-items:center;gap:14px;
    font-family:var(--serif);font-size:12px;letter-spacing:.45em;color:var(--bronze-light);
    margin-bottom:18px;
  }
#stores .eyebrow::before,.eyebrow::after{
    content:"";width:40px;height:1px;
    background:linear-gradient(90deg,transparent,var(--bronze-mid));
  }
#stores .eyebrow::after{background:linear-gradient(90deg,var(--bronze-mid),transparent)}
  h1{
    font-family:var(--serif);font-weight:900;font-size:clamp(30px,4vw,46px);
    letter-spacing:.12em;
  }


#stores .stats{
    position:relative;
    display:grid;grid-template-columns:repeat(4,1fr);
    border:1px solid rgba(242,220,166,.55);border-radius:6px;
    background:linear-gradient(160deg,#D4B276 0%,#B89455 45%,#8A6A30 100%);
    box-shadow:
      0 0 0 1px rgba(0,0,0,.3),
      0 0 28px rgba(212,178,118,.28),
      0 1px 0 rgba(255,240,205,.45) inset,
      0 -4px 8px rgba(0,0,0,.25) inset,
      0 16px 34px -10px rgba(0,0,0,.7);
    overflow:hidden;margin:24px 0 30px;
  }

#stores .stats::before{
    content:"";position:absolute;top:0;left:10%;right:10%;height:2px;
    background:linear-gradient(90deg,transparent,#FFF3D6,transparent);
    z-index:2;
  }
#stores .stat{
    padding:26px 16px;position:relative;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    transition:all .4s cubic-bezier(.22,.61,.36,1);
    cursor:default;
    overflow:hidden;
  }
#stores .stat + .stat::before{
    content:"";position:absolute;left:0;top:22%;height:56%;width:1px;
    background:linear-gradient(180deg,transparent,rgba(22,36,30,.35),transparent);
  }

#stores .stat:hover{
    background:linear-gradient(160deg,#E6CB93 0%,#D4B276 60%,#B89455 100%);
    box-shadow:inset 0 0 28px rgba(255,246,220,.4);
  }
#stores .stat .num{
    font-family:var(--serif);font-weight:900;
    font-size:clamp(34px,3.6vw,48px);line-height:1;
    color:#16241E;
    text-shadow:0 1px 0 rgba(255,246,220,.3);
    transition:all .4s cubic-bezier(.22,.61,.36,1);
  }
#stores .stat .num small{font-size:.4em;font-weight:600;margin-left:3px;opacity:.75}
#stores .stat .label{
    font-size:12px;color:rgba(22,36,30,.8);
    letter-spacing:.22em;
    transition:all .4s cubic-bezier(.22,.61,.36,1);
  }

#stores .stat:hover .num{transform:translateX(-10px)}
#stores .stat:hover .label{transform:translateX(10px)}


#stores .map-stage{
    position:relative;
    border:1px solid rgba(176,140,78,.55);border-radius:6px;
    background:
      radial-gradient(circle at 50% 40%, rgba(212,178,118,.1), transparent 65%),
      linear-gradient(180deg,var(--board) 0%,var(--board-deep) 100%);
    box-shadow:
      0 0 0 1px rgba(0,0,0,.3),
      0 0 24px rgba(212,178,118,.1),
      0 1px 0 rgba(242,220,166,.25) inset,
      0 16px 34px -12px rgba(0,0,0,.7);
    padding:28px;margin-bottom:30px;
    min-height:440px;
    display:flex;align-items:center;justify-content:center;
  }
#stores .map-stage::before{
    content:"";position:absolute;top:0;left:10%;right:10%;height:2px;
    background:linear-gradient(90deg,transparent,var(--bronze-light),transparent);
  }
#stores .map-stage svg{width:100%;max-width:680px;height:auto}
#stores .map-hint{
    position:absolute;top:12px;right:16px;
    font-size:11px;color:var(--ink-dim);letter-spacing:.1em;
  }
#stores .dot{fill:var(--gold-bright);filter:drop-shadow(0 0 6px rgba(242,220,166,.7));transition:all .4s;transform-origin:center;transform-box:fill-box}
#stores .dot.dim{opacity:.3;fill:var(--bronze-mid)}
#stores .dot.hot{transform:scale(1.9);filter:drop-shadow(0 0 14px rgba(242,220,166,1))}
#stores .dot-label{font-family:var(--serif);font-size:11px;fill:var(--gold);letter-spacing:.05em}


#stores .plaque-row{
    display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
    margin:40px 0 28px;align-items:end;
  }
#stores .plaque{
    position:relative;cursor:pointer;background:none;border:none;padding:0;
    display:flex;flex-direction:column;align-items:center;
    transition:transform .45s cubic-bezier(.22,.61,.36,1);
  }

#stores .plaque .ring{
    width:14px;height:14px;border:2px solid var(--bronze-mid);
    border-radius:50%;margin-bottom:-4px;z-index:2;
    background:var(--bg);
    transition:all .4s;
  }

#stores .plaque .board{
    position:relative;width:100%;
    padding:28px 14px 24px;text-align:center;
    background:linear-gradient(180deg,var(--board) 0%,var(--board-deep) 100%);
    border:1px solid var(--board-edge);
    border-radius:4px;

    box-shadow:
      0 0 0 1px rgba(0,0,0,.3),
      0 0 18px rgba(212,178,118,.12),
      0 1px 0 rgba(242,220,166,.3) inset,
      0 -4px 8px rgba(0,0,0,.4) inset,
      0 16px 30px -10px rgba(0,0,0,.7);
    overflow:hidden;
    transition:all .45s cubic-bezier(.22,.61,.36,1);
  }

#stores .plaque .board::before{
    content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,240,205,.18),transparent);
    transition:left .7s ease;
  }
#stores .plaque:hover .board::before{left:130%}

#stores .plaque .board::after{
    content:"";position:absolute;inset:7px;pointer-events:none;
    background:
      radial-gradient(circle 3px at 8px 8px,var(--bronze-mid) 90%,transparent),
      radial-gradient(circle 3px at calc(100% - 8px) 8px,var(--bronze-mid) 90%,transparent),
      radial-gradient(circle 3px at 8px calc(100% - 8px),var(--bronze-mid) 90%,transparent),
      radial-gradient(circle 3px at calc(100% - 8px) calc(100% - 8px),var(--bronze-mid) 90%,transparent);
    opacity:.7;
  }
#stores .plaque .pname{
    font-family:var(--serif);font-weight:700;font-size:18px;
    color:var(--ink);letter-spacing:.2em;margin-bottom:10px;
  }
#stores .plaque .pcount{
    font-family:var(--serif);font-weight:900;font-size:34px;line-height:1;
    color:var(--gold);
  }
#stores .plaque .pcount small{font-size:11px;font-weight:400;color:var(--ink-dim);margin-left:3px;letter-spacing:.1em}

#stores .plaque .base{
    width:70%;height:6px;margin-top:-1px;
    background:linear-gradient(180deg,var(--bronze-mid),#5C4620);
    border-radius:0 0 3px 3px;
    transition:all .4s;
  }

#stores .plaque:not(.active){
    transform:translateY(14px) scale(.94);
    opacity:.72;
  }
#stores .plaque:not(.active) .board{border-color:rgba(138,106,48,.6)}
#stores .plaque:hover:not(.active){
    transform:translateY(6px) scale(.97);opacity:.9;
  }

#stores .plaque.active{
    transform:translateY(-8px) scale(1.04);
  }
#stores .plaque.active .board{
    background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%);
    border-color:var(--gold-bright);
    box-shadow:
      0 1px 0 rgba(255,240,205,.4) inset,
      0 -2px 0 rgba(0,0,0,.25) inset,
      0 20px 40px -12px rgba(212,178,118,.5);
  }
#stores .plaque.active .board::after{opacity:.9}
#stores .plaque.active .pname{color:#16241E}
#stores .plaque.active .pcount{color:#16241E}
#stores .plaque.active .pcount small{color:rgba(22,36,30,.65)}
#stores .plaque.active .ring{border-color:var(--gold-bright);background:var(--gold-bright)}
#stores .plaque.active .base{width:80%;background:linear-gradient(180deg,var(--gold-bright),var(--bronze-mid))}


#stores .cities{
    position:relative;
    border:1px solid rgba(242,220,166,.5);border-radius:4px;
    background:linear-gradient(160deg,#D4B276 0%,#B89455 50%,#8A6A30 100%);
    box-shadow:
      0 0 0 1px rgba(0,0,0,.3),
      0 0 22px rgba(212,178,118,.22),
      0 1px 0 rgba(255,246,220,.4) inset,
      0 12px 26px -10px rgba(0,0,0,.65);
    padding:26px 24px 22px;min-height:70px;
  }
#stores .cities::before{
    content:"";position:absolute;left:24px;right:24px;top:50%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(22,36,30,.5),transparent);
  }
#stores .cities .ct-label{
    position:relative;display:inline-block;
    font-family:var(--serif);font-size:12px;color:#16241E;
    letter-spacing:.3em;margin-right:18px;
    background:rgba(255,246,220,.25);padding:2px 10px;border-radius:2px;
  }
#stores .city-chip{
    position:relative;display:inline-block;vertical-align:middle;
    font-size:13px;color:rgba(22,36,30,.85);
    margin:0 10px;padding:6px 0;
  }
#stores .city-chip::before{
    content:"";position:absolute;left:50%;top:-14px;
    width:6px;height:6px;border-radius:50%;
    background:#16241E;
    box-shadow:0 0 8px rgba(22,36,30,.5);
    transform:translateX(-50%);
  }
#stores .city-chip b{color:#16241E;font-family:var(--serif);margin-left:4px;font-weight:700}
#stores .footnote{margin-top:18px;font-size:12px;color:var(--ink-dim);line-height:1.8;text-align:center}


  @media (max-width:860px){
#stores .stats{grid-template-columns:repeat(2,1fr)}
#stores .stat:nth-child(3)::before{display:none}
#stores .plaque-row{grid-template-columns:repeat(2,1fr);gap:14px}
#stores .plaque:last-child{grid-column:span 2}
#stores .plaque:not(.active){transform:translateY(8px) scale(.96)}
#stores .map-stage{min-height:340px;padding:18px}
  }
  @media (max-width:480px){
#stores .plaque .pcount{font-size:26px}
#stores .plaque .pname{font-size:16px}
  }


body.page-home #support > .container > .sec-head,
body.page-home #support > .container > .timeline,
body.page-home #support > .container > .support-advantages,
body.page-home #support > .container > .sup-adv-grid,
body.page-home #support > .container > .sup-flow-grid { display: none !important; }

body.page-home .map-stage > .container > .map-stage__head,
body.page-home #support > .container > :not(.wrap) { display: none !important; }


body.page-home #support .frame .jbs-slides{
  position:relative; width:100%; height:100%; min-height:280px; border-radius:2px; overflow:hidden;
}
body.page-home #support .frame .jbs-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; animation:jbsSlideFade 16s infinite;
}
body.page-home #support .frame .jbs-slide:nth-child(1){ animation-delay:0s }
body.page-home #support .frame .jbs-slide:nth-child(2){ animation-delay:4s }
body.page-home #support .frame .jbs-slide:nth-child(3){ animation-delay:8s }
body.page-home #support .frame .jbs-slide:nth-child(4){ animation-delay:12s }
@keyframes jbsSlideFade{
  0%   { opacity:0; transform:scale(1.03) }
  3%   { opacity:1; transform:scale(1) }
  22%  { opacity:1 }
  25%  { opacity:0 }
  100% { opacity:0 }
}
body.page-home #support .frame .jbs-slides__dots{
  position:absolute; left:0; right:0; bottom:12px;
  display:flex; justify-content:center; gap:8px; z-index:2;
}
body.page-home #support .frame .jbs-slides__dots i{
  width:26px; height:2px; background:rgba(255,255,255,.4); display:block;
}
body.page-home #support .frame .jbs-slides__dots i:nth-child(1){ animation:jbsDot1 16s infinite }
body.page-home #support .frame .jbs-slides__dots i:nth-child(2){ animation:jbsDot2 16s infinite }
body.page-home #support .frame .jbs-slides__dots i:nth-child(3){ animation:jbsDot3 16s infinite }
body.page-home #support .frame .jbs-slides__dots i:nth-child(4){ animation:jbsDot4 16s infinite }
@keyframes jbsDot1{ 0%,25%{background:#D9B76C} 26%,100%{background:rgba(255,255,255,.4)} }
@keyframes jbsDot2{ 0%,25%{background:rgba(255,255,255,.4)} 26%,50%{background:#D9B76C} 51%,100%{background:rgba(255,255,255,.4)} }
@keyframes jbsDot3{ 0%,50%{background:rgba(255,255,255,.4)} 51%,75%{background:#D9B76C} 76%,100%{background:rgba(255,255,255,.4)} }
@keyframes jbsDot4{ 0%,75%{background:rgba(255,255,255,.4)} 76%,100%{background:#D9B76C} }


body.page-home #support .frame-video{ position:relative; overflow:hidden; }
body.page-home #support .frame-video iframe{
  display:block; width:100%; aspect-ratio:16/9; min-height:280px; border:0; border-radius:2px;
}
body.page-home #support .frame .jbs-slides{
  aspect-ratio:16/10 !important; min-height:280px !important;
}
@media (prefers-reduced-motion:reduce){
  body.page-home #support .frame .jbs-slide{ animation:none; opacity:1 }
  body.page-home #support .frame .jbs-slide:not(:first-child){ display:none }
}


body.page-home .screen-pair--inquiry { grid-template-columns: 1fr !important; }
body.page-home .screen-pair--inquiry > section { width: 100% !important; }


body.page-home #stores > .container > .wrap,
body.page-home #stores > .container > .dust { display: none !important; }






body.page-home #calculator { display: none !important; }


body.page-home .stat-band { display: none !important; }


body.page-home .screen-pair--inquiry{
  grid-template-columns:1fr !important;
  order:3 !important;
  overflow:visible !important;
}
body.page-home #support{
  display:block !important;
}
body.page-home #support .wrap{
  width:100% !important;
  max-width:1440px !important;
  margin:0 auto !important;
}
body.page-home #support .timeline{
  display:block !important;
  overflow:visible !important;
}
body.page-home #support .cta .btn-primary{
  background:linear-gradient(135deg,#2A5546,#1F3A30) !important;
  color:#E6CB93 !important;
  border:1px solid #B08C4E !important;
  font-weight:600 !important;
}
body.page-home #support .cta .btn-primary:hover{
  background:linear-gradient(135deg,#3A6B58,#2A5546) !important;
}
body.page-home #support .cta .btn-ghost{
  background:transparent !important;
  color:#1F3A30 !important;
  border:1px solid #B08C4E !important;
}
body.page-home #support .steps{
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:8px !important;
  position:relative !important;
}
body.page-home #support .timeline::before{
  content:"" !important;
  position:absolute !important;
  left:10% !important;right:10% !important;top:82px !important;height:2px !important;
  background:linear-gradient(90deg,transparent,var(--bronze-mid) 8%,var(--bronze-mid) 92%,transparent) !important;
}
body.page-home #support h1{
  color:var(--ink) !important;
}
body.page-home #support h1 em{
  color:var(--bronze) !important;
}
@media (max-width:860px){
  body.page-home #support .steps{grid-template-columns:repeat(3,1fr) !important;}
  body.page-home #support .timeline::before{display:none !important;}
}


#support .cta a.btn-primary,
#support .cta button.btn-primary{
  color:#E6CB93 !important;
  border:1px solid #B08C4E !important;
}
#support .cta button.btn-ghost{
  border:1px solid #B08C4E !important;
}


body.page-home #support .frame .jbs-slides{
  aspect-ratio:16/10 !important;
  min-height:280px !important;
}
body.page-home #support .frame-video iframe{
  aspect-ratio:16/9 !important;
  min-height:280px !important;
}


body.page-home .screen-pair--inquiry{
  overflow:visible !important;
}


body.page-home #growth .tree-plaque{
  position:relative !important;
  background:
    linear-gradient(180deg,rgba(255,240,205,.06) 0%,transparent 30%),
    linear-gradient(160deg,#1B2E26 0%,#0E1A15 100%) !important;
  border:1px solid #6E5222 !important;
  border-top:3px solid #D9B76C !important;
  border-radius:6px !important;
  padding:clamp(1.8rem,3vw,3rem) clamp(1.5rem,2.5vw,2.6rem) clamp(2rem,3.5vw,3.2rem) !important;
  box-shadow:
    0 30px 70px -30px rgba(40,28,10,.55),
    inset 0 1px 0 rgba(255,240,205,.12),
    inset 0 0 60px rgba(0,0,0,.35) !important;
  overflow:hidden !important;
}

body.page-home #growth .tree-plaque::before{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle 4px at 14px 14px,#D9B76C 90%,transparent 100%),
    radial-gradient(circle 4px at calc(100% - 14px) 14px,#D9B76C 90%,transparent 100%),
    radial-gradient(circle 4px at 14px calc(100% - 14px),#D9B76C 90%,transparent 100%),
    radial-gradient(circle 4px at calc(100% - 14px) calc(100% - 14px),#D9B76C 90%,transparent 100%) !important;
}

body.page-home #growth .tree-plaque::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  opacity:.05 !important;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 12px,rgba(217,183,108,.4) 12px 13px) !important;
}

body.page-home #growth .tree-plaque__tag{
  font-size:12px !important;
  letter-spacing:.3em !important;
  color:#D9B76C !important;
  padding:4px 14px !important;
  border:1px solid rgba(217,183,108,.4) !important;
  border-radius:2px !important;
  margin-bottom:28px !important;
  position:relative !important;
  z-index:1 !important;
}

body.page-home #growth .tree-plaque__year{
  font-family:var(--serif) !important;
  font-weight:900 !important;
  font-size:clamp(3.5rem,5vw,5.2rem) !important;
  line-height:1 !important;
  background:linear-gradient(180deg,#F5E0A8 0%,#D9B76C 45%,#8A6A30 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  text-shadow:0 0 40px rgba(212,178,118,.25) !important;
  margin-bottom:8px !important;
  position:relative !important;
  z-index:1 !important;
}

body.page-home #growth .tree-plaque__title{
  font-family:var(--serif) !important;
  font-weight:700 !important;
  font-size:clamp(1.15rem,1.6vw,1.45rem) !important;
  color:#F5EED8 !important;
  letter-spacing:.08em !important;
  margin:.6rem 0 .9rem !important;
  position:relative !important;
  z-index:1 !important;
}

body.page-home #growth .tree-plaque__desc{
  color:rgba(245,238,216,.82) !important;
  font-size:.9rem !important;
  line-height:1.9 !important;
  position:relative !important;
  z-index:1 !important;
}

body.page-home #growth .tree-plaque__seal{
  position:absolute !important;
  right:2rem !important;
  bottom:2rem !important;
  width:56px !important;
  height:56px !important;
  background:#B33A2A !important;
  color:#FBF5E0 !important;
  font-family:var(--serif) !important;
  font-weight:900 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:4px !important;
  letter-spacing:.1em !important;
  box-shadow:0 4px 14px rgba(179,58,42,.4),inset 0 0 0 2px rgba(251,245,224,.85) !important;
  transform:rotate(-4deg) !important;
  opacity:.92 !important;
  z-index:2 !important;
}

body.page-home #growth .tree-stage{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(2rem,4vw,4rem) !important;
  align-items:start !important;
}
body.page-home #growth .tree-wrap{
  position:relative !important;
  height:min(78vh,720px) !important;
  display:block !important;
}
body.page-home #growth .tree-stage__svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
  preserveAspectRatio:xMidYMid meet !important;
}

body.page-home #growth .trunk-path,
body.page-home #growth .branch-path{
  stroke-dashoffset:0 !important;
  animation:none !important;
  opacity:1 !important;
}
body.page-home #growth .tree-base,
body.page-home #growth .tree-node{
  opacity:1 !important;
  animation:none !important;
}

body.page-home #growth .tree-node.is-on .leaf-shape{
  fill:url(#cinnabarGrad) !important;
}
body.page-home #growth .tree-node.is-on text{
  fill:#9E2B25 !important;
}


#growth .jbs-tree-stage{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:clamp(2rem,4vw,4rem) !important;
  align-items:start !important;
  max-width:1200px !important;
  margin:0 auto !important;
}
#growth .jbs-tree-left{
  position:relative !important;
  height:min(78vh,720px) !important;
}
#growth .jbs-tree-svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
#growth .jbs-node{
  position:absolute !important;
  background:transparent !important;
  border:none !important;
  cursor:pointer !important;
  padding:0 !important;
  font:inherit !important;
}
#growth .jbs-node__yr{
  font-size:14px !important;
  font-weight:600 !important;
  color:#6E5222 !important;
  letter-spacing:.5px !important;
  white-space:nowrap !important;
}
#growth .jbs-node--left{ right:62% !important; }
#growth .jbs-node--right{ left:62% !important; }
#growth .jbs-node--left .jbs-node__yr{ display:block !important; text-align:right !important; }
#growth .jbs-node--right .jbs-node__yr{ display:block !important; text-align:left !important; }
#growth .jbs-node[data-year="2008"]{ bottom:15% !important; }
#growth .jbs-node[data-year="2016"]{ bottom:26% !important; }
#growth .jbs-node[data-year="2019"]{ bottom:35% !important; }
#growth .jbs-node[data-year="2020"]{ bottom:44% !important; }
#growth .jbs-node[data-year="2021"]{ bottom:53% !important; }
#growth .jbs-node[data-year="2023"]{ bottom:62% !important; }
#growth .jbs-node[data-year="2024"]{ bottom:71% !important; }
#growth .jbs-node[data-year="2025"]{ bottom:80% !important; }
#growth .jbs-node[data-year="2026"]{ bottom:86% !important; }
#growth .jbs-node--fruit::before{
  content:"" !important;
  display:block !important;
  width:22px !important; height:22px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 40% 35%, #F2DCA6, #C9A55C 55%, #5C4620) !important;
  border:1px solid #6E5222 !important;
  margin-bottom:4px !important;
}
#growth .jbs-node--left.jbs-node--fruit::before{ margin-left:auto !important; }
#growth .jbs-node:not(.jbs-node--fruit)::before{
  content:"" !important;
  display:block !important;
  width:16px !important; height:22px !important;
  background:linear-gradient(135deg, #EBD4A0, #C9A55C 52%, #8A6A2F) !important;
  border-radius:0 50% 0 50% !important;
  margin-bottom:4px !important;
}
#growth .jbs-node--left:not(.jbs-node--fruit)::before{ transform:rotate(-20deg) !important; margin-left:auto !important; }
#growth .jbs-node--right:not(.jbs-node--fruit)::before{ transform:rotate(20deg) !important; }
#growth .jbs-node:hover .jbs-node__yr,
#growth .jbs-node.is-on .jbs-node__yr{ color:#9E2B25 !important; }
#growth .jbs-node.is-on:not(.jbs-node--fruit)::before{ background:linear-gradient(135deg, #C4443B, #9E2B25) !important; }
#growth .jbs-tree-right{ padding-top:2rem !important; }
#growth .jbs-plaque{
  position:relative !important;
  background:linear-gradient(135deg, #16261F 0%, #1E3228 50%, #16261F 100%) !important;
  border-radius:4px !important;
  padding:2.5rem !important;
  box-shadow:0 20px 60px rgba(22,38,31,.35) !important;
  border-top:3px solid #D9B76C !important;
}
#growth .jbs-plaque::before{
  content:"" !important; position:absolute !important;
  top:10px !important; left:10px !important;
  width:6px !important; height:6px !important; border-radius:50% !important; background:#D9B76C !important;
}
#growth .jbs-plaque::after{
  content:"" !important; position:absolute !important;
  top:10px !important; right:10px !important;
  width:6px !important; height:6px !important; border-radius:50% !important; background:#D9B76C !important;
}
#growth .jbs-plaque__tag{
  display:inline-block !important; font-size:.75rem !important; color:#D9B76C !important;
  letter-spacing:2px !important; border:1px solid rgba(217,183,108,.4) !important;
  padding:.3rem .8rem !important; border-radius:2px !important; margin-bottom:1.5rem !important;
}
#growth .jbs-plaque__year{
  font-size:4.5rem !important; font-weight:700 !important; line-height:1 !important;
  background:linear-gradient(180deg, #F2DCA6, #D9B76C 50%, #A8843C) !important;
  -webkit-background-clip:text !important; -webkit-text-fill-color:transparent !important;
  background-clip:text !important; margin-bottom:.8rem !important;
}
#growth .jbs-plaque__title{
  font-size:1.5rem !important; color:#F2EBDC !important;
  margin:0 0 1.2rem 0 !important; font-weight:600 !important;
}
#growth .jbs-plaque__desc{
  font-size:.95rem !important; line-height:1.9 !important;
  color:rgba(242,235,220,.75) !important; margin:0 !important;
}
#growth .jbs-plaque__seal{
  position:absolute !important; bottom:1.5rem !important; right:1.5rem !important;
  width:44px !important; height:44px !important; background:#9E2B25 !important; color:#F2EBDC !important;
  font-size:.7rem !important; line-height:1.2 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  text-align:center !important; border-radius:3px !important; transform:rotate(-3deg) !important; opacity:.9 !important;
}
@media (max-width:768px){
  #growth .jbs-tree-stage{ grid-template-columns:1fr !important; }
  #growth .jbs-tree-left{ height:52vh !important; }
  #growth .jbs-tree-right{ padding-top:0 !important; }
  #growth .jbs-plaque__year{ font-size:3rem !important; }
}


#growth .jbs-tree-stage{
  max-width:1400px !important;
  gap:clamp(3rem,6vw,6rem) !important;
  padding:0 2rem !important;
}
#growth .jbs-tree-left{
  height:min(80vh,780px) !important;
  min-width:0 !important;
}
#growth .jbs-tree-right{
  padding-top:1rem !important;
}
#growth .jbs-plaque{
  padding:3rem 3.5rem !important;
}
#growth .jbs-plaque__year{
  font-size:5.5rem !important;
}
#growth .jbs-plaque__title{
  font-size:1.8rem !important;
}
#growth .jbs-plaque__desc{
  font-size:1.05rem !important;
  line-height:2 !important;
}
#growth .jbs-node__yr{
  font-size:16px !important;
}


#growth .jbs-tree-stage{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:3rem !important;
  align-items:start !important;
  max-width:1200px !important;
  margin:0 auto !important;
}
#growth .jbs-tree-left{
  position:relative !important;
  height:62vh !important;
  min-height:480px !important;
  max-height:680px !important;
}
#growth .jbs-tree-svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
#growth .jbs-tree-right{padding-top:0 !important}
#growth .jbs-plaque{
  position:relative !important;
  background:linear-gradient(135deg,#16261F 0%,#1E3228 50%,#16261F 100%) !important;
  border-radius:6px !important;
  padding:45px 50px !important;
  box-shadow:0 20px 60px rgba(22,38,31,.3) !important;
  border-top:3px solid #D9B76C !important;
  height:62vh !important;
  min-height:480px !important;
  max-height:680px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
#growth .jbs-plaque::before{
  content:"" !important;position:absolute !important;top:12px !important;left:12px !important;
  width:7px !important;height:7px !important;border-radius:50% !important;background:#D9B76C !important;
}
#growth .jbs-plaque::after{
  content:"" !important;position:absolute !important;top:12px !important;right:12px !important;
  width:7px !important;height:7px !important;border-radius:50% !important;background:#D9B76C !important;
}
#growth .jbs-plaque__tag{
  display:inline-block !important;font-size:.78rem !important;color:#D9B76C !important;
  letter-spacing:2px !important;border:1px solid rgba(217,183,108,.4) !important;
  padding:.35rem .9rem !important;border-radius:2px !important;margin-bottom:20px !important;
}
#growth .jbs-plaque__year{
  font-size:5rem !important;font-weight:700 !important;line-height:1 !important;
  background:linear-gradient(180deg,#F2DCA6,#D9B76C 50%,#A8843C) !important;
  -webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;
  margin-bottom:10px !important;
}
#growth .jbs-plaque__title{
  font-size:1.9rem !important;color:#F2EBDC !important;margin:0 0 20px 0 !important;font-weight:600 !important;
}
#growth .jbs-plaque__desc{
  font-size:1.05rem !important;line-height:2.1 !important;color:rgba(242,235,220,.78) !important;
}
#growth .jbs-plaque__seal{
  position:absolute !important;bottom:20px !important;right:20px !important;
  width:48px !important;height:48px !important;background:#9E2B25 !important;color:#F2EBDC !important;
  font-size:.72rem !important;line-height:1.2 !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  text-align:center !important;border-radius:3px !important;transform:rotate(-3deg) !important;opacity:.9 !important;
}

#growth .jbs-node{
  position:absolute !important;background:none !important;border:none !important;
  cursor:pointer !important;padding:0 !important;
}
#growth .jbs-node--left{right:75% !important}
#growth .jbs-node--right{left:75% !important}
#growth .jbs-node--left .jbs-node__yr{display:block !important;text-align:right !important}
#growth .jbs-node--right .jbs-node__yr{display:block !important;text-align:left !important}
#growth .jbs-node--left::before{
  content:"" !important;display:block !important;width:18px !important;height:26px !important;
  background:linear-gradient(135deg,#EBD4A0,#C9A55C 52%,#8A6A2F) !important;
  border-radius:0 50% 0 50% !important;transform:rotate(-20deg) !important;
  margin-left:auto !important;margin-bottom:4px !important;
}
#growth .jbs-node--right::before{
  content:"" !important;display:block !important;width:18px !important;height:26px !important;
  background:linear-gradient(135deg,#EBD4A0,#C9A55C 52%,#8A6A2F) !important;
  border-radius:0 50% 0 50% !important;transform:rotate(20deg) !important;
  margin-bottom:4px !important;
}
#growth .jbs-node__yr{font-size:15px !important;font-weight:600 !important;color:#6E5222 !important;white-space:nowrap !important}
#growth .jbs-node:hover .jbs-node__yr,#growth .jbs-node.is-on .jbs-node__yr{color:#16261F !important}
#growth .jbs-node:hover::before,#growth .jbs-node.is-on::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
}
#growth .jbs-node[data-year="2008"]{bottom:8% !important}
#growth .jbs-node[data-year="2016"]{bottom:20% !important}
#growth .jbs-node[data-year="2019"]{bottom:31% !important}
#growth .jbs-node[data-year="2020"]{bottom:42% !important}
#growth .jbs-node[data-year="2021"]{bottom:53% !important}
#growth .jbs-node[data-year="2023"]{bottom:64% !important}
#growth .jbs-node[data-year="2024"]{bottom:74% !important}
#growth .jbs-node[data-year="2025"]{bottom:83% !important}
#growth .jbs-node[data-year="2026"]{bottom:90% !important}

#growth .jbs-node--fruit::before{
  content:"" !important;display:block !important;width:18px !important;height:26px !important;
  background:linear-gradient(135deg,#EBD4A0,#C9A55C 52%,#8A6A2F) !important;
  border-radius:0 50% 0 50% !important;
}
#growth .jbs-node--fruit.jbs-node--left::before{transform:rotate(-20deg) !important;margin-left:auto !important}
#growth .jbs-node--fruit.jbs-node--right::before{transform:rotate(20deg) !important}
#growth .jbs-stats{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;margin:30px auto 0 !important;max-width:1200px !important;
  border-radius:6px !important;overflow:hidden !important;background:#16261F !important;
}
#growth .jbs-stat{
  text-align:center !important;padding:24px 10px !important;cursor:pointer !important;
  transition:background .3s ease !important;
  border-right:1px solid rgba(217,183,108,.15) !important;
}
#growth .jbs-stat:last-child{border-right:none !important}
#growth .jbs-stat:hover{background:#1E3228 !important}
#growth .jbs-stat__num{
  font-size:2.2rem !important;font-weight:700 !important;line-height:1 !important;
  background:linear-gradient(180deg,#D9B76C,#A8843C) !important;
  -webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;
}
#growth .jbs-stat__label{
  font-size:.85rem !important;color:rgba(242,235,220,.6) !important;margin-top:6px !important;letter-spacing:1px !important;
}

@media(max-width:900px){
  #growth .jbs-tree-stage{grid-template-columns:1fr !important;gap:2rem !important}
  #growth .jbs-tree-left{height:480px !important}
  #growth .jbs-plaque{height:auto !important;min-height:auto !important;padding:30px !important}
  #growth .jbs-plaque__year{font-size:3.5rem !important}
  #growth .jbs-stats{grid-template-columns:repeat(2,1fr) !important}
  #growth .jbs-stat:nth-child(2){border-right:none !important}
  #growth .jbs-stat:nth-child(1),#growth .jbs-stat:nth-child(2){border-bottom:1px solid rgba(217,183,108,.15) !important}
}


#growth .jbs-stage-card{
  background:#FAF6EE !important;
  border:1px solid rgba(168,132,60,.3) !important;
  border-radius:8px !important;
  padding:35px 50px !important;
  box-shadow:0 4px 30px rgba(22,38,31,.06) !important;
  position:relative !important;
  max-width:1200px !important;
  margin:0 auto !important;
}
#growth .jbs-stage-card::before{
  content:"" !important;position:absolute !important;
  top:-1px !important;left:20px !important;right:20px !important;height:3px !important;
  background:linear-gradient(90deg,transparent,#D9B76C,transparent) !important;
  border-radius:0 0 3px 3px !important;
}

#growth .jbs-node:hover .jbs-node__yr,
#growth .jbs-node.is-on .jbs-node__yr{
  color:#16261F !important;
}
#growth .jbs-node:hover::before,
#growth .jbs-node.is-on::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
}


#growth .jbs-stage-card{
  max-width:none !important;
  padding:30px 0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
#growth .jbs-stage-card::before{display:none !important}
#growth .jbs-tree-stage{
  max-width:none !important;
}
#growth .jbs-stats{
  max-width:none !important;
}

#growth .jbs-node.is-on::before,
#growth .jbs-node:hover::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
  -webkit-background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
}
#growth .jbs-node.is-on .jbs-node__yr{
  color:#16261F !important;
}


#growth .jbs-node.is-on::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
}
#growth .jbs-node.is-on .jbs-node__yr{
  color:#16261F !important;
}


#growth .jbs-node.is-on:not(.jbs-node--fruit)::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F) !important;
}
#growth .jbs-node.is-on .jbs-node__yr{
  color:#16261F !important;
}



#stores .map-kpis{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  border:1px solid rgba(242,220,166,.55) !important;
  border-radius:6px !important;
  background:linear-gradient(160deg,#D4B276 0%,#B89455 45%,#8A6A30 100%) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 0 28px rgba(212,178,118,.28),
    0 1px 0 rgba(255,240,205,.45) inset,
    0 -4px 8px rgba(0,0,0,.25) inset,
    0 16px 34px -10px rgba(0,0,0,.7) !important;
  overflow:hidden !important;
  margin:24px 0 30px !important;
}
#stores .map-kpis::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;left:10% !important;right:10% !important;height:2px !important;
  background:linear-gradient(90deg,transparent,#FFF3D6,transparent) !important;
  z-index:2 !important;
}
#stores .map-kpis li{
  padding:26px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  position:relative !important;
  transition:all .4s !important;
}
#stores .map-kpis li + li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;top:22% !important;height:56% !important;width:1px !important;
  background:linear-gradient(180deg,transparent,rgba(22,36,30,.35),transparent) !important;
}
#stores .map-kpis li:hover{
  background:linear-gradient(160deg,#E6CB93 0%,#D4B276 60%,#B89455 100%) !important;
  box-shadow:inset 0 0 28px rgba(255,246,220,.4) !important;
}
#stores .map-kpis__value{
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-weight:900 !important;
  font-size:clamp(34px,3.6vw,48px) !important;
  line-height:1 !important;
  color:#16241E !important;
  text-shadow:0 1px 0 rgba(255,246,220,.3) !important;
}
#stores .map-kpis__value em{
  font-size:.4em !important;
  font-weight:600 !important;
  margin-left:3px !important;
  opacity:.75 !important;
}
#stores .map-kpis__label{
  font-size:12px !important;
  color:rgba(22,36,30,.8) !important;
  letter-spacing:.22em !important;
}


#stores .prov-chips{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:18px !important;
  margin:40px 0 28px !important;
  align-items:end !important;
  list-style:none !important;
  padding:0 !important;
}
#stores .prov-chip{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-decoration:none !important;
  transform:translateY(14px) scale(.94) !important;
  opacity:.72 !important;
  transition:all .45s cubic-bezier(.22,.61,.36,1) !important;
}
#stores .prov-chip::before{
  content:"" !important;
  width:14px !important;height:14px !important;
  border:2px solid #B08C4E !important;
  border-radius:50% !important;
  margin-bottom:-4px !important;
  z-index:2 !important;
  background:#0D221C !important;
}
#stores .prov-chip::after{
  content:"" !important;
  width:100% !important;
  padding:28px 14px 24px !important;
  text-align:center !important;
  background:linear-gradient(180deg,#18382F 0%,#112820 100%) !important;
  border:1px solid #B08C4E !important;
  border-radius:4px !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 0 18px rgba(212,178,118,.12),
    0 1px 0 rgba(242,220,166,.3) inset,
    0 -4px 8px rgba(0,0,0,.4) inset,
    0 16px 30px -10px rgba(0,0,0,.7) !important;
}
#stores .prov-chip:hover{
  transform:translateY(6px) scale(.97) !important;
  opacity:.9 !important;
}
#stores .prov-chip:first-child{
  transform:translateY(-8px) scale(1.04) !important;
  opacity:1 !important;
}
#stores .prov-chip:first-child::before{
  border-color:#F2DCA6 !important;
  background:#F2DCA6 !important;
}
#stores .prov-chip:first-child::after{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
  box-shadow:
    0 1px 0 rgba(255,240,205,.4) inset,
    0 -2px 0 rgba(0,0,0,.25) inset,
    0 20px 40px -12px rgba(212,178,118,.5) !important;
}
#stores .prov-chip__name{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-weight:700 !important;
  font-size:18px !important;
  color:#F5EED8 !important;
  letter-spacing:.2em !important;
  margin-bottom:10px !important;
}
#stores .prov-chip:first-child .prov-chip__name{
  color:#16241E !important;
}
#stores .prov-chip__num{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-weight:900 !important;
  font-size:34px !important;
  line-height:1 !important;
  color:#D9B76C !important;
}
#stores .prov-chip:first-child .prov-chip__num{
  color:#16241E !important;
}


#stores .cities-bar{
  position:relative !important;
  border:1px solid rgba(242,220,166,.5) !important;
  border-radius:4px !important;
  background:linear-gradient(160deg,#D4B276 0%,#B89455 50%,#8A6A30 100%) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 0 22px rgba(212,178,118,.22),
    0 1px 0 rgba(255,246,220,.4) inset,
    0 12px 26px -10px rgba(0,0,0,.65) !important;
  padding:20px 24px !important;
  margin-top:10px !important;
}
#stores .cities-bar .ct-label{
  display:inline-block !important;
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-size:12px !important;
  color:#16241E !important;
  letter-spacing:.3em !important;
  margin-right:18px !important;
  background:rgba(255,246,220,.25) !important;
  padding:2px 10px !important;
  border-radius:2px !important;
}
#stores .cities-bar .city-chip{
  display:inline-block !important;
  font-size:13px !important;
  color:rgba(22,36,30,.85) !important;
  margin:0 10px !important;
}
#stores .cities-bar .city-chip b{
  color:#16241E !important;
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  margin-left:4px !important;
  font-weight:700 !important;
}


@media (max-width:860px){
  #stores .map-kpis{grid-template-columns:repeat(2,1fr) !important}
  #stores .prov-chips{grid-template-columns:repeat(2,1fr) !important}
  #stores .prov-chips .prov-chip:last-child{grid-column:span 2 !important}
}


#stores .prov-chips li:first-child .prov-chip{
  transform:translateY(-8px) scale(1.04) !important;
  opacity:1 !important;
}
#stores .prov-chips li:first-child .prov-chip::before{
  border-color:#F2DCA6 !important;
  background:#F2DCA6 !important;
}
#stores .prov-chips li:first-child .prov-chip::after{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
}
#stores .prov-chips li:first-child .prov-chip__name{
  color:#16241E !important;
}
#stores .prov-chips li:first-child .prov-chip__num{
  color:#16241E !important;
}


#stores .prov-chip{
  padding:28px 14px 24px !important;
}
#stores .prov-chip::after{
  position:absolute !important;
  top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
  width:auto !important;
  padding:0 !important;
  z-index:0 !important;
}
#stores .prov-chip__name,
#stores .prov-chip__num{
  position:relative !important;
  z-index:1 !important;
}

#stores .cities-bar .city-chip{
  color:#16241E !important;
  font-weight:500 !important;
}
#stores .cities-bar .ct-label{
  color:#16241E !important;
}


#stores .prov-chips li:not(:first-child) .prov-chip::after{
  background:linear-gradient(180deg,#18382F 0%,#112820 100%) !important;
}
#stores .prov-chips li:not(:first-child) .prov-chip__name{
  color:#F5EED8 !important;
}
#stores .prov-chips li:not(:first-child) .prov-chip__num{
  color:#D9B76C !important;
}


#stores .prov-chips li.active-prov .prov-chip{
  transform:translateY(-8px) scale(1.04) !important;
  opacity:1 !important;
}
#stores .prov-chips li.active-prov .prov-chip::before{
  border-color:#F2DCA6 !important;
  background:#F2DCA6 !important;
}
#stores .prov-chips li.active-prov .prov-chip::after{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
}
#stores .prov-chips li.active-prov .prov-chip__name{
  color:#16241E !important;
}
#stores .prov-chips li.active-prov .prov-chip__num{
  color:#16241E !important;
}

#stores .prov-chips li:first-child{
  --active:1;
}
#stores .prov-chips li:first-child .prov-chip{
  transform:translateY(-8px) scale(1.04) !important;
  opacity:1 !important;
}
#stores .prov-chips li:first-child .prov-chip::before{
  border-color:#F2DCA6 !important;
  background:#F2DCA6 !important;
}
#stores .prov-chips li:first-child .prov-chip::after{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
}
#stores .prov-chips li:first-child .prov-chip__name{
  color:#16241E !important;
}
#stores .prov-chips li:first-child .prov-chip__num{
  color:#16241E !important;
}

#stores .prov-chips li.active-prov ~ li .prov-chip,
#stores .prov-chips li:has(~ li.active-prov) .prov-chip{
  transform:translateY(14px) scale(.94) !important;
  opacity:.72 !important;
}


#stores .prov-chips li .prov-chip{
  transform:translateY(14px) scale(.94) !important;
  opacity:.72 !important;
}
#stores .prov-chips li.active-prov .prov-chip{
  transform:translateY(-8px) scale(1.04) !important;
  opacity:1 !important;
}
#stores .prov-chips li.active-prov .prov-chip::before{
  border-color:#F2DCA6 !important;
  background:#F2DCA6 !important;
}
#stores .prov-chips li.active-prov .prov-chip::after{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
}
#stores .prov-chips li.active-prov .prov-chip__name{
  color:#16241E !important;
}
#stores .prov-chips li.active-prov .prov-chip__num{
  color:#16241E !important;
}


#stores .plaque-row{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:18px !important;
  margin:40px 0 28px !important;
  align-items:end !important;
}
#stores .plaque{
  position:relative !important;
  cursor:pointer !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  transition:transform .45s cubic-bezier(.22,.61,.36,1) !important;
  font-family:inherit !important;
}
#stores .plaque .ring{
  width:14px !important;height:14px !important;
  border:2px solid #B08C4E !important;
  border-radius:50% !important;
  margin-bottom:-4px !important;
  z-index:2 !important;
  background:#0D221C !important;
  transition:all .4s !important;
}
#stores .plaque .board{
  position:relative !important;
  width:100% !important;
  padding:28px 14px 24px !important;
  text-align:center !important;
  background:linear-gradient(180deg,#18382F 0%,#112820 100%) !important;
  border:1px solid #B08C4E !important;
  border-radius:4px !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 0 18px rgba(212,178,118,.12),
    0 1px 0 rgba(242,220,166,.3) inset,
    0 -4px 8px rgba(0,0,0,.4) inset,
    0 16px 30px -10px rgba(0,0,0,.7) !important;
  overflow:hidden !important;
  transition:all .45s cubic-bezier(.22,.61,.36,1) !important;
}
#stores .plaque .board::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;left:-80% !important;width:60% !important;height:100% !important;
  background:linear-gradient(100deg,transparent,rgba(255,240,205,.18),transparent) !important;
  transition:left .7s ease !important;
}
#stores .plaque:hover .board::before{left:130% !important}
#stores .plaque .board::after{
  content:"" !important;
  position:absolute !important;
  inset:7px !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle 3px at 8px 8px,#B08C4E 90%,transparent),
    radial-gradient(circle 3px at calc(100% - 8px) 8px,#B08C4E 90%,transparent),
    radial-gradient(circle 3px at 8px calc(100% - 8px),#B08C4E 90%,transparent),
    radial-gradient(circle 3px at calc(100% - 8px) calc(100% - 8px),#B08C4E 90%,transparent) !important;
  opacity:.7 !important;
}
#stores .plaque .pname{
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-weight:700 !important;font-size:18px !important;
  color:#F5EED8 !important;letter-spacing:.2em !important;margin-bottom:10px !important;
}
#stores .plaque .pcount{
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  font-weight:900 !important;font-size:34px !important;line-height:1 !important;
  color:#D9B76C !important;
}
#stores .plaque .pcount small{
  font-size:11px !important;font-weight:400 !important;
  color:rgba(245,238,216,.5) !important;margin-left:3px !important;letter-spacing:.1em !important;
}
#stores .plaque .base{
  width:70% !important;height:6px !important;margin-top:-1px !important;
  background:linear-gradient(180deg,#B08C4E,#5C4620) !important;
  border-radius:0 0 3px 3px !important;
  transition:all .4s !important;
}
#stores .plaque:not(.active){
  transform:translateY(14px) scale(.94) !important;
  opacity:.72 !important;
}
#stores .plaque:not(.active) .board{border-color:rgba(138,106,48,.6) !important}
#stores .plaque:hover:not(.active){
  transform:translateY(6px) scale(.97) !important;opacity:.9 !important;
}
#stores .plaque.active{
  transform:translateY(-8px) scale(1.04) !important;
}
#stores .plaque.active .board{
  background:linear-gradient(160deg,#D4B276 0%,#A5834A 60%,#6E5222 100%) !important;
  border-color:#F2DCA6 !important;
  box-shadow:
    0 1px 0 rgba(255,240,205,.4) inset,
    0 -2px 0 rgba(0,0,0,.25) inset,
    0 20px 40px -12px rgba(212,178,118,.5) !important;
}
#stores .plaque.active .board::after{opacity:.9 !important}
#stores .plaque.active .pname{color:#16241E !important}
#stores .plaque.active .pcount{color:#16241E !important}
#stores .plaque.active .pcount small{color:rgba(22,36,30,.65) !important}
#stores .plaque.active .ring{border-color:#F2DCA6 !important;background:#F2DCA6 !important}
#stores .plaque.active .base{width:80% !important;background:linear-gradient(180deg,#F2DCA6,#B08C4E) !important}


#stores .cities{
  position:relative !important;
  border:1px solid rgba(242,220,166,.5) !important;border-radius:4px !important;
  background:linear-gradient(160deg,#D4B276 0%,#B89455 50%,#8A6A30 100%) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 0 22px rgba(212,178,118,.22),
    0 1px 0 rgba(255,246,220,.4) inset,
    0 12px 26px -10px rgba(0,0,0,.65) !important;
  padding:26px 24px 22px !important;min-height:70px !important;
}
#stores .cities::before{
  content:"" !important;position:absolute !important;left:24px !important;right:24px !important;top:50% !important;height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(22,36,30,.5),transparent) !important;
}
#stores .cities .ct-label{
  position:relative !important;display:inline-block !important;
  font-family:var(--font-serif,"Noto Serif SC",serif) !important;font-size:12px !important;color:#16241E !important;
  letter-spacing:.3em !important;margin-right:18px !important;
  background:rgba(255,246,220,.25) !important;padding:2px 10px !important;border-radius:2px !important;
}
#stores .cities .city-chip{
  position:relative !important;display:inline-block !important;vertical-align:middle !important;
  font-size:13px !important;color:rgba(22,36,30,.85) !important;margin:0 10px !important;
}
#stores .cities .city-chip b{
  color:#16241E !important;font-family:var(--font-serif,"Noto Serif SC",serif) !important;
  margin-left:4px !important;font-weight:700 !important;
}


@media (max-width:860px){
  #stores .plaque-row{grid-template-columns:repeat(2,1fr) !important}
  #stores .plaque-row .plaque:last-child{grid-column:span 2 !important}
}


#growth .jbs-stage-card{
  border:1px solid rgba(212,178,118,.55) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.08),
    0 0 30px rgba(212,178,118,.18),
    0 1px 0 rgba(255,246,220,.4) inset,
    0 20px 50px -20px rgba(0,0,0,.3) !important;
}


#growth .jbs-stage-card{
  border:1px solid rgba(212,178,118,.55) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.08),
    0 0 32px rgba(212,178,118,.15),
    0 1px 0 rgba(255,255,255,.6) inset,
    0 24px 60px -20px rgba(0,0,0,.25) !important;
}





#growth .jbs-tree-stage .jbs-leaf{
  opacity:0 !important;
  transition:opacity .6s ease-out !important;
}
#growth .jbs-tree-stage.is-grown .jbs-leaf{
  opacity:1 !important;
}


#growth .jbs-tree-stage svg path.jbs-trunk,
#growth .jbs-tree-stage svg path.jbs-branch{
  stroke-dashoffset:1 !important;
  transition:none !important;
}
#growth .jbs-tree-stage.is-grown svg path.jbs-trunk{
  stroke-dashoffset:0 !important;
  transition:stroke-dashoffset 2.2s cubic-bezier(.22,.61,.36,1) !important;
}
#growth .jbs-tree-stage.is-grown svg path.jbs-branch{
  stroke-dashoffset:0 !important;
}


body.page-home #growth .jbs-tree-stage svg path.jbs-trunk,
body.page-home #growth .jbs-tree-stage svg path.jbs-branch{
  stroke-dashoffset:1 !important;
  transition:none !important;
}
body.page-home #growth .jbs-tree-stage.is-grown svg path.jbs-trunk{
  stroke-dashoffset:0 !important;
  transition:stroke-dashoffset 2.2s cubic-bezier(.22,.61,.36,1) !important;
}
body.page-home #growth .jbs-tree-stage.is-grown svg path.jbs-branch{
  stroke-dashoffset:0 !important;
}


#growth .ztree-card{
  background:#F2EBDC;
  border:2px solid #D4B276;
  border-radius:12px;
  padding:32px 40px;
  margin-top:24px;
  box-shadow:0 0 0 1px rgba(0,0,0,.06),0 0 32px rgba(212,178,118,.15),0 1px 0 rgba(255,255,255,.6) inset,0 24px 60px -20px rgba(0,0,0,.25);
}
#growth .ztree-stage{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:32px;
  align-items:center;
  min-height:640px;
}
#growth .ztree-left{
  position:relative;
  height:640px;
}
#growth .ztree-svg{
  width:100%;
  height:100%;
  overflow:visible;
  preserveAspectRatio:xMidYMid meet;
}
#growth .ztree-node{
  position:absolute;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:8px 12px;
  font-family:inherit;
}
#growth .ztree-node--left{left:0;text-align:left;}
#growth .ztree-node--right{right:0;text-align:right;}
#growth .ztree-node__yr{
  display:inline-block;
  font-size:18px;
  font-weight:700;
  color:#8A6A30;
  letter-spacing:.05em;
  transition:color .3s;
}
#growth .ztree-node--left .ztree-node__yr::before{
  content:'';
  display:inline-block;
  width:28px;height:14px;
  margin-right:8px;
  background:linear-gradient(135deg,#C9A55C,#8A6A30);
  border-radius:0 14px 14px 14px;
  transform:rotate(-10deg);
  vertical-align:middle;
  transition:background .3s;
}
#growth .ztree-node--right .ztree-node__yr::before{
  content:'';
  display:inline-block;
  width:28px;height:14px;
  margin-left:8px;
  background:linear-gradient(135deg,#C9A55C,#8A6A30);
  border-radius:14px 0 14px 14px;
  transform:rotate(10deg);
  vertical-align:middle;
  transition:background .3s;
}
#growth .ztree-node.is-on .ztree-node__yr{color:#16261F;}
#growth .ztree-node.is-on--left .ztree-node__yr::before,
#growth .ztree-node.is-on .ztree-node--right .ztree-node__yr::before,
#growth .ztree-node--left.is-on .ztree-node__yr::before,
#growth .ztree-node--right.is-on .ztree-node__yr::before{
  background:linear-gradient(135deg,#2A4A3A,#16261F);
}
#growth .ztree-right{
  display:flex;
  align-items:center;
}
#growth .ztree-plaque{
  position:relative;
  background:linear-gradient(135deg,#F7F0E0,#E8DCC0);
  border:1.5px solid #B89455;
  border-radius:8px;
  padding:28px 28px 32px;
  width:100%;
  box-shadow:0 4px 16px rgba(0,0,0,.12),0 1px 0 rgba(255,255,255,.5) inset;
}
#growth .ztree-plaque::before,
#growth .ztree-plaque::after{
  content:'';
  position:absolute;
  width:8px;height:8px;
  background:#8A6A30;
  border-radius:50%;
}
#growth .ztree-plaque::before{top:8px;left:8px;}
#growth .ztree-plaque::after{top:8px;right:8px;}
#growth .ztree-plaque__tag{
  display:block;
  font-size:12px;
  color:#8A6A30;
  letter-spacing:.1em;
  margin-bottom:8px;
}
#growth .ztree-plaque__year{
  font-size:36px;
  font-weight:900;
  background:linear-gradient(135deg,#D4B276,#8A6A30);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  line-height:1;
  margin-bottom:12px;
}
#growth .ztree-plaque__title{
  font-size:18px;
  font-weight:700;
  color:#16261F;
  margin:0 0 12px;
}
#growth .ztree-plaque__desc{
  font-size:14px;
  line-height:1.8;
  color:#3A3A3A;
  margin:0;
}
#growth .ztree-plaque__seal{
  position:absolute;
  bottom:16px;
  right:16px;
  width:40px;height:40px;
  background:#B83A2A;
  color:#fff;
  font-size:10px;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:4px;
  transform:rotate(-8deg);
  opacity:.85;
}
#growth .ztree-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(184,148,85,.3);
}
#growth .ztree-stat{text-align:center;}
#growth .ztree-stat__num{
  font-size:32px;
  font-weight:900;
  color:#D4B276;
  line-height:1;
}
#growth .ztree-stat__label{
  font-size:13px;
  color:#8A6A30;
  margin-top:6px;
}


@media (max-width:768px){
  #growth .ztree-card{padding:20px 16px;}
  #growth .ztree-stage{grid-template-columns:1fr;gap:20px;min-height:auto;}
  #growth .ztree-left{height:480px;}
  #growth .ztree-right{order:-1;}
  #growth .ztree-stats{grid-template-columns:repeat(2,1fr);}
}




body.page-home #growth .ztree-trunk {
  stroke-width: 5 !important;
}
body.page-home #growth .ztree-branch {
  stroke-width: 3.2 !important;
  stroke: #8A6A2F !important;
  filter: drop-shadow(0 1px 1px rgba(110,82,34,.25)) !important;
}
body.page-home #growth .ztree-svg path[stroke="#8A6A30"] { stroke-width: 1.4 !important; }


body.page-home #growth .ztree-left { height: 700px !important; }
body.page-home #growth .ztree-stage { min-height: 700px !important; }


body.page-home #growth .ztree-svg circle {
  filter: drop-shadow(0 0 10px rgba(217,183,108,.55)) !important;
}


body.page-home #growth .ztree-node { position: absolute !important; }
body.page-home #growth .ztree-node__yr {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 17px !important;
  color: #6E5222 !important;
}
body.page-home #growth .ztree-node--left .ztree-node__yr::after,
body.page-home #growth .ztree-node--right .ztree-node__yr::before {
  content: "";
  width: 22px;
  height: 13px;
  background: linear-gradient(135deg, #EBD4A0 0%, #C9A55C 52%, #8A6A30 100%);
  border-radius: 100% 0 100% 0;
  transform: rotate(-38deg);
  box-shadow: 0 1px 2px rgba(110,82,34,.3);
  flex: 0 0 auto;
}

body.page-home #growth .ztree-node--left { text-align: right !important; }
body.page-home #growth .ztree-node--right { text-align: left !important; }
body.page-home #growth .ztree-node__yr { flex-direction: row-reverse; }
body.page-home #growth .ztree-node--right .ztree-node__yr { flex-direction: row; }

body.page-home #growth .ztree-node.is-on .ztree-node__yr { color: #9E2B25 !important; }
body.page-home #growth .ztree-node.is-on .ztree-node__yr::before,
body.page-home #growth .ztree-node.is-on .ztree-node__yr::after {
  background: linear-gradient(135deg, #C4443B 0%, #9E2B25 100%) !important;
}

@media (max-width: 63.99rem) {
  body.page-home #growth .ztree-left { height: 520px !important; }
  body.page-home #growth .ztree-stage { min-height: 520px !important; grid-template-columns: 1fr !important; }
}


body.page-home #growth .ztree-trunk {
  stroke-width: 9 !important;
  filter: drop-shadow(0 2px 3px rgba(110,82,34,.28)) !important;
}
body.page-home #growth .ztree-branch {
  stroke-width: 4.6 !important;
  filter: drop-shadow(0 1px 2px rgba(110,82,34,.28)) !important;
}
body.page-home #growth .ztree-stage {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 26px !important;
  min-height: 720px !important;
}
body.page-home #growth .ztree-left { height: 720px !important; }
body.page-home #growth .ztree-node__yr {
  font-size: 21px !important;
  letter-spacing: .03em !important;
  gap: 10px !important;
}
body.page-home #growth .ztree-node--left .ztree-node__yr::after,
body.page-home #growth .ztree-node--right .ztree-node__yr::before {
  width: 30px !important;
  height: 17px !important;
}
body.page-home #growth .ztree-plaque { padding: 22px !important; }
body.page-home #growth .ztree-plaque__year { font-size: 44px !important; }

@media (max-width: 63.99rem) {
  body.page-home #growth .ztree-stage { grid-template-columns: 1fr !important; min-height: 560px !important; }
  body.page-home #growth .ztree-left { height: 560px !important; }
  body.page-home #growth .ztree-node__yr { font-size: 17px !important; }
}


@media (max-width: 63.99rem) {
  body.page-home #support .gallery {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.page-home #support .frame {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.page-home #support .frame .jbs-slides {
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
  }
  body.page-home #support .frame-video {
    height: 210px !important;
  }
  body.page-home #support .frame-video iframe {
    width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
  }
  body.page-home #support .frame .caption {
    font-size: 11px !important;
    padding: 6px 4px !important;
  }
}

body.page-home #support .cta .btn-primary,
body.page-home #support .cta a[href^="tel:"] {
  background: transparent !important;
  border: 1px solid rgba(217,183,108,.6) !important;
  color: #D9B36C !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
}
body.page-home #support .cta .btn-primary:hover,
body.page-home #support .cta a[href^="tel:"]:hover {
  background: rgba(217,183,108,.12) !important;
  color: #D9B36C !important;
}


body.page-home #support .cta a.btn-primary,
body.page-home #support .cta a[href^="tel:"],
body.page-home #support .cta .btn:first-child {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(217,183,108,.65) !important;
  color: #D9B36C !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  box-shadow: none !important;
}
body.page-home #support .cta a.btn-primary:hover,
body.page-home #support .cta a[href^="tel:"]:hover {
  background: rgba(217,183,108,.14) !important;
  color: #D9B36C !important;
  border-color: rgba(217,183,108,.9) !important;
}



body.page-home .hero--slides .hero-slide:nth-child(1) .hero__inner,
body.page-home .hero--slides .hero-slide:nth-child(5) .hero__inner {
  margin-left: clamp(2rem, 14vw, 12rem) !important;
  max-width: min(42rem, calc(100vw - 3rem)) !important;
}

body.page-home .hero--slides .hero-slide:nth-child(5) .hero-slide__img {
  object-position: 50% 38% !important;
}
body.page-home .hero--slides .hero-slide:nth-child(5) {
  align-items: center !important;
}
body.page-home .hero--slides .hero-slide:nth-child(5) .hero__inner {
  margin-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-home .hero--slides .hero-slide:nth-child(5) .hero-slide__scrim {
  background:
    linear-gradient(to top, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, 0) 38%),
    linear-gradient(100deg,
      rgba(8, 20, 16, .76) 0%,
      rgba(8, 20, 16, .48) 38%,
      rgba(8, 20, 16, .12) 68%,
      rgba(8, 20, 16, 0) 100%) !important;
}

body.page-home .hero--slides .hero__title,
body.page-home .hero--slides .hero__lead,
body.page-home .hero--slides .eyebrow {
  white-space: nowrap !important;
}
body.page-home .hero--slides .hero__title { font-size: clamp(1.35rem, 2.9vw, 3.2rem) !important; }
body.page-home .hero--slides .hero__lead { font-size: clamp(0.8125rem, 1.05vw, 1.0625rem) !important; }
body.page-home .hero--slides .eyebrow { font-size: clamp(0.6875rem, .85vw, .875rem) !important; }

@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero-slide:nth-child(5) {
    background-position: 50% 25% !important;
  }
  body.page-home .hero--slides .hero__title { font-size: clamp(1.45rem, 7vw, 2.05rem) !important; }
  body.page-home .hero--slides .hero__lead { font-size: clamp(0.75rem, 3.3vw, 0.9rem) !important; }
  body.page-home .hero--slides .eyebrow { font-size: clamp(0.625rem, 2.8vw, 0.75rem) !important; }
}


body.page-home .hero--slides .hero__title,
body.page-home .hero--slides .hero__lead,
body.page-home .hero--slides .eyebrow {
  text-shadow:
    0 1px 3px rgba(0, 0, 0, .55),
    0 6px 18px rgba(0, 0, 0, .5),
    0 18px 48px rgba(0, 0, 0, .45) !important;
}
body.page-home .hero--slides .eyebrow {
  color: #D9B36C !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .7) !important;
}
body.page-home .hero--slides .hero__lead {
  color: rgba(255, 255, 255, .95) !important;
}
body.page-home .hero--slides .hero-slide__scrim {
  background: linear-gradient(100deg,
    rgba(8, 20, 16, .78) 0%,
    rgba(8, 20, 16, .55) 40%,
    rgba(8, 20, 16, .16) 70%,
    rgba(8, 20, 16, 0) 100%) !important;
}

body.page-home .hero--slides .hero-slide:nth-child(5) .hero-slide__scrim {
  background:
    linear-gradient(to top, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, 0) 38%),
    linear-gradient(100deg,
      rgba(8, 20, 16, .78) 0%,
      rgba(8, 20, 16, .55) 40%,
      rgba(8, 20, 16, .16) 70%,
      rgba(8, 20, 16, 0) 100%) !important;
}


body.page-home .hero--slides .hero-arrow {
  top: auto !important;
  bottom: 2.75rem !important;
}


body.page-home .hero--slides a.btn--outline-light {
  background: transparent !important;
  border: 1px solid rgba(217, 183, 108, .55) !important;
  color: #EFE8DC !important;
  box-shadow: none !important;
}


@media (min-width: 64rem) {
  body:not(.page-home) .header .brand__name {
    color: #fff !important;
  }
  body:not(.page-home) .header .brand__logo {
    width: 48px !important;
    height: 48px !important;
    padding: .3rem !important;
    background: #fff !important;
    border-radius: .5rem !important;
    box-sizing: border-box !important;
  }

  body:not(.page-home) .header .nav__link {
    color: #fff !important;
  }
  body:not(.page-home) .header .nav__link:hover,
  body:not(.page-home) .header .nav__link:focus-visible {
    color: #C9A169 !important;
  }
  body:not(.page-home) .header .nav__link--current,
  body:not(.page-home) .header .nav__link.is-active,
  body:not(.page-home) .header .nav__link[href="/"],
  body:not(.page-home) .header .nav__link[href="./"] {
    color: #C9A169 !important;
  }
  body:not(.page-home) .header .nav__link[href="/"]:hover,
  body:not(.page-home) .header .nav__link[href="./"]:hover {
    color: #D9B36C !important;
  }
}


body.page-home .hero--slides .hero-slide__img {
  filter: saturate(.92) contrast(1.05) brightness(.99) sepia(.05) !important;
}

body.page-home #stores .map-box {
  background-color: #EDE6D4 !important;
  background-image: linear-gradient(100deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, .55) 45%,
    rgba(255, 255, 255, 0) 100%) !important;
  background-size: 220% 100% !important;
  animation: jbsMapShimmer 1.6s linear infinite !important;
}
body.page-home #stores .map-box.is-ready {
  background-image: none !important;
  animation: none !important;
}
@keyframes jbsMapShimmer {
  from { background-position: 120% 0; }
  to   { background-position: -120% 0; }
}

main .sec-head__title,
main .head h1,
main .cta-band h2 {
  font-weight: 600 !important;
  letter-spacing: -.012em !important;
}
main p,
main li { line-height: 1.78; }
main .sec-head__lead { line-height: 1.85 !important; }
[data-count],
.sec-head__lead,
.founder-stat__num { font-variant-numeric: tabular-nums; }

.header .nav__sub-link::after {
  background-image: url("../img/nav-nail-green.png?v=20261022") !important;
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2.25rem 2rem !important;
  }
  .footer__qr img {
    width: 104px !important;
    height: 104px !important;
  }
}


/* 2026-10-28 甲方：删除手机端轮播「模糊垫底 + contain 完整显示」方案——
   contain 在瘦长屏幕上下必留黑边（5 张图顶部空隙的来源），且盖住了铺满修复。
   现恢复为照片 cover 铺满整屏（上方 11174 行区块已定义）。 */



.service-card,
.product-slide-card,
.quali-card,
.jbs-grow-card,
.home-card,
.card {
  position: relative;
}
.service-card::after,
.product-slide-card::after,
.quali-card::after,
.jbs-grow-card::after,
.home-card::after,
.card::after {
  content: "";
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #D9B36C 0%, #A8843C 100%);
  opacity: .9;
  pointer-events: none;
  transition: width .55s cubic-bezier(.22, .61, .36, 1);
}
.service-card:hover::after,
.product-slide-card:hover::after,
.quali-card:hover::after,
.jbs-grow-card:hover::after,
.home-card:hover::after,
.card:hover::after {
  width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .service-card::after, .product-slide-card::after, .quali-card::after,
  .jbs-grow-card::after, .home-card::after, .card::after { transition: none; }
}


.frame-video { position: relative; }
.jbs-video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #07160F;
  border-radius: inherit;
}


.service-card {
  background: #0E231F !important;
}
.service-card img {
  background: #0E231F;
}


.jbs-seal{position:fixed;right:28px;bottom:28px;z-index:var(--z-float,900);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility .4s ease,transform .45s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}
.jbs-seal.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.jbs-seal.is-lifted{transform:translateY(-68px)}
.jbs-seal__btn{position:relative;display:block;width:54px;height:54px;padding:0;border:1px solid rgba(198,166,100,.78);border-radius:50%;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.10),rgba(255,255,255,0) 55%),radial-gradient(circle at 50% 42%,#17453c 0%,#0A2E2A 72%);cursor:pointer;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(6px);box-shadow:0 6px 18px -10px rgba(10,46,42,.55),inset 0 0 0 1px rgba(198,166,100,.22),0 0 0 4px rgba(198,166,100,.10);transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s}
.jbs-seal__btn::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(198,166,100,.55);animation:sealBreathe 4.2s ease-in-out infinite;pointer-events:none}
@keyframes sealBreathe{0%,100%{transform:scale(.94);opacity:.45}50%{transform:scale(1.10);opacity:.06}}
.jbs-seal__btn:hover{border-color:rgba(230,210,166,.9);transform:translateY(-2px);box-shadow:0 10px 26px -12px rgba(198,166,100,.5),0 0 0 6px rgba(198,166,100,.08)}
.jbs-seal__btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(230,210,166,.85),0 0 0 6px rgba(198,166,100,.16)}
.jbs-seal__ch{display:block;font-family:var(--font-serif,"Songti SC","Noto Serif SC",serif);font-size:22px;line-height:1;font-weight:500;color:#E6D2A6;text-shadow:0 1px 2px rgba(0,0,0,.45);transform:translateY(-.5px);transition:color .35s}
.jbs-seal__btn:hover .jbs-seal__ch{color:#F3E3C4}
.jbs-seal__tip{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(6px);display:flex;align-items:center;gap:8px;padding:8px 13px;white-space:nowrap;background:rgba(10,46,42,.94);border:1px solid rgba(198,166,100,.4);color:#E6D2A6;font-size:12px;letter-spacing:.06em;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.jbs-seal__tip b{color:#fff;font-weight:600;letter-spacing:.02em}
.jbs-seal__tip::after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;background:inherit;transform:translateY(-50%) rotate(45deg);border-right:1px solid rgba(198,166,100,.4);border-top:1px solid rgba(198,166,100,.4)}
.jbs-seal:hover .jbs-seal__tip,.jbs-seal:focus-within .jbs-seal__tip{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}

@media (max-width:47.99rem){
  .jbs-seal{display:block;right:14px;bottom:calc(4.75rem + env(safe-area-inset-bottom, 0px))}
  .jbs-seal__btn{width:46px;height:46px}
  .jbs-seal__ch{font-size:19px}
  .jbs-seal__btn::after{display:none}
  .jbs-seal__tip{display:none}
}
@media (prefers-reduced-motion:reduce){.jbs-seal__btn::after{animation:none;opacity:.3}.jbs-seal__btn{transition:none}}


body.page-home #support .frame .jbs-slides__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 44px !important;
  height: 44px !important;
  padding: 0;
  border: 1px solid rgba(230, 210, 166, .55);
  border-radius: 50%;
  background: rgba(10, 46, 42, .55);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  cursor: pointer;
  transition: background .3s ease, border-color .3s ease, transform .3s ease;
}
body.page-home #support .frame .jbs-slides__nav--prev { left: 14px; }
body.page-home #support .frame .jbs-slides__nav--next { right: 14px; }
body.page-home #support .frame .jbs-slides__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-top: 1.5px solid #F0DFB8;
  border-right: 1.5px solid #F0DFB8;
  transform: translate(-65%, -50%) rotate(45deg);
}
body.page-home #support .frame .jbs-slides__nav--prev::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}
body.page-home #support .frame .jbs-slides__nav:hover {
  background: rgba(10, 46, 42, .82);
  border-color: rgba(230, 210, 166, .9);
}
body.page-home #support .frame .jbs-slides__nav:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(230, 210, 166, .8);
}

body.page-home #support .frame .jbs-slides.is-manual .jbs-slide {
  animation: none !important;
  opacity: 0;
  transition: opacity .55s ease;
}
body.page-home #support .frame .jbs-slides.is-manual .jbs-slide.is-active { opacity: 1; }
body.page-home #support .frame .jbs-slides.is-manual .jbs-slides__dots { display: none; }


body.page-home .hero--slides .hero-arrow {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
}
body.page-home .hero--slides .hero-arrow--prev { left: 3px !important; }
body.page-home .hero--slides .hero-arrow--next { right: 3px !important; }


body.page-home .hero--slides .hero__title {
  font-size: clamp(1.6rem, 4.2vw, 4rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
}
body.page-home .hero--slides .hero__lead {
  font-size: clamp(0.9375rem, 1.2vw, 1.1875rem) !important;
  line-height: 1.8 !important;
  margin-top: clamp(1.1rem, 1.7vw, 1.7rem) !important;
}
body.page-home .hero--slides .eyebrow {
  font-size: clamp(0.75rem, 0.9vw, 0.9375rem) !important;
  letter-spacing: 0.3em !important;
  margin-bottom: clamp(0.9rem, 1.2vw, 1.35rem) !important;
}


@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero__title { font-size: clamp(1.65rem, 7.6vw, 2.3rem) !important; }
  body.page-home .hero--slides .hero__lead  { font-size: clamp(0.8125rem, 3.6vw, 0.9375rem) !important; }
  body.page-home .hero--slides .eyebrow     { font-size: clamp(0.6875rem, 2.9vw, 0.8125rem) !important; }
}


body.page-home .hero--slides .hero-slide:nth-child(1) .hero-slide__scrim {
  background:
    radial-gradient(ellipse 15rem 7rem at 20% 41%,
      rgba(8, 20, 16, .58) 0%,
      rgba(8, 20, 16, .34) 52%,
      rgba(8, 20, 16, 0) 78%),
    linear-gradient(100deg,
      rgba(8, 20, 16, .78) 0%,
      rgba(8, 20, 16, .55) 40%,
      rgba(8, 20, 16, .16) 70%,
      rgba(8, 20, 16, 0) 100%) !important;
}

body.page-home .hero--slides .hero-slide:nth-child(1) .hero-slide__scrim::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 30rem 16rem at 12% 62%,
    rgba(8, 20, 16, .32) 0%,
    rgba(8, 20, 16, 0) 72%);
}



.productSwiper .swiper-slide {
  filter: brightness(0.68) saturate(0.82) !important;
}
.productSwiper .swiper-slide-active {
  filter: brightness(1) saturate(1) !important;
}
#news .card__desc,
.screen-pair #news .card__desc {
  -webkit-line-clamp: 3 !important;
}



body.page-home #services-layout .services-grid {
  --sc1: 1fr;
  --sc2: 1.62fr;
  --sc3: 1fr;
  --sr1: 1fr;
  --sr2: 1.62fr;
  --sr3: 1fr;
}
body.page-home #services-layout .service-card:nth-child(5) {
  border-color: rgba(212, 178, 118, 0.52);
  box-shadow: 0 26px 60px -30px rgba(3, 12, 10, 0.9);
}
body.page-home #services-layout .service-card:nth-child(5) img {
  filter: brightness(0.92) saturate(1);
}
body.page-home #services-layout .service-card:nth-child(5) .service-card__title {
  font-size: 1.28rem;
}
body.page-home #services-layout .service-card:nth-child(5) .service-card__desc {
  max-height: 4.5em;
  opacity: 1;
  margin-top: 6px;
}

@media (max-width: 63.99rem) {
  body.page-home #services-layout .service-card:nth-child(5) {
    border-color: rgba(212, 178, 118, 0.25);
    box-shadow: 0 12px 30px -22px rgba(0, 0, 0, 0.75);
  }
  body.page-home #services-layout .service-card:nth-child(5) img {
    filter: brightness(0.78) saturate(0.9);
  }
  body.page-home #services-layout .service-card:nth-child(5) .service-card__title {
    font-size: 1.05rem;
  }
}



body.page-home .founder-quali .quali-card {
  width: 300px !important;
}
body.page-home .founder-quali .quali-card__pic {
  height: 225px !important;
}

body.page-home .founder-quali .quali-card__cap {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.86) !important;
}
body.page-home .founder-quali .quali-track {
  animation-duration: 65s !important;
}

@media (max-width: 63.99rem) {
  body.page-home .founder-quali .quali-card {
    width: 240px !important;
  }
  body.page-home .founder-quali .quali-card__pic {
    height: 180px !important;
  }
  body.page-home .founder-quali .quali-card__cap {
    font-size: 13px !important;
  }
}


body.page-home .founder-quali .quali-card__cap {
  text-wrap: balance;
}



body.page-home #founder .founder-portrait__zoom.quali-card {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
body.page-home #founder .founder-portrait__frame img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center 50% !important;
}
body.page-home #founder .founder-portrait__frame::before {
  content: "" !important;
  position: absolute !important;
  inset: -14% !important;
  background: url("../img/founder.jpg") center 26% / cover no-repeat !important;
  -webkit-filter: blur(46px) brightness(0.44) saturate(0.72) !important;
  filter: blur(46px) brightness(0.44) saturate(0.72) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
body.page-home #founder .founder-portrait__zoom.quali-card img {
  transition: filter 0.5s ease !important;
}
body.page-home #founder .founder-portrait__zoom.quali-card:hover img {
  transform: none !important;
  filter: brightness(1.04) !important;
}



@media (min-width: 64rem) and (max-height: 56.25rem) {
  body.page-home .screen-pair--inquiry { padding-bottom: 4px !important; }

  body.page-home .screen-pair--inquiry { justify-content: flex-start !important; }
  body.page-home .screen-pair--inquiry .head { margin-bottom: 20px !important; }
  body.page-home .screen-pair--inquiry .timeline { margin-bottom: 6px !important; }
  body.page-home .screen-pair--inquiry .gallery { margin-bottom: 4px !important; }
  body.page-home .screen-pair--inquiry .gallery-title { margin-bottom: 6px !important; }
}


@media (min-width: 64rem) and (max-height: 51.25rem) {

     é¡µå¤´å®æµ 83px + 3D æº¢åº 7.3pxï¼106px ä»ç 15px é´éï¼ä¸ä¼é¡¶å°é¡µå¤´ã */

  body.page-home main > section.section:not(#contact-screen),
  body.page-home main > .screen-pair:not(#contact-screen),
  body.page-home main > .screen-pair--inquiry:not(#contact-screen),
  body.page-home main > .map-stage:not(#contact-screen) { padding-top: 106px !important; }

  body.page-home #founder .founder-quali .quali-card { width: 250px !important; }
  body.page-home #founder .founder-quali .quali-card__pic { height: 172px !important; }
  body.page-home #founder .founder-quali { margin-top: 12px !important; }
  body.page-home #founder .founder-role { margin-bottom: 10px !important; }
  body.page-home #founder .founder-quote { margin-bottom: 10px !important; }
  body.page-home #founder .founder-stats { margin-top: 8px !important; }
  body.page-home main > section.section#founder { padding-bottom: 8px !important; }


  body.page-home #growth .sec-head { margin-bottom: 12px !important; }
  body.page-home #growth .sec-head .eyebrow { margin-bottom: 8px !important; }
  body.page-home #growth .sec-head__title { font-size: 34px !important; margin-bottom: 8px !important; }
  body.page-home #growth .sec-head__lead { font-size: 17px !important; }
  body.page-home #growth .jbs-grow-card { padding: 4px 16px !important; }
  body.page-home #growth .field__hint { margin-top: 6px !important; font-size: 11px !important; }
  body.page-home main > section.section#growth { padding-bottom: 0 !important; }
  body.page-home #growth .jbs-grow-card { padding: 0 16px !important; }


  body.page-home .screen-pair--inquiry { padding-bottom: 8px !important; }
  body.page-home .screen-pair--inquiry > section { padding-block: 8px !important; }
  body.page-home .screen-pair--inquiry .head { margin-bottom: 10px !important; }
  body.page-home .screen-pair--inquiry .timeline {
    margin-bottom: 14px !important;
    padding-block: 10px !important;
  }
  body.page-home .screen-pair--inquiry .gallery-title { margin-bottom: 8px !important; }
  body.page-home .screen-pair--inquiry .gallery { margin-bottom: 10px !important; }
  body.page-home .screen-pair--inquiry .jbs-slides { aspect-ratio: 2 / 1 !important; }
  body.page-home .screen-pair--inquiry .timeline { padding-block: 0 !important; margin-bottom: 6px !important; }
  body.page-home .screen-pair--inquiry > section { padding-block: 0 !important; }
  body.page-home .screen-pair--inquiry { padding-bottom: 0 !important; }
  body.page-home .screen-pair--inquiry .gallery { margin-bottom: 6px !important; }
}


@media (min-width: 64rem) {

  body.page-home main > section#contact-screen {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }


  body.page-home .footer .footer__grid {
    grid-template-columns: 1.35fr 0.85fr 1.3fr 1.25fr !important;
  }


  body.page-home #contact-screen .sec-head { margin-bottom: 0 !important; }
  body.page-home #contact-screen .sec-head__title {
    font-size: 26px !important;
    margin-bottom: 2px !important;
  }
  body.page-home #contact-screen .sec-head__lead {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }


  body.page-home #contact-screen .promise-grid {
    margin-top: 12px !important;
    gap: 12px !important;
  }
  body.page-home #contact-screen .promise-grid > div {
    padding: 10px 8px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 88px !important;
  }
  body.page-home #contact-screen .promise-grid > div > div:nth-child(1) {
    font-size: 18px !important;
    line-height: 1.1 !important;
    margin-bottom: 4px !important;
  }
  body.page-home #contact-screen .promise-grid > div > div:nth-child(2) {
    font-size: 14px !important;
    margin-bottom: 2px !important;
  }
  body.page-home #contact-screen .promise-grid > div > div:nth-child(3) {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }


  @media (max-width: 106.24rem) {
    body.page-home #contact-screen .promise-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }
  }


  @media (max-height: 51.25rem) {
    body.page-home #contact-screen .sec-head__title { font-size: 22px !important; }
    body.page-home #contact-screen .sec-head__lead {
      font-size: 12.5px !important;
      line-height: 1.45 !important;
    }
    body.page-home #contact-screen .promise-grid {
      margin-top: 8px !important;
      gap: 10px !important;
    }
    body.page-home #contact-screen .promise-grid > div {
      padding: 10px 8px !important;
      min-height: 66px !important;
    }
    body.page-home #contact-screen .promise-grid > div > div:nth-child(1) {
      font-size: 17px !important;
      margin-bottom: 2px !important;
    }
    body.page-home #contact-screen .promise-grid > div > div:nth-child(2) {
      font-size: 13px !important;
      margin-bottom: 1px !important;
    }
    body.page-home #contact-screen .promise-grid > div > div:nth-child(3) {
      font-size: 12px !important;
      line-height: 1.4 !important;
    }
  }
}


@media (min-width: 100rem) {
  body.page-home #contact-screen > .container { max-width: var(--w-wide); }
}



.footer { padding-top: 56px !important; }
.footer__grid { padding-bottom: 36px !important; }
.footer__bottom { padding-block: 16px 24px !important; }


body.page-home #contact-screen .promise-grid {
  margin-inline: 0 !important;
}


body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__scrim {
  background: none !important;
}
body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__scrim::after {
  content: none !important;
}
body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__img {
  filter: none !important;
}


body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__scrim::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  background:

    linear-gradient(to bottom,
      rgba(8, 20, 16, 0.72) 0%,
      rgba(8, 20, 16, 0.36) 12%,
      rgba(8, 20, 16, 0.00) 26%),

    linear-gradient(90deg,
      rgba(8, 20, 16, 0.42) 0%,
      rgba(8, 20, 16, 0.22) 30%,
      rgba(8, 20, 16, 0.00) 55%),

    radial-gradient(ellipse 66rem 36rem at 25% 56%,
      rgba(8, 22, 17, 0.52) 0%,
      rgba(8, 22, 17, 0.30) 46%,
      rgba(8, 22, 17, 0.00) 78%);
  pointer-events: none;
}
@media (max-width: 47.99rem) {

  body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__scrim::before {
    background: radial-gradient(ellipse 24rem 16rem at 50% 60%,
      rgba(8, 22, 17, 0.46) 0%, rgba(8, 22, 17, 0.22) 50%, transparent 76%);
  }
}


.home-side-nav.is-at-tail {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-50%) translateX(20px);
  pointer-events: none;
}


@media (min-height: 900px) {
  body.page-home #support .head { margin-bottom: 24px !important; }
  body.page-home #support .timeline { margin-bottom: 30px !important; }
  body.page-home #support .gallery { margin-bottom: 24px !important; }
  body.page-home #support .frame .jbs-slides { max-height: 47vh !important; }
}




@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero-slide.hero-slide--raw .hero-slide__scrim::before {
    background:
      linear-gradient(to top,
        rgba(8, 20, 16, 0.86) 0%,
        rgba(8, 20, 16, 0.66) 20%,
        rgba(8, 20, 16, 0.32) 40%,
        rgba(8, 20, 16, 0.00) 58%),
      radial-gradient(ellipse 26rem 16rem at 50% 72%,
        rgba(8, 22, 17, 0.34) 0%,
        rgba(8, 22, 17, 0.14) 52%,
        rgba(8, 22, 17, 0.00) 78%);
  }
}


@media (min-width: 64rem) and (max-width: 113.99rem) {
  .home-side-nav {
    right: 0;
    max-width: 2.4em;
    padding: 0.85em 0.4em;
    gap: 0;
    overflow: hidden;
    border-radius: 0.9em 0 0 0.9em;

    background: rgba(255, 253, 247, 0.94);
    box-shadow: -2px 10px 26px rgba(31, 58, 48, 0.13);
    border-left: 1px solid rgba(138, 106, 48, 0.34);
    transition: max-width 0.3s cubic-bezier(0.22, 0.7, 0.25, 1),
                right 0.3s cubic-bezier(0.22, 0.7, 0.25, 1),
                padding 0.3s cubic-bezier(0.22, 0.7, 0.25, 1),
                border-radius 0.3s ease;
  }
  .home-side-nav::after {
    content: "目录";
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.3em;
    font-size: 0.95em;
    font-weight: var(--fw-medium, 500);
    color: var(--c-gold-700, #8A6A30);
    pointer-events: none;
  }

  .home-side-nav__item {
    display: none;
    opacity: 0;
  }
  .home-side-nav:hover,
  .home-side-nav:focus-within {
    right: 0.75rem;
    max-width: 22em;
    padding: 0.6em;
    gap: 0.4em;
    border-radius: 0.9em;
    border-left: 0;
  }
  .home-side-nav:hover::after,
  .home-side-nav:focus-within::after { content: none; }
  .home-side-nav:hover .home-side-nav__item,
  .home-side-nav:focus-within .home-side-nav__item {
    display: flex;
    opacity: 1;
  }
}
@media (min-width: 64rem) and (max-width: 113.99rem) and (hover: none) {
  .home-side-nav {
    right: 0.75rem;
    max-width: none;
    padding: 0.6em;
    gap: 0.4em;
    border-radius: 0.9em;
  }
  .home-side-nav::after { content: none; }
  .home-side-nav__item { display: flex; opacity: 1; }
}


#support .head h2.join-h1 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 900;
  font-size: clamp(28px, 3.6vw, 44px);
  letter-spacing: 0.06em;
  color: var(--ink) !important;
}
#support .head h2.join-h1 em {
  font-style: normal;
  color: var(--bronze) !important;
  position: relative;
  padding: 0 0.1em;
}


#support .step .sdesc{
    width:calc(258px / var(--fit-k, 1));
    padding:.92em 1.1em;
    margin-top:1.05em;
    border-radius:.5em;
    font-size:calc(13.5px / var(--fit-k, 1));
    line-height:1.74;
    letter-spacing:.02em;
    box-shadow:0 16px 34px -12px rgba(0,0,0,.5), 0 2px 0 rgba(230,203,147,.06) inset;
    z-index:20;
}
#support .step .sdesc::before{
    top:-.3em;width:.52em;height:.52em;
}

@media (hover:none){
  #support .step .sdesc{
    width:min(240px, 78vw);
    margin-top:12px;
    padding:12px 14px;
    border-radius:4px;
    font-size:12px;line-height:1.65;
    z-index:30;
  }
  #support .step .sdesc::before{ display:none; }
  #support .step.sdesc-open .sdesc{
    opacity:1;pointer-events:auto;transform:translate(-50%,0);
    background:#1F3A30;
  }
  #support .step.sdesc-open .node{
    background:radial-gradient(circle at 32% 28%, #356351 0%, #24483C 55%, #163028 100%);
  }
  @media (max-width:860px){
    #support .step:nth-child(3n+1) .sdesc{left:0;transform:translate(0,8px);}
    #support .step:nth-child(3n+1).sdesc-open .sdesc{transform:translate(0,0);}
    #support .step:nth-child(3n) .sdesc{left:auto;right:0;transform:translate(0,8px);}
    #support .step:nth-child(3n).sdesc-open .sdesc{transform:translate(0,0);}
  }
}


@media (min-width: 64rem) and (max-width: 89.99rem) {
  .header .brand {
    gap: 0.65rem;
    min-width: 0;
  }

  .header .brand__text {
    flex-direction: row;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 0.55rem;
    line-height: 1.1;
    min-width: 0;
  }
  .header .brand__name {
    font-size: clamp(1.25rem, 1.85vw, 1.625rem);
    line-height: 1.1;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex: none;
  }

  .header .brand__tag { display: none; }
  .header .brand__slogan {
    display: block;
    font-size: clamp(0.6875rem, 0.9vw, 0.8125rem);
    line-height: 1.2;
    color: var(--c-gold-300);
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex: none;
  }

  .header .nav__list { flex-wrap: nowrap; }
  .header .nav__link { white-space: nowrap; }

  .header .header__actions { flex: none; }
}


body.page-home {
  --c-ink-800: #16302A;
  --c-gold-300: #D9B36C;
  --c-gold-500: #A8843C;
  --c-gold-600: #A8843C;
  --c-gold-700: #8A6A30;
  --c-paper: #F4EFE6;
}

body.page-home #contact-screen {
  background-image:
    radial-gradient(circle at 22% 18%, rgba(53, 117, 95, 0.28), transparent 52%),
    radial-gradient(circle at 82% 78%, rgba(184, 146, 74, 0.16), transparent 50%) !important;
}


@media (max-width: 63.99rem) {


  .page-banner { padding-block: 1.5rem 1.75rem; }

  .page-banner .eyebrow { display: none; }
  .page-banner__title { font-size: 1.5rem; margin-bottom: 0.75rem; }
  .page-banner__desc { font-size: 0.9375rem; line-height: 1.8; }


  .prose {
    padding: 1.25rem 1rem 2.5rem;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    font-size: 1rem;
    line-height: 1.9;
  }
  .prose p { margin-top: 0; margin-bottom: 0.85rem; line-height: 1.9; }


  .prose > p:first-of-type::first-letter {
    float: none;
    font-size: 1em;
    font-weight: inherit;
    color: inherit;
    margin: 0;
    line-height: inherit;
  }


  body.page-detail .prose h3 { padding-left: 0.85rem; margin-top: 1.75rem; font-size: 1.0625rem; }
  .prose p:has(> strong:only-child) strong { background: none; padding: 0; }
  .prose ul { padding-left: 1.1rem; }


  .abf, .abc { overflow: hidden; }
}


@media (max-width: 63.99rem) and (min-width: 37.5rem) {
  .prose { max-width: 34rem; margin-inline: auto; }
  body.page-detail .sidebar { max-width: 34rem; margin-inline: auto; }
}


@supports selector(:has(*)) {
  @media (max-width: 63.99rem) and (min-width: 37.5rem) {
    body.page-detail:has(.prose) .page-banner > .container,

    body.page-detail:has(.prose) .page-banner .breadcrumb > .container,
    body.page-detail:has(.prose) .toc-bar__inner { max-width: 36rem; }
  }
}

    body.page-detail:has(.prose) .toc-bar__inner { max-width: 36rem; }
  }
}




.news-idx {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--c-line);
  overflow: hidden;
}

.news-idx__item { border-bottom: 1px solid var(--c-line); }

.news-idx__link {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) 2.5rem;
  gap: 2rem;
  align-items: start;
  padding: 1.9rem 0.75rem;
  position: relative;
  transition:
    background-color var(--d-slow) var(--ease-out),
    padding var(--d-slow) var(--ease-out);
}


.news-idx__link::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--c-gold-500);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform var(--d-slow) var(--ease-out);
}

.news-idx__date {
  font-family: var(--font-num);
  font-size: 0.8125rem;
  letter-spacing: 0.16em;
  color: var(--c-text-4);
  padding-top: 0.5rem;
  font-variant-numeric: tabular-nums;
}

.news-idx__body { display: block; min-width: 0; }

.news-idx__title {
  display: inline;
  font-family: var(--font-serif);
  font-size: clamp(1.125rem, 1rem + 0.55vw, 1.625rem);
  line-height: 1.45;
  font-weight: 600;
  color: var(--c-text);
  background-image: linear-gradient(var(--c-gold-500), var(--c-gold-500));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  transition:
    background-size var(--d-slow) var(--ease-out),
    color 0.3s ease;
}

.news-idx__desc {
  display: -webkit-box;
  margin-top: 0.7rem;
  font-size: 0.875rem;
  line-height: 1.8;
  color: var(--c-text-3);
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.news-idx__arrow {
  align-self: center;
  font-family: var(--font-num);
  font-size: 1.05rem;
  color: var(--c-gold-500);
  opacity: 0;
  transform: translateX(-0.6rem);
  transition: opacity 0.4s ease, transform 0.4s ease;
}


@media (hover: hover) and (pointer: fine) {
  .news-idx__link:hover {
    background-color: var(--c-white);
    padding-left: 1.6rem;
  }
  .news-idx__link:hover::before { transform: scaleY(1); }
  .news-idx__link:hover .news-idx__title {
    color: var(--c-ink-700);
    background-size: 100% 1px;
  }
  .news-idx__link:hover .news-idx__arrow {
    opacity: 1;
    transform: translateX(0);
  }
}


@media (max-width: 63.99rem) {
  .news-idx__link {
    grid-template-columns: minmax(0, 1fr) 1.5rem;
    gap: 0.5rem;
    padding: 1.25rem 0.25rem;
  }
  .news-idx__date {
    grid-column: 1 / -1;
    padding-top: 0;
    font-size: 0.75rem;
  }
  .news-idx__title {
    font-size: 1.15rem;
    line-height: 1.55;
  }
  .news-idx__desc {
    margin-top: 0.45rem;
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
  }
  .news-idx__arrow {
    align-self: end;
    padding-bottom: 0.2rem;
    font-size: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-idx__link,
  .news-idx__link::before,
  .news-idx__title,
  .news-idx__arrow { transition: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .news-idx__link,
  .news-idx__link::before,
  .news-idx__title,
  .news-idx__arrow { transition: none !important; }
}




.side-card--trust {
  text-align: left;
}

.side-card--trust .side-card__title {
  margin-bottom: 0.35rem;
}

.side-card__note {
  margin: 0 0 1.1rem;
  font-size: 0.75rem;
  line-height: 1.7;
  color: var(--c-text-inv-3);
}

.trust-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--c-line-ink);
}

.trust-list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--c-line-ink);
}

.trust-list__no {
  font-family: var(--font-num);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  color: var(--c-gold-300);
  padding-top: 0.18rem;
}

.trust-list__body {
  display: block;
  min-width: 0;
}

.trust-list b {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
}

.trust-list em {
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.75rem;
  line-height: 1.65;
  color: var(--c-text-inv-2);
  word-break: break-all;
}

.side-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.1rem;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: var(--c-gold-300);
  transition: color 0.3s ease, gap 0.3s ease;
}

.side-card__more:hover {
  color: #fff;
  gap: 0.7rem;
}

.prose img,
.prose figure img,
.product-detail-prose__body img {
  height: auto !important;
  max-width: 100%;
}

/* ==========================================================================
   手机端页脚隐藏「扫码访问手机版官网」二维码（2026-10-27 甲方）
   甲方原话：本身就是手机端了，底部不要那个扫码访问手机和那个二维码。
   只隐藏手机端（≤47.99rem，与底部导航条同一断点），电脑端页脚二维码保留。
   ========================================================================== */
@media (max-width:47.99rem){
  .footer__qr{ display:none; }
  /* 手机端地图收短：内联 height:700px 在小屏留大片空白（2026-10-27 甲方框选高度） */
  #chinaMap{ height:320px !important; }
}


/* ==========================================================================
   手机端首屏轮播高度 = 视口高 - 底部导航条 57px（2026-10-28 甲方二次反馈）
   甲方要求：手机打开第一屏必须完整是轮播，下面不能露出创始人区块。
   7816 行的 100vh 规则被此处覆盖；此块必须放文件末尾才能生效。
   高度约 755px 时 cover 铺满竖图左右裁切约 15-25%，
   第 1 张「甲博士」logo 偏左，焦点左移（25%）保护，其余图主体居中不受影响。
   ========================================================================== */
@media (max-width: 47.99rem) {
  body.page-home main > .hero--slides {
    height: calc(100vh - 57px) !important;
    height: calc(100svh - 57px) !important;
    min-height: calc(100vh - 57px) !important;
    min-height: calc(100svh - 57px) !important;
    max-height: none !important;
  }
  body.page-home main > .hero--slides .hero-slide:nth-child(1) {
    background-position: 25% top !important;
  }
}

/* ==========================================================================
   手机端首屏下方绿色空隙补齐 + 左右切换箭头（2026-10-28 甲方）
   实测（390×844）：轮播 72vh=608px 结束后，#founder 顶部留白 88px 全是深绿空底。
   把 #founder 手机端 padding-top 压到 20px，创始人照片上移补位，空隙基本消除。
   同时恢复手机端 .hero-arrows 左右箭头（桌面样式原已隐藏），改小放两侧中部。
   ========================================================================== */
@media (max-width: 47.99rem) {
  body.page-home main > #founder { padding-top: 20px !important; }

  body.page-home .hero--slides .hero-arrows { display: block !important; }
  body.page-home .hero--slides .hero-arrow {
    width: 2.4rem !important;
    height: 2.4rem !important;
    background: rgba(7, 22, 15, 0.45) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
  body.page-home .hero--slides .hero-arrow svg { width: 1rem !important; height: 1rem !important; }
  body.page-home .hero--slides .hero-arrow--prev { left: 0.75rem !important; }
  body.page-home .hero--slides .hero-arrow--next { right: 0.75rem !important; }
}

/* ==========================================================================
   手机端内页头部下白色空隙修复（2026-10-28 甲方）
   原因：2575 行 body padding-top 4.25rem=68px 是按桌面头部高度设的，
   手机端头部实际 60px，多出的 8px 露出白色底。
   手机端压到 59px（留 1px 压进不透明头部底下，杜绝 1px 白线）。
   ========================================================================== */
@media (max-width: 47.99rem) {
  body:not(.header-over):not(.page-home) { padding-top: 59px !important; }
}

/* ==========================================================================
   手机端页脚底部留白压缩（2026-10-28 甲方）
   实测：legal 链接行之下到底部还有 76px 深绿空底，压缩 footer 与
   footer__bottom 的 padding-bottom（24→6），空隙约缩小到 40px。
   ========================================================================== */
@media (max-width: 47.99rem) {
  .footer { padding-bottom: 6px !important; }
  .footer .footer__bottom { padding-bottom: 6px !important; }
}

/* ==========================================================================
   手机端页脚品牌区精简（2026-10-28 甲方）
   只保留：甲博士+印章、加盟服务热线、400 电话；隐藏「联系我们」标题，
   并压缩页脚上下留白（padding-top 56→20，grid 间距与底部 36→12）。
   ========================================================================== */
@media (max-width: 47.99rem) {
  .footer { padding-top: 20px !important; }
  .footer__grid { gap: 12px !important; padding-bottom: 12px !important; }
  .footer .footer__title { display: none !important; }
  .footer .footer__disclaimer { margin-top: 10px !important; }
  .footer .footer__bottom { padding-top: 8px !important; padding-bottom: 6px !important; }
}

/* ==========================================================================
   手机端首页三处区块间距压缩（2026-10-28 甲方）
   实测：① 创始人照片与文字列之间 split gap 48px → 16px
        ② 历程区(#growth) padding-bottom 40 → 12px（历程注释到 JOIN US 空隙）
        ③ 门店地图区(#stores) padding-bottom 40 → 12px，产品区(#products)
          padding-top 56 → 24px（地图到产品体系空隙）
   ========================================================================== */
@media (max-width: 47.99rem) {
  #founder .split { gap: 16px !important; }
  #growth { padding-bottom: 12px !important; }
  #stores { padding-bottom: 12px !important; }
  body.page-home .screen-pair > #products { padding-top: 24px !important; }
}

/* ==========================================================================
   手机端首页间距压缩·补（2026-10-28 甲方）
   实测：JOIN US(#support) 与产品体系(#products) 区块自带的 padding-top
   88/80px 是视觉空隙主因，压到 24px。
   ========================================================================== */
@media (max-width: 63.99rem) {
  #support { padding-top: 24px !important; }
  body.page-home main > .screen-pair { padding-top: 24px !important; }
}


/* ==========================================================================
   品牌形象片一屏（2026-11-03 甲方确认 A-1 全屏版）
   位置：首页 #founder 之后、#growth 之前
   · 电脑端：整屏沉浸式，封面铺满 + 暗角压字，点封面弹层播放
   · 手机端：高度自适应，背景图焦点右移保住创始人主体（桌面态裁切大）
   · 视频双版本：电脑 1080P / 手机 720P，由 JS 按屏宽自动选源
   · 弹层：描金画框 + 角饰，宽度由容器限宽，任何屏宽都不溢出
   ========================================================================== */
.brand-film {
  position: relative;
  overflow: hidden;
  background: #07160F;
  border-top: 1px solid rgba(201,162,94,.18);
  isolation: isolate;
}
.brand-film__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: saturate(.96);
  z-index: 0;
}
.brand-film__veil {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(closest-side at 50% 52%, rgba(7,22,15,.26), rgba(7,22,15,.62) 100%),
    linear-gradient(180deg, rgba(7,22,15,.60) 0%, rgba(7,22,15,.10) 34%, rgba(7,22,15,.12) 62%, rgba(7,22,15,.74) 100%);
}
.brand-film__inner {
  position: relative; z-index: 2;
  min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
  padding: 130px 24px 92px;
}
.brand-film__eyebrow {
  font-size: 13px; letter-spacing: .42em; text-indent: .42em;
  color: #E4C98F; margin: 0 0 16px;
}
.brand-film__title {
  font-size: 52px; line-height: 1.25; letter-spacing: .08em;
  color: #F5F2E8; margin: 0;
  text-shadow: 0 2px 26px rgba(7,22,15,.65);
}
.brand-film__lead {
  margin: 16px 0 0; font-size: 16px; letter-spacing: .12em;
  color: rgba(255,255,255,.84);
  text-shadow: 0 1px 14px rgba(7,22,15,.75);
}
.brand-film__play {
  -webkit-appearance: none; appearance: none;
  margin: 46px 0 0; padding: 0;
  width: 92px; height: 92px; border-radius: 50%;
  border: none; cursor: pointer;
  background: rgba(201,162,94,.94);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 0 rgba(201,162,94,.42), 0 18px 40px rgba(0,0,0,.35);
  transition: transform .3s ease, box-shadow .3s ease;
}
.brand-film__play:hover,
.brand-film__play:focus-visible {
  transform: scale(1.08);
  box-shadow: 0 0 0 18px rgba(201,162,94,.15), 0 18px 40px rgba(0,0,0,.35);
  outline: none;
}
.brand-film__play svg { margin-left: 6px; }
.brand-film__hint {
  margin: 22px 0 0; font-size: 12px; letter-spacing: .2em;
  color: rgba(255,255,255,.55);
}
/* 小屏：高度自适应，背景焦点右移保住人物，留白收紧 */
@media (max-width: 47.99rem) {
  .brand-film__inner {
    min-height: calc(100svh - 57px);
    padding: 96px 20px 64px;
  }
  .brand-film__bg { object-position: 50% 22%; }
  .brand-film__title { font-size: 27px; letter-spacing: .05em; }
  .brand-film__lead { font-size: 13px; letter-spacing: .06em; margin-top: 12px; }
  .brand-film__play { width: 66px; height: 66px; margin-top: 30px; }
  .brand-film__play svg { width: 22px; height: 22px; margin-left: 4px; }
  .brand-film__hint { margin-top: 16px; font-size: 11px; letter-spacing: .12em; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .brand-film__title { font-size: 38px; }
  .brand-film__inner { padding: 110px 24px 80px; }
}

/* ===== 弹层播放器 ===== */
.film-lb {
  position: fixed; inset: 0; z-index: 1000;
  display: none;
  align-items: center; justify-content: center;
  padding: 14px; overflow: auto;
  background: rgba(4,10,7,.94);
}
.film-lb.is-open { display: flex; }
.film-lb__stage {
  position: relative;
  width: min(100%, 1240px);
  padding: 12px;
  background: linear-gradient(180deg, #16241D, #0B140F);
  border: 1px solid rgba(201,162,94,.55);
  box-shadow:
    0 0 0 4px rgba(201,162,94,.07),
    0 0 0 5px rgba(201,162,94,.22),
    0 50px 140px rgba(0,0,0,.85);
}
.film-lb__stage::before,
.film-lb__stage::after {
  content: ""; position: absolute; width: 26px; height: 26px; pointer-events: none;
}
.film-lb__stage::before {
  top: -1px; left: -1px;
  border-top: 2px solid #C9A25E; border-left: 2px solid #C9A25E;
}
.film-lb__stage::after {
  bottom: -1px; right: -1px;
  border-bottom: 2px solid #C9A25E; border-right: 2px solid #C9A25E;
}
.film-lb__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 4px 10px;
}
.film-lb__name {
  font-size: 13px; letter-spacing: .3em; color: #E4C98F;
}
.film-lb__name i {
  font-style: normal; color: rgba(201,162,94,.55);
  margin-left: 10px; letter-spacing: .1em;
}
.film-lb__close {
  -webkit-appearance: none; appearance: none;
  background: none; border: 1px solid rgba(201,162,94,.4);
  color: #C9A25E; font-size: 20px; line-height: 1;
  width: 34px; height: 34px; flex: 0 0 auto; margin-left: 10px;
  cursor: pointer; transition: background .2s;
}
.film-lb__close:hover { background: rgba(201,162,94,.15); }
.film-lb video {
  display: block; width: 100%; max-height: 72vh; max-height: 72svh;
  background: #000;
}
.film-lb__foot {
  padding: 10px 4px 0; text-align: center;
  font-size: 12px; letter-spacing: .18em; color: rgba(232,230,220,.45);
}
html.film-lb-lock, html.film-lb-lock body { overflow: hidden; }
@media (max-width: 40rem) {
  .film-lb { padding: 10px; }
  .film-lb__stage { padding: 7px; }
  .film-lb video { max-height: 62vh; max-height: 62svh; }
  .film-lb__name { font-size: 11px; letter-spacing: .14em; }
  .film-lb__name i { display: none; }
  .film-lb__foot { display: none; }
}


/* ==========================================================================
   创始人文案改版补充样式（2026-11-03 甲方确认）
   ① 首页 .founder-story：履历表上方的一段创始人小传
   ② 关于页 .abf__story：入行 / 至暗时刻 / 破局 三段叙事
   ③ 关于页 .abf__creed：创始人信条三条
   ========================================================================== */
.founder-story {
  margin: 0 0 var(--sp-6);
  max-width: none;
  font-size: 1.125rem;
  line-height: 2;
  color: var(--muted, rgba(232,230,220,.72));
}
#founder .founder-story { font-size: 1.125rem; line-height: 1.95; }
/* 2026-11-03 二改：小传改三段；不加文字标题，正文上方用一条 48px 金线做轻分隔 */
.founder-story > p { margin: 0 0 .9em; }
.founder-story > p:last-child { margin-bottom: 0; }
.founder-story::before {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 0 0 14px;
  background: var(--c-gold-300, #E0C48A);
  opacity: .45;
}
@media (max-width: 768px) {
  .founder-story::before { width: 40px; margin-bottom: 11px; }
}

.abf__story { margin: 0 0 var(--sp-6); max-width: none; }
.abf__story p {
  margin: 0 0 var(--sp-4);
  font-size: 1.0625rem;
  line-height: 1.95;
  color: var(--muted, rgba(232,230,220,.72));
}
.abf__story p strong {
  display: inline-block;
  margin-right: .75em;
  padding: 2px 10px;
  border: 1px solid rgba(201,162,94,.45);
  border-radius: 3px;
  color: var(--c-gold-500, #C9A25E);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .12em;
  vertical-align: .12em;
  white-space: nowrap;
}

.abf__creed {
  margin-top: var(--sp-6);
  padding-top: var(--sp-5);
  border-top: 1px solid rgba(201,162,94,.22);
}
.abf__creed-title {
  margin: 0 0 var(--sp-4);
  font-size: .8125rem;
  letter-spacing: .32em;
  text-indent: .32em;
  color: var(--c-gold-500, #C9A25E);
}
.abf__creed ul { list-style: none; margin: 0; padding: 0; }
.abf__creed li {
  margin: 0 0 var(--sp-4);
  font-size: 1rem;
  line-height: 1.85;
  color: var(--muted, rgba(232,230,220,.72));
}
.abf__creed li:last-child { margin-bottom: 0; }
.abf__creed li strong {
  display: block;
  margin-bottom: .25em;
  font-family: var(--font-serif, inherit);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-gold-300, #E0C48A);
}

/* ==========================================================================
   创始人文案三改补充样式（2026-11-03 甲方确认）
   ① 首页小传：手机端字号微调
   ② 关于页：信条移到左栏图片下方，做成卡片；左栏图片已放大到 25rem
   ========================================================================== */
@media (max-width: 768px) {
  #founder .founder-story { font-size: 1.0625rem; }
}

.abf__portrait .abf__creed {
  width: min(100%, 25rem);
  margin-top: 0.25rem;
  padding: 1.15rem 1.3rem 0.3rem;
  border: 1px solid rgba(201, 162, 94, 0.22);
  border-top: 1px solid rgba(201, 162, 94, 0.22);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.03);
}
.abf__portrait .abf__creed-title { text-align: center; }
@media (max-width: 1023px) {
  .abf__portrait .abf__creed { width: min(100%, 25rem); }
}

/* ==========================================================================
   首页履历表字号放大（2026-11-03 甲方反馈：红框内文字太小）
   dt 标签 12→14px，dd 内容 16→17px，手机端同步
   ========================================================================== */
#founder .founder-creds__row dt {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
}
#founder .founder-creds__row dd {
  font-size: 1.0625rem;
  line-height: 1.85;
}
#founder .founder-creds__row dd a {
  font-size: 0.9375rem;
}
@media (max-width: 768px) {
  #founder .founder-creds__row dt { font-size: 0.8125rem; }
  #founder .founder-creds__row dd { font-size: 1rem; }
}

/* ==========================================================================
   关于页创始人区六改（2026-11-03 甲方反馈）
   ① 左右两栏等宽：照片与信条卡填满左栏，和右栏文字宽度一致
   ② 蓝框五段正文改强白字（标签仍金色）
   ========================================================================== */
.abf__story p { color: #F7F4EC; }
@media (min-width: 1024px) {
  .abf__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .abf__frame { width: 100%; }
  .abf__frame img { aspect-ratio: 3 / 4; height: auto; }
  .abf__portrait .abf__creed { width: 100%; }
}

/* ==========================================================================
   关于页创始人区两栏底部对齐（2026-11-09 甲方：右栏履历表下方空一截不协调）
   方案 A：右栏改纵向弹性布局并拉伸到整行高度——
     ① 「创始人履历」锚定到右栏最底部，与左栏信条卡底对齐，空洞消失；
     ② 履历表升级为 2×2 卡片（描边 + 浅底 + 加大字号），压住右栏下半部；
     ③ 剩余空隙由正文五段自然吸收（居中分布，不堆在某一处）。
   仅电脑端 ≥1024px 生效，手机端单列布局保持原状。
   ========================================================================== */
@media (min-width: 1024px) {
  .abf__text {
    display: flex;
    flex-direction: column;
    align-self: stretch;           /* .abf__inner 是 align-items:start，这里单独拉满整行高 */
  }
  .abf__text .abf__story {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;       /* 多余高度上下均摊，正文不贴头不吊尾 */
    gap: clamp(0.5rem, 1vw, 0.85rem);
  }
  .abf__text .abf__story p { margin: 0; }
  .abf__text .abf__creds {
    margin-top: clamp(1.25rem, 2vw, 2rem);
    padding: 1.25rem 1.4rem 1.35rem;
    border: 1px solid rgba(201, 162, 94, 0.22);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    gap: 1.1rem 1.75rem;
  }
  .abf__text .abf__creds li { padding-top: 0; border-top: 0; }
  .abf__text .abf__creds span { letter-spacing: 0.1em; }
  .abf__text .abf__creds strong { margin-top: 0.25rem; font-size: 1.0625rem; line-height: 1.8; }
}

/* ==========================================================================
   首页排版收口（2026-11-03 甲方：文案已定，只修排版与布局）
   --------------------------------------------------------------------------
   ① 形象片：去掉通用 section 规则强加的 124px 顶部留白，整块回到「正好一屏」
   ② 形象片背景图：改成 grid 叠层铺满（原来的 absolute + height:100% 拿不到
      父级高度，百分比高度回退成 auto，再被 <img> 的固有比例算成 704px，
      下半屏只剩纯色底）
   ③ 手机端顺序：品牌形象片补进 order 表，位置在创始人之后（与 DOM 一致）
   ④ JOIN US 两栏：等高拉伸，右下角视频换成「加盟三问」卡片
   ⑤ 样板图高度：取消手机/平板的 210px 死高，改按 16:10 比例
   ⑥ 图注字号：手机 11px 太小，统一到 13px
   ========================================================================== */

/* ① 形象片去掉强加的顶部留白与最小高度 */
body.page-home main > #brandFilm {
  padding-top: 0 !important;
  min-height: 0 !important;
}

/* ② 背景图铺满：grid 叠层，背景图、暗角、文字各占同一格 */
.brand-film {
  display: grid;
}
.brand-film > * {
  grid-area: 1 / 1;
}
.brand-film > .brand-film__bg {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: 100% !important;
  min-height: 100%;
  aspect-ratio: auto !important;
  object-fit: cover;
  align-self: stretch;
  justify-self: stretch;
}

/* ③ 手机端整页顺序（与 DOM 顺序一致：首屏 → 创始人 → 形象片 → 成长） */
@media (max-width: 47.99rem) {
  body.page-home main > .hero { order: 1 !important; }
  body.page-home main > #founder { order: 2 !important; }
  body.page-home main > #brandFilm { order: 3 !important; }
  body.page-home main > #growth { order: 4 !important; }
  body.page-home main > #stores { order: 5 !important; }
  body.page-home main > .screen-pair { order: 6 !important; }
  body.page-home main > .screen-pair.screen-pair--inquiry { order: 7 !important; }
  body.page-home main > #calculator { order: 8 !important; }
  body.page-home main > .stat-band,
  body.page-home main > #story { order: 9 !important; }
  body.page-home main > #contact-screen { order: 10 !important; }
  body.page-home main > #contact-notice { order: 11 !important; }
}

/* ④ JOIN US 两栏等高 + 加盟三问卡 */
#support .gallery {
  align-items: stretch;
}
body.page-home #support .frame.frame-qa {
  background: linear-gradient(160deg, #24483C 0%, #1F3A30 58%, #142821 100%);
  border-color: var(--bronze-mid);
  padding: 30px 28px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, .2),
    0 0 22px rgba(212, 178, 118, .16),
    0 18px 40px -20px rgba(31, 58, 48, .5);
}
body.page-home #support .frame-qa__eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  letter-spacing: .3em;
  text-indent: .3em;
  /* #support 内有一条 `:is(h2,…,p,span,li…) { color: var(--pc-ink) !important }`，
     深底卡片上必须用同等 !important 才能压住，否则文字变深绿看不见 */
  color: #D9B76C !important;
}
body.page-home #support .frame-qa__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.page-home #support .frame-qa__list > li {
  padding: 14px 0;
  border-top: 1px solid rgba(201, 162, 94, .22);
}
body.page-home #support .frame-qa__list > li:first-child {
  padding-top: 0;
  border-top: 0;
}
body.page-home #support .frame-qa__list > li:last-child {
  padding-bottom: 0;
}
body.page-home #support .frame-qa__q {
  margin: 0;
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #F5F2E8 !important;
}
body.page-home #support .frame-qa__a {
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.85;
  color: rgba(245, 242, 232, .78) !important;
}

/* ⑤ 样板图取消死高，按 16:10 比例（1023px 以下） */
@media (max-width: 63.99rem) {
  body.page-home #support .frame .jbs-slides {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 10 !important;
  }
}

/* ⑥ 图注字号 */
#support .frame .caption {
  font-size: 13px;
}
body.page-home #support .frame .caption {
  font-size: 13px !important;
  padding: 8px 4px !important;
}

/* 形象片高度：与首屏轮播严格等高
   --------------------------------------------------------------------------
   ⚠ 踩坑记录：本项目浏览器实测 CSS.supports('height','100svh') = false，
     `min-height: calc(100svh - 57px)` 这类声明会被整条丢弃（
     样式表里留下空规则 .brand-film__inner { }），
     所以原文件里那条 calc(100svh - …) 从来没生效过，区块一直是 100vh + 40px 内边距，
     比首屏轮播高出 98px，翻到这一屏下面必露下一块。
   ⇒ 这里统一改用 vh（100vh 已被首屏轮播验证过等于视口高），
     平板/手机用 height 直接锁死，不再依赖 min-height 参与 grid 行高计算。 */
@media (max-width: 63.99rem) {
  body.page-home main > #brandFilm {
    padding: 0 !important;
    min-height: 0 !important;
    height: 100vh !important;
  }
  body.page-home #brandFilm .brand-film__inner {
    height: 100% !important;
    min-height: 100% !important;
  }
}
@media (max-width: 47.99rem) {
  body.page-home main > #brandFilm {
    height: calc(100vh - 57px) !important;
  }
}

/* 桌面端 JOIN US 整块有 zoom:0.768 缩放（设计稿 1440 塞进视口），
   16px 实际渲染只有 12px 左右，问答卡与图注要按比例放大一档 */
@media (min-width: 64rem) {
  body.page-home #support .frame-qa__eyebrow {
    font-size: 15px !important;
    letter-spacing: .34em;
  }
  body.page-home #support .frame-qa__q {
    font-size: 21px !important;
  }
  body.page-home #support .frame-qa__a {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
  body.page-home #support .frame-qa__list > li {
    padding: 18px 0;
  }
  #support .frame .caption {
    font-size: 16px !important;
  }
  body.page-home #support .frame .caption {
    font-size: 16px !important;
  }
}

/* 样板图高度上限：原来只在视口高 ≥900px 时才限 47vh，
   1280×800 这类笔记本屏不受限，图按 16:10 撑到 740px，
   右边问答卡被等高拉到 800px，下半截空一大块。
   ⇒ 桌面端统一限高，各视口宽度下两栏高度都稳。 */
@media (min-width: 64rem) {
  body.page-home #support .frame .jbs-slides {
    max-height: 47vh !important;
  }
}

/* ==========================================================================
   2026-11-03 第三轮：JOIN US 收口（甲方反馈：左下按钮被遮、右侧三问太小气）
   --------------------------------------------------------------------------
   ① CTA 被遮 —— 根因不是层级，是这块内容（标题 + 六步流程 + 样板图 +
      加盟三问 + CTA）早就超过一屏，但样式里一直在做「硬塞进一屏」的压缩：
        · @media (min-width:64rem) and (max-height:56.25rem)
            → .screen-pair--inquiry{padding-bottom:4px}、.gallery{margin-bottom:4px}
        · @media (max-width:63.99rem)
            → .screen-pair--inquiry{height:100vh;min-height:0;overflow:hidden}
      于是 CTA 被下一屏顶掉／贴边。⇒ 取消锁高与压缩，按内容自然增高；
      同时关掉这一块的整屏吸附，否则超高区块滚动时会被下一屏直接"跳"过去。
   ② 加盟三问 —— 由「深绿小卡片」改为「整幅深色版面」：
        · 去掉圆角、粗描边、四角金花、外发光阴影（这几样是"小气"的来源）
        · 改为直角版面 + 一圈细金线，左侧一道竖向金线
        · 「加盟三问」四字改竖排（writing-mode），贴着左边缘
        · 问题字号提到 23px，前面加罗马数字 Ⅰ Ⅱ Ⅲ
        · 答案降到 14px、降低不透明度，形成主次
      竖排只在 ≥1024px 生效；平板与手机回到横排，避免窄栏挤字。
   ========================================================================== */

/* ① 取消「硬塞一屏」 */
body.page-home .screen-pair--inquiry {
  height: auto !important;
  max-height: none !important;
  min-height: 100vh !important;
  overflow: visible !important;
  justify-content: center !important;
  padding-bottom: 56px !important;
  scroll-snap-align: none !important;
}
body.page-home .screen-pair--inquiry > section {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
body.page-home .screen-pair--inquiry .head { margin-bottom: 34px !important; }
body.page-home .screen-pair--inquiry .timeline { margin-bottom: 26px !important; }
body.page-home .screen-pair--inquiry .gallery { margin-bottom: 32px !important; }
body.page-home .screen-pair--inquiry .gallery-title { margin-bottom: 14px !important; }
/* CTA 与上方内容拉开距离，并保证按钮下方有呼吸区 */
body.page-home #support .cta {
  margin-top: 26px !important;
  padding-bottom: 4px;
}

/* ② 加盟三问：整幅深色版面 */
body.page-home #support .gallery { align-items: stretch; }

body.page-home #support .frame.frame-qa {
  position: relative;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 44px 36px 40px 84px !important;
  background:
    radial-gradient(115% 85% at 100% 0%, rgba(212, 178, 118, .12), transparent 58%),
    linear-gradient(158deg, #21443A 0%, #183329 54%, #10231D 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, .24) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: none !important;
  transition: box-shadow .4s;
}
body.page-home #support .frame.frame-qa:hover {
  transform: none !important;
  box-shadow: inset 0 0 0 1px rgba(212, 178, 118, .34) !important;
}

/* 原来的四角金花 → 换成一道竖向金线 */
body.page-home #support .frame.frame-qa::before {
  content: "" !important;
  position: absolute !important;
  left: 58px !important;
  top: 44px !important;
  bottom: 40px !important;
  width: 1px !important;
  height: auto !important;
  border: 0 !important;
  background: linear-gradient(180deg,
    rgba(212, 178, 118, 0) 0%,
    rgba(212, 178, 118, .46) 16%,
    rgba(212, 178, 118, .46) 84%,
    rgba(212, 178, 118, 0) 100%) !important;
}
body.page-home #support .frame.frame-qa::after {
  content: none !important;
  border: 0 !important;
}

/* 竖排标题：贴着左边缘从上往下 */
body.page-home #support .frame-qa__eyebrow {
  position: absolute !important;
  left: 21px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  writing-mode: vertical-rl;
  font-family: var(--serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: .44em !important;
  line-height: 1 !important;
  white-space: nowrap;
  color: #D9B76C !important;
  opacity: .92;
}

/* 三问：罗马数字 + 发丝线分隔 */
body.page-home #support .frame-qa__list {
  counter-reset: qa;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}
body.page-home #support .frame-qa__list > li {
  position: relative;
  counter-increment: qa;
  padding: 18px 0 18px 34px !important;
  border-top: 1px solid rgba(212, 178, 118, .15) !important;
}
body.page-home #support .frame-qa__list > li:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}
body.page-home #support .frame-qa__list > li:last-child {
  padding-bottom: 0 !important;
}
body.page-home #support .frame-qa__list > li::before {
  content: counter(qa, upper-roman);
  position: absolute;
  left: 0;
  top: 21px;
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .06em;
  color: rgba(217, 183, 108, .8) !important;
}
body.page-home #support .frame-qa__list > li:first-child::before {
  top: 3px;
}

body.page-home #support .frame-qa .frame-qa__q {
  margin: 0 !important;
  font-family: var(--serif) !important;
  font-size: 23px !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  color: #F7F3E8 !important;
}
body.page-home #support .frame-qa .frame-qa__a {
  margin: 8px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: rgba(247, 243, 232, .6) !important;
}

/* 平板与手机：竖排改横排，字号回收 */
@media (max-width: 63.99rem) {
  body.page-home #support .frame.frame-qa {
    padding: 28px 24px 26px !important;
  }
  body.page-home #support .frame-qa__eyebrow {
    position: static !important;
    transform: none !important;
    writing-mode: horizontal-tb !important;
    display: block !important;
    margin: 0 0 14px !important;
    font-size: 12px !important;
    letter-spacing: .3em !important;
    text-align: center;
  }
  body.page-home #support .frame.frame-qa::before { content: none !important; }
  body.page-home #support .frame-qa .frame-qa__q { font-size: 18px !important; }
  body.page-home #support .frame-qa .frame-qa__a {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }
  body.page-home #support .frame-qa__list > li { padding: 14px 0 14px 28px !important; }
  body.page-home #support .frame-qa__list > li::before {
    top: 17px;
    font-size: 12px;
  }
  body.page-home #support .frame-qa__list > li:first-child::before { top: 2px; }
}

/* ==========================================================================
   2026-11-03 第四轮：右栏加分量 + 去掉上下空档
   甲方反馈：右边不够场面、上下空隙太大
   --------------------------------------------------------------------------
   ① 三等分撑满：列表改 grid 三行等高，flex:1 吃满整幅高度，每条内部垂直居中。
      之前是 flex + justify-content:center，三条挤在中间，上下各空一大块。
   ② 罗马数字 28px 做成视觉锚点，问题 25px、字重 700，答案 14px 让位。
   ③ 卡片内边距收窄（44/40 → 34），把空间全部让给文字。
   ④ #support 自身上下内边距 70/80 → 40/56，区块顶端不再一块空米色。
   ⑤ 仅 ≥1024px 生效；平板手机保持第三轮的紧凑排法。
   ========================================================================== */

body.page-home #support {
  padding-top: 40px !important;
  padding-bottom: 56px !important;
}

@media (min-width: 64rem) {
  body.page-home #support .frame.frame-qa {
    padding: 34px 34px 34px 76px !important;
  }

  body.page-home #support .frame-qa__eyebrow {
    left: 20px !important;
    font-size: 15px !important;
    letter-spacing: .5em !important;
  }

  body.page-home #support .frame.frame-qa::before {
    left: 54px !important;
    top: 34px !important;
    bottom: 34px !important;
  }

  /* 三等分撑满整幅高度 */
  body.page-home #support .frame-qa__list {
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    flex: 1 1 auto;
    align-content: stretch;
  }

  body.page-home #support .frame-qa__list > li,
  body.page-home #support .frame-qa__list > li:first-child,
  body.page-home #support .frame-qa__list > li:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 0 0 48px !important;
    border-top: 1px solid rgba(212, 178, 118, .16) !important;
  }
  body.page-home #support .frame-qa__list > li:first-child {
    border-top: 0 !important;
  }

  body.page-home #support .frame-qa__list > li::before,
  body.page-home #support .frame-qa__list > li:first-child::before {
    top: 50% !important;
    transform: translateY(-50%);
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    color: rgba(217, 183, 108, .52) !important;
  }

  body.page-home #support .frame-qa .frame-qa__q {
    font-size: 25px !important;
    line-height: 1.3 !important;
  }
  body.page-home #support .frame-qa .frame-qa__a {
    margin-top: 10px !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}

/* ==========================================================================
   2026-11-03 第五轮：三问提亮（甲方：标题要更明显、问题改金色、描述字号放大）
   --------------------------------------------------------------------------
   ① 「加盟三问」由细竖排小字改成一枚竖向金框书签：19px / 600 / 亮金 / 描金细框
      / 极淡金底。原来 15px + opacity .92，在深绿底上几乎看不见。
   ② 三个问题改香槟金 #EBCE96，与下方浅米色描述形成主次（原来是米白，和答案同色系）。
   ③ 描述字号 14 → 15.5px，透明度 .6 → .74，读起来不费劲。
   ④ 文案同步改写（见 index.html）：专业术语替代口语，字数控制在 25 字内，
      三句全部落在上方六步流程已有事实上，不新增任何承诺。
   ========================================================================== */

@media (min-width: 64rem) {
  body.page-home #support .frame-qa__eyebrow {
    left: 13px !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    letter-spacing: .3em !important;
    line-height: 1.05 !important;
    opacity: 1 !important;
    color: #F2DCAE !important;
    padding: 15px 8px !important;
    border: 1px solid rgba(212, 178, 118, .45) !important;
    background: rgba(212, 178, 118, .08) !important;
  }
  body.page-home #support .frame.frame-qa {
    padding-left: 80px !important;
  }
  body.page-home #support .frame.frame-qa::before {
    left: 61px !important;
  }

  body.page-home #support .frame-qa .frame-qa__q {
    color: #EBCE96 !important;
  }
  body.page-home #support .frame-qa .frame-qa__a {
    font-size: 15.5px !important;
    line-height: 1.85 !important;
    color: rgba(247, 243, 232, .74) !important;
  }
}

/* 手机、平板同步提亮（标题保持横排，不加框） */
@media (max-width: 63.99rem) {
  body.page-home #support .frame-qa__eyebrow {
    font-size: 14px !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    color: #F2DCAE !important;
  }
  body.page-home #support .frame-qa .frame-qa__q {
    color: #EBCE96 !important;
  }
  body.page-home #support .frame-qa .frame-qa__a {
    font-size: 13.5px !important;
    color: rgba(247, 243, 232, .74) !important;
  }
}

/* ==========================================================================
   2026-11-03 第六轮：创始人资历表（创立品牌 / 现任职务 / 行业职务 / 非遗传承人）
   甲方：文字放到最大化，且必须自适应手机端
   --------------------------------------------------------------------------
   尺寸推算（1440 视口，按样式表逐层相加）：
     .container--wide 1440 − 内边距 32×2 = 1376
     两栏 gap --sp-10 = 128 → 每栏 624
     .founder-creds 左缩进 32 + 边框 1 → 591
     行栅格 7.5rem(120) + gap 24 + 1fr → dd 只剩 447px
   瓶颈是第 2 条「甲博士甲功夫健康产业（云南）有限公司 董事长」= 22.5 个全角宽，
   16px 时占 360px，本来就快顶满；dd 不先加宽，字号一大就换行。
   ⇒ 做法：
     ① 把宽度让给正文：左缩进 32 → 20、dt 列 120 → 104（6.5rem）、间隙 24 → 20，
        dd 从 447 → 481px（+34）。「非遗传承人」5 字 ×14px + 字距 ≈ 84px，104 仍够。
     ② dd 字号 = clamp(16px, 1.875vw − 7px, 20px)：
        1440 时 20px（22.5×20 = 450 < 481，留 31px 余量，第 2 条仍是一行）
        1280 时 17px（该视口 dd 只有 401px，18px 就会把「董事长」挤下去）
        1200 及以下回落到 16px，与正文一致，手机不额外放大。
     ③ 行高 1.85 → 1.66、dt 12 → 14px：字大了，块高只多约 45px。
     ④ 手机（≤1023）保持原单列排版：标签在上、内容在下，全宽，不套用以上宽度规则。
   ========================================================================== */

@media (min-width: 64rem) {
  #founder .founder-creds {
    padding-left: 20px;
  }
  #founder .founder-creds__row {
    grid-template-columns: 6.5rem minmax(0, 1fr);
    column-gap: 20px;
  }
  #founder .founder-creds__row dd {
    font-size: clamp(1rem, calc(1.875vw - 7px), 1.25rem);
  }
}
#founder .founder-creds__row dt {
  font-size: clamp(0.75rem, 0.59375rem + 0.3125vw, 0.875rem);
  letter-spacing: 0.16em;
}
#founder .founder-creds__row dd {
  line-height: 1.66;
  letter-spacing: 0.01em;
}

/* ==========================================================================
   2026-11-04 第七轮：形象片封面去掉遮罩（甲方：封面图不要加遮罩）
   --------------------------------------------------------------------------
   ① .brand-film__veil 不再绘制任何颜色 → 底图 100% 原样呈现，不压暗、不加暗角、
      不叠色。HTML 里那个 span 保留不删，将来要恢复遮罩把 background 注释放开即可。
   ② .brand-film__bg 上原来的 saturate(.96) 一并去掉，对原图不做任何色彩改动。
   ③ 文字可读性全部改由「贴字投影」承担，只作用于文字本身，不碰图片：
      近处 1px 硬边保笔画清晰，中层 12px 控局部对比，远处 30px 以上做柔和晕染。
   ④ hint 原来 rgba(255,255,255,.55) 在亮底上几乎看不见，提到 .86。
   ========================================================================== */
body.page-home #brandFilm .brand-film__veil {
  background: none !important;
}
body.page-home #brandFilm .brand-film__bg {
  filter: none !important;
}
body.page-home #brandFilm .brand-film__title {
  text-shadow:
    0 1px 2px rgba(7,22,15,.92),
    0 2px 14px rgba(7,22,15,.78),
    0 8px 38px rgba(7,22,15,.52);
}
body.page-home #brandFilm .brand-film__eyebrow {
  text-shadow:
    0 1px 2px rgba(7,22,15,.90),
    0 2px 12px rgba(7,22,15,.70),
    0 6px 26px rgba(7,22,15,.45);
}
body.page-home #brandFilm .brand-film__lead {
  color: #F3F0E6;
  text-shadow:
    0 1px 2px rgba(7,22,15,.92),
    0 2px 12px rgba(7,22,15,.80),
    0 6px 26px rgba(7,22,15,.55);
}
body.page-home #brandFilm .brand-film__hint {
  color: rgba(255,255,255,.86);
  text-shadow:
    0 1px 2px rgba(7,22,15,.92),
    0 2px 10px rgba(7,22,15,.80);
}

/* ==========================================================================
   2026-11-04 第八轮：创始人小传换稿（四段 + 金句）
   --------------------------------------------------------------------------
   ① 文字量 263 → 316 字，桌面 624px 栏宽下正好 11 行（3+3+2+2+1），
      1366 / 1440 / 1920 断行位置完全一致，区块总高从 766px 变为 869px。
   ② 手机端（≤1023 单列）显式写死横排：writing-mode / text-orientation 都归位，
      防止继承到别处的竖排规则；字号 17px、行高 1.9，390 宽下每行约 20 字，
      不会出现一字一行或一字一屏。
   ③ 小屏（≤480）再降到 16px，每行约 21 字，五段总高约 600px，正常滚动。
   ④ 段距从 .9em 收到 .8em，五段之间省下约 14px，抵消一部分加高。
   ========================================================================== */
@media (max-width: 63.99rem) {
  #founder .founder-story {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    line-height: 1.9;
  }
  #founder .founder-story > p { margin-bottom: .8em; }
}
@media (max-width: 30rem) {
  #founder .founder-story {
    font-size: 1rem;
    line-height: 1.88;
  }
}

/* ==========================================================================
   2026-11-04 第九轮：创始人履历表四排字拉到上限（甲方：还有距离，放到最大）
   --------------------------------------------------------------------------
   无头 Edge 实测（2026-11-04），改前各档最宽一行占 dd 可用的比例：
     1920/1440  dd 479px  非遗行 459 → 96%   创立 367 → 77%   行业 186 → 39%
     1416       dd 460px  非遗行 448 → 97%   创立 358 → 78%   行业 182 → 40%
     1280       dd 388px  非遗行 379 → 98%   创立 303 → 78%   行业 154 → 40%
   结论：真正顶满的只有「非遗传承人」那一行，其余三行右侧空 100~290px，
   看着就是甲方说的「明显还有距离」。所以不能只调字号，得先腾宽度。
   ⇒ 四处腾挪，合计 +62px（以 1416 视口计）：
     ① split 中缝 128 → 64        两侧各 +32（正文栏同步变宽）
     ② creds 左缩进 20 → 12       +8
     ③ dt 列 6.5rem(104) → 88px   +16（dt 最宽文字「非遗传承人」实测 81px，88 够）
     ④ dt 与 dd 间隙 20 → 14      +6
   腾完后 dd：1416 = 522px，1440 及以上 = 541px，1280 = 450px。
   ⇒ 字号按 97% 填充率反算（非遗行每 1px 字号 ≈ 22.9px 宽）：
     1416 → 22.35px  (512 / 522，余 10px)
     1440 → 23px     (527 / 541，余 14px)  ← 上限
     24px 时非遗行 550px > 541px 会折行，故封顶 1.4375rem。
   ⇒ dt 同步放大 12~14 → 12~14.5px，字距 0.16em → 0.12em
      （放大后「非遗传承人」仍 81px，88px 列放得下）
   ⇒ 实测复核：1920/1590/1416/1392/1342/1256/1176 七档，四行全部单行不折，
      最紧 97~98%，无横向溢出。≤1023 单列布局不受影响（走 63.99rem 那条）。
   ========================================================================== */
@media (min-width: 64rem) {
  #founder .split {
    gap: 64px;
  }
  #founder .founder-creds {
    padding-left: 12px;
  }
  #founder .founder-creds__row {
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 14px;
  }
  #founder .founder-creds__row dd {
    font-size: clamp(1rem, calc(2.2vw - 8.8px), 1.4375rem);
  }
  #founder .founder-creds__row dt {
    font-size: clamp(0.75rem, calc(0.25rem + 0.72vw), 0.90625rem);
    letter-spacing: 0.12em;
  }
  /* 「查看链接」原来钉死 0.9375rem(15px)，dd 放大到 23px 后它显得突然变小，
     改成相对值：1440 下约 20.7px。手机端不进这条媒体，仍是原来的 15px。 */
  #founder .founder-creds__row dd a {
    font-size: 0.9em;
  }
}


/* ==========================================================================
   2026-11-04 layout10 — 创始人屏：职务表进左列，介绍文字独占右列
   --------------------------------------------------------------------------
   甲方原话：「把职务放左边同照片平齐，介绍放下面，这样文字还有可能增加字数」

   改后 .split 内三个直接子元素的顺序（顺序不可乱）：
     ① .founder-portrait              → grid-area: photo
     ② 文字 div（带 data-reveal）      → grid-area: text（姓名/引言/正文/金句/按钮）
     ③ .founder-creds-wrap            → grid-area: creds（职务表，落到照片正下方）
   手机端（<64rem）不进本媒体，走单列文档流：照片 → 文字 → 按钮 → 职务表。
   注意：文字列不能再写 .split > div:last-child，最后一个子元素已经是职务表了。

   ── 为什么整段带 !important ──
   本文件 11966 与 12069 两段（layout8/9 时期为「一屏放下」加的响应式微调）
   已经用 !important 钉死了 .founder-portrait__frame 的绝对定位、图片 max-height、
   .founder-creds__row 的 padding-block、.founder-tail 的 margin-top。
   新布局恰好要把这些反过来（照片回到 4:5 常规流，不再被右栏拽高）。
   同级同权重只能靠「写在文件最后 + 同样 !important」压制。
   将来若清理 11966 / 12069 两段，可同步去掉本段的 !important。

   ── 为什么 max-width 封顶 1360px ──
   照片高度随列宽线性变化（4:5），而正文行数是跳变的。实测不封顶：
     1920 栏宽 716 → 每行 29.8 字 → 正文只 12 行 → 左列比右列高 294px
     1440 栏宽 648 → 每行 27 字   → 正文 16 行   → 正好平齐
   封顶后 ≥1440 一律按 648px 栏宽排版，行数恒定 16 行，底部才稳。
   实测左列底 vs 按钮底：1920/1600/1440 → 0px；1366 → 3px；1280 → 21px。

   ── 为什么字号是 clamp(22px, 1.25vw + 6px, 24px) ──
   1280 栏宽 568、照片 709 高，比 1440 矮 100px；字号同步降到 22px 让正文收窄，
   否则按钮会被顶出左列底边。1440 及以上封顶 24px（326 字正好 16 行填满）。
   若要给正文加字：每加 1 行（约 27 字）底部就差 44px，需同步下调字号；
   加到约 400 字时降到 22px 仍可平齐；或把照片改成 3:4，左列多 54px。
   ========================================================================== */
@media (min-width: 64rem) {
  body.page-home #founder .split--even {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas: "photo text" "creds text" !important;
    grid-template-rows: auto 1fr !important;
    row-gap: 24px !important;
    column-gap: 64px !important;
    align-items: start !important;
    max-width: 1360px !important;
    margin-inline: auto !important;
  }

  body.page-home #founder .founder-portrait {
    grid-area: photo !important;
    align-self: start !important;
    display: block !important;
    position: relative !important;
    min-height: 0 !important;
  }

  body.page-home #founder .split--even > div:not(.founder-portrait):not(.founder-creds-wrap) {
    grid-area: text !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.page-home #founder .founder-creds-wrap {
    grid-area: creds !important;
    align-self: start !important;
    display: block !important;
  }

  /* 照片：从「绝对定位填满左列」改回 4:5 常规流 */
  body.page-home #founder .founder-portrait__frame {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
    box-shadow: 0 24px 60px -34px rgba(0, 0, 0, 0.72) !important;
  }
  body.page-home #founder .founder-portrait__frame img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center 16% !important;
  }
  body.page-home #founder .founder-portrait::before { display: none !important; }  /* 倾斜偏移金框 */
  body.page-home #founder .founder-portrait__spark { display: none !important; }   /* 粒子层 */

  /* 图注仍是 hover 浮层，钉在照片底部；改成静态就会占高度、破坏底部平齐 */
  body.page-home #founder .founder-portrait__caption {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0 0 14px !important;
    text-align: center !important;
  }

  /* 左列职务表：档案式小表 */
  body.page-home #founder .founder-creds-wrap .founder-creds {
    margin-top: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(184, 148, 88, 0.3) !important;
    padding-top: 4px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    padding-block: 9px !important;
    border-top: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row:last-child {
    border-bottom: 0 !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    padding-top: 4px !important;
    color: var(--c-gold-300) !important;
    text-shadow: 0 0 1px rgba(212, 178, 118, 0.45) !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd {
    font-size: 16.5px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    color: #fff !important;
    /* 深底 + 16.5px 中文：笔画只有约 1px，抗锯齿会把白色稀释成灰绿色，
       加一丝同色投影把笔画压实，观感才和旁边 24px 正文一致。
       不要再往下调字号，15.5px 已经明显发灰（甲方原话「太小」）。 */
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.6) !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd a {
    font-size: 0.92em !important;
  }

  /* 右列正文 */
  body.page-home #founder .founder-story {
    font-size: clamp(22px, calc(1.25vw + 6px), 24px) !important;
    line-height: 1.85 !important;
    max-width: none !important;
    margin-bottom: 24px !important;
  }
  body.page-home #founder .founder-quote {
    font-size: 27px !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
  }
  body.page-home #founder .founder-tail { margin-top: auto !important; }
  body.page-home #founder .founder-tail .btn-group {
    margin-top: 0 !important;
    padding-top: 28px !important;
  }

  /* 证书轮播与大屏内容同宽对齐（原本 1920 下 1496，比上面 1360 宽出一截） */
  body.page-home #founder .founder-quali {
    margin-top: 56px !important;
    max-width: 1360px !important;
    margin-inline: auto !important;
  }
}

/* 手机端：职务表已落到按钮之后，补一点上间距，别贴着按钮 */
@media (max-width: 63.99rem) {
  body.page-home #founder .founder-creds-wrap { margin-top: 28px; }
  body.page-home #founder .founder-quali { margin-top: 40px; }
}



/* ==========================================================================
   创始人屏 layout11 · 2026-11-04
   --------------------------------------------------------------------------
   甲方三点要求：
     ① 创始人整块要跟其他屏同宽：照片 / 职务表左缘咬住页头 LOGO，
        右侧文字右缘咬住 400 电话。上一版窄了，对不齐。
     ② 底部金句「诚信为本，永远利他爱人」不要换行，跟「唯使命不可挡」同一排。
     ③ 左侧职务表字号太小，看不清。
   --------------------------------------------------------------------------
   为什么上一版会窄：
     layout10 给 .split--even 和 .founder-quali 各钉了 max-width:1360px。
     当时是为了解决「照片 4:5 高度随列宽线性增长，右侧文字却是整行跳变」
     导致的两栏底部错位——把宽度封住最省事，结果宽屏（≥1920）整块内缩，
     跟页头 LOGO / 400 电话错开 68~148px。
   layout11 的做法：
     撤掉 1360 封顶，让容器自然铺满；照片跟着变宽变高，多出来的高度用
     「大屏按档放大正文字号」吃掉——120rem(1920) 一档、160rem(2560) 一档。
     实测 1280~2700 共八档，两栏底部差全部在 ±20px 以内。
   --------------------------------------------------------------------------
   ⚠ 本段必须留在文件最末。
     layout10 与 11966 / 12069 行两处「一屏放下」微调里都有 position:absolute /
     max-width 之类的 !important，只能靠「写得更靠后 + !important」压住。
   ⚠ 手机端（<64rem）完全没动，仍走文档流：照片 → 文字 → 按钮 → 职务表。
   ========================================================================== */

@media (min-width: 64rem) {
  /* ① 撤掉 1360 封顶，与页头 / 其他屏用同一个容器宽度，自然对齐 LOGO 与 400 电话 */
  body.page-home #founder .split--even {
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
  }
  body.page-home #founder .founder-quali {
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
  }

  /* ② 职务表放大：正文 16.5 → 18，小标题 13 → 14。
        644px 栏宽下最长一行「甲博士甲功夫健康产业（云南）有限公司 董事长」仍是一行。
        ⚠ 选择器必须带 .founder-creds-wrap：layout10 用的是
        `#founder .founder-creds-wrap .founder-creds__row dd`，比不带时多一层类，
        特异性更高，只靠后置会被压住（踩过：加了 18px 实测仍是 16.5px）。 */
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt {
    font-size: 14px !important;
  }

  /* ③ 金句压成一行。
        整句 28 字（含句号）在任何档位都放不下，去句号后 27 字，
        1440 档差 1px——太危险，所以末尾一段再收 0.97 倍字号（24 → 23px，肉眼无差）。
        金句从两行变一行，右列矮 42px；职务表放大，左列高 18px；
        一并把正文行距 1.78 → 1.9、段距 0.9 → 0.95em 补回来。 */
  body.page-home #founder .founder-story > p {
    line-height: 1.9 !important;
    margin-bottom: .95em !important;
  }
  body.page-home #founder .founder-story > p:last-child {
    font-size: .97em !important;
  }

  /* 按钮组不再吸到栏底，跟着文字自然排 */
  body.page-home #founder .founder-tail {
    margin-top: 0 !important;
  }
}

/* 1920 起：照片宽到 716、高到 895，正文按 25px 排才填得满 */
@media (min-width: 120rem) {
  body.page-home #founder .founder-story {
    font-size: 25px !important;
    line-height: 1.95 !important;
    margin-bottom: 30px !important;
  }
  body.page-home #founder .founder-story > p {
    line-height: 1.95 !important;
    margin-bottom: 1.25em !important;
  }
  body.page-home #founder .founder-quote {
    font-size: 29px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }
  body.page-home #founder .founder-name {
    font-size: 66px !important;
  }
}

/* 2560 起：照片 796×995，再提一档 */
@media (min-width: 160rem) {
  body.page-home #founder .founder-story {
    font-size: 28px !important;
    line-height: 1.95 !important;
  }
  body.page-home #founder .founder-story > p {
    line-height: 1.95 !important;
    margin-bottom: 1.35em !important;
  }
  body.page-home #founder .founder-quote {
    font-size: 32px !important;
  }
  body.page-home #founder .founder-name {
    font-size: 72px !important;
  }
}

/* ============================================================
   创始人屏 layout12（2026-11-04）照片高度改由视口决定
   问题：layout11 放开宽度后，照片高度 = 列宽×1.25，屏越宽照片越高，
   1920 下高 820px 占屏幕 76%，职务表和资质条全被顶出首屏。
   改法：照片高度改为 clamp(440px, 100vh-430px, 780px)，永远在一屏内；
   正文微收一档（22/24px）补两栏底部平齐。
   注意：选择器沿用 layout10/11 的写法（带 .founder-creds-wrap 层级的除外），
   本段不带 creds 字号，职务表 18px 维持 layout11 不变。
   ============================================================ */
@media (min-width: 64rem) {
  /* ① 照片：高度跟屏幕走，不再跟列宽走 */
  body.page-home #founder .founder-portrait__frame {
    aspect-ratio: auto !important;
    height: clamp(440px, calc(100vh - 430px), 780px) !important;
  }
  /* 裁切构图以人脸为中心（保留头顶 + 上身，裁底部） */
  body.page-home #founder .founder-portrait__frame img {
    object-position: center 20% !important;
  }
  /* ② 正文 24 → 22px（大屏 24px），行距 1.9 → 1.72，补两栏底部平齐 */
  body.page-home #founder .founder-story { font-size: 22px !important; }
  body.page-home #founder .founder-story > p {
    line-height: 1.72 !important;
    margin-bottom: 0.78em !important;
  }
  /* ③ 资质条间距 56 → 40，位置上提 */
  body.page-home #founder .founder-quali { margin-top: 40px !important; }
}
@media (min-width: 120rem) {
  body.page-home #founder .founder-story { font-size: 24px !important; }
  body.page-home #founder .founder-story > p { line-height: 1.78 !important; }
}

/* ============================================================
   创始人屏 layout13（预览版）2026-11-04 老板拍板：
   ① 职务表挪回右栏、放正文下面
   ② 「与创始人聊聊/查找附近门店」两个按钮挪到左栏照片下面
   ③ 照片高度跟随右栏内容增高（flex 拉伸）
   ④ 正文 20px、职务 17px（右栏变宽后按实际需要收缩）
   ============================================================ */
@media (min-width: 64rem) {
  /* ① 分栏 45 : 55，单行两列，右栏高度决定整行 */
  body.page-home #founder .split--even {
    grid-template-columns: 45fr 55fr !important;
    grid-template-areas: "photo text" !important;
    grid-template-rows: minmax(0, 1fr) !important;
    row-gap: 0 !important;
    column-gap: 56px !important;
    align-items: stretch !important;
  }
  /* ② 左栏变纵向 flex：照片吃掉剩余高度，按钮垫底 */
  body.page-home #founder .founder-portrait {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;   /* 3535 行有 align-self:start，必须显式压掉 */
  }
  body.page-home #founder .founder-portrait__frame {
    flex: 1 1 auto !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    min-height: 420px !important;
  }
  body.page-home #founder .founder-portrait__frame img {
    object-position: center 22% !important;
  }
  /* 按钮在照片下面：两张小卡并排 */
  body.page-home #founder .founder-portrait .founder-tail { margin-top: 18px !important; }
  body.page-home #founder .founder-portrait .btn-group {
    display: flex !important;
    gap: 12px !important;
    margin-top: 0 !important;
  }
  body.page-home #founder .founder-portrait .btn-group > .btn {
    flex: 1 1 0 !important;
    font-size: 15px !important;
    padding: 13px 8px !important;
    white-space: nowrap !important;
  }
  /* ③ 右栏纵向 flex，职务表垫底 */
  body.page-home #founder .split--even > div:not(.founder-portrait) {
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-home #founder .founder-creds-wrap {
    margin-top: 32px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(201,169,97,.28) !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row {
    grid-template-columns: 92px minmax(0,1fr) !important;
    padding-block: 8px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt { font-size: 13px !important; }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd { font-size: 17px !important; line-height: 1.6 !important; }
  /* ④ 字号：右栏变宽后正文收到 20px */
  body.page-home #founder .founder-story { font-size: 20px !important; }
  body.page-home #founder .founder-story > p { line-height: 1.72 !important; margin-bottom: .8em !important; }
  body.page-home #founder .founder-quali { margin-top: 48px !important; }
}

/* ============================================================
   创始人屏 layout14（2026-11-05 甲方确认 A 案）
   ① 图注不再遮挡按钮：layout11 的 position:absolute + bottom:0 把图注钉在左栏底部，
      layout13 把按钮挪进左栏后两者完全重叠，hover 时图注浮到按钮上把它盖住。
      改回静态常显，占照片与按钮之间的一行，hover 前后完全一致。
   ② 职务表铺满右栏：layout10 残留的 grid-area:creds + align-self:start
      让职务表按内容收缩到 490px（右栏实际 792px），放开后才有空间放大字号。
   ③ 字号：dd 17 → 23px、dt 13 → 15px，四条职务在 1366/1920 下均单行不折。
   ⚠ 本段必须留在文件最末，靠顺序压住 layout10/11/13 的 !important。
   ⚠ 手机端（<64rem）不受影响，仍走原文档流。
   ============================================================ */
@media (min-width: 64rem) {
  body.page-home #founder .founder-portrait__caption {
    position: static !important;
    left: auto !important; right: auto !important; bottom: auto !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }
  body.page-home #founder .founder-creds-wrap {
    grid-area: auto !important;
    align-self: stretch !important;
    width: 100% !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row {
    grid-template-columns: 105px minmax(0, 1fr) !important;
    column-gap: 20px !important;
    padding-block: 10px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt {
    font-size: 15px !important;
    padding-top: 5px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd {
    font-size: 23px !important;
    line-height: 1.55 !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd a {
    font-size: 0.9em !important;
  }
}

/* ============================================================
   创始人屏 layout15（2026-11-05 甲方确认）
   ① 职务表标签(dt)与内容(dd)统一 20px，与照片下「甲博士砥砺前行十八载」同字号；
      dt 列 105 → 125px，避免「非遗传承人」放大后折行。
      手机/平板走与图注同一条 clamp 曲线，375/768 下也保持一致。
   ② 悬停金色背景切换（甲方指定第 2 张效果）：职务行从左往右泛起金色渐变、
      标签转白、内容转金、左内边距 12px；照片那层金色蒙层不动。
   ⚠ 本段必须留在文件最末，靠顺序压住 layout14 的同特异性 !important。
   ⚠ HTML 结构不变，本段只作用于首页 ≥64rem 与手机端字号。
   ============================================================ */
@media (min-width: 64rem) {
  body.page-home #founder .founder-creds-wrap .founder-creds__row {
    grid-template-columns: 125px minmax(0, 1fr) !important;
    transition: background 0.35s var(--ease-std, ease), padding-left 0.35s var(--ease-out, ease) !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt {
    font-size: 20px !important;
    letter-spacing: 0.08em !important;
    padding-top: 2px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd {
    font-size: 20px !important;
    line-height: 1.6 !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd a { font-size: 1em !important; }
  body.page-home #founder .founder-creds-wrap .founder-creds__row:hover {
    background: linear-gradient(to right, rgba(212, 178, 118, 0.20), transparent 78%) !important;
    padding-left: 12px !important;
  }
  body.page-home #founder .founder-creds-wrap .founder-creds__row:hover dt { color: #fff !important; }
  body.page-home #founder .founder-creds-wrap .founder-creds__row:hover dd { color: var(--c-gold-300) !important; }
}
@media (max-width: 63.99rem) {
  body.page-home #founder .founder-creds-wrap .founder-creds__row dt,
  body.page-home #founder .founder-creds-wrap .founder-creds__row dd {
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem) !important;
  }
}


/* ============================================================
   创始人屏 layout16（2026-11-05 甲方确认 B 案）
   ① 金句「唯使命不可挡，唯信任不可负；诚信为本，永远利他爱人」27 字，
      按二分实测的不换行极限分档给到最大字号，改金色 + 加粗。
      极限：1024→18.1 / 1366→24.8 / 1440→26.3 / 1920→29.1 / 2560→32.3px
      采用值时留 3~5% 余量；375 手机端极限 11.8px 不可读，故允许换行。
   ② 正文整体提亮到近白，8 处品牌名/数字/成果用 em.hl 描金加粗。
   ⚠ 本段必须留在文件最末，靠顺序压住 layout11 的 .97em !important。
   ⚠ 金句原字号 19.4px；<64rem 手机端只换行、字号维持 1em。
   ============================================================ */
@media (max-width: 47.99rem) {
  body.page-home #founder .founder-story > p:last-child {
    color: var(--c-gold-300) !important; font-weight: 600 !important;
    white-space: normal !important; font-size: 1em !important; margin-top: .5em !important;
  }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
  body.page-home #founder .founder-story > p:last-child {
    color: var(--c-gold-300) !important; font-weight: 600 !important;
    white-space: nowrap !important; font-size: 24px !important; margin-top: .5em !important;
  }
}
@media (min-width: 64rem) {
  body.page-home #founder .founder-story > p:last-child {
    color: var(--c-gold-300) !important; font-weight: 600 !important;
    white-space: nowrap !important; font-size: 17.5px !important; margin-top: .5em !important;
  }
}
@media (min-width: 80rem) {
  body.page-home #founder .founder-story > p:last-child { font-size: 22px !important; }
}
@media (min-width: 85rem) {
  body.page-home #founder .founder-story > p:last-child { font-size: 24px !important; }
}
@media (min-width: 90rem) {
  body.page-home #founder .founder-story > p:last-child { font-size: 25px !important; }
}
@media (min-width: 120rem) {
  body.page-home #founder .founder-story > p:last-child { font-size: 28px !important; }
}
@media (min-width: 160rem) {
  body.page-home #founder .founder-story > p:last-child { font-size: 30px !important; }
}

/* B 案：正文整体提亮 + 关键词/数字描金（配合 index.html 的 8 个 em.hl） */
body.page-home #founder .founder-story { color: rgba(255,255,255,.94) !important; }
body.page-home #founder .founder-story .hl {
  color: var(--c-gold-300) !important; font-weight: 600 !important; font-style: normal !important;
}

/* ============================================================
   手机端间距收紧 layout17（2026-11-05 甲方反馈三处大空隙）
   仅作用于 <64rem（375 / 768 平板手机），PC 四档完全不变。
   ① 照片下方：图注原本 opacity:0 却占位 68px，改常显并收紧按钮组外边距、按钮强制横排
   ② 介绍下方：金句到职务表之间 story/creds-wrap/creds 三段外边距叠加 121px，收紧到 12px
   ③ 服务项目上方：CTA 两按钮宽度和超出容器导致换行，强制横排；
      inquiry 屏 padding-bottom 56 + section padding-bottom 56 + 服务项目 padding-top 88
      叠加成 200px 空白，收紧到约 40px。
   ⚠ 本段必须留在文件最末，靠顺序压住前面各段的 !important 与 btn-group 的行内 margin-top。
   ⚠ HTML 结构未改，本段全部为 CSS。
   ============================================================ */
@media (max-width: 63.99rem) {
  /* ① 照片 → 图注 → 两个按钮 */
  body.page-home #founder .founder-portrait__caption {
    opacity: 1 !important;
    height: auto !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  body.page-home #founder .founder-tail {
    margin-top: 12px !important;
  }
  body.page-home #founder .founder-tail .btn-group {
    margin-top: 0 !important;
    padding-top: 12px !important;
    flex-wrap: nowrap !important;
  }
  body.page-home #founder .founder-tail .btn-group .btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-inline: 8px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* ② 金句 → 职务表 */
  body.page-home #founder .founder-story {
    margin-bottom: 0 !important;
  }
  body.page-home #founder .founder-creds-wrap {
    margin-top: 12px !important;
  }
  body.page-home #founder .founder-creds {
    margin-top: 0 !important;
  }

  /* ③ CTA 两卡片强制一排 */
  body.page-home .screen-pair--inquiry .cta {
    flex-wrap: nowrap !important;
    margin-top: 16px !important;
    padding-bottom: 0 !important;
  }
  body.page-home .screen-pair--inquiry .cta .btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-inline: 8px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* ③ CTA 屏 → 服务项目屏 */
  body.page-home .screen-pair--inquiry > section {
    padding-bottom: 12px !important;
  }
  body.page-home .screen-pair--inquiry {
    padding-bottom: 0 !important;
  }
  body.page-home #services-layout {
    padding-top: 28px !important;
  }
}

/* ==========================================================================
   2026-11-05 第九轮：加盟三问文案更新 + 字号放大一号（甲方 2026-11-05）
   --------------------------------------------------------------------------
   ① 三条答案按甲方新文案整段替换（index.html），每条约 45~50 字，三个问题不变。
   ② 字号在上一轮基础上放大一号：
      PC（≥64rem）   问题 25 → 28px，答案 15.5 → 17.5px
      手机（≤1023）  问题 18 → 20px，答案 13.5 → 15px
      答案行高 1.85 → 1.75，抵掉放大后多出的行高，避免挤破三等分行。
   ③ 「加盟三问」金框书签、罗马数字锚点、金/米白配色全部不动。
   ④ 三行 grid 等高结构不动：答案加长后 PC 每条约 2 行，仍由 1fr 均分撑满。
   ========================================================================== */

@media (min-width: 64rem) {
  body.page-home #support .frame-qa .frame-qa__q {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  body.page-home #support .frame-qa .frame-qa__a {
    font-size: 17.5px !important;
    line-height: 1.75 !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 63.99rem) {
  body.page-home #support .frame-qa .frame-qa__q {
    font-size: 20px !important;
  }
  body.page-home #support .frame-qa .frame-qa__a {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }
}


/* ==========================================================================
   layout20 (2026-11-05) 创始人职务行字号加大一号
   --------------------------------------------------------------------------
   ① 只改 .founder-role 字号，横线/间距/颜色/结构全部不动。
   ② PC（≥69rem）15 → 18px；64~68.99rem 与平板+手机（≤63.99rem）15 → 16px。
      （18px 在 1024~1088 窄窗会折出「副会/长」孤字，故该区间用 16px。）
   ③ 金句「做的是趾甲，修的是人生。」字号不变（PC 27px 档不变）。
   ========================================================================== */

@media (min-width: 69rem) {
  body.page-home #founder .founder-role {
    font-size: 18px !important;
  }
}

@media (min-width: 64rem) and (max-width: 68.99rem) {
  body.page-home #founder .founder-role {
    font-size: 16px !important;
  }
}

@media (max-width: 63.99rem) {
  body.page-home #founder .founder-role {
    font-size: 16px !important;
  }
}


/* ==========================================================================
   layout21 (2026-11-05) 加盟三问：三块问答悬停切换颜色
   --------------------------------------------------------------------------
   ① 悬停整块浮金色底 rgba(212,178,118,.10)，问题金 #EBCE96 → 亮金 #F2DCAE，
      答案透明度 .74 → .92，罗马数字 .52 → 满金 #D9B76C。
   ② 只加 background/color/transition，不改任何 padding、字号、行数，
      三等分等高结构与手机端排版不动；触屏无悬停不受影响。
   ========================================================================== */

body.page-home #support .frame-qa__list > li {
  transition: background-color .35s ease;
}
body.page-home #support .frame-qa__list > li .frame-qa__q,
body.page-home #support .frame-qa__list > li .frame-qa__a,
body.page-home #support .frame-qa__list > li::before {
  transition: color .35s ease;
}
body.page-home #support .frame-qa__list > li:hover {
  background: rgba(212, 178, 118, .10) !important;
}
body.page-home #support .frame-qa__list > li:hover .frame-qa__q {
  color: #F2DCAE !important;
}
body.page-home #support .frame-qa__list > li:hover .frame-qa__a {
  color: rgba(247, 243, 232, .92) !important;
}
body.page-home #support .frame-qa__list > li:hover::before {
  color: #D9B76C !important;
}

/* ==========================================================================
   关于页创始人区三改（2026-11-09 甲方再反馈）
   --------------------------------------------------------------------------
   ① 左栏照片等比例缩小：高度跟随右栏文字行高，宽度按 2:3 原比例反推，
      不再把整行撑高（原图 3:4 拉满栏宽，比右栏高出一大截）
   ② 履历四项一行一项（单列），不再 2×2 挤在一起
   ③ 信条卡与履历卡放入同一 grid 行 → 自动等高，内部内容均匀分布
   实现前提（HTML 已同步微调）：
     - 图注移入照片框内，absolute 悬挂在框下方，不再占布局行
     - portrait 用 display:contents，把照片框/信条卡拆为 grid 直接项
     - 履历卡移出文字栏，与信条卡共用底部行
   手机/平板端单列布局保持原顺序与原样式。
   ========================================================================== */

/* 图注悬挂在照片框正下方（全断点生效，配合图注移入框内） */
.abf__frame .abf__caption {
  position: absolute;
  top: calc(100% + 1.1rem);
  left: 0;
  right: 0;
  text-align: center;
}
/* portrait 还有盒子时（手机/平板），信条卡下移补回图注占位 */
.abf__portrait .abf__creed { margin-top: 3rem; }
/* 履历卡移出文字栏后，块与块之间的间距（手机/平板用，电脑端在下方归零） */
.abf__creds { margin-top: 2rem; }

@media (min-width: 1024px) {
  .abf__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    grid-template-areas:
      "frame text"
      "creds creed";
  }
  .abf__portrait { display: contents; }
  .abf__portrait .abf__creed { margin-top: 0; }

  /* 照片框：高度由右栏文字行决定（stretch），宽度按 3:4 等比反推，
     左缘对齐顶部导航 LOGO（同一 container--wide 容器）；
     3:4 比照片原比例(2:3)更宽，背景 cover 均匀裁掉上下各约 6% 留白 → 照片更宽 */
  .abf__frame {
    grid-area: frame;
    position: relative;
    align-self: stretch;
    justify-self: start;
    width: auto;
    max-width: 100%;
    aspect-ratio: 3 / 4;
    min-height: 0;
  }
  /* 照片改由相框的 ::before 用背景图呈现（2026-11-09 第五轮，定稿方案）。
     前三种写法全部实测失败，不再使用：
       ① 绝对定位 + height:calc(100% - …)：百分比高度在「stretch 高度的 grid 项」
          里解析不了 → 回退原图 2:3 → 照片从金框底部溢出；
       ② 绝对定位 + 四边定位 + 宽高 auto：<img> 是「替换元素」，auto 尺寸取原图
          1200×1800 → 整张照片炸开盖住全页；
       ③ 相框改 flex、照片做弹性子项：相框高度反过来被图片内容撑大，
          3:4 比例与「底部和右栏文字齐平」全部失效。
     ::before 是普通非替换元素，四边定位 + 不设宽高 → 由布局直接撑满内圈，
     背景 cover 自动裁切，尺寸只由金框决定，与图片原始尺寸完全无关，
     因此既不溢出、也不会炸开，且能保持 3:4 与右栏文字底部齐平。
     原 <img> 保留在 DOM（保 alt/SEO），仅视觉隐藏。 */
  .abf__frame::before {
    content: "";
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    bottom: 0.6rem;
    left: 0.6rem;
    background: url("../img/about/founder-about.jpg") center / cover no-repeat;
    border-radius: 0.45rem;
    z-index: 0;
  }
  .abf__frame img {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }
  .abf__frame .abf__badge,
  .abf__frame .abf__caption { z-index: 1; }

  /* 信条卡（对换后居右栏底部）：字号再加大一号（2026-11-09 甲方要求）；
     两张卡都拉伸铺满同一 grid 行 → 无论文字多少，底部始终齐平 */
  .abf__creed {
    grid-area: creed;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  .abf__creed ul {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
  }
  .abf__creed li { font-size: 1.125rem; line-height: 1.8; }
  .abf__creed li strong { font-size: 1.25rem; }

  .abf__text { grid-area: text; }
  .abf__text .abf__story { flex: 0 0 auto; }

  /* 履历卡（对换后居左栏照片下方，与 LOGO 对齐）：一行一项，与信条卡等高齐平 */
  .abf__creds {
    grid-area: creds;
    align-self: stretch;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
    margin-top: 0;
    padding: 1.25rem 1.4rem 1.35rem;
    border: 1px solid rgba(201, 162, 94, 0.22);
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    align-content: space-evenly;
  }
  .abf__creds li { padding-top: 0; border-top: 0; }
  .abf__creds span { letter-spacing: 0.1em; }
  .abf__creds strong { margin-top: 0.25rem; font-size: 1.0625rem; line-height: 1.8; }
}

/* ==========================================================================
   手机端底部导航五项（2026-11-09 甲方定稿）
   --------------------------------------------------------------------------
   顺序：首页 / 简介(关于我们) / 加盟 / 门店 / 联系
   ① 列数只在上面 .mobile-bar__inner 定义一次（repeat(5,…)），此处不重复写；
      首页 index.html 原先那段 !important 覆盖已删除。
   ② 「加盟」在 foot.html 固定带 --primary，常驻金色主按钮（居中第 3 项）；
      其余项的当前页状态用 is-current 只提亮文字，不再铺第二个金色块。
   ③ 收紧图标与文字间距、去掉左右内边距；≤360px（22.5rem）再压一档字号
      与图标，避免文字折行或互相挤压。
   ④ 不改底栏高度（min-height 3.5rem）、不改金色主按钮配色。
   ========================================================================== */
@media (max-width: 47.99rem) {
  .mobile-bar__item {
    gap: 0.2rem;
    padding-inline: 0;
    white-space: nowrap;
  }
  /* 当前所在页：仅文字提亮；金色底块固定留给「加盟」 */
  .mobile-bar__item.is-current:not(.mobile-bar__item--primary) {
    color: var(--c-gold-300);
    font-weight: 600;
  }
}
@media (max-width: 22.5rem) {
  .mobile-bar__item {
    font-size: 0.625rem;
    letter-spacing: 0;
  }
  .mobile-bar__item svg {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/* ==========================================================================
   手机端首屏轮播左右箭头去掉（2026-11-09 甲方）
   --------------------------------------------------------------------------
   ① 2026-10-28 曾用 !important 把手机端 .hero-arrows 恢复显示（见上文
      「手机端首屏下方绿色空隙补齐 + 左右切换箭头」一段），后面还有几处
      !important 改箭头尺寸位置。只删其中一处不管用，故在文件末尾用
      后置 + 同特异性 + !important 的统一隐藏规则一次压住。
   ② 只作用于 ≤63.99rem（手机/窄屏），电脑端箭头照常显示。
   ③ 箭头隐藏后轮播功能不受影响：hero.js 每 5 秒自动切换，底部
      .hero-dots 小圆点仍可点击切换；hero.js 本来就没有触摸滑动手势。
   ④ display:none 让按钮不占位、不可 focus，屏幕阅读器也不会念到。
   ========================================================================== */
@media (max-width: 63.99rem) {
  body.page-home .hero--slides .hero-arrows,
  body.page-home .hero--slides .hero-arrow {
    display: none !important;
  }
}

/* ==========================================================================
   2026-11-09 第七轮：逐屏高度统一（甲方定稿基准 = 浏览器屏幕高度）
   --------------------------------------------------------------------------
   实测（真实浏览器 1920x1080 / 1440x900 / 1366x768）：
     形象片 1081/901/769、成长 1080/900/768.2、地图 1080/900/768、
     产品新闻 1080/900/768、服务 1080/900/768 —— 已等于一屏（误差 ≤1px）。
     唯一超标的是「加盟」：1087.9 / 900 / 796.1，其中 1366 档超出 28px。
   根因：这一屏塞了「标题 + 六步流程 + 样板图 + 加盟三问 + CTA」，
     自然内容高约 990~1200px，而一屏可用只有 620~932px。
     fit-screen.js 会把内容等比缩到一屏，但缩到下限 0.66 仍装不下，
     屏就被内容撑高；又因为旧规则把这块 scroll-snap-align 关成了 none，
     滚动时没有一个稳定的吸附点停在这一屏，底部 CTA 容易贴边/被切。
   本轮只处理加盟屏，其余五屏一个字都不动（它们本来就达标）：
     ① 外框严格 100svh（height:auto + min-height:100svh，不锁死高度，
        否则 fit-screen 测不出自然内容高、就不再缩放，内容会被裁掉）；
     ② 内容区 = 100svh - 148px（顶部 124 让导航，底部 24 留白），flex 垂直居中；
     ③ 收紧各处间距 + 样板图限高 38svh，让 fit-screen 不必撞 0.66 下限，
        留出余量，字不会缩得太小；
     ④ 恢复 scroll-snap-align:start，保证滚到这一屏时能稳稳停住。
   手机端（≤63.99rem）保持自然滚动，一律不介入。
   ⚠ 选择器必须用 body.page-home：本模板 <html> 上没有 page-home 类，
     CSS 里历史遗留的一批 html.page-home 规则其实从未匹配过（实测确认）。
   ========================================================================== */
@media (min-width: 64rem) {
  body.page-home main > .screen-pair--inquiry {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    height: auto !important;
    max-height: none !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    overflow: visible !important;
    padding-top: 124px !important;
    padding-bottom: 24px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
  }
  body.page-home .screen-pair--inquiry > section {
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }

  /* 收紧纵向节奏：合计省约 41px。1280×720 这类矮屏也要严格一屏，
     所以留了余量，不能只按 768/900/1080 三档凑巧达标 */
  body.page-home .screen-pair--inquiry .head { margin-bottom: 10px !important; }
  body.page-home .screen-pair--inquiry .timeline { margin-bottom: 8px !important; }
  body.page-home .screen-pair--inquiry .gallery { margin-bottom: 6px !important; }
  body.page-home .screen-pair--inquiry .gallery-title { margin-bottom: 5px !important; }
  body.page-home #support .cta { margin-top: 10px !important; }

  /* 样板图：47vh → 38svh。三问卡与它并排 stretch，会同步变矮 */
  body.page-home #support .frame .jbs-slides { max-height: 38svh !important; }
}


/* ==========================================================================
   2026-11-09 第一批（DeepSeek 上线检查报告 P0 中的前端可改项）
   ① 手机首屏金字压亮色产品图：统一加深由下往上的渐变；
      用 :nth-child(n) 让特异性与文件后段 nth-child(5) 的横向渐变持平，靠顺序压住。
   ② 手机标题 white-space:nowrap 改成可换行 + 字号收敛 + 左右各 20px，
      实测改前 390/375/320 宽标题盒右边缘 412.6/405.9/346.6，均超屏。
   ③ 1024-1200px 页头 400 电话：隐藏断点前段已由 75rem 收到 63.99rem，
      这里补一条显示兜底，并收紧该区间菜单间距。
   ④ 手机固定底栏 57px：各屏底部留 72px，滚动停住时正文不再被压。
   ⑤ .h1-kw：给首页 H1 补业务关键词，视觉隐藏，不改变大标题外观。
   ⚠ 本段必须留在文件最末，靠顺序压住前面各段的 !important。
   ⚠ 首页专属选择器一律用 body.page-home（本模板 <html> 上没有 page-home 类）。
   ========================================================================== */
.h1-kw {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 47.99rem) {
  body.page-home .hero--slides .hero-slide:nth-child(n) .hero-slide__scrim {
    background: linear-gradient(to top,
      rgba(6, 26, 21, 0.97) 0%,
      rgba(6, 26, 21, 0.92) 30%,
      rgba(6, 26, 21, 0.74) 56%,
      rgba(6, 26, 21, 0.30) 82%,
      rgba(6, 26, 21, 0.10) 100%) !important;
  }
  body.page-home .hero--slides .hero__title,
  body.page-home .hero--slides .hero__lead {
    text-shadow: 0 2px 6px rgba(0, 0, 0, .95), 0 6px 20px rgba(0, 0, 0, .8) !important;
  }
  body.page-home .hero--slides .hero__title {
    white-space: normal !important;
    font-size: clamp(1.5rem, 7vw, 2.2rem) !important;
    letter-spacing: .01em !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
  body.page-home .hero--slides .hero__inner {
    padding-left: 20px !important;
    padding-right: 52px !important;
  }
  /* 用 #main 提特异性：文件前段有多条 #support 之类带 !important 的手机间距规则，
     不加 id 会被它们压回去（第一轮实测 padding-bottom 仍是 16/0/12/56px）。 */
  body.page-home #main > section:not(.hero),
  body.page-home #main .screen-pair > section {
    padding-bottom: 72px !important;
  }
}
@media (min-width: 64rem) and (max-width: 75rem) {
  .header .header__phone { display: inline-flex !important; }
}
