.scroll-progress {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: var(--scroll-progress,0%);
  height: 3px;
  background: linear-gradient(90deg,#00aecb,#78d8df,#f2ded0);
  box-shadow: 0 0 18px rgba(0,174,203,.7);
  pointer-events: none;
}

.home-dark .categories-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%,rgba(0,174,203,.13),transparent 30%),
    linear-gradient(180deg,#0d0e12 0%,#11151a 72%,#15242a 100%);
}

.home-dark .categories-section:before,
.home-dark .products-section:before,
.home-dark .story-section:before,
.home-dark .video-stories:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--section-x,70%) 20%,rgba(255,255,255,.08),transparent 32%);
  opacity: 0;
  transition: opacity 1s ease;
}

.home-dark section.is-in-view:before { opacity: 1; }

.home-dark .products-section {
  position: relative;
  overflow: hidden;
  padding-block: 105px 135px;
  background:
    radial-gradient(circle at 6% 8%,rgba(0,174,203,.13),transparent 23%),
    linear-gradient(145deg,#eee9e2 0%,#ddd6cd 58%,#d1c8bd 100%);
  color: #17191e;
}

.home-dark .products-section .eyebrow { color: #087f94; }
.home-dark .products-section .section-heading > p { color: #555d60; }
.home-dark .products-section .product-grid { perspective: 1500px; }
.home-dark .products-section .product-card {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(18,25,29,.12);
  border-radius: 2px;
  background: rgba(249,247,242,.88);
  color: #17191e;
  box-shadow: 0 22px 70px rgba(35,31,27,.09);
  transform-origin: 50% 100%;
  transition: transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s ease;
}

.home-dark .products-section .product-card:before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  border: 1px solid rgba(255,255,255,.7);
  background: radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,30%),rgba(255,255,255,.48),transparent 28%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}

.home-dark .products-section .product-card:hover {
  z-index: 5;
  transform: translateY(-16px) rotateX(1.5deg) rotateY(-1deg);
  box-shadow: 0 35px 100px rgba(30,26,23,.22);
}

.home-dark .products-section .product-card:hover:before { opacity: 1; }
.home-dark .products-section .product-card__media { aspect-ratio: 4/5; border-radius: 0; background: #c9dadd; }
.home-dark .products-section .product-card__media img { filter: saturate(.8) contrast(.98); }
.home-dark .products-section .product-card:hover img { transform: scale(1.055); filter: saturate(1.05); }
.home-dark .products-section .product-card p { color: #62696b; }
.home-dark .products-section .product-card:nth-child(4n+2) { margin-top: 55px; }
.home-dark .products-section .product-card:nth-child(4n+3) { margin-top: 20px; }
.home-dark .products-section .product-card:nth-child(4n+4) { margin-top: 80px; }

.home-dark .archive-story {
  padding-bottom: 0;
  background: linear-gradient(180deg,#15242a 0%,#0d1116 22%,#0d0e12 100%);
}
.home-dark .archive-story__wide { margin-bottom: 0; }

.home-dark .story-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 15%,rgba(111,210,222,.24),transparent 28%),
    linear-gradient(140deg,#15343c 0%,#0e282f 64%,#101c22 100%);
}
.home-dark .story-copy p { color: #bac8ca; }
.home-dark .feature-card { border: 1px solid rgba(255,255,255,.14); box-shadow: 0 25px 80px rgba(0,0,0,.18); }
.home-dark .feature-card:nth-child(1) { background: #e8dfd4; color: #19272b; }
.home-dark .feature-card:nth-child(2) { background: #00aeca; color: #082c34; }
.home-dark .feature-card:nth-child(3) { background: #263a46; color: #f5f1eb; }
.home-dark .feature-card:nth-child(1) p,.home-dark .feature-card:nth-child(2) p { color: #48585c; }
.home-dark .feature-card:nth-child(3) p { color: #b9c7ca; }

.home-dark .product-cinema { background: linear-gradient(180deg,#101c22,#090b0f); }
.home-dark .video-stories {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg,#d9cfc4,#f0e8df 55%,#c9dde0);
  color: #191b20;
}
.home-dark .video-stories .section-heading > p { color: #5d6669; }
.home-dark .applications { background: linear-gradient(135deg,#183b44,#10262d 65%,#151a20); }
.home-dark .documents-band { background: linear-gradient(110deg,#00aecb,#78d6dd); }
.home-dark .archive-journal { background: linear-gradient(145deg,#eee7df,#d8e5e5); }
.home-dark .faq-section { background: radial-gradient(circle at 12% 20%,#3c2b38,#17151b 42%,#0d0e12 82%); }

.catalog-dark .product-content--premium {
  position: relative;
  overflow: hidden;
  padding-block: 135px;
  background:
    radial-gradient(circle at 90% 8%,rgba(0,174,203,.16),transparent 24%),
    linear-gradient(155deg,#e9e2d9 0%,#d8d0c6 100%);
  color: #17191e;
}

.product-content__heading {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  align-items: end;
  gap: 60px;
  margin-bottom: 65px;
}
.product-content__heading .eyebrow { grid-column: 1/-1; margin-bottom: -35px; }
.product-content__heading h2 { margin: 0; font-family: var(--font-heading); font-size: clamp(4rem,8vw,8rem); font-weight: 400; line-height: .82; letter-spacing: -.065em; }
.product-content__heading > p { color: #4e5759!important; font-size: 1.05rem; }

.product-info-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.product-info-card { min-height: 330px; padding: 38px; border-radius: 2px; box-shadow: 0 30px 80px rgba(30,25,22,.08); }
.product-info-card > span { display: block; margin-bottom: 55px; font-weight: 900; letter-spacing: .12em; }
.product-info-card h3 { margin: 0 0 16px; font-family: var(--font-heading); font-size: clamp(2.1rem,3.5vw,4rem); font-weight: 400; line-height: .92; }
.product-info-card p { margin: 0; white-space: pre-line; }
.product-info-card--1 { background: #101217; color: #f3eee8; }
.product-info-card--2 { background: #00aecb; color: #092c34; }
.product-info-card--3 { background: #f5f1eb; color: #1c2023; }
.product-info-card--4 { background: #29404a; color: #eef2f1; }
.catalog-dark .product-info-card--1 p,.catalog-dark .product-info-card--4 p { color: #c5ced0; }
.catalog-dark .product-info-card--2 p { color: #17434b; }
.catalog-dark .product-info-card--3 p { color: #50595b; }

.product-deep-dive { display: grid; grid-template-columns: .85fr 1.15fr; margin-top: 90px; }
.usage-panel,.technical-panel { padding: clamp(38px,6vw,85px); }
.usage-panel { background: #f4eee6; }
.technical-panel { background: linear-gradient(145deg,#153943,#0e2026); color: #edf3f3; }
.usage-panel h2,.technical-panel h2 { margin: 0 0 25px; font-family: var(--font-heading); font-size: clamp(2.7rem,4vw,5rem); font-weight: 400; line-height: .9; }
.usage-panel p,.technical-panel p { white-space: pre-line; }
.technical-panel p { color: #b9c8ca!important; }

.original-description { margin-top: 20px; background: #17191e; color: #f2eee8; }
.original-description summary { display: grid; grid-template-columns: 1fr auto; gap: 6px 30px; padding: 35px 40px; cursor: pointer; list-style: none; }
.original-description summary::-webkit-details-marker { display: none; }
.original-description summary span { color: #829194; font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.original-description summary b { grid-column: 1; font-family: var(--font-heading); font-size: clamp(1.7rem,3vw,3.2rem); font-weight: 400; }
.original-description summary i { grid-column: 2; grid-row: 1/3; align-self: center; color: #00aecb; font-size: 2.6rem; font-style: normal; transition: transform .35s ease; }
.original-description[open] summary i { transform: rotate(45deg); }
.original-description > div { padding: 10px 40px 45px; border-top: 1px solid rgba(255,255,255,.12); }
.original-description p { max-width: 1000px; color: #c3cbcc!important; white-space: pre-line; }

@supports (animation-timeline:view()) {
  .home-dark .products-section .product-card {
    animation: premium-card-in both cubic-bezier(.2,.8,.2,1);
    animation-timeline: view();
    animation-range: entry 4% cover 34%;
  }
  @keyframes premium-card-in {
    from { opacity: 0; clip-path: inset(15% 0 25% 0); transform: translateY(100px) scale(.93); }
    to { opacity: 1; clip-path: inset(0); transform: translateY(0) scale(1); }
  }
  .product-info-card {
    animation: info-card-in both cubic-bezier(.2,.8,.2,1);
    animation-timeline: view();
    animation-range: entry 8% cover 38%;
  }
  @keyframes info-card-in { from { opacity:.15; transform:translateY(70px) scale(.96) } to { opacity:1; transform:none } }
}

@media (max-width: 900px) {
  .home-dark .products-section .product-card:nth-child(n) { margin-top: 0; }
  .product-content__heading,.product-deep-dive { grid-template-columns: 1fr; }
  .product-content__heading .eyebrow { margin-bottom: 0; }
}

@media (max-width: 600px) {
  .home-dark .categories-section .category-grid {
    display: flex;
    width: calc(100vw - 14px);
    gap: 12px;
    overflow-x: auto;
    padding: 0 14px 14px 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .home-dark .categories-section .category-grid::-webkit-scrollbar { display: none; }
  .home-dark .categories-section .category-card {
    flex: 0 0 82vw;
    min-height: 430px;
    scroll-snap-align: start;
  }
  .home-dark .products-section { padding-block: 75px 90px; }
  .product-info-cards { grid-template-columns: 1fr; }
  .product-info-card { min-height: 0; padding: 30px; }
  .product-info-card > span { margin-bottom: 35px; }
  .catalog-dark .product-content--premium { padding-block: 90px; }
  .original-description summary { padding: 27px 24px; }
  .original-description > div { padding: 5px 24px 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-progress { display: none; }
  .home-dark .products-section .product-card { animation: none!important; }
}
