/* 力晟现有暖色品牌的全站润色。原有模板保留在 style.css。 */
:root {
  --section-y: clamp(48px, 5.5vw, 80px);
  --brand-accent: #8a4517;
  --brand-dark: #2b2119;
  --z-subnav: 30;
}
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.banner__lead, .about__p, .abintro__body p, .abstory__body p { max-width: 38em; }
.js [data-reveal] { opacity: 1; transform: none; }
.p-card, .pctr__card, .feature { transition-delay: 0ms !important; }
.p-card:hover img, .feature:hover img { transform: none; }
.banner { min-height: 350px; }
.banner__in { padding-block: 54px 70px; }
.banner__title { font-size: clamp(30px, 3.3vw, 48px); line-height: 1.3; }
.banner__lead { color: #f0e8dc; }
.banner__crumb { left: max(var(--gutter), calc((100vw - var(--container)) / 2)); color: #e1d5c4; }
.banner__crumb a { color: #f0e8dc; }
.banner--ph { display: block; background: var(--brand-dark); }
.banner--ph .banner__ph { position: absolute; right: var(--gutter); bottom: 22px; margin: 0; }
.page-index .banner {
  background-image: url('../img/hero-steak.webp');
  background-position: center 53%;
  min-height: clamp(520px, 40vw, 660px);
}
.page-index .banner::before {
  background: linear-gradient(90deg, rgba(24,18,13,.91), rgba(24,18,13,.79) 38%, rgba(24,18,13,.12) 80%), linear-gradient(180deg, rgba(24,18,13,.55), transparent 35%);
}
.page-index .banner__title { font-size: clamp(38px, 4.1vw, 62px); }
.page-index .banner__lead { max-width: 31em; font-size: 17px; }
.page-index .banner__in { padding-block: 72px 94px; }
.page-index .banner__acts { margin-top: 32px; }
.banner .btn { min-height: 48px; }
.banner .btn--solid { background: #a85427; border-color: #a85427; }
.subnav, .abtabs { position: sticky; top: var(--header-h); z-index: var(--z-subnav); background: var(--paper); }
.subnav__list, .abtabs__list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; gap: 12px; }
.subnav__list li, .abtabs__list li { flex: 0 0 auto; }
.subnav__list a { min-height: 56px; padding-inline: 16px; color: #615344; }
.subnav__list a[aria-current="location"] { color: var(--brand-accent); border-bottom-color: var(--brand-accent); font-weight: 600; }
.abtabs__link { min-height: 44px; background: transparent; }
.abtabs__link.is-active { background: var(--brand-accent); }
html { scroll-padding-top: calc(var(--header-h) + 76px); }
[id^="g-"], [id^="p-"], [id^="q-"], [id^="c-"], [id^="signature-"], #story, #facts, #values { scroll-margin-top: 8px; }
.about { padding-block: clamp(48px, 5vw, 76px); }
.about__grid { align-items: center; }
.about__icons { margin-top: 32px; }
.about__title, .abintro__title { font-size: clamp(28px, 2.7vw, 38px); }
.about__p, .abintro__body p, .abstory__body p { font-size: 16px; line-height: 1.9; }
.about__more a, .abintro__more a, .pctr__more a { font-size: 14px; letter-spacing: .04em; min-height: 44px; }
.abbadge__label { font-size: 14px; color: #ded2bf; }
.pctr__watermark { font-size: clamp(36px, 5vw, 68px); opacity: .6; }
.pctr__spec, .p-card__spec, .p-card__note { font-size: 14px; line-height: 1.8; }
.p-card { display: flex; flex-direction: column; }
.p-card__cta { display: inline-flex; align-items: center; min-height: 44px; width: fit-content; margin-top: auto; padding-block: 10px; font-size: 14px; text-underline-offset: 5px; }
.p-card__cta:hover { text-decoration: underline; }
.p-card > .p-card__cta { margin-top: auto; }
.p-card__body { padding-bottom: 8px; }
.factory { align-items: stretch; }
.factory__facts { height: 100%; align-content: stretch; }
.factory__facts li { display: flex; flex-direction: column; justify-content: center; }
.cap__note, .factory__label { font-size: 14px; color: #d3c6b5; }
.rail .rail__icon { background: var(--paper); color: var(--brand-accent); border-bottom: 1px solid var(--line); }
.rail .rail__icon svg { filter: none; }
.contact { background: var(--brand-dark); }
.contact__inner { gap: 64px; }
.contact__v { font-family: var(--font-body); font-size: clamp(26px, 3vw, 36px); }
.contact__row { overflow-wrap: anywhere; }
.contact__lead { font-size: 16px; }
.site-header .menu-btn__lines span { background: currentColor; }
body.menu-open .site-header .brand__cn,
body.menu-open .site-header .brand__en,
body.menu-open .site-header .menu-btn { color: var(--ink) !important; }
body.menu-open .site-header .menu-btn { border-color: var(--line); }
body.menu-open .site-header .brand__logo { filter: none; }
@media (max-width: 1199px) {
  .rail { display: none; }
  .header__inner { gap: 18px; }
}
@media (max-width: 1023px) {
  .mobile-nav { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .menu-open .mobile-bar { display: none; }
  .menu-open .site-header { background: var(--paper); }
}
@media (max-width: 767px) {
  .banner { min-height: 310px; }
  .banner__in { padding-block: 36px 48px; }
  .banner__title { font-size: 30px; }
  .banner__sub { font-size: 11px; letter-spacing: .12em; }
  .banner__lead { font-size: 15px; line-height: 1.8; }
  .banner__crumb { position: absolute; left: var(--gutter); bottom: 14px; font-size: 13px; }
  .banner--ph .banner__in { padding-bottom: 16px; }
  .banner--ph .banner__ph { position: static; margin: 0 var(--gutter) 52px; }
  .page-index .banner { min-height: 570px; background-position: 62% center; }
  .page-index .banner::before { background: linear-gradient(90deg, rgba(24,18,13,.93), rgba(24,18,13,.55)); }
  .page-index .banner__in { padding-block: 52px 64px; }
  .page-index .banner__title { font-size: clamp(32px, 8vw, 42px); }
  .page-index .banner__lead { font-size: 16px; }
  .banner__acts .btn { padding-inline: 17px; font-size: 14px; }
  .subnav__list { gap: 4px; }
  .subnav__list a { font-size: 14px; min-height: 50px; padding-inline: 12px; }
  .contact__inner { gap: 28px; }
  .mobile-bar { padding-bottom: env(safe-area-inset-bottom); }
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
