.equipment-page { min-height: 100vh; color: #f4f7fb; background: #07101a; }
.equipment-page-header { position: sticky; z-index: 20; top: 0; display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 24px; padding: 11px max(24px, calc((100vw - 1200px) / 2)); border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(5,10,17,.92); backdrop-filter: blur(16px); }
.equipment-page-brand { display: block; width: 202px; }
.equipment-page-brand img { width: 100%; height: auto; }
.equipment-page-header nav { display: flex; align-items: center; gap: 23px; }
.equipment-back { color: #c2cfdb; font-size: 12px; transition: color .2s ease; }
.equipment-back:hover { color: #48d6f0; }
.equipment-back span { margin-right: 7px; color: #47d4ef; }
.equipment-detail-hero { position: relative; display: flex; min-height: min(610px, 76svh); overflow: hidden; align-items: center; isolation: isolate; background: #08111e; }
.equipment-detail-hero-image { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5,12,22,.98) 0%, rgba(5,12,22,.86) 43%, rgba(5,12,22,.28) 100%), linear-gradient(0deg, rgba(5,12,22,.78), transparent 64%), var(--detail-image) center 45% / cover; transform: scale(1.02); animation: equipment-hero-reveal .9s cubic-bezier(.2,.75,.25,1) both; }
.equipment-detail-hero::after { position: absolute; z-index: -1; right: 5.5%; bottom: 0; width: 33%; height: 1px; background: linear-gradient(90deg, transparent, #31d1ef, transparent); content: ""; }
@keyframes equipment-hero-reveal { from { opacity: .35; transform: scale(1.08); } to { opacity: 1; transform: scale(1.02); } }
.equipment-detail-hero-content { padding-block: 82px 96px; }
.equipment-detail-hero .eyebrow { color: #d6e2ee; }
.equipment-hero-count { margin-left: 3px; color: #50d6ee; }
.equipment-detail-hero h1 { max-width: 770px; margin: 0; font-family: var(--font-display); font-size: clamp(48px, 7vw, 88px); font-weight: 800; letter-spacing: -.065em; line-height: 1.01; }
.equipment-detail-tagline { max-width: 540px; margin: 21px 0 29px; color: #d1dbe5; font-size: clamp(15px, 1.6vw, 19px); line-height: 1.65; }
.equipment-detail-hero .button { min-height: 51px; }
.equipment-hero-index { position: absolute; right: max(24px, calc((100vw - 1200px) / 2)); bottom: 31px; display: flex; align-items: center; gap: 12px; color: #cad6e2; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.equipment-hero-index i { width: 45px; height: 1px; background: #39d1ed; }
.equipment-category-nav { display: flex; overflow-x: auto; gap: 0; border-bottom: 1px solid rgba(255,255,255,.12); scrollbar-width: thin; }
.equipment-category-nav a { position: relative; display: flex; min-width: 130px; flex: 1 0 auto; flex-direction: column; gap: 3px; padding: 19px 16px 17px; color: #aab8c6; transition: color .2s ease, background .2s ease; }
.equipment-category-nav a::after { position: absolute; right: 16px; bottom: -1px; left: 16px; height: 2px; transform: scaleX(0); transform-origin: left; background: #35cce9; content: ""; transition: transform .25s ease; }
.equipment-category-nav a:hover, .equipment-category-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.025); }
.equipment-category-nav a[aria-current="page"]::after { transform: scaleX(1); }
.equipment-category-nav a span { font-size: 11px; font-weight: 700; }
.equipment-category-nav a small { color: #728399; font-size: 9px; }
.equipment-application-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 8vw, 115px); align-items: center; padding-block: 88px 83px; color: #f4f7fb; }
.equipment-application-section .eyebrow-dark { color: #b9c7d5; }
.equipment-application-heading h2 { max-width: 500px; margin: 0; font-family: var(--font-display); font-size: clamp(34px, 4.5vw, 54px); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
.equipment-application-heading h2 span { color: #38c9ee; }
.equipment-application-copy > p { max-width: 570px; margin: 0 0 23px; color: #c2cfdb; font-size: 15px; line-height: 1.8; }
.equipment-use-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.equipment-use-chips span { padding: 8px 11px; border: 1px solid rgba(143,183,212,.25); color: #dce7f0; background: #0d1824; font-size: 11px; }
.equipment-products-section { padding-block: 83px 92px; background: radial-gradient(ellipse at 88% 0%, rgba(0,112,222,.12), transparent 32%), #080f18; }
.equipment-products-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 29px; }
.equipment-products-heading h2 { margin: 0; font-family: var(--font-display); font-size: clamp(32px, 4.3vw, 49px); font-weight: 800; letter-spacing: -.05em; line-height: 1.1; }
.equipment-products-note { margin: 9px 0 0; color: #9cabb9; font-size: 13px; }
.equipment-page-search { width: min(270px, 100%); height: 46px; }
.equipment-page-search input { font-size: 12px; }
.equipment-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.equipment-product-card { overflow: hidden; border: 1px solid rgba(190,215,239,.15); background: #0d1824; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.equipment-product-card:hover { transform: translateY(-4px); border-color: rgba(47,203,235,.56); box-shadow: 0 17px 38px rgba(0,0,0,.2); }
.equipment-product-image-wrap { display: grid; height: clamp(220px, 25vw, 300px); place-items: center; overflow: hidden; background: linear-gradient(145deg, #fff 0%, #f5f8fb 100%); }
.equipment-image-trigger { position: relative; display: grid; width: 100%; height: 100%; place-items: center; padding: 0; overflow: hidden; border: 0; background: transparent; cursor: zoom-in; }
.equipment-image-trigger::after { position: absolute; right: 12px; bottom: 12px; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(7,16,26,.14); border-radius: 50%; color: #07101a; background: rgba(255,255,255,.9); content: "↗"; font-size: 15px; opacity: .82; transition: transform .2s ease, opacity .2s ease; }
.equipment-image-trigger:hover::after, .equipment-image-trigger:focus-visible::after { transform: translate(1px,-1px); opacity: 1; }
.equipment-image-trigger:focus-visible { outline: 3px solid #42d5ed; outline-offset: -4px; }
.equipment-product-image-wrap img { width: 100%; height: 100%; object-fit: contain !important; object-position: center; transition: transform .45s cubic-bezier(.2,.7,.15,1); }
.equipment-product-picture { display: grid; width: 100%; height: 100%; place-items: center; }
.equipment-product-card:hover .equipment-product-image-wrap img { transform: none; }
.equipment-product-info { padding: 19px 19px 20px; }
.equipment-product-category { color: #48cce7; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.equipment-product-info h3 { min-height: 48px; margin: 7px 0 5px; font-family: var(--font-display); font-size: 17px; font-weight: 750; letter-spacing: -.035em; line-height: 1.4; }
.equipment-product-info p { min-height: 37px; margin: 0; color: #9cabb9; font-size: 12px; line-height: 1.55; }
.equipment-product-info > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; padding-top: 14px; border-top: 1px solid rgba(190,215,239,.14); color: #d8e3ed; font-size: 11px; font-weight: 700; transition: color .2s ease; }
.equipment-product-info > a span { color: #42d5ed; font-size: 16px; }
.equipment-product-info > a:hover { color: #47d6ed; }
.equipment-page-empty { padding: 35px 12px; color: #bdcbd8; text-align: center; }
.equipment-image-dialog { position: fixed; width: min(980px, calc(100% - 32px)); max-width: 980px; max-height: min(92svh, 960px); padding: 16px; overflow: auto; border: 1px solid rgba(255,255,255,.16); color: #f4f7fb; background: #08131e; box-shadow: 0 30px 100px rgba(0,0,0,.55); }
.equipment-image-dialog::backdrop { background: rgba(2,7,13,.86); backdrop-filter: blur(8px); }
.equipment-image-dialog > img { display: block; width: 100%; max-height: min(72svh, 740px); object-fit: contain; background: linear-gradient(145deg, #fff 0%, #f5f8fb 100%); }
.equipment-image-dialog-close { position: sticky; z-index: 1; top: 0; float: right; display: grid; width: 40px; height: 40px; margin: -8px -8px 8px 0; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; background: rgba(6,13,21,.92); cursor: pointer; font-size: 27px; line-height: 1; }
.equipment-image-dialog-close:focus-visible { outline: 3px solid #42d5ed; outline-offset: 2px; }
.equipment-image-dialog-caption { padding: 17px 5px 4px; }
.equipment-image-dialog-caption strong { font-family: var(--font-display); font-size: clamp(19px, 3vw, 26px); }
.equipment-image-dialog-caption p { margin: 5px 0 0; color: #aab8c6; font-size: 13px; line-height: 1.5; }
.equipment-detail-cta { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding-block: 72px; }
.equipment-detail-cta h2 { max-width: 710px; margin: 0; font-family: var(--font-display); font-size: clamp(30px, 4vw, 45px); letter-spacing: -.05em; line-height: 1.12; }
.equipment-detail-cta > div > p:last-child { margin: 12px 0 0; color: #9cabb9; font-size: 14px; }
.equipment-detail-cta .button { flex: 0 0 auto; }
.equipment-page-footer { display: flex; min-height: 75px; align-items: center; justify-content: space-between; gap: 18px; padding: 18px max(24px, calc((100vw - 1200px) / 2)); border-top: 1px solid rgba(255,255,255,.1); color: #9cabb9; font-size: 10px; }
.equipment-page-footer > a:first-child { color: #fff; font-family: var(--font-display); font-weight: 800; }
.equipment-page-footer > span { font-size: 8px; letter-spacing: .2em; }
.equipment-page-footer i { color: #42d5ed; font-style: normal; }
.equipment-page-footer a:hover { color: #42d5ed; }
.catalog-transition { position: fixed; z-index: 9999; inset: 0; display: grid; visibility: hidden; place-items: center; overflow: hidden; opacity: 0; pointer-events: none; background: #050b13; transition: opacity .25s ease, visibility .25s ease; }
.catalog-transition::before { position: absolute; inset: -10%; transform: scale(1.08); background: linear-gradient(90deg, rgba(3,9,17,.95), rgba(3,9,17,.65)), var(--transition-image) center / cover; content: ""; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.catalog-transition::after { position: absolute; top: 0; bottom: 0; left: -30%; width: 30%; transform: skewX(-12deg); background: linear-gradient(90deg, transparent, rgba(40,205,239,.2), transparent); content: ""; }
.catalog-transition.is-active { visibility: visible; opacity: 1; pointer-events: auto; }
.catalog-transition.is-active::before { transform: scale(1); }
.catalog-transition.is-active::after { animation: catalog-light-sweep .65s ease-out both; }
@keyframes catalog-light-sweep { to { left: 115%; } }
.catalog-transition-content { position: relative; display: grid; width: min(680px, calc(100% - 48px)); gap: 13px; text-align: center; }
.catalog-transition-kicker { color: #6edff1; font-size: 10px; font-weight: 700; letter-spacing: .25em; }
.catalog-transition-content strong { font-family: var(--font-display); font-size: clamp(36px, 7vw, 70px); font-weight: 800; letter-spacing: -.06em; line-height: 1.06; }
.catalog-transition-line { width: 100%; height: 2px; overflow: hidden; background: rgba(255,255,255,.18); }
.catalog-transition-line::after { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: #31d1ef; content: ""; }
.catalog-transition.is-active .catalog-transition-line::after { animation: catalog-progress .56s ease-in-out both; }
@keyframes catalog-progress { to { transform: scaleX(1); } }
.catalog-transitioning { overflow: hidden; }
@media (max-width: 850px) {
  .equipment-detail-hero { min-height: 540px; }
  .equipment-application-section { grid-template-columns: 1fr; gap: 25px; padding-block: 70px; }
  .equipment-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .equipment-page-header { min-height: 66px; padding: 9px 18px; }
  .equipment-page-brand { width: 148px; }
  .equipment-page-header nav { gap: 12px; }
  .equipment-back { font-size: 0; }
  .equipment-back span { font-size: 19px; }
  .equipment-page-header .button { min-height: 41px; gap: 7px; padding-inline: 11px; font-size: 9px; }
  .equipment-detail-hero { min-height: 510px; min-height: min(620px, calc(100svh - 66px)); align-items: end; }
  .equipment-detail-hero-image { background-position: center, center, 62% center; }
  .equipment-detail-hero-content { padding-block: 75px 92px; }
  .equipment-detail-hero .eyebrow { flex-wrap: wrap; font-size: 8px; }
  .equipment-detail-hero h1 { font-size: clamp(43px, 12vw, 58px); }
  .equipment-detail-tagline { margin: 15px 0 22px; font-size: 14px; }
  .equipment-hero-index { right: 18px; bottom: 23px; font-size: 8px; }
  .equipment-hero-index i { width: 28px; }
  .equipment-category-nav { width: 100%; }
  .equipment-category-nav a { min-width: 118px; padding: 16px 14px; }
  .equipment-category-nav a span { font-size: 10px; }
  .equipment-application-section { width: calc(100% - 36px); padding-block: 61px; }
  .equipment-application-heading h2 { font-size: 36px; }
  .equipment-application-copy > p { font-size: 14px; }
  .equipment-use-chips span { padding: 7px 9px; font-size: 10px; }
  .equipment-products-section { padding-block: 61px; }
  .equipment-products-heading { align-items: stretch; flex-direction: column; gap: 18px; }
  .equipment-products-heading h2 { font-size: 34px; }
  .equipment-products-note { font-size: 12px; }
  .equipment-product-grid { grid-template-columns: 1fr; gap: 11px; }
  .equipment-product-card { display: grid; grid-template-columns: minmax(110px, 35%) 1fr; min-height: 157px; }
  .equipment-product-image-wrap { height: 100%; min-height: 157px; }
  .equipment-product-info { display: flex; min-width: 0; flex-direction: column; padding: 13px; }
  .equipment-product-info h3 { min-height: 0; margin-top: 5px; font-size: 14px; line-height: 1.35; }
  .equipment-product-info p { min-height: 0; font-size: 10px; }
  .equipment-product-category { font-size: 8px; }
  .equipment-product-info > a { margin-top: auto; padding-top: 10px; font-size: 9px; }
  .equipment-detail-cta { align-items: flex-start; flex-direction: column; padding-block: 57px; }
  .equipment-detail-cta h2 { font-size: 34px; }
  .equipment-detail-cta > div > p:last-child { font-size: 12px; }
  .equipment-page-footer { flex-wrap: wrap; padding: 20px 18px; font-size: 9px; }
  .equipment-page-footer > span { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .equipment-detail-hero-image, .equipment-product-card, .equipment-product-image-wrap img, .catalog-transition, .catalog-transition::before, .catalog-transition::after, .catalog-transition-line::after { animation: none !important; transition-duration: .01ms !important; }
}
