/* ============================================================
   home-west.css — Western industrial style for homepage only
   Scoped under body.home-west. Charcoal + industrial orange.
   Grand / spacious scale.
   ============================================================ */

:root {
  --ww-ink: #101820;
  --ww-ink-2: #1a232c;
  --ww-accent: #e8630a;
  --ww-accent-dark: #c25105;
  --ww-gray: #6b7280;
  --ww-line: #e4e7eb;
  --ww-bg-gray: #f5f6f7;
  --ww-ease: cubic-bezier(.22, .61, .36, 1);
}

body.home-west {
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ww-ink);
  overflow-x: hidden;
}

/* ============ Header ============ */
/* Header markup/styles live in header.blade.php (.ww-header).
   Home overlay behavior: body.home-west .ww-header in header.blade.php. */

/* ============ Hero — full-viewport grand scale ============ */
body.home-west .home-banner { background: var(--ww-ink); }
body.home-west .hero-slide::after {
  background: linear-gradient(90deg, rgba(10,16,24,.82) 0%, rgba(10,16,24,.5) 45%, rgba(10,16,24,.18) 100%);
}
body.home-west .home-banner .hero-slide img {
  height: clamp(520px, 86vh, 880px);
}
body.home-west .hero-caption {
  top: 0;
  bottom: auto;
  height: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 40px;
}
body.home-west .hero-caption .container { width: 100%; }
body.home-west .hero-caption__tag {
  border-radius: 0;
  border: 0;
  border-left: 3px solid var(--ww-accent);
  padding: .3rem 0 .3rem .9rem;
  letter-spacing: .26em;
  font-weight: 600;
  font-size: clamp(.75rem, 1.1vw, .9rem);
}
body.home-west .hero-caption__title {
  font-size: clamp(2.1rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.015em;
  max-width: 860px;
  border-left: 0;
  padding-left: 0;
  text-shadow: none;
  margin: 1.2rem 0 1.1rem;
}
body.home-west .hero-caption__sub {
  font-size: clamp(1rem, 1.7vw, 1.3rem);
  line-height: 1.7;
  max-width: 620px;
  text-shadow: none;
  color: rgba(255,255,255,.88);
  margin-bottom: 2.2rem;
}
body.home-west .hero-caption__btn {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: 1rem 2.3rem;
  border-radius: 0;
  background: var(--ww-accent);
  color: #fff;
  font-weight: 700;
  font-size: .98rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .3s var(--ww-ease), transform .3s var(--ww-ease);
}
body.home-west .hero-caption__btn:hover {
  background: var(--ww-accent-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: none;
}
body.home-west .hero-caption__btn i { transition: transform .3s var(--ww-ease); }
body.home-west .hero-caption__btn:hover i { transform: translateX(5px); }

/* hero tabs: minimal flat bars */
body.home-west .hero-tabs { background: transparent; padding-bottom: 34px; }
body.home-west .hero-tabs__item {
  border-radius: 0;
  border: 0;
  background: transparent;
  padding: .55rem 0;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
body.home-west .hero-tabs__item::after { height: 2px; background: var(--ww-accent); }
body.home-west .hero-tabs__item.active {
  background: transparent;
  border-color: transparent;
  color: #fff;
  transform: none;
}
body.home-west .hero-arrow {
  border-radius: 0;
  border-color: rgba(255,255,255,.4);
}
body.home-west .hero-arrow:hover { background: var(--ww-accent); border-color: var(--ww-accent); transform: translateY(-50%); }

/* ============ Sections — generous whitespace ============ */
body.home-west .ww-section { padding: 7rem 0; background: #fff; }
body.home-west .ww-section--gray { background: var(--ww-bg-gray); }
body.home-west .ww-section--line { border-top: 1px solid var(--ww-line); }
body.home-west .ww-section--dark { background: var(--ww-ink); color: #fff; }

body.home-west .ww-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 3.2rem;
}
body.home-west .ww-eyebrow {
  display: inline-block;
  color: var(--ww-accent);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: .8rem;
}
body.home-west .ww-eyebrow--accent { color: var(--ww-accent); }
body.home-west .ww-title {
  font-size: clamp(1.9rem, 3.6vw, 2.9rem);
  font-weight: 800;
  letter-spacing: -.015em;
  margin: 0;
  color: inherit;
}
body.home-west .ww-more {
  color: var(--ww-ink);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-bottom: 2px solid var(--ww-accent);
  padding-bottom: 3px;
  transition: color .25s var(--ww-ease), gap .25s var(--ww-ease);
}
body.home-west .ww-more:hover { color: var(--ww-accent); gap: .8rem; }
body.home-west .ww-head--dark .ww-title { color: #fff; }

/* ============ Cards ============ */
body.home-west .ww-card-link { text-decoration: none; color: inherit; display: block; height: 100%; }
body.home-west .ww-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--ww-line);
  border-radius: 0;
  overflow: hidden;
  transition: border-color .3s var(--ww-ease), box-shadow .3s var(--ww-ease), transform .3s var(--ww-ease);
}
body.home-west .ww-card:hover {
  border-color: var(--ww-ink);
  box-shadow: 0 16px 36px rgba(16, 24, 32, .1);
  transform: translateY(-4px);
}
body.home-west .ww-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #fff;
}
body.home-west .ww-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s var(--ww-ease); }
body.home-west .ww-card:hover .ww-card__media img { transform: scale(1.05); }
body.home-west .ww-card__media--fit { background: var(--ww-bg-gray); display: flex; align-items: center; }
body.home-west .ww-card__body { padding: 1.35rem 1.4rem 1.6rem; border-top: 1px solid var(--ww-line); }
body.home-west .ww-card__body--center { text-align: center; }
body.home-west .ww-card__name {
  font-size: 1.08rem;
  font-weight: 700;
  margin: 0 0 .55rem;
  color: var(--ww-ink);
  line-height: 1.4;
}
body.home-west .ww-card__cta {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ww-accent);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: gap .25s var(--ww-ease);
}
body.home-west .ww-card:hover .ww-card__cta { gap: .7rem; }

/* ============ Statement band — full-width factory image ============ */
body.home-west .ww-band {
  position: relative;
  min-height: clamp(440px, 62vh, 660px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--ww-ink);
}
body.home-west .ww-band__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.home-west .ww-band__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,16,24,.72), rgba(10,16,24,.62));
}
body.home-west .ww-band__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
  padding: 5rem 0;
}
body.home-west .ww-band__title {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  max-width: 900px;
  margin: 0 auto 1rem;
}
body.home-west .ww-band__sub {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  color: rgba(255,255,255,.85);
  max-width: 640px;
  margin: 0 auto 2.2rem;
}

/* ============ Stats band — centered numbers with dividers ============ */
body.home-west .ww-stats {
  background: var(--ww-ink);
  color: #fff;
  padding: 5.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
body.home-west .ww-stat {
  position: relative;
  text-align: center;
  padding: 0 1rem;
}
/* thin vertical dividers between columns (desktop only) */
body.home-west .ww-stats .col-md-3:not(:nth-child(1)) .ww-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12%;
  bottom: 12%;
  width: 1px;
  background: rgba(255,255,255,.14);
}
body.home-west .ww-stat__num {
  font-size: clamp(2.7rem, 5.2vw, 4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
body.home-west .ww-stat__unit {
  color: var(--ww-accent);
  margin-left: 4px;
  font-size: .55em;
  vertical-align: .35em;
  font-weight: 700;
}
body.home-west .ww-stat__label {
  margin: 1.1rem 0 0;
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
/* short accent line between number and label */
body.home-west .ww-stat__label::before {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: var(--ww-accent);
  margin: 0 auto .85rem;
}

/* ============ About ============ */
body.home-west .ww-about__media { position: relative; }
body.home-west .ww-about__media img {
  display: block;
  width: 100%;
  border-radius: 0;
  box-shadow: 20px 20px 0 var(--ww-bg-gray), 20px 20px 0 1px var(--ww-line);
}
body.home-west .ww-about__badge {
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--ww-ink);
  color: #fff;
  padding: 1.1rem 1.5rem;
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
body.home-west .ww-about__badge strong {
  font-size: .7rem;
  letter-spacing: .3em;
  color: var(--ww-accent);
}
body.home-west .ww-about__badge span { font-size: 1.6rem; font-weight: 800; }
body.home-west .ww-about__text {
  color: #4b5563;
  line-height: 2;
  font-size: 1rem;
  margin-bottom: 2rem;
}
body.home-west .ww-about__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

/* ============ Buttons ============ */
body.home-west .ww-btn {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: .95rem 2.1rem;
  background: var(--ww-ink);
  color: #fff;
  border-radius: 0;
  font-weight: 700;
  font-size: .98rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color .3s var(--ww-ease), color .3s var(--ww-ease), transform .3s var(--ww-ease);
}
body.home-west .ww-btn:hover { background: var(--ww-accent); color: #fff; transform: translateY(-2px); }
body.home-west .ww-btn--ghost {
  background: transparent;
  color: var(--ww-ink);
  border: 1px solid var(--ww-ink);
}
body.home-west .ww-btn--ghost:hover { background: var(--ww-ink); color: #fff; }
body.home-west .ww-btn--accent { background: var(--ww-accent); }
body.home-west .ww-btn--accent:hover { background: var(--ww-accent-dark); }
body.home-west .ww-btn i { transition: transform .3s var(--ww-ease); }
body.home-west .ww-btn:hover i { transform: translateX(4px); }

/* ============ Features (dark band) ============ */
body.home-west .ww-feature {
  height: 100%;
  padding: 2.1rem 1.7rem;
  background: var(--ww-ink-2);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 0;
  transition: border-color .3s var(--ww-ease), transform .3s var(--ww-ease), background-color .3s var(--ww-ease);
}
body.home-west .ww-feature:hover { border-color: var(--ww-accent); transform: translateY(-4px); }
body.home-west .ww-feature__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ww-accent);
  background: rgba(232, 99, 10, .12);
  margin-bottom: 1.2rem;
}
body.home-west .ww-feature h4 { color: #fff; font-size: 1.08rem; font-weight: 700; margin-bottom: .55rem; }
body.home-west .ww-feature p { color: rgba(255,255,255,.65); font-size: .9rem; line-height: 1.8; margin: 0; }

/* ============ Quote CTA ============ */
body.home-west .ww-cta { padding: 5.5rem 0; background: var(--ww-bg-gray); border-top: 1px solid var(--ww-line); }
body.home-west .ww-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
body.home-west .ww-cta__title {
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  font-weight: 800;
  margin: 0 0 .6rem;
  color: var(--ww-ink);
}
body.home-west .ww-cta__sub { margin: 0; color: var(--ww-gray); font-size: 1.02rem; }

/* ============ Footer (dark, homepage only) ============ */
body.home-west .footer {
  background: var(--ww-ink);
  color: rgba(255,255,255,.72);
  border-top: 3px solid var(--ww-accent);
}
body.home-west .footer-title {
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}
body.home-west .footer-list li { color: rgba(255,255,255,.72); }
body.home-west .footer-list li a { color: rgba(255,255,255,.72); }
body.home-west .footer-list li a:hover { color: #fff; padding-left: 4px; }
body.home-west .footer-list li i { color: var(--ww-accent); }
body.home-west .social-icons a {
  background: rgba(255,255,255,.08);
  border-radius: 0;
}
body.home-west .social-icons a:hover { background: var(--ww-accent); transform: translateY(-3px); }
body.home-west .footer > .container > div[style*="border-top"] { border-top-color: rgba(255,255,255,.12) !important; color: rgba(255,255,255,.45); }
body.home-west .footer > .container > div[style*="border-top"] a { color: rgba(255,255,255,.45); }
body.home-west .back-to-top { background: var(--ww-accent); border-radius: 0; box-shadow: 0 8px 20px rgba(232, 99, 10, .35); }
body.home-west .back-to-top:hover { background: var(--ww-accent-dark); }

/* ============ Reveal animation (scoped copy) ============ */
body.home-west [data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s var(--ww-ease), transform .8s var(--ww-ease);
  will-change: opacity, transform;
}
body.home-west [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* ============ Responsive ============ */
@media (max-width: 991.98px) {
  body.home-west .ww-section { padding: 5rem 0; }
  body.home-west .ww-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767.98px) {
  body.home-west .ww-section { padding: 3.5rem 0; }
  /* taller hero + compact caption so content never overflows into the header */
  body.home-west .home-banner .hero-slide img { height: clamp(520px, 76vh, 600px); }
  /* anchor caption to the bottom (above tab bar) — robust on mobile */
  body.home-west .hero-caption {
    top: auto;
    bottom: 44px;
    height: auto;
    align-items: stretch;
    padding-bottom: 0;
  }
  body.home-west .hero-caption .container { text-align: left; }
  /* tag duplicates the tab labels below — hide it on mobile to save vertical space */
  body.home-west .hero-caption__tag { display: none; }
  body.home-west .hero-caption__title {
    text-align: left;
    font-size: clamp(1.3rem, 5.4vw, 1.7rem);
    margin: 0 0 .6rem;
  }
  body.home-west .hero-caption__sub { text-align: left; margin: 0 0 1rem; font-size: .9rem; line-height: 1.6; }
  body.home-west .hero-caption__btn { padding: .7rem 1.4rem; font-size: .82rem; }
  body.home-west .hero-tabs { padding-bottom: 14px; }
  /* stronger scrim behind the floating header for readability */
  body.home-west .ww-header {
    background: linear-gradient(180deg, rgba(10,16,24,.85) 0%, rgba(10,16,24,.45) 70%, rgba(10,16,24,0) 100%);
  }
  body.home-west .ww-band { min-height: 380px; }
  body.home-west .ww-band__inner { padding: 3.5rem 0; }
  body.home-west .ww-cta__inner { flex-direction: column; align-items: flex-start; }
  body.home-west .ww-stats { padding: 3.5rem 0; }
  body.home-west .ww-stats .col-md-3:not(:nth-child(1)) .ww-stat::before { display: none; }
  body.home-west .ww-stat { padding: 0 .5rem; }
  body.home-west .ww-stats { padding: 3.5rem 0; }
  body.home-west .ww-about__media img { box-shadow: 12px 12px 0 var(--ww-bg-gray), 12px 12px 0 1px var(--ww-line); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.home-west [data-reveal] { opacity: 1; transform: none; }
}
