:root {--body-font: 'Euclid Square',Arial,sans-serif; --header-font: 'Euclid Square',Arial,sans-serif; --header-height: 0px; --primary: #415f7a; --defult-font-color: #232323; --black: #000; --white: #fff; --gradient: linear-gradient(to right,#dfbe86 0%,#f8962d 100%)} body {font-family: var(--body-font); line-height: 1.5; margin: 0; color: var(--defult-font-color); overflow-x: clip} h1,h2,h3,h4,h5,h6 {font-family: var(--header-font); font-weight: 700; overflow-wrap: break-word} p {font-size: 1.1875rem; color: var(--defult-font-color); font-weight: 400} img {max-width: 100%; height: auto} a {transition: 300ms ease-in all} .container {max-width: 90%; margin: 0 auto; float: none !important} .g-recaptcha {max-width: 100%; line-height: 0} .slick-slider .slick-prev:before,.slick-slider .slick-next:before {font-family: boxicons !important} .slick-slider .slick-prev:before {content: "\eb34"} .slick-slider .slick-next:before {content: "\ebe7"} .slick-slide img {width: 100%} .contact-fab {position: fixed; right: 20px; bottom: 20px; z-index: 9999; display: flex; flex-direction: column; align-items: flex-end} .contact-fab__panel {position: absolute; right: 0; bottom: 100%; pointer-events: none; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; padding-bottom: 12px} .contact-fab__item {display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 16px; border-radius: 999px; color: #fff; font-size: 1.9rem; line-height: 1; text-decoration: none; box-shadow: 0 4px 14px rgba(0,0,0,0.18); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px) scale(0.85); transform-origin: bottom right; pointer-events: none; transition: opacity 0.25s ease,transform 0.25s ease,visibility 0.25s ease,background-color 0.25s ease} .contact-fab__item--whatsapp {background-color: #25d366} .contact-fab__item--whatsapp:hover,.contact-fab__item--whatsapp:focus-visible {background-color: #1eb455} .contact-fab__item--email {background-color: var(--primary)} .contact-fab__item--email:hover,.contact-fab__item--email:focus-visible {background-color: #34556f} .contact-fab__label {font-family: inherit; font-size: 0.95rem; font-weight: 500; line-height: 1.2; white-space: nowrap} .contact-fab__toggle {display: flex; justify-content: center; align-items: center; width: 3.125rem; height: 3.125rem; padding: 0; border: none; border-radius: 50%; background-color: var(--primary); color: #fff; font-size: 1.85rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,0.2); transition: background-color 0.25s ease,transform 0.25s ease} .contact-fab__toggle:hover,.contact-fab__toggle:focus-visible {background-color: #34556f; transform: translateY(-2px)} .contact-fab__toggle:focus-visible,.contact-fab__item:focus-visible {outline: 2px solid #fff; outline-offset: 2px} @media (hover: hover) and (pointer: fine) {.contact-fab:hover .contact-fab__panel,.contact-fab:focus-within .contact-fab__panel {pointer-events: auto} .contact-fab:hover .contact-fab__item,.contact-fab:focus-within .contact-fab__item {opacity: 1; visibility: visible; transform: translateY(0) scale(1); pointer-events: auto} .contact-fab:hover .contact-fab__item--whatsapp,.contact-fab:focus-within .contact-fab__item--whatsapp {transition-delay: 0.06s}} @media not all and (hover: hover) {.contact-fab.is-open .contact-fab__panel {pointer-events: auto} .contact-fab.is-open .contact-fab__item {opacity: 1; visibility: visible; transform: translateY(0) scale(1); pointer-events: auto} .contact-fab.is-open .contact-fab__item--whatsapp {transition-delay: 0.06s}} @media (max-width: 600px) {.contact-fab {right: 12px; bottom: 12px} .contact-fab__toggle {width: 2.75rem; height: 2.75rem; font-size: 1.6rem}} .nav-menu li a {text-transform: uppercase !important} #mobile-nav a {text-transform: uppercase !important} #header,#header.header-fixed {position: sticky !important; top: 0 !important; left: 0 !important; width: 100%; z-index: 1000; background-color: var(--white)} .nav-header .nav-row .nav-logo.site-header__brand {flex: 0 0 auto; padding: 18px 18px 18px 18px} .nav-header .nav-row .nav-logo .site-brand {display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 165px; color: var(--primary); text-decoration: none} .site-brand__mark {display: block; width: 100%; max-height: 46px; object-fit: contain} .site-brand__motto {display: block; position: relative; width: auto; max-width: 100%; min-height: 0; line-height: 1.25; margin: 6px auto 0; color: var(--primary); font-family: "Times New Roman",Times,serif; font-size: 9.5px; font-weight: 800; letter-spacing: 0; text-align: center; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; height: 12px; min-height: 12px; line-height: 12px; opacity: 1} .site-brand__motto-line {visibility: hidden} .site-brand__motto-type {position: absolute; left: 0; top: 0; white-space: nowrap} @media (max-width: 991px) {.nav-header .nav-row .nav-logo.site-header__brand {--brand-motto-size: 6.8px; --brand-header-h: 67px; --brand-motto-block: 18px; --brand-logo-w: calc(var(--brand-motto-size) * 19.28); --brand-logo-h: calc(var(--brand-logo-w) * 0.2406); padding-top: calc((var(--brand-header-h) - var(--brand-motto-block) - var(--brand-logo-h)) / 2); padding-bottom: calc((var(--brand-header-h) - var(--brand-motto-block) - var(--brand-logo-h)) / 2)} .nav-header .nav-row .nav-logo .site-brand {width: auto; align-items: flex-start} .nav-header .container {max-width: none; padding-left: 18px; padding-right: 18px} .nav-header .nav-row .nav-logo a img.site-brand__mark {width: var(--brand-logo-w); height: auto; max-height: none; margin: 0} .site-brand__motto {font-size: var(--brand-motto-size,6.8px); letter-spacing: 0; height: 12px; min-height: 12px; line-height: 12px; text-align: left}} @media (max-width: 359px) {.nav-header .nav-row .nav-logo.site-header__brand {--brand-motto-size: 5.8px}} @media (min-width: 992px) {.site-header__row {display: flex; align-items: center; width: 100%} .site-header__brand {flex: 0 0 auto} .header-right-side {display: flex; align-items: center; justify-content: center; flex: 1 1 auto; width: auto; padding: 0} #nav-menu-container {display: flex; align-items: center; justify-content: center; float: none !important; width: 100%} #nav-menu-container > .nav-menu {display: flex; align-items: center; justify-content: center; float: none !important; margin: 0; padding: 0}} .home-hero {position: relative; isolation: auto; display: flex; align-items: center; width: 100%; height: calc(100vh - var(--header-height)); height: calc(100dvh - var(--header-height)); margin: 0; min-height: 0; max-height: none; overflow: hidden; color: #fff; background-position: center; background-repeat: no-repeat; background-size: cover} .home-hero__video {position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none} .home-hero.video-autoplay-blocked .home-hero__video {display: none !important; visibility: hidden !important} .home-hero__overlay {position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; background: linear-gradient( 90deg,rgba(20,34,49,0.54) 0%,rgba(20,34,49,0.40) 48%,rgba(20,34,49,0.22) 100% )} .home-hero__container {position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 100%; padding-right: clamp(30px,7vw,135px); padding-left: clamp(30px,7vw,135px)} .home-hero__content {width: min(1050px,100%); padding: 0; text-align: left; transform: none} .home-hero__title {max-width: 1050px; margin: 0; color: #fff; font-size: clamp(2.4rem,3.2vw,3.9rem); line-height: 1.12; font-weight: 500; letter-spacing: -0.035em} .home-hero__description {max-width: 850px; margin: 24px 0 0; color: rgba(255,255,255,0.94); font-size: clamp(1.1rem,1.45vw,1.55rem); line-height: 1.45; font-weight: 400} .home-hero__actions {display: flex; align-items: center; flex-wrap: wrap; gap: 48px; margin-top: 45px} .home-hero__actions .btn {display: inline-flex; align-items: center; justify-content: center; min-width: 200px; min-height: 66px; padding: 14px 30px; border: 2px solid rgba(255,255,255,0.9); border-radius: 13px; color: #fff; font-size: 1.05rem; font-weight: 400; line-height: 1; letter-spacing: 0; text-decoration: none; text-transform: uppercase} .home-hero__primary-button {background-color: #466985} .home-hero__primary-button:hover {color: #fff; background-color: #34556f; border-color: #fff} .home-hero__secondary-button {background-color: rgba(255,255,255,0.03); backdrop-filter: blur(3px)} .home-hero__secondary-button:hover {color: #34556f; background-color: #fff; border-color: #fff} @media (max-width: 991px) {.home-hero__container {padding-right: 6%; padding-left: 6%} .home-hero__description {max-width: 720px} .home-hero__actions {gap: 20px}} @media (max-width: 767px) {.home-hero__video {display: block !important; visibility: visible !important; pointer-events: none !important; object-fit: cover} .home-hero__container {padding-right: 24px; padding-left: 24px} .home-hero__content {padding: 90px 0 75px} .home-hero__title {font-size: clamp(1.4rem,6.5vw,2.4rem)} .home-hero__title > span {display: block; max-width: 100%; overflow-wrap: anywhere} .home-hero__description {margin-top: 22px; font-size: 1rem; line-height: 1.55} .home-hero__actions {gap: 15px; margin-top: 32px} .home-hero__actions .btn {min-width: 165px; min-height: 56px; padding: 12px 20px; font-size: 1rem} .home-hero__overlay {background: linear-gradient( 90deg,rgba(20,34,49,0.72) 0%,rgba(20,34,49,0.52) 72%,rgba(20,34,49,0.35) 100% )}} @media (max-width: 480px) {.home-hero__actions {flex-direction: column; align-items: stretch} .home-hero__actions .btn {width: 100%}} @media (max-width: 767px) and (max-height: 650px) {.home-hero__content {padding: 40px 0} .home-hero__actions {margin-top: 24px}} @media (prefers-reduced-motion: reduce) {.home-hero__video {display: none}} .home-about,.home-services,.epc-mini-section,.home-featured-projects,.partners,.home-project-cta,footer {position: relative; z-index: 3} .home-about {padding: clamp(25px,3vw,45px) 0; background-color: #fff} .home-about__container {width: min(calc(100% - 40px),1240px); margin: 0 auto} .home-about__title {margin: 0 0 clamp(25px,3vw,40px); color: var(--primary); font-size: clamp(2.4rem,3.2vw,3.9rem); line-height: 1; font-weight: 500; letter-spacing: -0.04em; text-transform: uppercase} .home-about__layout {display: grid; grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr); align-items: stretch; gap: clamp(40px,6vw,85px)} .home-about__media {width: 100%; display: flex; min-width: 0; margin-top: 30px; height: var(--home-about-copy-h,auto)} .home-about__image {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 40px} .home-about__content {display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 30px} .home-about__copy {position: relative; width: 100%; width: 100%; padding-left: 0} .home-about__intro,.home-about__body,.home-about__body p {color: var(--defult-font-color); font-family: var(--body-font); font-size: clamp(1.05rem,1.25vw,1.35rem); line-height: 1.55; font-weight: 400} .home-about__intro {margin: 0 0 35px} .home-about__body {margin: 0} .home-about__body p {margin: 0 0 34px} .home-about__body p:last-child {margin-bottom: 0} .home-about__button {display: inline-flex; align-items: center; justify-content: center; width: min(360px,100%); min-height: 60px; margin-top: 38px; padding: 14px 30px; border: 2px solid var(--primary); border-radius: 10px; color: #fff; background-color: var(--primary); font-size: 1rem; line-height: 1; font-weight: 500; text-decoration: none; text-transform: uppercase; align-self: flex-start; margin-left: calc( 8px + clamp(28px,3vw,42px) )} .home-about__button:hover,.home-about__button:focus {color: var(--primary); background-color: transparent; text-decoration: none} @media (max-width: 1100px) {.home-about {padding: 60px 0} .home-about__title {margin-bottom: 50px; font-size: clamp(2.5rem,7vw,3.5rem)} .home-about__layout {grid-template-columns: 1fr; gap: 45px} .home-about__media {width: min(100%,700px); margin: 0 auto; height: auto; aspect-ratio: auto; max-height: 460px} .home-about__image {aspect-ratio: 4 / 3; border-radius: 30px} .home-about__content {align-items: flex-start; padding-top: 0} .home-about__text-row {display: block} .asaco-story-line {display: none} .home-about__copy {padding-top: 28px} .home-about__button {margin-left: 0}} @media (max-width: 575px) {.home-about {padding: 45px 0} .home-about__container {width: calc(100% - 40px)} .home-about__title {margin-bottom: 35px; font-size: 2.45rem} .home-about__layout {gap: 32px} .home-about__image {aspect-ratio: 1 / 1; border-radius: 24px} .home-about__intro,.home-about__body,.home-about__body p {font-size: 1rem; line-height: 1.55} .home-about__intro,.home-about__body p {margin-bottom: 25px} .home-about__button {width: 100%; min-height: 56px; margin-top: 28px}} .home-about__text-row {display: grid; grid-template-columns: 8px minmax(0,1fr); align-items: stretch; column-gap: clamp(28px,3vw,42px); width: 100%} .asaco-story-line {width: 8px; align-self: center; height: calc(100% + 6px); display: flex; align-items: stretch; justify-content: center; overflow: visible; position: relative} .asaco-story-line__svg {display: block; position: absolute; top: 0; left: 0; width: 8px; height: 100%; overflow: visible} .asaco-story-line__path {fill: none; stroke: var(--primary); stroke-width: 6; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 500; stroke-dashoffset: 500; transition: stroke-dashoffset 1.83s cubic-bezier(0.45,0.05,0.35,1)} .asaco-story-line.is-visible .asaco-story-line__path {stroke-dashoffset: 0} .home-about__media,.home-about__content {opacity: 0; transition: opacity 0.85s ease,transform 0.85s cubic-bezier(0.22,1,0.36,1); will-change: opacity,transform} .home-about__media {transform: translateY(50px)} .home-about__content {transform: translateY(-30px); transition-delay: 0.1s} .home-about.is-visible .home-about__media,.home-about.is-visible .home-about__content {opacity: 1; transform: translateY(0)} .home-services {padding: clamp(25px,3vw,45px) 0; color: var(--white); background-color: var(--primary)} .home-services__container {width: min(86%,1500px); margin: 0 auto} .home-services__header {max-width: 780px; margin-bottom: clamp(30px,4vw,60px)} .home-services__title {margin: 0; color: var(--white); font-size: clamp(2.4rem,3.2vw,3.9rem); line-height: 1.08; font-weight: 400; letter-spacing: -0.045em; text-transform: uppercase} .home-services__introduction {margin: 25px 0 0; color: rgba(255,255,255,0.94); font-size: clamp(1.05rem,1.4vw,1.35rem); line-height: 1.4; font-weight: 400} .home-services__card {display: grid; grid-template-columns: minmax(320px,36%) minmax(0,64%); width: 100%; color: inherit; text-decoration: none; overflow: hidden; cursor: pointer; background-color: var(--white); border: 1px solid rgba(255,255,255,0.75); border-radius: 38px; box-shadow: 0 20px 45px rgba(17,36,54,0.17); transition: transform 0.45s cubic-bezier(0.22,1,0.36,1),box-shadow 0.45s ease} .home-services__card-shell {position: relative; width: 100%; overflow: visible} .home-services__card-shell + .home-services__card-shell {margin-top: 35px} .home-services__card {transition: transform 0.45s cubic-bezier(0.22,1,0.36,1),box-shadow 0.45s ease} .home-services__card-shell:hover .home-services__card,.home-services__card-shell:focus-within .home-services__card {transform: translateY(-9px); box-shadow: 0 30px 65px rgba(17,36,54,0.27)} .home-services__card:focus {color: inherit; text-decoration: none} .home-services__card:focus-visible {outline: 3px solid #fff; outline-offset: 5px} .home-services__media {position: relative; display: block; min-width: 0; min-height: 340px; overflow: hidden; color: inherit; text-decoration: none} .home-services__image {display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; object-position: center; transition: transform 0.8s cubic-bezier(0.22,1,0.36,1)} .home-services__card:hover .home-services__image {transform: scale(1.055)} .home-services__content {display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: clamp(40px,3vw,60px) clamp(60px,4vw,80px); transition: transform 0.45s cubic-bezier(0.22,1,0.36,1)} .home-services__card:hover .home-services__content {transform: translateY(-3px)} .home-services__eyebrow {display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 22px; color: var(--primary); background-color: #edf1f4; border-radius: 999px; font-size: 0.95rem; line-height: 1; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase} .home-services__card-title {margin: 28px 0 0; color: var(--primary); font-size: clamp(2.1rem,3vw,3.25rem); line-height: 1.08; font-weight: 600; letter-spacing: -0.035em} .home-services__description {max-width: 760px; margin: 24px 0 0; color: #56616b; font-size: clamp(1.05rem,1.35vw,1.3rem); line-height: 1.55; font-weight: 400} .home-services__link {position: relative; display: inline-flex; align-items: center; gap: 14px; margin-top: 35px; padding-bottom: 11px; color: var(--primary); font-size: 1.05rem; line-height: 1; font-weight: 600; text-decoration: none} .home-services__link::after {content: ""; position: absolute; bottom: 0; left: 0; width: 68px; height: 3px; background-color: var(--primary); border-radius: 999px; transition: width 0.4s cubic-bezier(0.22,1,0.36,1)} .home-services__link:hover::after,.home-services__link:focus::after,.home-services__card:hover .home-services__link::after {width: 100%} .home-services__link:hover,.home-services__link:focus {color: var(--primary); text-decoration: none} .home-services__arrow {display: inline-block; transition: transform 0.35s cubic-bezier(0.22,1,0.36,1)} .home-services__link:hover .home-services__arrow,.home-services__link:focus .home-services__arrow,.home-services__card:hover .home-services__arrow {transform: translateX(7px)} @media (max-width: 991px) {.home-services {padding: 65px 0 80px} .home-services__container {width: min(90%,850px)} .home-services__header {margin-bottom: 45px} .home-services__card {grid-template-columns: 1fr; border-radius: 30px} .home-services__media {min-height: 360px; max-height: 470px} .home-services__image {min-height: 360px; max-height: 470px} .home-services__content {padding: 50px}} @media (max-width: 575px) {.home-services {padding: 50px 0 60px} .home-services__container {width: calc(100% - 36px)} .home-services__title {font-size: 2.45rem} .home-services__introduction {margin-top: 18px; font-size: 1rem; line-height: 1.5} .home-services__header {margin-bottom: 34px} .home-services__card {border-radius: 24px} .home-services__media,.home-services__image {min-height: 260px; max-height: 320px} .home-services__content {padding: 35px 26px 40px} .home-services__eyebrow {min-height: 36px; padding: 7px 17px; font-size: 0.875rem} .home-services__card-title {margin-top: 22px; font-size: 2rem} .home-services__description {margin-top: 18px; font-size: 1rem; line-height: 1.55} .home-services__link {margin-top: 28px}} @media (hover: none) {.home-services__card:hover {transform: none; box-shadow: 0 20px 45px rgba(17,36,54,0.17)} .home-services__card:hover .home-services__image,.home-services__card:hover .home-services__content,.home-services__card:hover .home-services__arrow {transform: none} .home-services__card:hover .home-services__link::after {width: 68px}} @media (prefers-reduced-motion: reduce) {.home-services__card,.home-services__image,.home-services__content,.home-services__link::after,.home-services__arrow {transition: none} .home-services__card:hover,.home-services__card:hover .home-services__image,.home-services__card:hover .home-services__content,.home-services__card:hover .home-services__arrow {transform: none}} .epc-mini-section {padding: 34px 0 60px; background: #f3f3f3} .epc-mini-container {width: min(94%,1500px); margin: 0 auto} .epc-mini-heading {margin: 0 0 24px; color: #456784; font-size: clamp(2.1rem,2.8vw,3.2rem); line-height: 1; font-weight: 600; text-transform: uppercase} .epc-mini-track {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; padding: 12px 0 4px} .epc-mini-card {display: flex; flex-direction: column; min-height: 395px; background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 10px 22px rgba(0,0,0,0.08)} .epc-mini-card__image-link {display: block; width: 100%; aspect-ratio: 1.45 / 1; overflow: hidden} .epc-mini-card__image {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.45s ease} .epc-mini-card:hover .epc-mini-card__image {transform: scale(1.05)} .epc-mini-card__body {padding: 26px 28px 18px; flex: 1} .epc-mini-card__title {margin: 0; color: #456784; font-size: 1.04rem; line-height: 1.18; font-weight: 700; text-transform: uppercase} .epc-mini-card__title a {color: inherit; text-decoration: none} .epc-mini-card__footer {display: flex; align-items: flex-end; justify-content: space-between; padding: 0 28px 22px} .epc-mini-card__line {display: block; width: 70px; height: 5px; background: #456784; border-radius: 999px; transition: width 0.3s ease} .epc-mini-card__arrow {width: 48px; height: 48px; flex: 0 0 48px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #5f7d98; border-radius: 10px; color: #456784; background: #fff; text-decoration: none; font-size: 1.6rem; line-height: 1; transition: all 0.3s ease} .epc-mini-card:hover .epc-mini-card__line {width: 92px} .epc-mini-card:hover .epc-mini-card__arrow {background: #456784; color: #fff; border-color: #456784} @media (max-width: 991px) {.epc-mini-track {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px} .epc-mini-card {min-height: 360px} .epc-mini-card__body {padding: 22px 22px 16px} .epc-mini-card__footer {padding: 0 22px 18px}} @media (max-width: 575px) {.epc-mini-section {padding: 28px 0 45px} .epc-mini-track {grid-template-columns: minmax(0,1fr); gap: 16px; padding: 10px 0 2px} .epc-mini-card {min-height: 310px; border-radius: 22px} .epc-mini-card__title {font-size: 0.95rem} .epc-mini-card__arrow {width: 42px; height: 42px; flex-basis: 42px; font-size: 1.35rem} .epc-mini-card__line {width: 56px; height: 4px}} .home-featured-projects {padding: 35px 0 45px; background-color: #fff; border-top: 4px solid var(--primary)} .home-featured-projects__container {width: min(86%,1500px); margin: 0 auto} .home-featured-projects__header {max-width: 760px; margin-bottom: 35px} .home-featured-projects__title {margin: 0; color: var(--primary); font-size: clamp(2.2rem,3vw,3.4rem); line-height: 1; font-weight: 500; letter-spacing: -0.045em; text-transform: uppercase} .home-featured-projects__introduction {max-width: 680px; margin: 16px 0 0; color: var(--defult-font-color); font-size: clamp(1.05rem,1.25vw,1.25rem); line-height: 1.4; font-weight: 400} .home-featured-projects__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 26px} .home-featured-projects__card-shell {position: relative; min-width: 0; padding-top: 4px} .home-featured-projects__card {display: flex; flex-direction: column; height: 100%; overflow: hidden; color: inherit; background-color: #fff; border-radius: 24px; box-shadow: 0 10px 24px rgba(28,48,65,0.12); text-decoration: none; transition: transform 0.4s cubic-bezier(0.22,1,0.36,1),box-shadow 0.4s ease} .home-featured-projects__card-shell:hover .home-featured-projects__card,.home-featured-projects__card-shell:focus-within .home-featured-projects__card {transform: translateY(-7px); box-shadow: 0 20px 40px rgba(28,48,65,0.19)} .home-featured-projects__card:hover,.home-featured-projects__card:focus {color: inherit; text-decoration: none} .home-featured-projects__card:focus-visible {outline: 3px solid var(--primary); outline-offset: 4px} .home-featured-projects__media {width: 100%; overflow: hidden; aspect-ratio: 16 / 9; border-top: 6px solid var(--primary); background-color: #e4e9ed} .home-featured-projects__image {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.7s cubic-bezier(0.22,1,0.36,1)} .home-featured-projects__card-shell:hover .home-featured-projects__image,.home-featured-projects__card-shell:focus-within .home-featured-projects__image {transform: scale(1.045)} .home-featured-projects__content {display: flex; flex: 1; flex-direction: column; justify-content: center; min-height: 90px; padding: 18px 24px 22px} .home-featured-projects__line {display: block; width: 52px; height: 4px; margin-bottom: 12px; background-color: var(--primary); border-radius: 999px; transition: width 0.35s cubic-bezier(0.22,1,0.36,1)} .home-featured-projects__card-shell:hover .home-featured-projects__line,.home-featured-projects__card-shell:focus-within .home-featured-projects__line {width: 76px} .home-featured-projects__card-title {margin: 0; color: var(--primary); font-size: clamp(1.25rem,1.5vw,1.6rem); line-height: 1.15; font-weight: 600; letter-spacing: -0.025em} .home-featured-projects__actions {display: flex; justify-content: center; margin-top: 32px} .home-featured-projects__button {display: inline-flex; align-items: center; justify-content: center; width: min(350px,100%); min-height: 52px; padding: 12px 28px; color: #fff; background-color: var(--primary); border: 2px solid var(--primary); border-radius: 11px; font-size: 1rem; line-height: 1; font-weight: 500; text-decoration: none; text-transform: uppercase; transition: color 0.3s ease,background-color 0.3s ease,transform 0.3s ease} .home-featured-projects__button:hover,.home-featured-projects__button:focus {color: var(--primary); background-color: transparent; text-decoration: none; transform: translateY(-2px)} @media (max-width: 991px) {.home-featured-projects {padding: 35px 0 45px} .home-featured-projects__container {width: min(90%,900px)} .home-featured-projects__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px} .home-featured-projects__card-shell:last-child:nth-child(odd) {grid-column: 1 / -1; width: min(100%,430px); justify-self: center}} @media (max-width: 620px) {.home-featured-projects {padding: 30px 0 40px} .home-featured-projects__container {width: calc(100% - 32px)} .home-featured-projects__header {margin-bottom: 28px} .home-featured-projects__title {font-size: 2.2rem} .home-featured-projects__introduction {margin-top: 15px; font-size: 1rem; line-height: 1.45} .home-featured-projects__grid {grid-template-columns: 1fr; gap: 20px} .home-featured-projects__card-shell:last-child:nth-child(odd) {grid-column: auto; width: 100%} .home-featured-projects__card {border-radius: 20px} .home-featured-projects__media {aspect-ratio: 16 / 10} .home-featured-projects__content {min-height: 82px; padding: 16px 20px 19px} .home-featured-projects__line {width: 45px; height: 3px; margin-bottom: 10px} .home-featured-projects__card-title {font-size: 1.35rem} .home-featured-projects__actions {margin-top: 27px} .home-featured-projects__button {width: 100%; min-height: 50px}} @media (hover: none) {.home-featured-projects__card-shell:hover .home-featured-projects__card {transform: none} .home-featured-projects__card-shell:hover .home-featured-projects__image {transform: none} .home-featured-projects__card-shell:hover .home-featured-projects__line {width: 52px}} @media (prefers-reduced-motion: reduce) {.home-featured-projects__card,.home-featured-projects__image,.home-featured-projects__line,.home-featured-projects__button {transition: none} .home-featured-projects__card-shell:hover .home-featured-projects__card,.home-featured-projects__card-shell:focus-within .home-featured-projects__card,.home-featured-projects__button:hover {transform: none}} .asaco-counter {position: relative; z-index: 6; padding: 60px 50px; background: var(--primary); color: #fff} .asaco-counter__grid {width: 100%; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px} .asaco-counter__item {min-width: 0; text-align: center} .asaco-counter__icon {display: block; width: 75px; height: 75px; margin: 0 auto 15px; object-fit: contain} .asaco-counter__label {margin: 0 0 10px; color: #fff; font-size: 1.5rem; font-weight: 500} .asaco-counter__value {display: flex; align-items: baseline; justify-content: center; gap: 5px; color: #fff; font-size: 3rem; line-height: 1; font-weight: 600} .asaco-counter__suffix,.asaco-counter__prefix {font-size: 2.7rem} .asaco-counter__unit {font-size: 1.4rem} @media (max-width: 991px) {.asaco-counter {padding: 40px 30px} .asaco-counter__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 25px}} @media (max-width: 575px) {.asaco-counter {padding: 35px 20px} .asaco-counter__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 15px} .asaco-counter__icon {width: 50px; height: 50px} .asaco-counter__label {font-size: 0.9rem} .asaco-counter__value {font-size: 1.9rem} .asaco-counter__suffix,.asaco-counter__prefix {font-size: 1.7rem} .asaco-counter__unit {font-size: 1rem}} .partners {padding: 40px 0 55px; color: var(--white); background-color: var(--primary)} .partners .container {width: min(86%,1500px); max-width: none; margin: 0 auto} .partners .sec-title {margin: 0 0 30px; color: var(--white); font-size: clamp(2.2rem,3vw,3.4rem); line-height: 1; font-weight: 500; letter-spacing: -0.045em; text-align: left; text-transform: uppercase} .partners .partners-content {padding: 30px 45px; background-color: var(--white); border-radius: 24px; box-shadow: 0 14px 35px rgba(20,35,50,0.2)} .partners .partners-content .slick-track {display: flex; align-items: center} .partners .partners-content .slick-slide {height: auto} .partners .partners-box {display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 10px 20px} .partners .partners-box a {display: flex; align-items: center; justify-content: center; width: 100%; text-decoration: none; cursor: pointer} .partners .partners-box a:focus-visible {outline: 3px solid rgba(65,95,122,0.45); outline-offset: 4px; border-radius: 6px} .partners .partners-box img {display: block; width: auto; max-width: 227.5px; max-height: 117px; margin: 0 auto; object-fit: contain; transition: transform 0.35s cubic-bezier(0.22,1,0.36,1)} .partners .partners-box a:hover img,.partners .partners-box a:focus-visible img {transform: scale(1.08)} .partners .slick-prev,.partners .slick-next {z-index: 2} .partners .slick-prev {left: 12px} .partners .slick-next {right: 12px} .partners .slick-prev::before,.partners .slick-next::before {color: var(--primary); opacity: 1} .partners .partners-content .slick-dots {bottom: -38px} .partners .slick-dots li button::before {color: var(--white); opacity: 0.55} .partners .slick-dots li.slick-active button::before {color: var(--white); opacity: 1} @media (max-width: 991px) {.partners {padding: 35px 0 50px} .partners .container {width: min(90%,900px)} .partners .partners-content {padding: 25px 35px; border-radius: 20px} .partners .partners-box img {max-width: 125px; max-height: 65px}} @media (max-width: 575px) {.partners {padding: 30px 0 45px} .partners .container {width: calc(100% - 32px)} .partners .sec-title {margin-bottom: 24px; font-size: 2.2rem} .partners .partners-content {padding: 22px 28px; border-radius: 18px} .partners .partners-box {min-height: 85px; padding: 8px 12px} .partners .partners-box img {max-width: 110px; max-height: 58px} .partners .slick-prev {left: 5px} .partners .slick-next {right: 5px}} .home-project-cta {padding: clamp(55px,6vw,90px) 0; background-color: #fff; border-top: 4px solid var(--primary)} .home-project-cta__container {width: min(calc(100% - 40px),1450px); margin: 0 auto; text-align: center} .home-project-cta__title {margin: 0; color: var(--primary); font-size: clamp(2.5rem,4vw,4.4rem); line-height: 1.08; font-weight: 500; letter-spacing: -0.045em} .home-project-cta__description {max-width: 980px; margin: clamp(25px,3vw,38px) auto 0; color: var(--primary); font-size: clamp(1.2rem,1.8vw,2rem); line-height: 1.4; font-weight: 400} .home-project-cta__button {display: inline-flex; align-items: center; justify-content: center; width: min(430px,100%); min-height: 68px; margin-top: clamp(42px,5vw,75px); padding: 14px 32px; color: #fff; background-color: var(--primary); border: 2px solid var(--primary); border-radius: 12px; font-size: clamp(1rem,1.2vw,1.25rem); line-height: 1; font-weight: 400; text-decoration: none; text-transform: uppercase; transition: color 0.3s ease,background-color 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease} .home-project-cta__button:hover,.home-project-cta__button:focus {color: var(--primary); background-color: transparent; text-decoration: none; transform: translateY(-3px); box-shadow: 0 12px 28px rgba(65,95,122,0.18)} .home-project-cta__button:focus-visible {outline: 3px solid var(--primary); outline-offset: 5px} @media (max-width: 991px) {.home-project-cta {padding: 55px 0 65px} .home-project-cta__title {font-size: clamp(2.4rem,6vw,3.6rem)} .home-project-cta__description {max-width: 760px; font-size: clamp(1.15rem,2.5vw,1.55rem)} .home-project-cta__button {min-height: 60px; margin-top: 45px}} @media (max-width: 575px) {.home-project-cta {padding: 42px 0 50px} .home-project-cta__container {width: calc(100% - 32px)} .home-project-cta__title {font-size: 2.25rem; line-height: 1.1} .home-project-cta__description {margin-top: 22px; font-size: 1.05rem; line-height: 1.5} .home-project-cta__button {width: 100%; min-height: 56px; margin-top: 34px; padding: 12px 22px; font-size: 0.95rem}} @media (prefers-reduced-motion: reduce) {.home-project-cta__button {transition: none} .home-project-cta__button:hover,.home-project-cta__button:focus {transform: none}} .scroll-animations-enabled .reveal {opacity: 0; transition: opacity 0.85s ease,transform 0.85s cubic-bezier(0.22,1,0.36,1); transition-delay: var(--reveal-delay,0s); will-change: opacity,transform} .scroll-animations-enabled .reveal--left {transform: translateX(-70px)} .scroll-animations-enabled .reveal--right {transform: translateX(70px)} .scroll-animations-enabled .reveal--up {transform: translateY(60px)} .scroll-animations-enabled .reveal.is-visible {opacity: 1; transform: translate3d(0,0,0)} .home-featured-projects__card-shell:nth-child(1) {--reveal-delay: 0.05s} .home-featured-projects__card-shell:nth-child(2) {--reveal-delay: 0.16s} .home-featured-projects__card-shell:nth-child(3) {--reveal-delay: 0.27s} .home-featured-projects__actions {--reveal-delay: 0.16s} @media (max-width: 1199px) {.scroll-animations-enabled .reveal--left {transform: translateY(35px)} .scroll-animations-enabled .reveal--right {transform: translateY(35px)} .scroll-animations-enabled .reveal--up {transform: translateY(35px)}} @media (prefers-reduced-motion: reduce) {.scroll-animations-enabled .reveal {opacity: 1; transform: none; transition: none}} .about-banner {position: relative; min-height: 460px; z-index: 1; background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; overflow: hidden} .about-banner-purpose {position: absolute; z-index: 5; left: 50%; bottom: 70px; transform: translateX(-50%); width: min(1650px,calc(100% - 130px)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px} .about-banner-purpose__card {position: relative; min-height: 285px; padding: 42px 48px; background: rgba(255,255,255,0.96); border-radius: 34px; box-shadow: 0 20px 50px rgba(15,35,55,0.14); overflow: hidden} .about-banner-purpose__eyebrow {display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 18px; border-radius: 999px; background: #eef2f5; color: var(--primary); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.02em} .about-banner-purpose__number {position: absolute; top: 30px; right: 38px; font-size: clamp(4rem,5.5vw,5.8rem); color: rgba(65,95,122,0.07); line-height: 1; font-weight: 700} .about-banner-purpose__card h2 {position: relative; z-index: 2; margin: 24px 0 16px; font-size: clamp(1.8rem,2.4vw,2.55rem); color: var(--primary); line-height: 1.08; font-weight: 700} .about-banner-purpose__card p {position: relative; z-index: 2; max-width: 92%; font-size: clamp(0.98rem,1.15vw,1.18rem); line-height: 1.65; margin: 0; color: #4f5d68} .about-banner-purpose__line {position: absolute; left: 0; top: 42px; width: 8px; height: 92px; border-radius: 0 8px 8px 0; background: var(--primary)} .about-banner-purpose__circle {position: absolute; right: -45px; bottom: -45px; width: 145px; height: 145px; border-radius: 50%; background: rgba(65,95,122,0.06)} .about-story {position: relative; z-index: 6; padding: 60px 0; background: #fff} .about-story__container {width: min(90%,1400px); margin: 0 auto} .about-story__title {margin: 0 0 clamp(25px,3vw,40px); color: var(--primary); font-size: clamp(2.4rem,3.2vw,3.9rem); line-height: 1; font-weight: 500; letter-spacing: -0.04em; text-transform: uppercase} .about-story__heading {position: relative; margin: 0 0 35px; padding-left: 28px; color: #232323; font-size: 1.6rem; line-height: 1.4; font-weight: 500} .about-story__heading::before {content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 100%; background: var(--primary)} .about-story__text,.about-story__text p,.about-story__text div {color: #3f4e5b; font-size: 1.07rem; line-height: 1.8} .about-story__text p {margin: 0 0 25px} .about-story__text p:last-child {margin-bottom: 0} @media (max-width: 767px) {.about-story {padding: 50px 0} .about-story__container {width: calc(100% - 40px)} .about-story__heading {margin-bottom: 25px; font-size: 1.25rem} .about-story__text,.about-story__text p,.about-story__text div {font-size: 1rem; line-height: 1.7}} @media (max-width: 991px) {.about-banner {min-height: auto; padding: 28px 0; margin-top: 0rem; background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: scroll; overflow: hidden} .about-banner-purpose {position: relative; left: auto; bottom: auto; transform: none; width: min(900px,calc(100% - 28px)); margin: 0 auto; grid-template-columns: 1fr; gap: 14px} .about-banner-purpose__card {min-height: auto; padding: 24px 24px 26px; border-radius: 22px} .about-banner-purpose__eyebrow {min-height: 30px; padding: 6px 15px; font-size: 0.78rem} .about-banner-purpose__number {top: 20px; right: 24px; font-size: 3.6rem} .about-banner-purpose__card h2 {margin: 18px 0 10px; font-size: 1.65rem; line-height: 1.1} .about-banner-purpose__card p {max-width: 100%; font-size: 0.95rem; line-height: 1.45} .about-banner-purpose__line {top: 28px; height: 70px; width: 6px} .about-banner-purpose__circle {width: 105px; height: 105px; right: -45px; bottom: -24px}} .about-reviews {padding: 75px 0 90px; background: #ffffff} .about-reviews__header {text-align: center; margin-bottom: 55px} .about-reviews__title {margin-bottom: 18px; color: var(--primary); font-size: clamp(2.1rem,3.2vw,3.2rem); line-height: 1.1; font-weight: 600; text-align: center; text-transform: uppercase} .about-reviews__header p {margin: 0; color: #232323; font-size: clamp(1.05rem,1.35vw,1.35rem); line-height: 1.5} .about-reviews__grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px} .about-reviews__card {background: var(--primary); color: #ffffff; padding: 30px 50px 25px; min-height: 200px; display: flex; flex-direction: column; justify-content: center} .about-reviews__stars {color: #f6c400; font-size: 1.35rem; line-height: 1; letter-spacing: 2px; margin-bottom: 30px} .about-reviews__text {margin: 0 0 26px; color: #ffffff; font-size: clamp(1rem,1.15vw,1.1rem); line-height: 1.65; font-weight: 400} .about-reviews__author {display: flex; align-items: center; gap: 16px; margin-top: auto} .about-reviews__avatar {width: 58px; height: 58px; border-radius: 50%; background: #ffffff; color: var(--primary); display: flex; align-items: center; justify-content: center; font-size: 1.35rem; font-weight: 700} .about-reviews__author h3 {margin: 0; color: #ffffff; font-size: 1.15rem; line-height: 1.2; font-weight: 600} .about-reviews__author span {display: block; margin-top: 4px; color: rgba(255,255,255,0.78); font-size: 0.9rem} @media (max-width: 991px) {.about-reviews {padding: 55px 0 65px} .about-reviews__header {margin-bottom: 34px} .about-reviews__grid {grid-template-columns: 1fr; gap: 18px} .about-reviews__card {min-height: auto; padding: 42px 38px}} @media (max-width: 575px) {.about-reviews__card {padding: 34px 26px} .about-reviews__stars {font-size: 1.1rem; margin-bottom: 22px} .about-reviews__text {font-size: 1rem; line-height: 1.55} .about-reviews__avatar {width: 48px; height: 48px; font-size: 1.1rem} .about-reviews__author h3 {font-size: 1rem}} .reveal-delay-1 {transition-delay: 0.16s} .reveal-delay-2 {transition-delay: 0.28s} @media (max-width: 991px) {#mobile-nav {top: var(--header-height) !important; height: calc(100dvh - var(--header-height)) !important; padding-top: 0 !important; overflow-y: auto !important; z-index: 9999 !important} #mobile-body-overly {top: var(--header-height) !important; height: calc(100dvh - var(--header-height)) !important}} @media (min-width: 992px) {.nav-header .container {max-width: min(1760px,calc(100% - 48px))} .site-header__row {display: grid !important; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: clamp(18px,2.2vw,48px); width: 100%; height: auto} .site-header__brand {min-width: 0; padding: 14px 0 !important} .nav-header .nav-row .nav-logo .site-brand {width: clamp(135px,10vw,170px)} .site-brand__motto {font-size: clamp(7px,0.52vw,8.8px)} .header-right-side {min-width: 0; width: 100%; padding: 0 !important; display: flex; align-items: center; justify-content: flex-end} #nav-menu-container.site-nav {display: flex !important; align-items: center; justify-content: flex-end; width: 100%; min-width: 0; padding: 0 !important; float: none !important} #nav-menu-container.site-nav > .site-nav__list {display: flex !important; align-items: center; justify-content: flex-end; flex-wrap: nowrap !important; gap: clamp(2px,0.3vw,6px); width: 100%; min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important} #nav-menu-container.site-nav > .site-nav__list > li {flex: 0 1 auto; min-width: 0; margin: 0 !important; border-radius: 999px; font-size: clamp(0.92rem,1.02vw,1.14rem); font-weight: 700; letter-spacing: 0.015em; line-height: 1; color: #101820} #nav-menu-container.site-nav > .site-nav__list > li > a {display: inline-flex !important; align-items: center; justify-content: center; gap: 7px; padding: 15px 24px !important; border-radius: 999px; color: inherit; text-decoration: none; white-space: nowrap; transition: color 0.25s ease,background-color 0.25s ease,box-shadow 0.25s ease,transform 0.25s ease} #nav-menu-container.site-nav>.site-nav__list>li:hover>a:not(.active),#nav-menu-container.site-nav>.site-nav__list>li>a:not(.active):focus-visible{color:var(--primary)!important;background:rgba(65,95,122,.12)}#nav-menu-container.site-nav>.site-nav__list>li>a.active{color:#fff!important}#nav-menu-container.site-nav>.site-nav__list:not(.nav-slide)>li>a.active{background:var(--primary);box-shadow:0 8px 22px rgba(65,95,122,.18)} #nav-menu-container.site-nav > .site-nav__list > li.menu-has-children > a > .menu-arrow {position: static; transform: rotate(0deg)} #nav-menu-container.site-nav > .site-nav__list > li.menu-has-children.sfHover > a > .menu-arrow {transform: rotate(180deg)} #nav-menu-container.site-nav .dropdown-menu li.menu-has-children > a {position: relative; padding-right: 42px !important} #nav-menu-container.site-nav .dropdown-menu li.menu-has-children > a > .menu-arrow {position: absolute; top: 50%; right: 12px; transform: translateY(-50%) rotate(-90deg)} #nav-menu-container.site-nav .dropdown-menu li.menu-has-children.sfHover > a > .menu-arrow {transform: translateY(-50%) rotate(0deg)} #nav-menu-container.site-nav .dropdown-menu {margin-top: 0px !important; padding: 10px !important; border: 0; border-radius: 18px; background: #ffffff; box-shadow: 0 24px 55px rgba(15,35,55,0.18); min-width: 245px} #nav-menu-container.site-nav .dropdown-menu li {margin: 0 !important; border-bottom: 0 !important} #nav-menu-container.site-nav .dropdown-menu li a {display: flex !important; align-items: center; width: 100%; padding: 11px 14px !important; border-radius: 12px; color: #33485c !important; font-size: 0.9rem; font-weight: 700; line-height: 1.25; text-transform: uppercase !important; white-space: normal} #nav-menu-container.site-nav .dropdown-menu li:hover>a,#nav-menu-container.site-nav .dropdown-menu li>a:focus-visible{color:var(--primary)!important;background:rgba(65,95,122,.12)} #mobile-nav-toggle {display: none !important}} @media (max-width: 991px) {#nav-menu-container {display: none !important} #mobile-nav-toggle {display: block !important}} .epc-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--epc-hero-image) center / cover no-repeat fixed} .epc-hero__content {max-width: 900px} .epc-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .epc-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem)} .epc-content {padding: 100px 0; background: #fff} .epc-row {display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px} .epc-row + .epc-row {margin-top: 100px} .epc-row--top .epc-text {grid-column: 1} .epc-row--top .epc-image {grid-column: 2} .epc-row--bottom .epc-image {grid-column: 1} .epc-row--bottom .epc-text {grid-column: 2} .epc-text {font-family: var(--body-font); font-size: clamp(1rem,1.25vw,1.25rem); line-height: 1.8; color: #3f4e5b} .epc-text p,.epc-text ul,.epc-text ol,.epc-text blockquote {margin: 0 0 1.25em} .epc-text h2,.epc-text h3,.epc-text h4 {margin: 1.4em 0 0.55em; color: var(--primary); line-height: 1.2; font-weight: 600} .epc-text h2 {font-size: 1.65rem} .epc-text h3 {font-size: 1.35rem} .epc-text h4 {font-size: 1.15rem} .epc-text a {color: var(--primary); overflow-wrap: anywhere} .epc-text img,.epc-text video,.epc-text iframe {max-width: 100%} .epc-text table {display: block; max-width: 100%; overflow-x: auto} .epc-image {width: 100%; height: 420px; object-fit: cover; border-radius: 20px} .epc-row--text-only {grid-template-columns: 1fr} .epc-row--text-only .epc-text {grid-column: 1} .epc-accent {width: 86px; height: 9px; margin: clamp(80px,9vw,135px) auto 40px; border-radius: 2px; background: var(--primary)} .epc-cta {max-width: 1100px; margin: 0 auto; text-align: center} .epc-cta__title {max-width: auto; margin: 0 auto; color: #172a3a; font-size: clamp(2rem,3.5vw,3.6rem); line-height: 1.08; font-weight: 700; letter-spacing: -0.04em; text-transform: uppercase} .epc-cta__text {max-width: 680px; margin: 24px auto 32px; color: #5d6a75; font-size: clamp(1rem,1.25vw,1.15rem); line-height: 1.75} .epc-cta__button {display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 32px; border: 1px solid var(--primary); border-radius: 999px; background: var(--primary); color: #ffffff !important; font-size: 0.92rem; font-weight: 700; letter-spacing: 0.035em; text-decoration: none; text-transform: uppercase; transition: background-color 0.25s ease,color 0.25s ease,transform 0.25s ease} .epc-cta__button:hover {background: #ffffff; color: var(--primary) !important; transform: translateY(-2px)} @media (max-width: 767px) {.epc-hero {min-height: 220px; padding: 50px 20px; background-attachment: scroll; background-position: center} .epc-content {padding: 45px 0 60px} .epc-row {grid-template-columns: 1fr; gap: 28px} .epc-row + .epc-row {margin-top: 55px} .epc-row--top .epc-text,.epc-row--top .epc-image,.epc-row--bottom .epc-image,.epc-row--bottom .epc-text {grid-column: 1} .epc-row--bottom .epc-text {order: 1} .epc-row--bottom .epc-image {order: 2} .epc-image {height: 280px} .epc-accent {margin-top: 65px} .epc-cta {width: calc(100% - 40px); margin-left: auto; margin-right: auto}} .products-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background-image: linear-gradient( rgba(0,0,0,0.5),rgba(0,0,0,0.5) ),var( --products-hero-image,linear-gradient( var(--primary),var(--primary) ) ); background-position: center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed} .products-hero__content {max-width: 900px} .products-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .products-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem); font-weight: 400} @media (max-width: 767px) {.products-hero {min-height: 220px; padding: 50px 20px; background-attachment: scroll; background-position: center}} .products-browser {padding: 70px 50px 100px; background: #fff} .products-browser__layout {width: 100%; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 60px; align-items: start} .products-category-sidebar {position: sticky; top: calc(var(--header-height) + 25px); align-self: start; z-index: 20} .products-category-nav {padding: 22px 18px; background: #fff; border: 1px solid #e0e6eb; border-radius: 18px; box-shadow: 0 8px 24px rgba(25,45,65,0.07)} .products-category-nav__title {display: block; margin-bottom: 15px; padding: 0 10px 14px; border-bottom: 1px solid #e3e8ed; color: var(--primary); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase} .products-category-nav__list {display: flex; flex-direction: column; gap: 5px} .products-category-nav__link {display: block; padding: 13px 15px; border-radius: 10px; color: #586875; font-size: 0.95rem; line-height: 1.3; font-weight: 500; text-decoration: none; transition: background-color 0.25s ease,color 0.25s ease,transform 0.25s ease} .products-category-nav__link:hover {color: var(--primary); background: #f0f4f7; text-decoration: none} .products-category-nav__link.is-active {color: #fff; background: var(--primary); font-weight: 600; transform: translateX(4px)} .products-sections {min-width: 0} .products-category {padding-bottom: 85px; scroll-margin-top: calc(var(--header-height) + 40px)} .products-category:last-child {padding-bottom: 0} .products-category__header {display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-bottom: 30px} .products-category__title {min-width: 0; flex: 1 1 260px; margin: 0; color: var(--primary); font-size: clamp(1.9rem,2.6vw,2.8rem); line-height: 1.1; font-weight: 500; overflow-wrap: anywhere} .products-category__line {display: block; width: 100%; height: 3px; background: var(--primary); opacity: 0.18} .products-category__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px} .product-overview-card {min-width: 0; overflow: hidden; background: #fff; border: 1px solid #e2e7ec; border-radius: 20px; box-shadow: 0 8px 24px rgba(28,48,65,0.08); transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),box-shadow 0.35s ease} .product-overview-card:hover {transform: translateY(-6px); box-shadow: 0 18px 38px rgba(28,48,65,0.15)} .product-overview-card__link {display: block; color: inherit; text-decoration: none} .product-overview-card__link:hover {color: inherit; text-decoration: none} .product-overview-card__visual {height: 190px; display: flex; align-items: center; justify-content: center; padding: 30px; background: #f7f9fb} .product-overview-card__logo {display: block; width: auto; max-width: 85%; max-height: 105px; object-fit: contain} .product-overview-card__fallback {color: var(--primary); font-size: 1.5rem; font-weight: 600; text-align: center} .product-overview-card__footer {min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 20px} .product-overview-card__name {color: var(--primary); font-size: 1rem; font-weight: 600} .product-overview-card__footer i {color: var(--primary); font-size: 1.6rem; transition: transform 0.3s ease} .product-overview-card:hover .product-overview-card__footer i {transform: translateX(5px)} @media (max-width: 991px) {.products-browser {padding: 60px 30px 80px} .products-browser__layout {grid-template-columns: 200px minmax(0,1fr); gap: 35px} .products-category__grid {grid-template-columns: repeat(2,minmax(0,1fr))}} @media (max-width: 767px) {.products-browser {padding: 0 0 65px} .products-browser__layout {display: block; width: 100%; max-width: none} .products-category-sidebar {position: sticky; top: var(--header-height); z-index: 100; width: 100%; background: rgba(255,255,255,0.97); border-bottom: 1px solid #dfe5ea; box-shadow: 0 5px 15px rgba(20,40,60,0.07); backdrop-filter: blur(12px)} .products-category-nav {padding: 10px 0; border: 0; border-radius: 0; box-shadow: none; background: transparent} .products-category-nav__title {display: none} .products-category-nav__list {flex-direction: row; gap: 8px; padding: 0 16px; overflow-x: auto; overflow-y: hidden; white-space: nowrap; scrollbar-width: none} .products-category-nav__list::-webkit-scrollbar {display: none} .products-category-nav__link {flex: 0 0 auto; padding: 9px 15px; border: 1px solid #dce3e8; border-radius: 999px; background: #fff; color: #526372; white-space: nowrap; transform: none} .products-category-nav__link.is-active {color: #fff; background: var(--primary); border-color: var(--primary); transform: none} .products-sections {padding: 42px 20px 0} .products-category {padding-bottom: 60px; scroll-margin-top: calc(var(--header-height) + 70px)} .products-category__header {margin-bottom: 22px} .products-category__title {font-size: 1.8rem} .products-category__line {height: 2px} .products-category__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px} .product-overview-card__visual {height: 140px; padding: 20px} .product-overview-card__footer {min-height: 60px; padding: 13px 14px} .product-overview-card__name {font-size: 0.9rem}} @media (max-width: 430px) {.products-category__grid {grid-template-columns: 1fr} .product-overview-card__visual {height: 160px}} .products-cta {padding: 20px 30px 100px; background: #fff} .products-cta__accent {width: 86px; height: 9px; margin: 0 auto 40px; border-radius: 2px; background: var(--primary)} .products-cta__content {max-width: 1100px; margin: 0 auto; text-align: center} .products-cta__title {margin: 0 auto; color: #172a3a; font-size: clamp(2rem,3.5vw,3.6rem); line-height: 1.08; font-weight: 700; letter-spacing: -0.04em; text-transform: uppercase} .products-cta__text {max-width: 680px; margin: 24px auto 32px; color: #5d6a75; font-size: clamp(1rem,1.25vw,1.15rem); line-height: 1.75} .products-cta__button {display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 32px; border: 1px solid var(--primary); border-radius: 999px; background: var(--primary); color: #ffffff !important; font-size: 0.92rem; font-weight: 700; letter-spacing: 0.035em; text-decoration: none; text-transform: uppercase; transition: background-color 0.25s ease,color 0.25s ease,transform 0.25s ease} .products-cta__button:hover {background: #ffffff; color: var(--primary) !important; transform: translateY(-2px); text-decoration: none} @media (max-width: 767px) {.products-cta {padding: 10px 20px 65px} .products-cta__accent {margin-bottom: 32px} .products-cta__content {width: calc(100% - 20px)}} .product-inner {padding: 10px 50px; background: #fff} .product-inner__layout {display: grid; grid-template-columns: 1.2fr 0.8fr; grid-template-areas: "content media" "button  media"; align-items: center; column-gap: 40px; row-gap: 30px} .product-inner__layout--no-image {grid-template-columns: 1fr; grid-template-areas: "content" "button"} .product-inner__layout--no-image .product-inner__content {width: 100%; max-width: none} .product-inner__layout > :first-child {grid-area: content} .product-inner__media {grid-area: media} .product-inner__button {grid-area: button; justify-self: start} .product-inner__logo {display: block; width: auto; max-width: 260px; max-height: 120px; margin-bottom: 15px; border: 0; border-radius: 0; background: transparent; box-shadow: none} .product-inner__description {font-size: 1.125rem; line-height: 1.7; color: #3f4e5b} .product-inner__button {display: inline-flex; align-items: center; justify-content: center; margin-top: 30px; padding: 12px 25px; border-radius: 8px; background: var(--primary); color: #fff; text-decoration: none; font-weight: 600; line-height: 1.5} .product-inner__button:hover {background: #111; color: #fff} .product-inner__media {min-width: 0; display: flex; justify-content: center; align-items: center; width: 100%; overflow: visible} .product-inner__image {display: block; width: 100%; max-width: 100%; height: auto; max-height: 520px; object-fit: contain; border-radius: 18px} @media (max-width: 991px) {.product-inner {padding: 10px 30px} .product-inner__layout {grid-template-columns: 1fr; grid-template-areas: "content" "media" "button"; gap: 30px} .product-inner__logo {max-width: 240px; max-height: 110px} .product-inner__media {order: -1; justify-content: flex-start} .product-inner__image {width: 90%; max-height: 480px}} @media (max-width: 767px) {.product-inner {padding: 10px 20px} .product-inner__layout {gap: 35px} .product-inner__logo {max-width: 210px; max-height: 100px; margin-bottom: 15px} .product-inner__description {font-size: 1rem; line-height: 1.7} .product-inner__button {margin-top: 25px} .product-inner__image {width: 100%; max-height: 420px}} .project-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background-image: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--project-hero-image); background-position: center; background-repeat: no-repeat; background-size: cover; background-attachment: fixed} .project-hero__content {max-width: 900px} .project-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .project-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem)} @media (max-width: 767px) {.project-hero {min-height: 220px; padding: 50px 20px; background-attachment: scroll; background-position: center}} .featured-projects {padding: 90px 50px; background: #fff} .featured-projects__container {width: 100%; max-width: 1400px; margin: 0 auto} .featured-projects__title {margin: 0 0 60px; text-align: left; font-size: clamp(2rem,3vw,3rem); color: var(--primary); font-weight: 600} .featured-projects__intro {margin: -5px 0 55px; color: #5d6a75; font-size: clamp(1rem,1.2vw,1.15rem); line-height: 1.75; font-weight: 400} .featured-projects__location {margin-bottom: 70px; color: var(--primary)} .featured-projects__location:last-child {margin-bottom: 0} .featured-projects__location-title {margin: 0 0 25px; font-size: 1.7rem; font-weight: 500} .featured-projects__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px} .featured-projects__card {min-width: 0} .featured-projects__image-wrap {position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 16px} .featured-projects__image {display: block; width: 100%; height: 100%; object-fit: cover} .featured-projects__card-title {position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; color: #fff; font-size: 1.2rem; font-weight: 500; background: linear-gradient( transparent,rgba(0,0,0,0.8) )} @media (max-width: 991px) {.featured-projects {padding: 70px 30px} .featured-projects__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px} .featured-projects__image-wrap {height: 280px}} @media (max-width: 600px) {.featured-projects {padding: 55px 20px} .featured-projects__title {margin-bottom: 40px} .featured-projects__location {margin-bottom: 50px} .featured-projects__location-title {margin-bottom: 18px; font-size: 1.4rem} .featured-projects__grid {grid-template-columns: 1fr; gap: 20px} .featured-projects__image-wrap {height: 250px} .featured-projects__card-title {padding: 18px; font-size: 1.05rem}} .epc-hero__title,.products-hero__title,.projects-hero__title,.news-hero__title,.news-details-hero__title,.contact-hero__title {line-height: 1.15; overflow-wrap: anywhere} .news-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--news-hero-image) center / cover no-repeat fixed} .news-hero__content {max-width: 900px} .news-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .news-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem)} .news-list {padding: 90px 50px; background: #fff} .news-list__container {width: 100%; max-width: 1400px; margin: 0 auto} .news-list__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px} .news-card {display: flex; flex-direction: column; min-width: 0; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 28px rgba(0,0,0,0.08)} .news-card__image-link {display: block; width: 100%; height: 250px; overflow: hidden} .news-card__image {display: block; width: 100%; height: 100%; object-fit: cover} .news-card__content {display: flex; flex-direction: column; flex: 1; padding: 24px} .news-card__meta {margin-bottom: 12px; color: #7a8791; font-size: 0.85rem; line-height: 1.5} .news-card__meta span {margin: 0 6px} .news-card__title {margin: 0; color: #1d2a33; font-size: 1.25rem; font-weight: 600; line-height: 1.4} .news-card__link {margin-top: auto; padding-top: 24px; color: var(--primary); font-weight: 600; text-decoration: none} .news-card__link:hover {color: #111} @media (max-width: 991px) {.news-list {padding: 70px 30px} .news-list__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px} .news-card__image-link {height: 230px}} @media (max-width: 600px) {.news-hero {min-height: 280px; padding: 60px 20px; background-attachment: scroll; background-position: center} .news-list {padding: 55px 20px} .news-list__grid {grid-template-columns: 1fr; gap: 22px} .news-card__image-link {height: 220px} .news-card__content {padding: 20px} .news-card__title {font-size: 1.1rem}} .news-details-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--news-details-hero-image) center / cover no-repeat fixed} .news-details-hero__content {max-width: 900px} .news-details-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .news-details-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem)} .news-details {padding: 90px 50px; background: #fff} .news-details__container {width: 100%; max-width: 1200px; margin: 0 auto} .news-details__article {display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: start; gap: 60px} .news-details__media {min-width: 0} .news-details__image {display: block; width: 100%; max-width: 100%; height: auto; border-radius: 18px; object-fit: contain} .news-details__content {min-width: 0} .news-details__meta {margin-bottom: 15px; color: #7a8791; font-size: 0.9rem} .news-details__meta span {margin: 0 7px} .news-details__title {margin: 0 0 25px; color: #1d2a33; font-size: clamp(1.8rem,3vw,3rem); font-weight: 500; line-height: 1.2} .news-details__description {color: #3f4e5b; font-size: 1.1rem; line-height: 1.8; overflow-wrap: anywhere} .product-inner__description,.news-details__description {overflow-wrap: anywhere} .product-inner__description img,.product-inner__description video,.product-inner__description iframe,.news-details__description img,.news-details__description video,.news-details__description iframe {max-width: 100%} .product-inner__description table,.news-details__description table {display: block; max-width: 100%; overflow-x: auto} .news-details__article--no-image {grid-template-columns: 1fr} .news-details__article--no-image .news-details__content {width: 100%} @media (max-width: 991px) {.news-details {padding: 70px 30px} .news-details__article {grid-template-columns: 1fr; gap: 40px} .news-details__image {max-height: 500px}} @media (max-width: 600px) {.news-details-hero {min-height: 280px; padding: 60px 20px} .news-details {padding: 55px 20px} .news-details__article {gap: 30px} .news-details__title {margin-bottom: 20px} .news-details__description {font-size: 1rem; line-height: 1.7}} .contact-hero {min-height: 325px; display: grid; place-items: center; padding: 80px 24px; text-align: center; color: #fff; background: linear-gradient(rgba(0,0,0,0.5),rgba(0,0,0,0.5)),var(--contact-hero-image) center / cover no-repeat fixed} .contact-hero__content {max-width: 900px} .contact-hero__title {margin: 0; color: #fff; font-weight: 500; font-size: clamp(1.25rem,3vw,3rem)} .contact-hero__heading {margin: 20px 0 0; color: #fff; font-size: clamp(0.8rem,1.5vw,1.5rem)} @media (max-width: 767px) {.contact-hero {min-height: 325px; padding: 60px 20px; background-attachment: scroll}} .contact-page {padding: 90px 50px; background: #fff} .contact-page__container {width: 100%; max-width: 1400px; margin: 0 auto} .contact-page__layout {display: grid; grid-template-columns: 0.9fr 1.1fr 1fr; align-items: start; gap: 45px; min-width: 0} .contact-page__office {margin: 0 0 28px; color: var(--primary); font-size: 1.6rem; font-weight: 500} .contact-page__detail {display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; color: #3f4e5b; line-height: 1.6} .contact-page__detail i {margin-top: 3px; color: var(--primary); font-size: 1.3rem} .contact-page__detail a {color: inherit; text-decoration: none; overflow-wrap: anywhere} .contact-page__detail > div,.contact-page__phones {min-width: 0} .contact-page__phones {display: flex; flex-wrap: wrap; gap: 5px} .contact-page__form-wrap {min-width: 0} .contact-page__form {display: grid; gap: 14px} .contact-page__input,.contact-page__textarea {width: 100%; padding: 13px 15px; border: 1px solid #d9dee3; border-radius: 8px; background: #fff; color: #1d2a33; font: inherit} .contact-page__textarea {min-height: 150px; resize: vertical} .contact-page__input:focus,.contact-page__textarea:focus {outline: none; border-color: var(--primary)} .contact-page__captcha {width: 100%; max-width: 100%; margin-top: 4px; overflow: hidden} .contact-page__captcha .g-recaptcha {transform: scale(0.97); transform-origin: top left} .contact-page__submit {width: 100%; padding: 13px 20px; border: 0; border-radius: 8px; background: var(--primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer} .contact-page__submit:hover {background: #111} .contact-page__error {margin-bottom: 15px; color: #b42318} .contact-page__map {width: 100%; min-width: 0} .contact-page__map iframe {display: block; width: 100% !important; height: 320px !important; border: 0; border-radius: 14px} @media (max-width: 991px) {.contact-hero {min-height: 420px} .contact-page {padding: 70px 30px} .contact-page__layout {grid-template-columns: 1fr 1fr; gap: 35px} .contact-page__map {grid-column: 1 / -1} .contact-page__map iframe {height: 300px !important}} @media (max-width: 767px) {.contact-page__captcha .g-recaptcha,.site-footer__captcha .g-recaptcha {transform: scale(0.86); transform-origin: top left; margin-bottom: -10px}} @media (max-width: 600px) {.contact-hero {min-height: 350px; padding: 60px 20px; background-position: center} .contact-page {padding: 55px 20px} .contact-page__layout {grid-template-columns: 1fr; gap: 35px} .contact-page__map {grid-column: auto} .contact-page__office {font-size: 1.4rem} .contact-page__map iframe {height: 260px !important}} .contact-section-bar {width: 100%; max-width: 1400px; height: 8px; margin: 0 auto; background: var(--primary); border-radius: 0px} .contact-faq {padding: 80px 50px; background: #fff} .contact-faq__container {width: 100%; max-width: 1400px; margin: 0 auto} .contact-faq__label {display: inline-flex; margin-bottom: 20px; padding: 7px 16px; border-radius: 999px; background: #eef1f4; color: var(--primary); font-size: 0.8rem; font-weight: 700} .contact-faq__title {max-width: 900px; margin: 0; color: var(--primary); font-size: clamp(2rem,3vw,3.2rem); line-height: 1.1; font-weight: 600} .contact-faq__intro {max-width: 950px; margin: 22px 0 45px; color: #5d6670; font-size: 1rem; line-height: 1.7} .contact-faq__list {display: grid; gap: 14px} .contact-faq__item {position: relative; border: 1px solid #e0e5ea; border-radius: 20px; background: #fff; overflow: hidden; box-shadow: 0 7px 20px rgba(25,45,65,0.07)} .contact-faq__item::before {content: ""; position: absolute; z-index: 2; left: 0; top: 20px; bottom: 20px; width: 5px; border-radius: 0 5px 5px 0; background: var(--primary)} .contact-faq__question {width: 100%; min-height: 85px; display: grid; grid-template-columns: 35px minmax(0,1fr) 42px; align-items: center; gap: 12px; padding: 20px 30px 20px 36px; border: 0; background: transparent; text-align: left; font-family: inherit; cursor: pointer} .contact-faq__number {color: #9aa8b6; font-size: 0.82rem; font-weight: 700} .contact-faq__question-text {color: var(--primary); font-size: 1.08rem; line-height: 1.35; font-weight: 600} .contact-faq__icon {position: relative; width: 38px; height: 38px; border-radius: 50%; background: #f0f3f5} .contact-faq__icon::before,.contact-faq__icon::after {content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; background: var(--primary); transform: translate(-50%,-50%); transition: transform 0.35s ease} .contact-faq__icon::after {transform: translate(-50%,-50%) rotate(90deg)} .contact-faq__item.is-open .contact-faq__icon::after {transform: translate(-50%,-50%) rotate(0deg)} .contact-faq__answer {max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.22,1,0.36,1),opacity 0.3s ease} .contact-faq__item.is-open .contact-faq__answer {opacity: 1} .contact-faq__answer-inner {padding: 0 80px 26px 83px; max-width: 1150px; color: #596773; font-size: 0.95rem; line-height: 1.7} @media (max-width: 991px) {.contact-faq {padding: 70px 30px} .contact-faq__answer-inner {padding: 0 65px 25px 78px}} @media (max-width: 600px) {.contact-faq {padding: 55px 20px} .contact-faq__intro {margin-bottom: 30px} .contact-faq__item {border-radius: 16px} .contact-faq__question {min-height: 78px; grid-template-columns: 27px minmax(0,1fr) 35px; gap: 8px; padding: 18px 16px 18px 22px} .contact-faq__question-text {font-size: 1rem} .contact-faq__number {font-size: 0.8rem} .contact-faq__icon {width: 34px; height: 34px} .contact-faq__answer-inner {padding: 0 20px 22px 57px; font-size: 1rem}} .site-footer {position: relative; z-index: 6; background: var(--primary); color: #fff} .site-footer__main {padding: 70px 0} .site-footer__container,.site-footer-newsletter__container,.site-footer__bottom-container {width: min(90%,1400px); margin: 0 auto} .site-footer__grid {display: grid; grid-template-columns: 1.1fr 0.7fr 1.2fr 1.2fr; gap: 55px} .site-footer__column {min-width: 0} .site-footer__title {margin: 0 0 25px; color: #fff; font-size: 1.15rem; font-weight: 600; text-transform: uppercase} .site-footer__contact-item {display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; color: #fff; font-size: 1rem; line-height: 1.6} .site-footer__contact-item > i {flex: 0 0 auto; margin-top: 3px; font-size: 1.3rem} .site-footer__contact-item a {min-width: 0; color: inherit; text-decoration: none; overflow-wrap: anywhere} .site-footer__contact-item a:hover {opacity: 0.7} .site-footer__phone {display: flex; flex-wrap: wrap; min-width: 0; gap: 5px} .site-footer__social {display: flex; gap: 10px; margin-top: 20px} .site-footer__social a {width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,0.5); border-radius: 50%; color: #fff; text-decoration: none; font-size: 1.2rem} .site-footer__social a:hover {background: #fff; color: var(--primary)} .site-footer__links {margin: 0; padding: 0; list-style: none} .site-footer__links li + li {margin-top: 10px} .site-footer__links a {color: #fff; text-decoration: none; font-size: 1rem; line-height: 1.45} .site-footer__links a:hover {opacity: 0.7} .site-footer__products {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 25px; row-gap: 10px} .site-footer__products li + li {margin-top: 0} .site-footer__captcha {width: 100%; max-width: 100%; overflow: hidden} .site-footer__form {display: grid; gap: 8px} .site-footer__input,.site-footer__textarea {width: 100%; padding: 11px 13px; border: 1px solid rgba(255,255,255,0.65); border-radius: 7px; background: transparent; color: #fff; font: inherit} .site-footer__input::placeholder,.site-footer__textarea::placeholder {color: rgba(255,255,255,0.75)} .site-footer__input:focus,.site-footer__textarea:focus {outline: none; border-color: #fff} .site-footer__textarea {min-height: 90px; resize: vertical} .site-footer__error {color: #ffd3d3; font-size: 0.9rem} .site-footer__submit {width: 100%; padding: 11px 20px; border: 0; border-radius: 7px; background: #fff; color: var(--primary); font: inherit; font-weight: 700; cursor: pointer} .site-footer__submit:hover {background: #111; color: #fff} .site-footer-newsletter {padding: 30px 0; background: #213d57} .site-footer-newsletter__container {display: grid; grid-template-columns: minmax(0,1fr) minmax(350px,0.8fr); align-items: center; gap: 50px} .site-footer-newsletter__text h3 {margin: 0 0 8px; color: #fff; font-size: 1.5rem} .site-footer-newsletter__text p {margin: 0; color: rgba(255,255,255,0.85); font-size: 1rem} .site-footer-newsletter__form {display: flex; flex-wrap: wrap} .hp-field {position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden} .site-footer-newsletter__input {min-width: 0; flex: 1; padding: 13px 16px; border: 1px solid #fff; border-right: 0; border-radius: 9px 0 0 9px; background: transparent; color: #fff; font: inherit} .site-footer-newsletter__input::placeholder {color: rgba(255,255,255,0.75)} .site-footer-newsletter__input:focus {outline: none} .site-footer-newsletter__button {padding: 13px 24px; border: 1px solid #fff; border-radius: 0 9px 9px 0; background: #fff; color: var(--primary); font: inherit; font-weight: 700; cursor: pointer} .site-footer-newsletter__button:disabled {opacity: 0.7; cursor: wait} .site-footer__bottom {padding: 25px 0; background: #232323} .site-footer__bottom p {margin: 0; color: #fff; font-size: 0.95rem} @media (max-width: 1199px) {.site-footer__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px}} @media (max-width: 991px) {.site-footer__grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 45px} .site-footer-newsletter__container {grid-template-columns: 1fr; gap: 25px}} @media (max-width: 600px) {.site-footer__main {padding: 55px 0} .site-footer__grid {grid-template-columns: 1fr; gap: 40px} .site-footer__products {grid-template-columns: 1fr 1fr} .site-footer-newsletter__form {display: grid} .site-footer-newsletter__input {border-right: 1px solid #fff; border-radius: 8px 8px 0 0} .site-footer-newsletter__button {border-radius: 0 0 8px 8px}} .cms-banner {min-height: 325px; overflow: hidden} .cms-banner .carousel,.cms-banner .carousel-inner,.cms-banner .carousel-item {min-height: 325px} .cms-banner .carousel-item {background-position: center; background-size: cover} .cms-content {padding: 80px 0 100px; background: #fff} .cms-content__inner {max-width: 920px} .cms-content .inner-title {margin: 0 0 18px; color: var(--primary); font-size: clamp(2rem,4vw,3.4rem); line-height: 1.12; font-weight: 600; overflow-wrap: anywhere} .cms-content .welcome-text > h3 {margin: 0 0 28px; color: #3f4e5b; font-size: clamp(1.15rem,2vw,1.5rem); line-height: 1.35; font-weight: 500} .cms-content__body {font-size: 1.0625rem; line-height: 1.8; overflow-wrap: anywhere} .cms-content__body p,.cms-content__body ul,.cms-content__body ol,.cms-content__body blockquote {margin: 0 0 1.25em} .cms-content__body h2,.cms-content__body h3,.cms-content__body h4 {margin: 1.4em 0 0.55em; color: var(--primary); line-height: 1.2; font-weight: 600} .cms-content__body img,.cms-content__body video,.cms-content__body iframe {max-width: 100%} .cms-content__body table {display: block; max-width: 100%; overflow-x: auto} @media (max-width: 767px) {.cms-banner,.cms-banner .carousel,.cms-banner .carousel-inner,.cms-banner .carousel-item {min-height: 220px} .cms-content {padding: 55px 0 65px} .cms-content__body {font-size: 1rem}} .thankyou-page {position: relative; z-index: 1; display: grid; place-items: center; width: 100%; min-height: calc(100vh - var(--header-height)); min-height: calc(100dvh - var(--header-height)); padding: clamp(50px,8vh,90px) 24px; text-align: center; color: #fff; background-color: var(--primary); background-image: linear-gradient( rgba(12,26,38,0.62),rgba(12,26,38,0.72) ),var(--thankyou-image,none); background-position: center; background-repeat: no-repeat; background-size: cover} .thankyou-page__container {width: 100%; max-width: 780px; margin: 0 auto} .thankyou-page__title {margin: 0 0 22px; color: #fff; font-size: clamp(2.2rem,5.5vw,4rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; text-shadow: 0 2px 18px rgba(0,0,0,0.35)} .thankyou-page__text {margin: 0 auto 38px; max-width: 620px; color: rgba(255,255,255,0.94); font-size: clamp(1.05rem,1.4vw,1.25rem); line-height: 1.7} .thankyou-page__button {display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 15px 36px; border: 2px solid #fff; border-radius: 999px; background: #fff; color: var(--primary); font-size: 1rem; font-weight: 600; text-decoration: none; transition: background-color 0.25s ease,color 0.25s ease,transform 0.25s ease} .thankyou-page__button:hover,.thankyou-page__button:focus-visible {background: transparent; color: #fff; transform: translateY(-2px)} .thankyou-page__button:focus-visible {outline: 3px solid #fff; outline-offset: 3px} @media (max-width: 767px) {.thankyou-page {padding: 45px 20px} .thankyou-page__title {margin-bottom: 18px} .thankyou-page__text {margin-bottom: 32px}} .site-footer-contact {padding: 55px 0 45px} .site-footer-contact__container {width: min(90%,1100px); margin: 0 auto; text-align: center} .site-footer-contact__logo {display: inline-block} .site-footer-contact__logo img {display: block; width: 190px; height: auto; margin: 0 auto; filter: brightness(0) invert(1)} .site-footer-contact__social {display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 30px 0} .site-footer-contact__social a {width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,0.55); border-radius: 50%; color: #fff; text-decoration: none; font-size: 1.25rem} .site-footer-contact__social a:hover {background: #fff; color: var(--primary)} .site-footer-contact__nav {display: flex; justify-content: center; flex-wrap: wrap; gap: 0} .site-footer-contact__nav a {position: relative; padding: 0 15px; color: #fff; text-decoration: none; font-size: 1rem} .site-footer-contact__nav a + a::before {content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 16px; background: rgba(255,255,255,0.45); transform: translateY(-50%)} .site-footer-contact__nav a:hover {opacity: 0.7} @media (max-width: 600px) {.site-footer-contact {padding: 45px 0 35px} .site-footer-contact__logo img {width: 160px} .site-footer-contact__nav {gap: 12px 18px} .site-footer-contact__nav a {padding: 0; font-size: 0.95rem} .site-footer-contact__nav a + a::before {display: none}} .contact-page__submit:disabled,.site-footer__submit:disabled {opacity: 0.65; cursor: wait} .error404 {min-height: 70vh; display: flex; align-items: center; padding: 100px 0; background: radial-gradient( circle at 20% 20%,rgba(65,95,122,0.08),transparent 35% ),#ffffff} .error404__container {width: min(88%,1200px); margin: 0 auto; display: grid; grid-template-columns: 0.8fr 1.2fr; align-items: center; gap: 80px} .error404__number {color: var(--primary); font-size: clamp(9rem,18vw,15rem); line-height: 0.8; font-weight: 700; letter-spacing: -0.08em; opacity: 0.12; user-select: none} .error404__content {max-width: 700px} .error404__eyebrow {margin: 0 0 18px; color: var(--primary); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1; text-transform: uppercase} .error404__title {margin: 0; color: var(--primary); font-size: clamp(2.7rem,5vw,5rem); line-height: 1; font-weight: 500; letter-spacing: -0.05em} .error404__text {max-width: 620px; margin: 28px 0 0; color: #5d6872; font-size: 1.15rem; line-height: 1.65} .error404__button {display: inline-flex; align-items: center; justify-content: center; margin-top: 38px; padding: 15px 28px; border: 2px solid var(--primary); border-radius: 10px; background: var(--primary); color: #ffffff; font-size: 0.95rem; font-weight: 600; line-height: 1; text-decoration: none; text-transform: uppercase; transition: background-color 0.25s ease,color 0.25s ease,transform 0.25s ease} .error404__button:hover {background: transparent; color: var(--primary); transform: translateY(-2px)} @media (max-width: 900px) {.error404 {min-height: auto; padding: 80px 0} .error404__container {grid-template-columns: 1fr; gap: 20px} .error404__number {font-size: clamp(7rem,24vw,11rem)}} @media (max-width: 575px) {.error404 {padding: 60px 0 75px} .error404__container {width: calc(100% - 36px)} .error404__title {font-size: clamp(2.4rem,11vw,3.6rem)} .error404__text {margin-top: 22px; font-size: 1rem} .error404__button {width: 100%; margin-top: 30px}} .product-inner__title {margin: 0 0 18px; color: #1c3041; font-size: 2rem; font-weight: 700; line-height: 1.2} .site-footer-newsletter__error {flex: 0 0 100%; order: 1; margin-bottom: 8px; color: #ffd9d9; font-size: 0.85rem} .site-footer-newsletter__error:empty {display: none} @media (max-width: 991px) {#mobile-nav .dropdown-menu {position: static !important; float: none !important; top: auto !important; left: auto !important; right: auto !important; width: auto !important; z-index: auto !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important} #mobile-nav .dropdown-menu li a,#mobile-nav .dropdown-menu li a:hover {color: #fff !important} #mobile-nav ul li a,#mobile-nav ul li a:hover {color: #fff !important} #mobile-nav .dropdown-menu {border-left: 2px solid rgba(255,255,255,0.28) !important; margin-left: 22px !important; padding-left: 8px !important} #mobile-nav ul li.menu-has-children > .menu-toggle i {font-size: 1.15rem} #mobile-nav ul li.menu-has-children > .menu-toggle i {transition: transform 200ms ease; color: #fff !important} #mobile-nav ul li.menu-has-children.menu-item-active > .menu-toggle i,#mobile-nav ul li.menu-has-children > .menu-toggle[aria-expanded='true'] i {transform: rotate(180deg)}}
