/* Page-specific composition. Core visual tokens come from redesign/css/base.css. */
.complex-equipment-page { background: var(--gray-200); }

.complex-equipment-hero { position: relative; overflow: hidden; color: var(--white); background: var(--gradient-dark); }
.complex-equipment-hero::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(4, 7, 35, .94) 0%, rgba(4, 7, 35, .84) 37%, rgba(4, 7, 35, .28) 68%, rgba(4, 7, 35, .08) 100%); content: ''; pointer-events: none; }
.complex-equipment-hero__background { position: absolute; inset: 0; display: block; }
.complex-equipment-hero__layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); min-height: 570px; align-items: center; gap: 48px; }
.complex-equipment-hero__content { position: relative; z-index: 2; max-width: 690px; padding: 84px 0 62px; }
.complex-equipment-hero h1 { margin: 0; color: var(--white); font-size: clamp(36px, 4.1vw, 58px); line-height: 1.04; }
.complex-equipment-hero__content > p { max-width: 620px; margin: 24px 0; color: var(--white); font-size: clamp(17px, 1.1vw + 12px, 20px); line-height: 1.45; }
.complex-equipment__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.complex-equipment-hero__content .btn { width: 331px; min-height: 74px; padding: 20px 30px; border-radius: 17px; font-size: 19px; line-height: 1.5; }
.complex-equipment-hero .btn--outline { color: var(--white); border-color: rgba(255, 255, 255, .52); background: transparent; box-shadow: none; }
.complex-equipment-hero .btn--outline:hover, .complex-equipment-hero .btn--outline:focus-visible { border-color: var(--white); background: rgba(255, 255, 255, .1); opacity: 1; }
.complex-equipment-hero__facts { display: flex; gap: 20px; margin: 44px 0 0; padding: 0; list-style: none; }
.complex-equipment-hero__facts li { display: flex; max-width: 180px; align-items: center; gap: 10px; color: var(--white); font-size: 13px; line-height: 1.3; }
.complex-equipment-hero__facts svg { width: 42px; height: 42px; flex: 0 0 auto; padding: 9px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 10px; background: rgba(255, 255, 255, .06); fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.complex-equipment-hero__facts li > svg { display: none; }
.complex-equipment-hero__facts li::before { display: block; width: 42px; height: 42px; flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .28); border-radius: 10px; background-color: rgba(255, 255, 255, .06); background-position: center; background-repeat: no-repeat; background-size: 23px 23px; content: ''; }
.complex-equipment-hero__facts li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.8 2.8 8.2 7 10 4.2-1.8 7-5.2 7-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.complex-equipment-hero__facts li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1M9 11l1.5 1.5L13 10m-4 6 1.5 1.5L13 15m2-4h2m-2 5h2'/%3E%3C/svg%3E"); }
.complex-equipment-hero__facts li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13v-1a8 8 0 0 1 16 0v1M4 13v4h4v-5H4m16 1v4h-4v-5h4M16 19c0 1.2-1.8 2-4 2h-2'/%3E%3C/svg%3E"); }
.complex-equipment-hero__visual { position: relative; min-height: 430px; height: 100%; overflow: hidden; }
.complex-equipment-hero__home-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.complex-equipment-hero__orb { position: absolute; top: 7%; right: -120px; width: 520px; height: 520px; border: 1px solid rgba(164, 194, 255, .45); border-radius: 50%; box-shadow: inset 0 0 80px rgba(21, 93, 252, .42), 0 0 85px rgba(21, 93, 252, .22); }
.complex-equipment-hero__eye { position: absolute; z-index: 1; top: 31%; right: 0; width: 390px; fill: rgba(21, 93, 252, .16); stroke: #9fc2ff; stroke-width: 3; }
.complex-equipment-hero__eye circle:first-of-type { fill: rgba(21, 93, 252, .35); stroke: #c7daff; }
.complex-equipment-hero__eye circle:last-of-type { fill: var(--blue-900); stroke: none; }
.complex-equipment-hero__visual span { position: absolute; right: 55px; bottom: 95px; z-index: 2; color: #dce7ff; font-size: 18px; line-height: 1.35; }

.complex-equipment--light { padding: var(--section-padding-y) 0; background: var(--gray-200); }
.complex-equipment__intro { max-width: 760px; margin: 0 0 38px; }
.complex-equipment__intro .section__title, .complex-equipment--light > .container > .section__title { margin: 0; }
.complex-equipment__intro .section__text { margin-top: 14px; }
.complex-equipment__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--slider-gap-3); }
.complex-equipment__card { position: relative; overflow: hidden; display: flex; min-height: 560px; flex-direction: column; border: 1px solid var(--gray-100); border-radius: 14px; background: var(--white); box-shadow: var(--shadow); transition: transform var(--trn-200), box-shadow var(--trn-200); }
.complex-equipment__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-color); }
.complex-equipment__card-media { display: block; height: 210px; overflow: hidden; border-bottom: 1px solid var(--gray-100); background: var(--gray-300); text-decoration: none; }
.complex-equipment__card-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform var(--trn-350); }
.complex-equipment__card:hover .complex-equipment__card-media img { transform: scale(1.035); }
.complex-equipment__card-title { margin: 0 0 12px; color: var(--gray-700); font-size: clamp(22px, 1.6vw + 13px, 27px); line-height: 1.15; }
.complex-equipment__card-body { display: flex; min-height: 350px; flex: 1; flex-direction: column; padding: 24px 28px 28px; }
.complex-equipment__card-description { display: -webkit-box; overflow: hidden; margin: 0; color: var(--gray-500); font-size: 16px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.complex-equipment__card-price { display: flex; flex-direction: column; gap: 4px; margin: auto 0 0; color: var(--gray-500); font-size: 13px; }
.complex-equipment__card-price strong { color: var(--blue-400); font-size: 22px; line-height: 1.2; }
.complex-equipment__card-link { align-self: flex-start; margin-top: 16px; }

.complex-equipment-services { padding: var(--section-padding-y) 0; color: var(--white); background: var(--gradient-dark); }
.complex-equipment-services h2 { margin: 0 0 34px; color: var(--white); font-size: clamp(30px, 3vw, 44px); }
.complex-equipment-services__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.complex-equipment-services__grid article { padding: 22px; border: 1px solid rgba(174, 198, 255, .28); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.complex-equipment-services__icon { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; background: rgba(255, 255, 255, .06); color: var(--white); }
.complex-equipment-services__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.complex-equipment-services h3 { margin: 18px 0 8px; color: var(--white); font-size: 18px; line-height: 1.2; }
.complex-equipment-services p { margin: 0; color: rgba(255, 255, 255, .72); font-size: 15px; line-height: 1.45; }

.complex-equipment-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.complex-equipment-benefits article, .complex-equipment-benefits aside { padding: 24px; border: 1px solid var(--gray-100); border-radius: 14px; background: var(--white); box-shadow: var(--shadow); }
.complex-equipment-benefits__icon { display: grid; width: 44px; height: 44px; margin-bottom: 18px; place-items: center; border: 1px solid rgba(21, 93, 252, .16); border-radius: 12px; background: rgba(21, 93, 252, .1); color: var(--blue-400); }
.complex-equipment-benefits__icon--purple { border-color: rgba(79, 57, 246, .16); background: rgba(79, 57, 246, .1); color: var(--purple-400); }
.complex-equipment-benefits__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.complex-equipment-benefits h3 { margin: 0 0 10px; color: var(--gray-700); font-size: 19px; line-height: 1.2; }
.complex-equipment-benefits p { margin: 0; color: var(--gray-500); font-size: 16px; line-height: 1.45; }
.complex-equipment-benefits aside { border-color: transparent; color: var(--white); background: var(--gradient-dark); }
.complex-equipment-benefits aside h3 { color: var(--white); }
.complex-equipment-benefits aside p { color: rgba(255, 255, 255, .75); }
.complex-equipment-benefits aside .btn { margin-top: 20px; }

/* Detail page foundations. */
.complex-equipment__hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); gap: 48px; padding: 36px 0; }
.complex-equipment__placeholder { display: grid; min-height: 360px; place-items: center; border: 1px solid var(--gray-100); border-radius: 14px; background: var(--white); color: var(--gray-500); text-align: center; }
.complex-equipment__price { margin: 24px 0 6px; font-size: 24px; font-weight: 700; }
.complex-equipment__note { color: var(--gray-500); }
.complex-equipment__composition, .complex-equipment__cta { margin-top: 48px; padding: 32px; border: 1px solid var(--gray-100); border-radius: 14px; background: var(--white); }
.complex-equipment__items { display: grid; gap: 1px; margin-top: 24px; border: 1px solid var(--gray-100); background: var(--gray-100); }
.complex-equipment__item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 22px; background: var(--white); }
.complex-equipment__item h3 { margin: 0 0 8px; font-size: 20px; }
.complex-equipment__item p { margin: 5px 0; color: var(--gray-500); }
.complex-equipment__item a { display: inline-block; margin-top: 10px; color: var(--blue-400); font-weight: 700; }
.complex-equipment__item-number { color: var(--blue-400); font-weight: 700; }
.complex-equipment__cta { color: var(--white); border-color: transparent; background: var(--gradient-dark); }
.complex-equipment__cta .btn { margin-top: 12px; }
.complex-equipment-page a:focus-visible, .complex-equipment-page button:focus-visible { outline: 3px solid var(--blue-400); outline-offset: 3px; }

@media (max-width: 1000px) {
    .complex-equipment-hero__layout, .complex-equipment__hero { grid-template-columns: 1fr; }
    .complex-equipment-hero__visual { display: none; }
    .complex-equipment-services__grid { grid-template-columns: repeat(3, 1fr); }
    .complex-equipment-benefits { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) { .complex-equipment__grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) {
    .complex-equipment-hero__content { padding: 56px 0; }
    .complex-equipment-hero__content .btn { width: 100%; min-height: 60px; }
    .complex-equipment-hero__facts { display: grid; grid-template-columns: 1fr; gap: 14px; }
    .complex-equipment-hero__facts li { max-width: none; }
    .complex-equipment-services__grid, .complex-equipment-benefits { grid-template-columns: 1fr; }
    .complex-equipment-services__grid article, .complex-equipment__composition, .complex-equipment__cta { padding: 22px; }
    .complex-equipment__card-media { height: 200px; }
    .complex-equipment__card { min-height: 560px; }
    .complex-equipment__card-body { min-height: 360px; padding: 24px 24px 28px; }
    .complex-equipment__placeholder { min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) { .complex-equipment__card { transition: none; } .complex-equipment__card:hover { transform: none; } }

/* Complex equipment detail: a catalogue specification page within the site design system. */
.complex-equipment-detail { padding: calc(var(--section-padding-y) * .5) 0 var(--section-padding-y); background: var(--gray-200); }
.complex-equipment-detail__hero { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(370px, .94fr); gap: 20px; align-items: stretch; }
.complex-equipment-detail__gallery, .complex-equipment-detail__summary, .complex-equipment-detail__composition { border: 1px solid var(--gray-100); border-radius: 16px; background: var(--white); box-shadow: var(--shadow); }
.complex-equipment-detail__gallery { display: flex; overflow: hidden; padding: 0; border: 0; background: transparent; box-shadow: none; }
.complex-equipment-detail__main-image, .complex-equipment-detail__image-empty { display: block; width: 100%; min-height: 460px; height: 100%; border-radius: 16px; background: var(--gray-300); object-fit: cover; }
.complex-equipment-detail__image-empty { display: grid; place-items: center; color: var(--gray-500); font-size: 15px; text-align: center; }
.complex-equipment-detail__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.complex-equipment-detail__thumbs a { display: block; overflow: hidden; height: 86px; border: 2px solid transparent; border-radius: 8px; }
.complex-equipment-detail__thumbs a:first-child { border-color: var(--blue-400); }
.complex-equipment-detail__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.complex-equipment-detail__summary { padding: 34px; }
.complex-equipment-detail__summary h1 { margin: 0; color: var(--gray-700); font-size: clamp(31px, 3vw, 48px); line-height: 1.05; }
.complex-equipment-detail__lead { margin: 18px 0 0; color: var(--gray-600); font-size: 17px; line-height: 1.45; }
.complex-equipment-detail__normative { display: inline-flex; align-items: center; gap: 8px; margin: 20px 0 0; padding: 10px 13px; border: 0; border-radius: 9px; color: var(--blue-500); background: rgba(21, 93, 252, .09); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.25; text-align: left; text-decoration: none; }
a.complex-equipment-detail__normative { cursor: pointer; transition: background var(--trn-200), color var(--trn-200); }
.complex-equipment-detail__normative svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
a.complex-equipment-detail__normative:hover, a.complex-equipment-detail__normative:focus-visible { color: var(--white); background: var(--blue-400); outline: none; }
.complex-equipment-detail__price { display: grid; gap: 3px; margin: 27px 0 0; }
.complex-equipment-detail__price > span { color: var(--gray-500); font-size: 14px; }
.complex-equipment-detail__price strong { color: var(--blue-400); font-size: clamp(29px, 2.5vw, 41px); line-height: 1.05; }
.complex-equipment-detail__price small { color: var(--gray-500); font-size: 13px; line-height: 1.35; }
.complex-equipment-detail__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.complex-equipment-detail__actions .btn { flex: 1 1 190px; min-height: 52px; padding: 13px 20px; border-radius: 11px; }
.complex-equipment-detail__conditions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 24px 0 0; padding: 17px 0; border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); list-style: none; }
.complex-equipment-detail__conditions li { display: flex; align-items: center; gap: 8px; color: var(--gray-600); font-size: 13px; line-height: 1.25; }
.complex-equipment-detail__conditions svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: var(--blue-400); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.complex-equipment-detail__composition { margin-top: 32px; padding: 30px; }
.complex-equipment-detail__section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid var(--gray-100); }
.complex-equipment-detail__section-heading h2, .complex-equipment-detail__workflow h2, .complex-equipment-detail__faq h2 { margin: 0; color: var(--gray-700); font-size: clamp(26px, 2vw, 34px); line-height: 1.1; }
.complex-equipment-detail__section-heading span { color: var(--blue-500); font-size: 13px; text-align: right; }
.complex-equipment-detail__empty { margin: 0; padding: 28px 0 0; color: var(--gray-500); }
.complex-equipment-detail__items { margin-top: 4px; }
.complex-equipment-detail__item { display: grid; grid-template-columns: 40px 96px minmax(0, 1fr) minmax(115px, .26fr); gap: 14px; align-items: center; min-height: 94px; padding: 10px 0; border-bottom: 1px solid var(--gray-100); }
.complex-equipment-detail__item-number { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--blue-500); background: rgba(21, 93, 252, .09); font-size: 12px; font-weight: 700; }
.complex-equipment-detail__item-image { display: grid; width: 96px; height: 70px; place-items: center; overflow: hidden; border: 0; border-radius: 9px; background: var(--gray-200); }
.complex-equipment-detail__item-image img { width: 100%; height: 100%; padding: 5px; object-fit: contain; mix-blend-mode: multiply; }
.complex-equipment-detail__item-copy h3 { margin: 0; color: var(--gray-700); font-size: 16px; line-height: 1.22; }
.complex-equipment-detail__item-copy p { display: -webkit-box; overflow: hidden; margin: 4px 0 0; color: var(--gray-500); font-size: 13px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.complex-equipment-detail__item-copy a { display: inline-block; margin-top: 5px; color: var(--blue-500); font-size: 13px; font-weight: 700; }
.complex-equipment-detail__item-price { display: grid; justify-items: end; gap: 5px; text-align: right; }
.complex-equipment-detail__item-price span { padding: 4px 8px; border-radius: 6px; color: var(--blue-500); background: rgba(21, 93, 252, .08); font-size: 11px; white-space: nowrap; }
.complex-equipment-detail__item-price strong { color: var(--gray-700); font-size: 15px; white-space: nowrap; }
.complex-equipment-detail__cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 32px; padding: 30px 34px; overflow: hidden; border-radius: 16px; color: var(--white); background: var(--gradient-dark); }
.complex-equipment-detail__cta h2 { margin: 0; color: var(--white); font-size: clamp(26px, 2vw, 34px); line-height: 1.1; }
.complex-equipment-detail__cta p { max-width: 660px; margin: 10px 0 0; color: rgba(255, 255, 255, .78); line-height: 1.4; }
.complex-equipment-detail__cta .complex-equipment-detail__actions { min-width: 390px; margin: 0; }
.complex-equipment-detail__cta .btn--outline { color: var(--white); border-color: rgba(255, 255, 255, .55); background: transparent; }
.complex-equipment-detail__workflow, .complex-equipment-detail__faq { margin-top: 52px; }
.complex-equipment-detail__workflow ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.complex-equipment-detail__workflow li { position: relative; min-height: 174px; padding: 22px 17px; border: 1px solid var(--gray-100); border-radius: 12px; background: rgba(255, 255, 255, .72); }
.complex-equipment-detail__workflow li:not(:last-child)::after { position: absolute; top: 50%; right: -8px; z-index: 2; width: 16px; height: 16px; border-top: 2px solid var(--blue-400); border-right: 2px solid var(--blue-400); background: var(--gray-200); content: ''; transform: translateY(-50%) rotate(45deg); }
.complex-equipment-detail__workflow span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--blue-500); background: rgba(21, 93, 252, .1); font-size: 12px; font-weight: 700; }
.complex-equipment-detail__workflow strong { display: block; margin-top: 18px; color: var(--gray-700); font-size: 15px; line-height: 1.22; }
.complex-equipment-detail__workflow p { margin: 7px 0 0; color: var(--gray-500); font-size: 13px; line-height: 1.35; }
.complex-equipment-detail__faq > div { display: grid; gap: 8px; margin-top: 20px; }
.complex-equipment-detail__faq details { border-radius: 9px; background: rgba(21, 93, 252, .06); }
.complex-equipment-detail__faq summary { position: relative; padding: 15px 50px 15px 18px; color: var(--gray-700); cursor: pointer; font-weight: 700; list-style: none; }
.complex-equipment-detail__faq summary::-webkit-details-marker { display: none; }
.complex-equipment-detail__faq summary::after { position: absolute; top: 50%; right: 19px; color: var(--blue-500); content: '+'; font-size: 24px; font-weight: 400; transform: translateY(-50%); }
.complex-equipment-detail__faq details[open] summary::after { content: '−'; }
.complex-equipment-detail__faq details p { margin: 0; padding: 0 18px 16px; color: var(--gray-500); line-height: 1.45; }

@media (max-width: 1000px) {
    .complex-equipment-detail__hero { grid-template-columns: 1fr; }
    .complex-equipment-detail__main-image { height: min(62vw, 520px); }
    .complex-equipment-detail__workflow ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .complex-equipment-detail__workflow li::after { display: none; }
    .complex-equipment-detail__cta { display: block; }
    .complex-equipment-detail__cta .complex-equipment-detail__actions { min-width: 0; margin-top: 20px; }
}
@media (max-width: 700px) {
    .complex-equipment-detail { padding: calc(var(--section-padding-y) * .5) 0 var(--section-padding-y); }
    .complex-equipment-detail__summary, .complex-equipment-detail__composition { padding: 22px; }
    .complex-equipment-detail__main-image { height: 65vw; min-height: 250px; }
    .complex-equipment-detail__conditions { grid-template-columns: 1fr; gap: 10px; }
    .complex-equipment-detail__section-heading { display: block; }
    .complex-equipment-detail__section-heading span { display: block; margin-top: 9px; text-align: left; }
    .complex-equipment-detail__item { grid-template-columns: 34px 72px minmax(0, 1fr); gap: 10px; }
    .complex-equipment-detail__item-image { width: 72px; height: 56px; }
    .complex-equipment-detail__item-price { grid-column: 3; grid-row: 2; justify-items: start; text-align: left; }
    .complex-equipment-detail__workflow, .complex-equipment-detail__faq { margin-top: 38px; }
    .complex-equipment-detail__workflow ol { grid-template-columns: 1fr; }
    .complex-equipment-detail__workflow li { min-height: 0; }
    .complex-equipment-detail__cta { padding: 25px 22px; }
}
