/* Fuxin Wheel site-wide layout convergence, 2026-09-22. */
:root {
  --site-content-width: 1280px;
  --site-wide-width: 1320px;
  --site-reading-width: 760px;
  --site-section-space: 104px;
}

.shell {
  width: min(var(--site-content-width), calc(100% - 96px));
}

.section-head h2,
.section-heading h2 {
  font-size: clamp(30px, 3.1vw, 42px);
  line-height: 1.2;
}

.section-head p:not(.eyebrow),
.section-heading p:not(.eyebrow) {
  max-width: var(--site-reading-width);
  line-height: 1.85;
}

.group-page .group-section {
  padding-block: var(--site-section-space);
}

.group-page:not(.join-page) .group-hero,
.group-page:not(.join-page) .group-hero-grid {
  min-height: 400px;
}

.group-page:not(.join-page) .group-hero-copy {
  padding-block: 58px 64px;
}

.group-page .group-hero h1,
.page-title-band h1,
.news-index-hero h1,
.contact-hero h1 {
  font-size: clamp(40px, 3.35vw, 48px);
  line-height: 1.2;
}

.join-page-hero,
.join-page-hero .group-hero-grid {
  min-height: 410px;
}

.catalog-page .page-title-band,
.product-hub-page:not(.catalog-page) .page-title-band {
  display: flex;
  align-items: center;
  padding-block: 44px 50px;
}

.catalog-page .page-title-band {
  min-height: 230px;
}

.product-hub-page:not(.catalog-page) .page-title-band {
  min-height: 280px;
}

.catalog-page .page-title-band .breadcrumb,
.product-hub-page .page-title-band .breadcrumb {
  margin-bottom: 24px;
}

.catalog-page .page-title-band h1 {
  font-size: clamp(40px, 3.35vw, 48px);
}

.catalog-page .section {
  padding-block: 42px 96px;
}

.section-navigation {
  box-shadow: 0 8px 24px rgba(26, 36, 42, .035);
}

/* Product index and detail pages now share one visual system. */
.catalog-grid {
  gap: 52px 36px;
}

.catalog-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.catalog-card .catalog-image {
  aspect-ratio: 3 / 2;
  border-color: #dce2e4;
  background: #eef1f2;
}

.catalog-card-copy {
  display: flex;
  min-height: 188px;
  flex-direction: column;
  padding: 24px 2px 22px;
}

.catalog-card h2 {
  font-size: 26px;
  line-height: 1.35;
}

.catalog-card p {
  line-height: 1.8;
}

.catalog-card .text-link {
  margin-top: auto;
  align-self: flex-start;
}

.product-detail-main {
  padding-block: 76px 88px;
}

.product-detail-page .product-detail-card {
  gap: 56px;
}

.product-catalog-section,
.product-data-section {
  padding-block: 96px 104px;
}

.product-catalog-head,
.product-data-head {
  margin-bottom: 46px;
}

.product-catalog,
.commercial-showroom,
.blank-selector {
  border-radius: 5px;
  box-shadow: 0 22px 64px rgba(24, 34, 40, .055);
}

.product-catalog-stage,
.product-catalog-media {
  min-height: 540px;
}

.product-catalog-browser {
  min-height: 142px;
}

/* Fill the oversized company business tile with a product-led visual. */
.business-tile.is-large {
  position: relative;
  isolation: isolate;
  padding-top: 244px;
  background-color: #fff;
  background-image: url('../assets/images/wheel-passenger-campaign-20260910-960.webp');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 57%;
}

.business-tile.is-large > * {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .business-tile:hover {
    color: var(--ink);
    background-color: #f8f9f9;
    box-shadow: inset 3px 0 var(--accent);
  }

  .business-tile.is-large:hover {
    background-color: #fff;
    background-image: url('../assets/images/wheel-passenger-campaign-20260910-960.webp');
  }

  .business-tile:hover > span,
  .business-tile:hover strong {
    color: var(--accent-hover);
  }

  .business-tile:hover p {
    color: var(--muted);
  }
}

/* Homepage sections keep the cinematic character while sharing one grid. */
.specialty-home .sf-manifesto .shell,
.specialty-home .home-products > .shell,
.specialty-home .home-manufacturing > .shell,
.specialty-home .home-contact-inner,
.specialty-home .innovation-showcase .shell {
  width: min(var(--site-wide-width), calc(100% - 96px));
}

.specialty-home .sf-manifesto {
  min-height: 0;
  padding-block: 72px;
}

.specialty-home .sf-manifesto h2 {
  font-size: 58px;
}

.specialty-home .home-products {
  padding-block: 86px 96px;
}

.specialty-home .product-showcase {
  height: min(660px, 74svh);
  min-height: 600px;
}

.specialty-home .home-manufacturing {
  padding-block: 86px 80px;
}

.specialty-home .home-manufacturing .section-head {
  margin-bottom: 54px;
}

.specialty-home .manufacturing-story-grid .manufacturing-photo {
  height: min(590px, 68svh);
}

.specialty-home .story-ready .story-chapters {
  padding-bottom: 44px;
}

.specialty-home .story-ready .story-step {
  min-height: 246px;
  opacity: .66;
}
.specialty-home .story-ready .story-step.is-active { opacity: 1; }

.specialty-home .home-contact {
  min-height: 500px;
}

/* The English homepage uses the same current visual language as Chinese. */
.en-specialty-home .home-news {
  display: none;
}

.en-specialty-home .home-manufacturing .capability-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .12);
}

.en-specialty-home .home-manufacturing .process-stage {
  min-height: 300px;
  padding: 42px 38px;
  border: 0;
  background: #151d24;
}

.en-specialty-home .home-manufacturing .process-stage::before {
  margin-bottom: 58px;
  color: rgba(255, 255, 255, .28);
  font-size: 42px;
}

.en-specialty-home .home-manufacturing .process-stage h3 {
  color: #fff;
  font-size: 24px;
}

.en-specialty-home .home-manufacturing .process-stage p {
  color: rgba(255, 255, 255, .62);
  line-height: 1.85;
}

/* Contact and recruitment pages are denser without becoming cramped. */
.contact-hero {
  height: 360px;
}

.contact-content {
  padding-block: 72px 88px;
}

.contact-channel {
  min-height: 228px;
}

.join-position-item {
  min-height: 108px;
}

.join-apply-panel,
.product-inquiry-form {
  box-shadow: 0 20px 54px rgba(24, 34, 40, .06);
}

/* Quick contact recedes while the page is moving and returns when reading stops. */
.contact-dock {
  transition: opacity .22s ease, visibility .22s ease, transform .28s cubic-bezier(.16, 1, .3, 1);
}

.contact-dock.is-travelling:not(.is-open) {
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
}

/* Compact mobile news list: one lead story, then scannable rows. */
@media (max-width: 760px) {
  :root {
    --site-section-space: 68px;
  }

  .shell {
    width: calc(100% - 40px);
  }

  .group-page:not(.join-page) .group-hero,
  .group-page:not(.join-page) .group-hero-grid {
    min-height: 320px;
  }

  .group-page:not(.join-page) .group-hero-copy {
    padding-block: 42px 48px;
  }

  .join-page-hero,
  .join-page-hero .group-hero-grid {
    min-height: 350px;
  }

  .catalog-page .page-title-band,
  .product-hub-page:not(.catalog-page) .page-title-band {
    min-height: 224px;
    padding-block: 32px 38px;
  }

  .catalog-page .page-title-band h1,
  .group-page .group-hero h1,
  .news-index-hero h1,
  .contact-hero h1 {
    font-size: 34px;
  }

  .catalog-page .section {
    padding-block: 28px 68px;
  }

  .catalog-page .catalog-toolbar {
    margin-inline: -20px;
    padding-inline: 20px;
    overflow: hidden;
  }

  .catalog-page .catalog-filters {
    width: auto;
    min-width: 0;
    justify-content: flex-start;
    gap: 24px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 20px;
    scrollbar-width: none;
    scroll-snap-type: inline proximity;
  }

  .catalog-page .catalog-filters::-webkit-scrollbar {
    display: none;
  }

  .catalog-page .catalog-filters button {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .language-switch {
    display: grid;
    min-width: 40px;
    height: 40px;
    place-items: center;
  }

  .catalog-grid {
    gap: 34px;
  }

  .catalog-card-copy {
    min-height: 0;
    padding-block: 20px 22px;
  }

  .product-detail-main {
    padding-block: 54px 64px;
  }

  .product-catalog-section,
  .product-data-section {
    padding-block: 68px 74px;
  }

  .product-catalog-head,
  .product-data-head {
    margin-bottom: 28px;
  }

  .product-catalog-stage,
  .product-catalog-media {
    min-height: 0;
  }

  .product-catalog-copy {
    padding: 28px 20px 30px;
  }

  .product-catalog-copy h3 {
    font-size: 29px;
  }

  .product-catalog-browser {
    min-height: 126px;
  }

  .business-tile.is-large {
    min-height: 390px;
    padding-top: 224px;
    background-size: 100% 55%;
  }

  .specialty-home .sf-manifesto .shell,
  .specialty-home .home-products > .shell,
  .specialty-home .home-manufacturing > .shell,
  .specialty-home .home-contact-inner,
  .specialty-home .innovation-showcase .shell {
    width: calc(100% - 40px);
  }

  .specialty-home .sf-manifesto {
    padding-block: 48px;
  }

  .specialty-home .sf-manifesto h2 {
    font-size: 32px;
  }

  .specialty-home .home-products,
  .specialty-home .home-manufacturing {
    padding-block: 56px 60px;
  }

  .specialty-home .product-showcase {
    height: auto;
    min-height: 0;
  }

  .specialty-home .manufacturing-story-grid .manufacturing-photo {
    height: min(64vw, 300px);
  }

  .specialty-home .story-ready .story-step {
    min-height: 0;
    padding-block: 22px 4px;
  }

  .specialty-home .home-contact {
    min-height: 420px;
  }

  .en-specialty-home .home-manufacturing .capability-flow {
    grid-template-columns: 1fr;
  }

  .en-specialty-home .home-manufacturing .process-stage {
    min-height: 0;
    padding: 30px 26px;
  }

  .en-specialty-home .home-manufacturing .process-stage::before {
    margin-bottom: 24px;
    font-size: 32px;
  }

  .news-index-grid {
    gap: 0;
  }

  .news-index-entry:not(.is-featured) {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding-block: 22px;
  }

  .news-index-entry:not(.is-featured) figure {
    aspect-ratio: 4 / 3;
  }

  .news-index-entry:not(.is-featured) .news-index-entry-copy {
    padding-top: 0;
  }

  .news-index-entry:not(.is-featured) h3 {
    margin-block: 8px 6px;
    font-size: 16px;
    line-height: 1.45;
  }

  .news-index-entry:not(.is-featured) p,
  .news-index-entry:not(.is-featured) .news-read {
    display: none;
  }

  .news-index-entry:not(.is-featured) .news-index-meta {
    gap: 5px 8px;
    font-size: 10px;
  }

  .news-index-entry:not(.is-featured) .news-index-meta span {
    padding-left: 10px;
  }

  .contact-hero {
    height: 280px;
  }

  .product-inquiry-section {
    padding-block: 58px 64px;
  }

  .product-inquiry-layout {
    gap: 30px;
  }

  .product-inquiry-form .inquiry-form-section {
    padding: 24px 20px 26px;
  }

  .product-inquiry-form .inquiry-field-grid {
    gap: 15px;
  }

  .product-inquiry-form textarea {
    min-height: 102px;
  }

  .contact-content {
    padding-block: 52px 62px;
  }

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

  .contact-channel {
    min-height: 172px;
    padding: 20px 18px;
  }

  .contact-channel h3 {
    font-size: 18px;
  }

  .contact-channel-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .contact-channel-links {
    font-size: 17px;
  }

  .contact-channel:nth-child(3),
  .contact-channel-wechat {
    grid-column: 1 / -1;
    min-height: 144px;
  }

  .contact-channel-wechat {
    padding-right: 142px;
  }

  .contact-channel-wechat > img {
    top: 18px;
    right: 18px;
    width: 108px;
    height: 108px;
  }

  .contact-dock {
    right: 14px;
    bottom: max(16px, env(safe-area-inset-bottom));
  }

  .dock-mobile-toggle {
    width: 48px;
    height: 48px;
    font-size: 0;
  }

  .dock-mobile-toggle img {
    width: 21px;
    height: 21px;
  }

  .site-footer {
    padding-top: 30px;
  }

  .footer-main {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 16px 18px;
    padding-bottom: 20px;
  }

  .footer-identity > p {
    margin-top: 12px;
  }

  .footer-navigation {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 8px;
    padding-block: 12px;
  }

  .footer-navigation a {
    display: flex;
    min-height: 32px;
    align-items: center;
  }

  .footer-service > span {
    margin-bottom: 4px;
  }

  .footer-service > a {
    font-size: 16px;
  }

  .footer-wechat img {
    width: 88px;
    height: 88px;
  }

  .footer-wechat figcaption {
    font-size: 10px;
  }

  .footer-bottom {
    min-height: 0;
    padding-block: 12px;
    gap: 8px 14px;
  }

  .footer-bottom p {
    width: auto;
  }

  .footer-bottom > a:last-child {
    margin-left: auto;
  }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .shell,
  .specialty-home .sf-manifesto .shell,
  .specialty-home .home-products > .shell,
  .specialty-home .home-manufacturing > .shell,
  .specialty-home .home-contact-inner,
  .specialty-home .innovation-showcase .shell {
    width: calc(100% - 64px);
  }
}

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