:root{--ink:#172326;--muted:#5b6769;--line:#d9e2df;--paper:#f7faf8;--white:#fff;--teal:#0b7468;--green:#6f9f45;--coral:#c95d45;--gold:#b8842f;--shadow:0 18px 55px rgba(23,35,38,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:14px clamp(20px,4vw,56px);background:rgba(255,255,255,.94);border-bottom:1px solid rgba(217,226,223,.85);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#fff;background:var(--teal);font-size:14px}.nav{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:14px}.nav-action{padding:9px 14px;border-radius:8px;color:#fff;background:var(--coral)}.hero{position:relative;min-height:calc(100vh - 72px);display:grid;align-items:end;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,27,28,.78),rgba(16,27,28,.42) 48%,rgba(16,27,28,.1)),linear-gradient(0deg,rgba(16,27,28,.45),transparent 45%)}.hero-overlay{position:relative;z-index:1;width:min(760px,calc(100% - 40px));margin:0 0 clamp(48px,9vh,96px) clamp(20px,6vw,78px);color:#fff}.eyebrow{margin:0 0 12px;color:var(--gold);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#f1c36e}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;max-width:720px;font-size:clamp(42px,7vw,78px);line-height:.98;letter-spacing:0}h2{margin:0;font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:0}h3{margin:0 0 10px;font-size:20px}.hero-copy{max-width:620px;margin:22px 0 0;color:rgba(255,255,255,.86);font-size:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:8px;font-weight:700}.button.primary{background:var(--coral)}.button.secondary{color:var(--ink);background:#fff}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.trust-strip div{min-height:118px;padding:26px clamp(20px,4vw,44px);background:#fff}.trust-strip strong,.trust-strip span{display:block}.trust-strip span{margin-top:8px;color:var(--muted)}.section{padding:clamp(72px,9vw,118px) clamp(20px,5vw,72px)}.section-head{width:min(900px,100%);margin-bottom:34px}.section-head p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:17px}.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.catalog-menu{position:sticky;top:94px;display:grid;gap:8px}.catalog-menu a{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(23,35,38,.06)}.product-card.priority{border-color:rgba(11,116,104,.38)}.product-media{position:relative;height:250px;display:grid;place-items:center;overflow:hidden;background:#eef4ef}.product-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.06)}.crop-logo:after{content:"Export inquiry ready";position:absolute;left:0;right:0;bottom:0;height:44px;display:flex;align-items:center;justify-content:center;color:var(--teal);background:linear-gradient(180deg,rgba(255,255,255,.94),#fff);font-weight:700;font-size:13px}.product-body{padding:22px}.tag{display:inline-flex;margin-bottom:14px;padding:5px 10px;border-radius:999px;color:#fff;background:var(--teal);font-size:12px;font-weight:700}.product-card:nth-child(2) .tag{background:var(--green)}.product-card:nth-child(3) .tag{background:var(--coral)}.product-card:nth-child(4) .tag{background:var(--gold)}.model{margin:0 0 10px;color:var(--teal);font-weight:700;font-size:13px}.product-card p,.product-card dd,.product-card dt,.compliance-list p,.steps p{color:var(--muted)}dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0}dl div{padding:10px;border-radius:8px;background:#f4f7f5}dt{font-size:11px;font-weight:700;text-transform:uppercase}dd{margin:2px 0 0;font-size:13px}.generated{background:linear-gradient(135deg,#edf4f0,#f9fbfa)}.generated span{position:relative;display:block}.bed-visual{width:78%;height:42px;border-radius:10px;background:#fff;box-shadow:0 18px 0 #d7e2df,0 28px 40px rgba(23,35,38,.18)}.bed-visual:before,.bed-visual:after{content:"";position:absolute;bottom:-58px;width:8px;height:58px;background:#65716f}.bed-visual:before{left:18%}.bed-visual:after{right:18%}.rail-visual{width:76%;height:90px;border:8px solid #7b8d89;border-bottom:0;border-radius:16px 16px 0 0}.rail-visual:before,.rail-visual:after{content:"";position:absolute;bottom:-55px;width:8px;height:65px;background:#7b8d89}.rail-visual:before{left:15%}.rail-visual:after{right:15%}.ot-visual{width:74%;height:116px;border-radius:8px;background:repeating-linear-gradient(90deg,#fff 0 46px,#e2eee9 46px 54px);box-shadow:0 24px 40px rgba(23,35,38,.15)}.support-visual{width:72%;height:118px;border-radius:18px 18px 8px 8px;background:linear-gradient(135deg,#fff 0 55%,#dce9e4 56%);box-shadow:0 24px 40px rgba(23,35,38,.14)}.ceiling-visual{width:74%;height:120px;border-top:10px solid #596865}.ceiling-visual:before{content:"";position:absolute;left:50%;top:0;width:8px;height:76px;background:#596865}.ceiling-visual:after{content:"";position:absolute;left:calc(50% - 34px);top:72px;width:68px;height:28px;border-radius:999px;background:#fff;box-shadow:0 18px 34px rgba(23,35,38,.14)}.buying-guide{background:#fff}.priority-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-row{display:grid;grid-template-columns:1fr .8fr 1.4fr 1.2fr;gap:1px;background:var(--line)}.table-row span{padding:16px;background:#fff;color:var(--muted)}.table-head span{color:var(--ink);font-weight:700;background:#eef4ef}.status{font-weight:700;color:#fff!important;text-align:center}.status.go{background:var(--teal)!important}.status.watch{background:var(--gold)!important}.status.wait{background:var(--coral)!important}.packages{background:#eef4ef}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-grid article{padding:26px;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(23,35,38,.06)}.package-grid p{color:var(--muted)}.package-grid span{display:inline-flex;margin-top:10px;color:var(--teal);font-weight:700}.compliance{color:#fff;background:#25302c}.compliance .section-head p,.compliance .eyebrow{color:#e5c979}.compliance-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.compliance-list div{min-height:220px;padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.06)}.compliance-list p{color:rgba(255,255,255,.78)}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.steps li{min-height:230px;padding:24px;border-left:4px solid var(--teal);background:#fff}.steps span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:22px;border-radius:50%;color:#fff;background:var(--coral);font-weight:700}.steps strong{display:block;font-size:19px}.inquiry{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,.65fr);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(72px,9vw,118px) clamp(20px,5vw,72px);background:#eef4ef}.inquiry p{color:var(--muted);font-size:17px}form{display:grid;gap:14px;padding:24px;border-radius:8px;background:#fff;box-shadow:var(--shadow)}label{display:grid;gap:7px;color:var(--muted);font-size:13px;font-weight:700}input,textarea,button{width:100%;border:1px solid var(--line);border-radius:8px;font:inherit}input,textarea{padding:12px 13px;color:var(--ink);background:#fbfcfb}button{min-height:48px;color:#fff;background:var(--teal);border-color:var(--teal);font-weight:700;cursor:pointer}.footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,72px);color:rgba(255,255,255,.78);background:var(--ink)}@media(max-width:1060px){.catalog-layout{grid-template-columns:1fr}.catalog-menu{position:static;grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}.product-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.compliance-list,.inquiry,.package-grid{grid-template-columns:1fr}}@media(max-width:720px){.site-header{align-items:flex-start;flex-direction:column}.nav{width:100%;overflow-x:auto;padding-bottom:2px}.hero{min-height:760px}.hero-overlay{width:calc(100% - 32px);margin:0 16px 42px}.trust-strip,.product-grid,.steps{grid-template-columns:1fr}.catalog-menu{display:flex}.product-media{height:220px}.table-row{grid-template-columns:1fr}.table-row span{padding:12px 14px}.footer{flex-direction:column}}
.product-content {
  display: grid;
  gap: 18px;
}

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

.hot-card .product-media {
  height: 230px;
  background: #ffffff;
}

.hot-card .product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
}

.hot-card .product-body {
  min-height: 300px;
}

.category-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
}

.category-band h3,
.category-band p {
  margin: 0;
}

.category-band p {
  color: var(--muted);
}

.category-band a,
.quote-downloads a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--white);
  background: var(--teal);
  font-weight: 700;
  white-space: nowrap;
}

.quote-panel {
  background: var(--white);
}

.quote-downloads {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.quote-downloads a:nth-child(2) {
  background: var(--green);
}

.quote-downloads a:nth-child(3) {
  background: var(--coral);
}

.quote-downloads a:nth-child(4) {
  background: var(--gold);
}

@media (max-width: 1180px) {
  .hot-grid,
  .quote-downloads {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .hot-grid,
  .quote-downloads {
    grid-template-columns: 1fr;
  }

  .category-band {
    align-items: flex-start;
    flex-direction: column;
  }
}

.brand-logo {
  display: block;
  width: 255px;
  max-width: 64vw;
  height: auto;
}

.site-header {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 0 rgba(217, 226, 223, 0.9);
}

.trust-section,
.about-section {
  background: #ffffff;
}

.trust-grid,
.about-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

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

.trust-grid article,
.about-grid article,
.featured-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(23, 35, 38, 0.06);
}

.trust-grid article,
.about-grid article {
  padding: 24px;
}

.trust-grid p,
.about-grid p,
.featured-card p {
  color: var(--muted);
}

.featured-products {
  background: #eef4ef;
}

.featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.featured-card {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  min-height: 230px;
  overflow: hidden;
}

.featured-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.featured-card div {
  padding: 22px;
}

.featured-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.featured-card a,
.detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 10px;
  padding: 9px 13px;
  border-radius: 8px;
  color: #ffffff;
  background: var(--teal);
  font-weight: 700;
}

.request-actions a {
  min-height: 52px;
}

.floating-contact {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  display: grid;
  gap: 8px;
}

.floating-contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  color: #ffffff;
  background: var(--teal);
  box-shadow: 0 10px 28px rgba(23, 35, 38, 0.18);
  font-weight: 700;
}

.floating-contact a:last-child {
  background: var(--coral);
}

.product-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  padding: clamp(72px, 9vw, 118px) clamp(20px, 5vw, 72px);
  background: #eef4ef;
}

.product-detail-hero img {
  width: 100%;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.product-detail-hero h1 {
  color: var(--ink);
}

.product-detail-hero p {
  color: var(--muted);
  font-size: 18px;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: clamp(56px, 7vw, 86px) clamp(20px, 5vw, 72px);
  background: #ffffff;
}

.detail-grid article {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.detail-grid li {
  margin-bottom: 8px;
  color: var(--muted);
}

.inquiry-lite {
  background: #eef4ef;
}

.site-footer {
  display: block;
  padding: 0;
  color: rgba(255, 255, 255, 0.82);
  background: #172326;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) repeat(2, minmax(160px, 0.8fr)) minmax(240px, 1fr);
  gap: clamp(24px, 4vw, 52px);
  padding: 52px clamp(20px, 5vw, 72px) 42px;
}

.footer-brand img {
  width: 230px;
  max-width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  background: #ffffff;
}

.footer-brand p {
  max-width: 420px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.72);
}

.footer-contact-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.footer-contact-pills a,
.footer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 8px;
  color: #ffffff;
  font-weight: 700;
  background: var(--teal);
}

.footer-contact-pills a:last-child {
  background: var(--coral);
}

.footer-column,
.footer-cta {
  display: grid;
  align-content: start;
  gap: 10px;
}

.footer-column h3,
.footer-cta h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 16px;
}

.footer-column a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
}

.footer-column a:hover {
  color: #ffffff;
}

.footer-cta {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.footer-cta ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
}

.footer-button {
  margin-top: 10px;
  background: var(--coral);
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 18px clamp(20px, 5vw, 72px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
}

@media (max-width: 1060px) {
  .trust-grid,
  .featured-grid,
  .about-grid,
  .detail-grid,
  .product-detail-hero {
    grid-template-columns: 1fr;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .featured-card {
    grid-template-columns: 160px minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .featured-card {
    grid-template-columns: 1fr;
  }

  .featured-card img {
    height: 220px;
  }

  .floating-contact {
    right: 12px;
    bottom: 12px;
  }

  .floating-contact a {
    min-width: 88px;
    min-height: 38px;
    font-size: 13px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    padding-bottom: 34px;
  }

  .footer-bottom {
    justify-content: flex-start;
  }
}

.category-home-layout,
.category-page-layout,
.single-catalog-layout,
.single-catalog-layout-inner {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: start;
}

.category-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.category-entry-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 170px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(23, 35, 38, 0.06);
}

.category-entry-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #ffffff;
}

.category-entry-card div {
  padding: 20px;
}

.category-entry-card p {
  color: var(--muted);
}

.category-entry-card span {
  color: var(--teal);
  font-weight: 700;
}

.side-hot {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 10px;
}

.side-hot h3 {
  margin: 0 0 4px;
}

.side-hot-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 86px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.side-hot-card img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.side-hot-card span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.category-hero {
  padding: clamp(72px, 9vw, 112px) clamp(20px, 5vw, 72px);
  background: #eef4ef;
}

.category-hero h1 {
  color: var(--ink);
}

.category-hero p {
  max-width: 760px;
  color: var(--muted);
  font-size: 18px;
}

.category-page-layout {
  padding: clamp(56px, 7vw, 88px) clamp(20px, 5vw, 72px);
}

.single-catalog-layout {
  padding: clamp(56px, 7vw, 88px) clamp(20px, 5vw, 72px);
}

.homepage-catalog .single-catalog-layout-inner {
  margin-top: 28px;
}

.category-page-menu .is-active {
  color: #ffffff;
  background: var(--teal);
  border-color: var(--teal);
}

.category-products {
  min-width: 0;
}

.product-tabs button {
  width: 100%;
  min-height: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  background: #ffffff;
  text-align: left;
  font-weight: 700;
}

.product-tabs button.is-active {
  color: #ffffff;
  background: var(--teal);
  border-color: var(--teal);
}

.catalog-grid .is-hidden {
  display: none;
}

.side-hot-card.is-muted {
  opacity: 0.48;
}

@media (max-width: 1180px) {
  .category-home-layout,
  .category-page-layout,
  .single-catalog-layout,
  .single-catalog-layout-inner {
    grid-template-columns: 1fr;
  }

  .side-hot {
    position: static;
  }

  .home-hot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .category-entry-grid,
  .home-hot {
    grid-template-columns: 1fr;
  }

  .category-entry-card {
    grid-template-columns: 1fr;
  }

  .category-entry-card img {
    height: 190px;
  }
}

.hero-carousel {
  position: relative;
}

.hero-slide {
  position: absolute;
  inset: 0;
  display: grid;
  align-items: end;
  min-height: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
}

.hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.hero-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 27, 28, 0.78), rgba(16, 27, 28, 0.42) 48%, rgba(16, 27, 28, 0.1)),
    linear-gradient(0deg, rgba(16, 27, 28, 0.45), transparent 45%);
}

.hero-carousel > img,
.hero-carousel::after {
  display: none;
}

.hero-dots {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 24px;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}

.hero-dots button {
  box-sizing: border-box;
  display: block;
  flex: 0 0 12px;
  width: 12px;
  min-width: 12px;
  max-width: 12px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  appearance: none;
  cursor: pointer;
  line-height: 0;
}

.hero-dots button.is-active {
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);
}

.hero-dots > button[type="button"] {
  width: 12px;
  min-width: 12px;
  max-width: 12px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
}
