.brand-marquee { position: relative; width: 100%; overflow: hidden; padding: 10px 0; border-block: 1px solid rgba(255,255,255,.08); background: #0b0b0b; }
.brand-marquee::before, .brand-marquee::after { position: absolute; z-index: 2; top: 0; bottom: 0; width: clamp(40px,7vw,90px); pointer-events: none; content: ''; }
.brand-marquee::before { left: 0; background: linear-gradient(90deg,#0b0b0b,transparent); }
.brand-marquee::after { right: 0; background: linear-gradient(270deg,#0b0b0b,transparent); }
.brand-marquee__track { display: flex; width: max-content; animation: brand-scroll 32s linear infinite; }
.brand-marquee__group { display: flex; flex: 0 0 auto; align-items: center; gap: clamp(28px,4vw,52px); padding-right: clamp(28px,4vw,52px); white-space: nowrap; }
.brand-marquee span { position: relative; color: #f5f5f5; font-family: Georgia,serif; font-size: clamp(.72rem,1.15vw,.9rem); font-weight: 800; letter-spacing: clamp(.12em,.25vw,.22em); text-transform: uppercase; }
.brand-marquee span::after { position: absolute; top: 50%; right: calc(clamp(28px,4vw,52px) / -2 - 4px); transform: translateY(-50%); color: var(--color-orange); content: '•'; }
@keyframes brand-scroll { to { transform: translateX(-50%); } }

.hero-slider { position: relative; isolation: isolate; height: 410px; overflow: hidden; background: #030303; color: #fff; }
.hero-slider::before { position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse at 84% 48%,rgba(255,117,0,.22),rgba(151,65,5,.1) 28%,transparent 68%),linear-gradient(100deg,#020202,#050505 48%,#090806 72%,#170a03); content: ''; }
.hero-slider::after { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(113deg,transparent 36%,rgba(255,162,62,.07) 49%,transparent 65%); transform: translateX(-110%); animation: hero-sweep 8s ease-in-out infinite; content: ''; }
.hero-slider__slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide { z-index: 1; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .45s ease, visibility .45s ease; }
.hero-slide.is-active { z-index: 2; opacity: 1; visibility: visible; pointer-events: auto; }
.hero-slide::before { position: absolute; top: 0; right: 0; bottom: 0; width: 62%; background: radial-gradient(ellipse at 70% 48%,rgba(255,118,0,.19),rgba(255,102,0,.06) 34%,transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.016) 0 1px,transparent 1px 62px),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 62px); clip-path: polygon(16% 0,100% 0,100% 100%,0 100%); content: ''; }
.hero-slide__content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); align-items: center; height: 100%; gap: 32px; }
.hero-slide__copy { position: relative; z-index: 5; max-width: 590px; }
.hero-slide__eyebrow { margin: 0 0 8px; color: var(--color-orange); font-size: clamp(2.35rem,4vw,3.65rem); font-weight: 900; line-height: .95; letter-spacing: .01em; text-transform: uppercase; }
.hero-slide__copy h1 { margin: 0 0 12px; color: #fff; font-size: clamp(1.55rem,2.2vw,2.05rem); line-height: 1.05; }
.hero-slide__description { max-width: 560px; margin: 0; color: #eee; font-size: clamp(.9rem,1.2vw,1.1rem); line-height: 1.45; }
.hero-slide .button { margin-top: 28px; min-width: 205px; }
.hero-slide__visual { position: relative; height: 340px; margin: 0; display: grid; place-items: center; }
.hero-slide__visual::before { position: absolute; inset: -15%; z-index: -1; border-radius: 50%; background: radial-gradient(ellipse,rgba(255,122,0,.28),rgba(255,104,0,.1) 35%,transparent 72%); filter: blur(18px); content: ''; }
.hero-slide__visual img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 16px rgba(0,0,0,.62)); transform-origin: center bottom; }
.hero-slide--control .hero-slide__visual img { transform: scale(1.13); }
.hero-slide--insulation .hero-slide__visual img { transform: scale(1.11); }
.hero-slide--custom .hero-slide__visual img { transform: scale(1.13); }
.hero-slider__arrow { position: absolute; z-index: 10; top: 50%; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 999px; transform: translateY(-50%); background: rgba(0,0,0,.5); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.hero-slider__arrow:hover { background: var(--color-orange); }
.hero-slider__arrow--prev { left: 18px; }
.hero-slider__arrow--next { right: 18px; }
.hero-slider__dots { position: absolute; z-index: 11; bottom: 27px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }
.hero-slider__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; }
.hero-slider__dot.is-active { background: var(--color-orange); }
@keyframes hero-sweep { 0%,48% { transform: translateX(-110%); opacity: 0; } 56% { opacity: .55; } 78%,100% { transform: translateX(110%); opacity: 0; } }

.product-showcase { width: 100%; padding: 48px clamp(18px,2.7vw,36px) 34px; overflow: hidden; background: #fff; }
.product-showcase + .product-showcase { border-top: 1px solid #f2ece4; }
.product-showcase__header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.section-heading { position: relative; padding-left: 24px; }
.section-heading::before { position: absolute; top: 8px; bottom: 0; left: 0; width: 5px; border-radius: 20px; background: linear-gradient(var(--color-gold),var(--color-orange),var(--color-orange-strong)); box-shadow: 0 0 18px rgba(255,122,0,.3); content: ''; }
.section-heading p { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--color-orange-strong); font-size: .64rem; font-weight: 900; letter-spacing: .45em; white-space: nowrap; }
.section-heading p span { width: 16px; height: 2px; background: linear-gradient(90deg,var(--color-orange),var(--color-gold)); }
.section-heading h2 { margin: 7px 0 0; color: #15110d; font-size: clamp(2.5rem,4.2vw,3.1rem); line-height: .95; letter-spacing: -.05em; }
.catalog-link { position: relative; padding-bottom: 8px; color: #15110d; font-size: .64rem; font-weight: 900; letter-spacing: .4em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.catalog-link::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg,var(--color-orange),var(--color-gold)); content: ''; }
.catalog-link span { margin-left: 8px; color: var(--color-orange); font-size: 1.35rem; }
.product-carousel { overflow: hidden; border-block: 1px solid var(--color-border); cursor: grab; touch-action: pan-y; user-select: none; }
.product-carousel.is-dragging { cursor: grabbing; }
.product-carousel__track { display: flex; min-height: 288px; transition: transform .35s cubic-bezier(.7,0,.2,1); will-change: transform; }
.product-card { position: relative; display: flex; flex: 0 0 20%; min-width: 0; min-height: 288px; flex-direction: column; border-left: 1px solid var(--color-border); background: #fff; color: inherit; text-decoration: none; transition: box-shadow .25s ease, transform .25s ease; }
.product-card:first-child { border-left: 0; }
.product-card:hover { z-index: 2; transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(255,122,0,.16),0 14px 35px rgba(255,122,0,.15); }
.product-card__number { position: absolute; top: 10px; right: 10px; z-index: 2; color: #d9b06f; font-size: .62rem; font-weight: 900; }
.product-card__image { display: grid; height: 185px; place-items: center; padding: 12px; background: radial-gradient(circle,rgba(255,196,0,.09),transparent 58%),#fff; }
.product-card__image img { width: 75%; height: 155px; object-fit: contain; pointer-events: none; transition: transform .25s ease; }
.product-card:hover .product-card__image img { transform: scale(1.07); }
.product-card__body { display: flex; min-height: 103px; flex: 1; flex-direction: column; padding: 13px 14px 17px; border-top: 1px solid var(--color-border); background: linear-gradient(#fff,#fff7ed); }
.product-card__body strong { margin-bottom: 8px; color: var(--color-orange-strong); font-size: 1.1rem; letter-spacing: -.04em; }
.product-card__name { display: -webkit-box; overflow: hidden; color: #15110d; font-size: .63rem; font-weight: 800; line-height: 1.45; text-transform: uppercase; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-card__label { display: -webkit-box; margin-top: auto; overflow: hidden; color: #a86300; font-size: .61rem; font-weight: 900; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.product-showcase__controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; }
.product-showcase__dots { display: flex; flex-wrap: wrap; gap: 5px; }
.product-showcase__dots button { width: 8px; height: 3px; padding: 0; border: 0; background: #ead8bd; cursor: pointer; transition: width .25s ease,background .25s ease; }
.product-showcase__dots button.is-active { width: 32px; background: linear-gradient(90deg,var(--color-orange),var(--color-gold)); }
.product-showcase__buttons { display: flex; gap: 8px; }
.product-showcase__buttons button { height: 39px; padding: 0 22px; border: 1px solid var(--color-border); background: #fff; color: #5f574f; font-size: .61rem; font-weight: 900; letter-spacing: .3em; text-transform: uppercase; cursor: pointer; }
.product-showcase__buttons button:last-child { border-color: #15110d; background: #1d1712; color: #fff; }
.product-showcase__buttons button:hover { border-color: var(--color-orange); color: var(--color-orange-strong); }
.product-showcase__buttons button:last-child:hover { background: var(--color-orange); color: #15110d; }
.product-showcase__empty { min-height: 220px; display: grid; place-items: center; color: var(--color-muted); }

@media (max-width: 1120px) { .product-card { flex-basis: 25%; } }
@media (max-width: 880px) { .product-card { flex-basis: 33.3333%; } }
@media (max-width: 768px) {
    .brand-marquee { padding-block: 8px; }
    .brand-marquee__track { animation-duration: 24s; }
    .hero-slider { height: 555px; }
    .hero-slide::before { top: auto; right: -25%; bottom: 0; width: 110%; height: 58%; clip-path: none; }
    .hero-slide__content { display: block; width: 100%; padding: 0 28px; }
    .hero-slide__copy { position: absolute; top: 38px; right: 25px; left: 28px; max-width: none; }
    .hero-slide__eyebrow { font-size: clamp(1.85rem,8.5vw,2.35rem); }
    .hero-slide__copy h1 { font-size: clamp(1.35rem,6.2vw,1.75rem); }
    .hero-slide__description { max-width: 350px; font-size: clamp(.95rem,4.3vw,1.08rem); }
    .hero-slide .button { min-width: 185px; min-height: 49px; margin-top: 20px; }
    .hero-slide__visual { position: absolute; right: 0; bottom: 55px; left: 0; height: 295px; }
    .hero-slide__visual img { width: 100%; }
    .hero-slide--control .hero-slide__visual img { transform: translateX(-45px) scale(1.3); }
    .hero-slide--insulation .hero-slide__visual img { transform: translate(-45px,25px) scale(1.3); }
    .hero-slide--custom .hero-slide__visual img { transform: scale(1.35); }
    .hero-slider__arrow { top: auto; bottom: 3px; width: 26px; height: 28px; border-radius: 0; background: transparent; font-size: 1.25rem; }
    .hero-slider__arrow:hover { background: transparent; color: var(--color-orange); }
    .hero-slider__arrow--prev { left: 20px; }
    .hero-slider__arrow--next { right: 20px; }
    .hero-slider__dots { bottom: 11px; }
    .hero-slider__dot { width: 6px; height: 6px; }
    .product-showcase { padding: 34px 20px 26px; }
    .product-showcase__header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; margin-bottom: 25px; }
    .section-heading { padding-left: 18px; }
    .section-heading::before { width: 3px; }
    .section-heading p { font-size: .5rem; letter-spacing: .24em; }
    .section-heading h2 { font-size: clamp(2rem,9vw,2.45rem); }
    .catalog-link { font-size: .48rem; letter-spacing: .17em; }
    .catalog-link span { font-size: 1rem; }
    .product-showcase__controls { display: grid; grid-template-columns: 1fr; gap: 14px; }
    .product-showcase__dots { justify-content: center; }
    .product-showcase__buttons { width: 100%; }
    .product-showcase__buttons button { flex: 1; padding-inline: 8px; font-size: .5rem; letter-spacing: .18em; }
}
@media (max-width: 640px) { .product-card { flex-basis: 50%; } }
@media (max-width: 420px) {
    .product-showcase__header { grid-template-columns: 1fr; }
    .catalog-link { justify-self: end; }
    .product-card { flex-basis: 100%; flex-direction: row; min-height: 195px; }
    .product-card__image { flex: 0 0 42%; height: auto; min-height: 195px; }
    .product-card__image img { width: 92%; height: 138px; }
    .product-card__body { justify-content: center; min-height: 195px; border-top: 0; border-left: 1px solid var(--color-border); }
}
