/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */

 :root {
 --e-global-typography-text-font-family: "Sentient", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
 --e-global-typography-accent-font-family: "URW Gothic L", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
 --e-global-typography-secondary-font-family: "Helvetica", Sans-serif;
 --e-global-typography-heading_title-font-family: "URW Gothic L", Sans-serif;
 --e-global-typography-heading_title-font-size: 60px;
 --e-global-typography-heading_title-font-weight: 600;
 --e-global-typography-heading_title-line-height: 1.067em;
 --e-global-typography-2bd818f-font-family: "URW Gothic L", Sans-serif;
 --e-global-typography-2bd818f-font-size: 12px;
 --e-global-typography-2bd818f-letter-spacing: 2px;
 --e-global-typography-2bd818f-text-transform: uppercase;
 }

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}


/* Icons */
.icon { width: 1em; height: 1em; fill: currentColor; display: inline-block; vertical-align: -0.125em; flex-shrink: 0; }
.btn-submit .icon { width: 14px; height: 14px; }
.modal-close .icon { width: 16px; height: 16px; }
.footer-social .icon { width: 18px; height: 18px; }
.about-slide-plus .icon { width: 20px; height: 20px; }
.image-lightbox-prev .icon, .image-lightbox-next .icon { width: 22px; height: 22px; }

@font-face {
  font-family: "Sentient";
  src: url("../fonts/Sentient-Light.woff2") format("woff2"),
       url("../fonts/Sentient-Light.woff") format("woff");
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Sentient";
  src: url("../fonts/Sentient-Regular.woff2") format("woff2"),
       url("../fonts/Sentient-Regular.woff") format("woff");
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "URW Gothic L";
  src: url("../fonts/URWGothicL-Demi.woff2") format("woff2"),
       url("../fonts/URWGothicL-Demi.woff") format("woff"),
       url("../fonts/URWGothicL-Demi.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@keyframes opalMoveUp {
  0%   { transform: translateY(100px); opacity: 0; }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes opalMoveLeft {
  0%   { transform: translateX(100px); opacity: 0; }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes opalMoveRight {
  0%   { transform: translateX(-100px); opacity: 0; }
  100% { opacity: 1; transform: translateX(0); }
}

.anim-up    { opacity: 0; transform: translateY(100px); }
.anim-left  { opacity: 0; transform: translateX(100px); }
.anim-right { opacity: 0; transform: translateX(-100px); }
.animated.anim-up    { animation: opalMoveUp   0.8s ease forwards; }
.animated.anim-left  { animation: opalMoveLeft  0.8s ease forwards; }
.animated.anim-right { animation: opalMoveRight 0.8s ease forwards; }
.delay-1 { animation-delay: 0.1s !important; }
.delay-2 { animation-delay: 0.2s !important; }
.delay-3 { animation-delay: 0.3s !important; }
.delay-4 { animation-delay: 0.4s !important; }
.delay-5 { animation-delay: 0.5s !important; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --primary: #33357E;
  --primary-hover: #5E60C0;
  --secondary: #4A4A4A;
  --text: #4A4A4A;
  --accent: #000000;
  --background-light: #F6F1EA;
  --border: #4A4A4A;
  --font-sentient: var(--e-global-typography-text-font-family);
  --font-urw: var(--e-global-typography-accent-font-family);
  --font-para: var(--e-global-typography-secondary-font-family);
  --font-eyebrow: var(--e-global-typography-2bd818f-font-family);
  --font-heading: var(--e-global-typography-heading_title-font-family);
  --eyebrow-size: var(--e-global-typography-2bd818f-font-size);
  --eyebrow-weight: 600;
  --eyebrow-spacing: var(--e-global-typography-2bd818f-letter-spacing);
  --heading-size: var(--e-global-typography-heading_title-font-size);
  --heading-weight: var(--e-global-typography-heading_title-font-weight);
  --heading-line: var(--e-global-typography-heading_title-line-height);
}
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  font-family: var(--e-global-typography-text-font-family);
  color: var(--text);
  background: #fff;
  overflow-x: clip;
  max-width: 100%;
  font-size: 18px;
  line-height: 1.5555555556;
  font-weight: 300;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.container {
  width: 100%;
  max-width: 1730px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--e-global-typography-accent-font-family);
  font-weight: 600;
  font-style: normal;
}
p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-weight: 400;
  font-style: normal;
}

/* HEADER */
#masthead {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  background: #fff;
  height: 91px;
  transition: box-shadow 0.3s;
}
.header-wrap {
  max-width: 100%;
  height: 91px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
}
.site-logo img { height: 58px; width: 100%; }
.main-navigation { display: flex; align-items: center; text-align: left; }
.main-navigation .menu {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
}
.main-navigation .menu > li.menu-item { position: relative; flex-shrink: 0; }
.main-navigation .menu > li.menu-item > a {
  display: flex;
  align-items: center;
  position: relative;
  padding: 45px 10px;
  font-family: var(--font-eyebrow);
  font-size: var(--eyebrow-size);
  line-height: 1.5;
  font-weight: var(--eyebrow-weight);
  text-transform: uppercase;
  letter-spacing: var(--eyebrow-spacing);
  color: var(--accent);
  transition: color 0.3s;
  white-space: nowrap;
  flex-shrink: 0;
}
.main-navigation .menu > li.menu-item > a:hover { text-decoration: none; }
.main-navigation .menu > li.menu-item > a .menu-title {
  position: relative;
  overflow: hidden;
  display: inline-block;
  white-space: nowrap;
  line-height: 1.5;
  vertical-align: top;
}
.main-navigation .menu > li.menu-item > a .menu-title::before {
  content: attr(data-name);
  top: 50%;
  position: absolute;
  left: 0;
  width: 100%;
  transform: translateY(calc(-50% + 13px));
  transition: all ease 0.3s;
  opacity: 0;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: var(--eyebrow-spacing);
  font-weight: var(--eyebrow-weight);
  font-size: inherit;
  font-family: inherit;
}
.main-navigation .menu > li.menu-item > a .menu-title span {
  transform: translateY(0);
  transition: all ease 0.3s;
  opacity: 1;
  display: block;
  white-space: nowrap;
}
.main-navigation .menu > li.menu-item > a:hover .menu-title span {
  transform: translateY(-13px);
  opacity: 0;
}
.main-navigation .menu > li.menu-item > a:hover .menu-title::before {
  transform: translateY(-50%);
  opacity: 1;
}
.menu-item-has-children > a::after {
  content: ' ⌄';
  font-size: 9px;
  margin-left: 4px;
}
.main-navigation .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  margin: 0;
  padding: 25px 50px;
  list-style: none;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  z-index: 100;
}
.menu-item-has-children:hover > .sub-menu { display: block; }
.main-navigation .sub-menu .menu-item {
  border-bottom: 1px solid var(--border);
}
.main-navigation .sub-menu .menu-item:last-child { border-bottom: none; }
.main-navigation .sub-menu .menu-item > a {
  display: block;
  width: 100%;
  padding: 12px 0;
  font-family: var(--font-eyebrow);
  font-size: 16px;
  line-height: 1.547;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text);
  transition: color 0.3s;
}
.main-navigation .sub-menu .menu-item > a:hover { color: var(--accent); }
.main-navigation .sub-menu .menu-item > a .menu-title::before { display: none; }
.main-navigation .sub-menu .menu-item > a:hover .menu-title span {
  transform: none;
  opacity: 1;
}
.header-contact-btn {
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #fff;
  color: var(--accent);
  border: 1px solid var(--border);
  border-radius: 30px;
  padding: 12px 30px;
  cursor: pointer;
  transition: all 0.3s;
}
.header-contact-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.hamburger-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-direction: column;
  gap: 5px;
}
.hamburger-btn span {
  display: block;
  width: 24px;
  height: 2px;
  background: #222;
}
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 99998;
  flex-direction: column;
  padding: 100px 40px 40px;
  overflow-y: auto;
}
.mobile-nav-overlay.open { display: flex; }
.mobile-nav-close {
  position: absolute;
  top: 26px; right: 28px;
  font-size: 26px;
  cursor: pointer;
  background: none;
  border: none;
}
.mobile-nav-overlay a {
  font-family: var(--font-urw);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #222;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
}
.mobile-nav-overlay .sub-link {
  font-size: 13px;
  padding: 10px 0 10px 20px;
  color: #555;
  text-transform: none;
  letter-spacing: 0;
}

.page-body {
  padding-top: 91px;
  overflow-x: clip;
  max-width: 100%;
}


/* HERO */
.hero-section {
  position: relative;
  min-height: 1020px;
  background: url('../images/banner.webp') center 0 / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 100px;
  padding: 50px 30px 60px;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 90%;
  text-align: center;
}
.hero-content h1 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 187px;
  font-weight: 600;
  font-style: normal;
  color: #fff;
  line-height: 1;
  letter-spacing: -2px;
}
.hero-content h3 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 48px;
  font-weight: 600;
  font-style: normal;
  color: rgba(255,255,255,0.9);
  margin-top: 10px;
  line-height: 1.2;
}

/* ABOUT */
.about-section {
  margin: 0 auto 100px;
  padding: 0;
}
.about-section-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
}
.about-text-col {
  flex: 1 1 0;
  min-width: 0;
  padding: 10px 70px 200px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--border);
  margin-right: 30px;
}
.eyebrow,
.section-eyebrow-sm,
.about-eyebrow,
.awards-col-title,
.footer-reach-eyebrow {
  font-family: var(--e-global-typography-2bd818f-font-family);
  font-size: var(--e-global-typography-2bd818f-font-size);
  font-weight: 600;
  font-style: normal;
  letter-spacing: var(--e-global-typography-2bd818f-letter-spacing);
  text-transform: var(--e-global-typography-2bd818f-text-transform);
  color: var(--accent);
  padding: 0 0 5px;
  border-bottom: 5px solid var(--secondary);
  display: inline-block;
}
.about-eyebrow {
  align-self: flex-start;
  margin-bottom: 20px;
}
.awards-col-title {
  padding: 8px 0 5px;
  margin-bottom: 50px;
}
.footer-reach-eyebrow {
  border-bottom: none;
  padding: 0;
  color: #F6F1EA;
  line-height: 20px;
  margin-bottom: 23px;
}
.heading-title,
.about-text-col h2,
.sticky-sidebar h2,
.sustain-intro-content h2,
.creation-center-col h2,
.associate-buttons-col h2,
.contact-agent-col h2 {
  font-family: var(--e-global-typography-heading_title-font-family);
  font-size: var(--e-global-typography-heading_title-font-size);
  font-weight: var(--e-global-typography-heading_title-font-weight);
  font-style: normal;
  color: var(--primary);
  line-height: var(--e-global-typography-heading_title-line-height);
}
.about-text-col h2 {
  margin: 30px 0 40px;
}
.about-text-col p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 16px;
}
.btn-primary {
  display: inline-block;
  font-family: var(--font-urw);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #33357E;
  color: #fff;
  padding: 14px 30px;
  margin-top: 16px;
  transition: background 0.3s;
  border: none;
  cursor: pointer;
}
.btn-primary:hover { background: var(--primary-hover); }
.btn-outline-dark {
  display: inline-block;
  font-family: var(--font-urw);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1.5px solid #33357E;
  color: #33357E;
  padding: 13px 28px;
  margin-top: 16px;
  transition: all 0.3s;
  cursor: pointer;
  background: transparent;
}
.btn-outline-dark:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.about-slider-col {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  padding-left: 0;
  display: flex;
  align-items: stretch;
}
.about-swiper {
  width: 100%;
  min-height: 600px;
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.about-swiper .swiper-slide {
  height: auto;
  overflow: hidden;
}
.about-slide-link {
  position: relative;
  display: block;
  height: 100%;
  padding-left: 30px;
  cursor: pointer;
}
.about-slide-media {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 600px;
  isolation: isolate;
}
.about-slide-overlay {
  position: absolute;
  inset: 0;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
  pointer-events: none;
}
.about-slide-link:hover .about-slide-overlay { opacity: 0.3; }
.about-slide-plus {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  opacity: 0;
  transition: opacity 0.3s ease, width 0.3s ease, height 0.3s ease;
  border-radius: 50%;
  background-color: #fff;
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.about-slide-link:hover .about-slide-plus {
  opacity: 1;
  width: 60px;
  height: 60px;
}
.about-slide-plus i {
  color: var(--primary);
  font-size: 14px;
}
.about-slide-media img {
  width: 100%;
  height: 100%;
  min-height: 600px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.3s ease;
  will-change: transform;
}
.about-slide-link:hover .about-slide-media img {
  transform: scale(1.1);
}
.about-swiper .swiper-pagination {
  position: static;
  margin-top: 30px;
  text-align: center;
  line-height: 1;
}
.about-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #d9d9d9;
  opacity: 1;
  margin: 0 6px !important;
  transition: background 0.3s ease, transform 0.3s ease;
}
.about-swiper .swiper-pagination-bullet-active {
  background: var(--primary);
  transform: scale(1.1);
}

/* LSF */

.lsf-section {
  position: relative;
  background: url('../images/futsal.webp') center/cover no-repeat;
  margin: 0 auto 80px;
  max-width: 1730px;
  padding: 100px 30px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  overflow-x: clip;
}
.lsf-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
}
.lsf-headings-col {
  position: relative;
  z-index: 2;
  flex: 1 1 0;
  min-width: 0;
  padding-right: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lsf-headings-col h2 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 140px;
  font-weight: 600;
  font-style: normal;
  color: #fff;
  line-height: 1.077;
}
.lsf-stats-col {
  position: relative;
  z-index: 2;
  flex: 1 1 0;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 25px;
  align-self: center;
}
.stat-box {
  margin: 2%;
  padding: 5% 10%;
  border: 1px solid #fff;
  border-radius: 1px;
  text-align: start;
}
.stat-number {
  font-size: 50px;
  font-weight: 700;
  color: #fff;
  display: block;
  line-height: 1.2;
  margin-bottom: 8px;
}
.stat-label {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: #fff;
  line-height: 1.5;
}

/* WHY KEYA */
.why-section {
  background: #ffffff00;
  padding: 0px 0;
  margin-bottom: 80px;
  width: 100%;
  overflow-x: clip;
  max-width: 100%;
}
.why-card {
  border-radius: 25px;
  padding: 60px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 420px;
  background: linear-gradient(180deg, #041429 0%, #041429 100%);
}
/* Background photo (keya2) at reference overlay opacity */
.why-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 25px;
  background: url('../images/keya2.webp') center center / cover no-repeat;
  opacity: 0.23;
  transform: scale(1);
  transition: transform 6s ease, opacity 0.4s ease;
}
.why-card:hover::after {
  transform: scale(1.04);
}
.why-card-content {
  position: relative;
  z-index: 2;
}
.why-card h5 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 60px;
  font-weight: 600;
  color: #F6F1EA;
  line-height: 1.067;
  margin-bottom: 50px;
  text-align: start;
}
.why-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  list-style: none;
}
.why-card-content ul {
    padding-left: 0rem;
}
.why-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 20px;
  font-weight: 500;
  font-style: normal;
  color: rgba(255, 255, 255, 0.82);
  margin: 10%;
  line-height: 29px;
  text-align: start;
}
.why-feature-item::before {
  content: '';
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  margin-top: 11px;
  border-radius: 50%;
  background: rgba(246, 241, 234, 0.55);
}

/* PROJECT CARDS - image beside text (reference layout) */
.project-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  max-width: 960px;
  margin-bottom: 30px;
  background: #fff;
}
.project-card-img {
  flex: 0 0 65%;
  min-height: 600px;
  position: relative;
  overflow: hidden;
}
.project-card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #e8e4df;
  transition: transform 0.5s ease, opacity 0.4s ease;
}
.project-card-bg.js-lazy-bg:not(.is-loaded) {
  opacity: 0.35;
}
.project-card-bg.js-lazy-bg.is-loaded {
  opacity: 1;
}
.project-card:hover .project-card-bg { transform: scale(1.08); }
.project-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: flex-start;
  margin: 0 0 0 30px;
  padding: 0 0 0 30px;
  border-left: 1px solid #4a4a4a;
  text-align: left;
}
.project-card-content h5 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 28px;
  font-weight: 600;
  color: #33357E;
  margin-bottom: 15px;
  line-height: 1.2;
  text-transform: none;
}
.project-card-content p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 16px;
  font-weight: 400;
  color: #4a4a4a;
  line-height: 1.7;
}
.project-card--img-right {
  flex-direction: row-reverse;
}
.project-card--img-right .project-card-content {
  margin: 0 30px 0 0;
  padding: 0 30px 0 0;
  border-left: none;
  border-right: 1px solid #4a4a4a;
  text-align: right;
}

/* SPLIT SECTIONS */
.split-section {
  max-width: 1730px;
  margin: 0 auto 80px;
  padding: 0 15px;
  display: flex;
  gap: 60px;
  align-items: flex-start;
}
.split-main { flex: 1; min-width: 0; }
.sticky-sidebar {
  width: 380px;
  flex-shrink: 0;
  position: sticky;
  top: 151px;
  align-self: flex-start;
}
.section-eyebrow-sm { margin-bottom: 16px; }
.sticky-sidebar h2 { margin: 30px 0 30px; }
.sticky-sidebar p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 30px;
}
.sticky-sidebar img {
  width: 100%;
  object-fit: cover;
  margin-bottom: 24px;
}

/* ZERO DEFECT */
.zero-defect-section {
  width: 100%;
  margin: 0 0 80px;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}
.zd-panorama-col {
  width: 63%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  min-height: 1px;
}
.zd-panoramic-wrap {
  position: relative;
  flex: 1;
  width: 100%;
  overflow: hidden;
}
.zd-panorama-swiper {
  width: 100%;
  height: 100%;
  cursor: grab;
}
.zd-panorama-swiper:active { cursor: grabbing; }
.zd-panorama-swiper .swiper-wrapper {
  cursor: grab;
  height: 100%;
  align-items: stretch;
}
.zd-panorama-swiper .swiper-slide {
  width: auto;
  height: 100%;
}
.zd-panorama-swiper .swiper-slide img {
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
.zd-panoramic-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
  width: 80px;
  height: 80px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.zd-panoramic-icon i {
  font-size: 20px;
  color: #000;
}
.zd-panoramic-wrap:hover .zd-panoramic-icon { opacity: 0; }
.zd-testimonial-col {
  width: 37%;
  flex-shrink: 0;
  background: #293983;
  padding: 90px 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}
.zd-content-inner {
  width: 100%;
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.zd-icon {
  align-self: center;
  margin: 0 auto 30px;
  text-align: center;
  width: 100%;
  line-height: 1;
}
.zd-home-icon {
  width: 36px;
  height: 36px;
  display: inline-block;
  color: #fff;
}
.zd-heading {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 65px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  line-height: 1.067;
  margin-bottom: 30px;
  width: 100%;
}
.zd-quote {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  line-height: 21px;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  width: 100%;
}

/* SUSTAINABILITY */
.sustain-intro-section {
  background: #f3f3f3;
  padding: 150px 30px 300px;
  margin-bottom: -260px;
  position: relative;
  z-index: -1;
}
.sustain-intro-inner {
  max-width: 1730px;
  margin: 0 auto;
}
.sustain-intro-content {
  width: 77.424%;
  max-width: 100%;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  padding-right: 80px;
  margin-right: 30px;
}
.sustain-intro-content h2 { margin: 30px 0; }
.sustain-intro-content p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 30px;
}
.sustain-slider-section {
  margin-bottom: 80px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 0 0 20px;
}
.sustain-swiper {
  width: 100%;
  padding: 0 30px;
  overflow: hidden;
}
.sustain-swiper .swiper-slide {
  height: auto;
}
.sustain-slide {
  width: 100%;
}
.sustain-slide-inner {
  position: relative;
  display: block;
}
.sustain-slide-bg {
  height: 520px;
  position: relative;
  overflow: hidden;
  display: block;
}
.sustain-slide-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: var(--accent);
  opacity: 0.2;
  z-index: 2;
  transition: opacity 0.25s ease;
}
.sustain-slide:hover .sustain-slide-bg::before { opacity: 0.6; }
.sustain-slide-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
  transition: transform 0.25s ease;
}
.sustain-slide-content {
  position: absolute;
  inset: 0;
  z-index: 4;
  overflow: hidden;
}
.sustain-slide-content-inner {
  padding: 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.sustain-slide-title {
  font-family: var(--font-urw);
  font-size: 28px;
  line-height: 1.357;
  color: #fff;
  margin-bottom: 10px;
  margin-top: 0;
}
.sustain-slide-text {
  color: #fff;
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 16px;
  line-height: 1.7;
  transform: translateY(60px);
  transition: all ease 0.3s;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
.sustain-slide-text p { color: #fff; font-family: var(--e-global-typography-secondary-font-family); }
.sustain-slide:hover .sustain-slide-text {
  transform: translateY(0);
  max-height: 200px;
  opacity: 1;
}
@media (max-width: 1200px) {
  .sustain-intro-section {
    padding: 100px 30px 350px;
    margin-bottom: -260px;
  }
}
@media (max-width: 1024px) {
  .sustain-intro-section {
    padding: 80px 30px 180px;
    margin-bottom: -100px;
  }
  .sustain-slide-bg { height: 450px; }
  .sustain-slider-section { margin-bottom: 80px; }
}
@media (max-width: 880px) {
  .sustain-intro-section {
    padding: 80px 30px 80px;
    margin-bottom: 30px;
  }
  .sustain-intro-content {
    width: 100%;
    border-right: none;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 50px;
  }
  .sustain-swiper { padding: 0 15px; }
  .sustain-slide-bg { height: 400px; }
  .sustain-slide-text {
    transform: none;
    max-height: none;
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .sustain-intro-section {
    padding: 60px 15px;
    margin-bottom: 30px;
  }
  .sustain-slider-section { margin-bottom: 60px; }
}

/* AWARDS & KEYA BEHIND THE CREATION */
.awards-creation-section {
  margin: 0 auto 80px;
  padding: 0;
}
.awards-creation-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.awards-col {
  width: 25%;
  padding-right: 20px;
}
.awards-col p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 400;
  color: #000000;
  line-height: 1.7;
  margin-bottom: 25px;
}
.awards-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.awards-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  color: #4a4a4a;
  line-height: 1.7;
  margin-bottom: 10px;
}
.awards-list li::before {
  content: '\2192';
  flex-shrink: 0;
  margin-top: 2px;
}
.creation-center-col {
  width: 50%;
  padding: 0 50px;
}
.creation-center-col h2 {
  max-width: 450px;
  margin-bottom: 40px;
}
.creation-center-col img {
  width: 100%;
  max-width: 520px;
  height: auto;
  display: block;
}
.creation-side-col {
  width: 25%;
}
.creation-side-col img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
}
.creation-side-col p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  color: #4a4a4a;
  line-height: 1.7;
  margin-bottom: 16px;
}

/* CONTACT */
.contact-outer {
  padding: 80px 0;
  background: var(--background-light);
}
.contact-section {
  max-width: 1730px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: flex-start;
}
.contact-form-col {
  width: 55%;
  padding: 40px 60px 40px 0;
}
.contact-form-col h3,
.contact-form-title {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 18px;
  font-weight: 600;
  font-style: normal;
  color: var(--primary);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.7;
  margin-bottom: 30px;
}
.contact-agent-col {
  width: 45%;
  background: #fff;
  padding: 50px 40px;
  box-shadow: 0 4px 40px rgba(0,0,0,0.06);
}
.contact-agent-col .section-eyebrow-sm { margin-bottom: 20px; }
.contact-agent-col h2 { margin-bottom: 16px; }
.contact-agent-col > p {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  color: var(--text);
  line-height: 1.7;
  margin-bottom: 30px;
}
.agent-card {
  display: flex;
  gap: 20px;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid #eee;
}
.agent-card img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}
.agent-info h6 {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 4px;
}
.agent-info .agent-role {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: lowercase;
  color: #999;
  margin-bottom: 12px;
}
.agent-info a, .agent-info p {
  font-size: 15px;
  color: #444;
  line-height: 1.8;
  display: block;
}

/* FORMS */
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.form-group { margin-bottom: 24px; position: relative; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--primary);
  background: transparent;
  padding: 0 0 15px;
  font-family: var(--font-sentient);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--text);
  outline: none;
  transition: border-color 0.3s;
  border-radius: 0;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
  color: var(--text);
  opacity: 0.85;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--accent); }
.form-group textarea { resize: vertical; min-height: 90px; padding-top: 0; }
.form-group.has-select select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 28px;
}
.form-group.has-select::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--text);
  border-bottom: 2px solid var(--text);
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  bottom: 15px;
  pointer-events: none;
  font-size: 14px;
  line-height: 1;
}
.form-group input[type="date"] {
  cursor: pointer;
  min-height: 28px;
  color-scheme: light;
}
.form-group input[type="date"]:invalid {
  color: rgba(74, 74, 74, 0.55);
}
.form-group input[type="date"]:valid,
.form-group input[type="date"]:focus {
  color: var(--text);
}
.form-group input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.55;
  filter: grayscale(1);
}
.form-group input[type="date"]::-webkit-datetime-edit {
  font-family: var(--font-sentient);
}
.form-group input[type="number"] {
  -moz-appearance: textfield;
}
.form-group input[type="file"] {
  padding: 10px 0;
  font-size: 14px;
  cursor: pointer;
}
.form-group input[type="file"]::file-selector-button {
  font-family: var(--font-urw);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: var(--background-light);
  color: var(--accent);
  border: 1px solid var(--border);
  padding: 8px 16px;
  margin-right: 12px;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}
.form-group input[type="file"]::file-selector-button:hover {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.form-group select option[disabled] { color: rgba(74, 74, 74, 0.55); }
.form-group select.is-placeholder { color: rgba(74, 74, 74, 0.55); }
.form-group select:invalid { color: rgba(74, 74, 74, 0.55); }
.form-group select:valid { color: var(--text); }
.form-text {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 16px;
  font-weight: 400;
  color: var(--text);
  margin: 0 0 12px;
  line-height: 1.5;
}
.cf-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 8px;
}
.cf-btn .btn-submit {
  width: auto;
  min-width: 180px;
  flex: 1 1 auto;
}
.sub-text {
  font-family: var(--font-sentient);
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
  opacity: 0.75;
  margin: 0;
}
.sub-text .color-primary {
  color: var(--primary);
  font-weight: 500;
}
.file-label {
  display: block;
  font-family: var(--font-sentient);
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 8px;
}
.form-group-file {
  margin-bottom: 24px;
}
.form-group-file input[type="file"] {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--primary);
  background: transparent;
  padding: 10px 0;
  font-family: var(--font-sentient);
  font-size: 14px;
  cursor: pointer;
}
.radio-group-label {
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text);
  display: block;
  margin-bottom: 12px;
}
.radio-options {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 24px;
}
.radio-options label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding-left: 1.6em;
  font-family: var(--font-sentient);
  font-size: 16px;
  font-weight: 400;
  color: var(--text);
  cursor: pointer;
  margin-right: 20px;
}
.radio-options label span {
  pointer-events: none;
}
.radio-options input[type="radio"] {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.radio-options label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.2em #D9D9D9, inset 0 0 0 1em #D9D9D9;
  transition: box-shadow 0.25s ease;
  pointer-events: none;
}
.radio-options label:has(input[type="radio"]:checked)::before {
  box-shadow: inset 0 0 0 0.2em #D9D9D9, inset 0 0 0 0.35em var(--primary);
}
.form-note {
  font-family: var(--font-sentient);
  font-size: 14px;
  font-weight: 400;
  color: var(--text);
  opacity: 0.75;
  margin-bottom: 16px;
}
.btn-submit {
  width: 100%;
  background: var(--primary);
  color: #fff;
  border: none;
  padding: 16px 24px;
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: lowercase;
  cursor: pointer;
  transition: background 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-submit:hover { background: var(--primary-hover); }
.btn-submit i {
  font-size: 12px;
  transition: transform 0.3s ease;
}
.btn-submit:hover i { transform: translateX(4px); }

/* ASSOCIATE */
.associate-section {
  background: #F6F1EA;
  overflow-x: clip;
  max-width: 100%;
}
.associate-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 120px 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  min-width: 0;
}
.associate-buttons-col {
  width: 50%;
  padding-right: 110px;
  min-width: 0;
  max-width: 100%;
}
.associate-buttons-col h2 { margin-bottom: 30px; }
.associate-buttons-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
.btn-associate {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #4a4a4a;
  color: #4a4a4a;
  padding: 12px 30px;
  border-radius: 30px;
  cursor: pointer;
  background: #fff;
  transition: all 0.3s;
  margin-bottom: 15px;
  white-space: normal;
  max-width: 100%;
  min-width: 0;
  text-align: left;
  line-height: 1.45;
}
@media (min-width: 1025px) {
  .btn-associate {
    white-space: nowrap;
    line-height: normal;
    text-align: center;
  }
}
.btn-associate .icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.btn-associate:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.associate-carousel-col {
  width: 50%;
  padding-left: 0;
  min-width: 0;
  max-width: 100%;
}
.associate-carousel-swiper { width: 100%; }
.associate-carousel-swiper .swiper-slide img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
  border-left: 1px solid #E3DCD9;
  padding-left: 30px;
}
.associate-carousel-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding-left: 30px;
}
.associate-carousel-caption {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-style: italic;
  color: #33357E;
  margin: 0;
  flex: 1;
}
.associate-pagination {
  position: static !important;
  width: auto !important;
  display: flex;
  gap: 8px;
  align-items: center;
}
.associate-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #ccc;
  opacity: 1;
  margin: 0 !important;
}
.associate-pagination .swiper-pagination-bullet-active {
  background: #000;
}

/* FOOTER */
footer { background: #33357E; }
.footer-reach {
  max-width: 1730px;
  margin: 0 auto;
  padding: 65px 30px;
  text-align: center;
}
.footer-reach h5,
.footer-reach h6 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 22px;
  font-weight: 600;
  font-style: normal;
  color: #F6F1EA;
  line-height: 1.7;
  margin: 0 auto 15px;
  max-width: 50%;
}
.footer-reach-email { margin-bottom: 30px !important; }
.footer-reach a {
  color: #F6F1EA;
  transition: opacity 0.3s;
}
.footer-reach a:hover { opacity: 0.8; }
.footer-social {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-social a {
  width: 60px;
  height: 60px;
  background: #000;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F6F1EA;
  font-size: 20px;
  transition: background 0.3s, color 0.3s;
}
.footer-social a:hover {
  background: #F6F1EA;
  color: #33357E;
}
.footer-bottom {
  background: #000;
  padding: 40px 30px 20px;
}
.footer-bottom-inner {
  max-width: 1730px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-bottom-copy {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 600;
  color: #F6F1EA;
  margin: 0;
}
.footer-back-top {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  position: relative;
  z-index: 2;
}
.footer-back-top span {
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff;
}
.footer-back-top span i{
  color:black
}
.footer-back-top-icon {
  width: 32px;
  height: 32px;
  background: #fff;
  color: #33357E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: background 0.3s, color 0.3s;
}
.footer-back-top-icon .icon{
  color: black;
}
.footer-back-top:hover .footer-back-top-icon {
  background: #33357E;
  color: #fff;
}
.footer-back-top:hover .icon{
  color: rgb(255, 255, 255);
}
.footer-back-top:hover span i{
  color: #fff!important;
}
.footer-bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-bottom-links a {
  font-family: var(--font-urw);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #F6F1EA;
  transition: opacity 0.3s;
}
.footer-bottom-links a:hover { opacity: 0.75; }

/* IMAGE LIGHTBOX (welcome home gallery) */
.image-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100001;
  background: rgba(0, 0, 0, 0.92);
  align-items: center;
  justify-content: center;
  padding: 60px 80px;
}
.image-lightbox.open {
  display: flex;
  animation: lightboxFadeIn 0.3s ease;
}
@keyframes lightboxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.image-lightbox-inner {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.image-lightbox-inner img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 120px);
  width: auto;
  height: auto;
  object-fit: contain;
  user-select: none;
}
.image-lightbox-caption {
  margin-top: 16px;
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}
.image-lightbox-close,
.image-lightbox-prev,
.image-lightbox-next {
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  z-index: 2;
  transition: opacity 0.3s;
  padding: 10px;
  line-height: 1;
}
.image-lightbox-close:hover,
.image-lightbox-prev:hover,
.image-lightbox-next:hover { opacity: 0.7; }
.image-lightbox-close {
  top: 24px;
  right: 28px;
  font-size: 32px;
}
.image-lightbox-prev,
.image-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  font-size: 42px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.image-lightbox-prev { left: 20px; }
.image-lightbox-next { right: 20px; }
@media (max-width: 767px) {
  .image-lightbox { padding: 70px 20px 40px; }
  .image-lightbox-prev { left: 8px; }
  .image-lightbox-next { right: 8px; }
  .image-lightbox-close { top: 16px; right: 16px; }
}

/* MODALS */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100000;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
}
.modal-overlay.open {
  display: flex;
  animation: modalBgFade 0.3s ease;
}
@keyframes modalBgFade {
  from { opacity: 0; }
  to { opacity: 1; }
}
.modal-box {
  background: #fff;
  max-width: 600px;
  width: 100%;
  padding: 50px 40px 40px;
  position: relative;
  max-height: min(750px, 90vh);
  overflow-y: auto;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
  animation: modalZoomIn 0.25s ease;
}
@keyframes modalZoomIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}
.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--background-light);
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--accent);
  line-height: 1;
  padding: 15px 30px;
  transition: background 0.3s, color 0.3s;
}
.modal-close:hover {
  background: var(--primary);
  color: #fff;
}
.modal-box h4 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 18px;
  font-weight: 600;
  font-style: normal;
  color: var(--text);
  margin-bottom: 12px;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.7;
}
.modal-sub {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 18px;
  font-weight: 400;
  font-style: normal;
  color: var(--text);
  margin-bottom: 30px;
  line-height: 1.7;
}
.modal-box h4:only-of-type,
.modal-box h4:last-of-type {
  margin-bottom: 30px;
}
.modal-box h4 + .modal-sub {
  margin-top: -8px;
}

/* RESPONSIVE */
@media (max-width: 1280px) {
  .main-navigation .menu > li.menu-item > a { padding: 45px 7px; letter-spacing: 1px; }
}
@media (max-width: 1366px) {
  .hero-content h1 { font-size: 100px; }
  .hero-section { min-height: 800px; }
  .lsf-headings-col h2 { font-size: 100px; }
}
@media (max-width: 1200px) {
  :root {
    --e-global-typography-heading_title-font-size: 54px;
  }
  .lsf-headings-col h2 { font-size: 90px; }
  .sticky-sidebar { width: 320px; }
}
@media (max-width: 1024px) {
  :root {
    --e-global-typography-heading_title-font-size: 48px;
  }
  .hero-section { min-height: 700px; padding: 120px 30px 60px; }
  .hero-content h1 { font-size: 80px; }
  .hero-content h3 { font-size: 38px; }
  .lsf-headings-col h2 { font-size: 80px; }
  .why-features-grid { grid-template-columns: repeat(2, 1fr); }
  .why-card h5 { font-size: 42px; }
  .why-feature-item { font-size: 17px; line-height: 26px; margin: 0; }
  .why-features-grid { gap: 10px 12px; }
  .split-section { flex-direction: column; gap: 40px; }
  .sticky-sidebar { width: 100%; position: static; }
  .zd-testimonial-col { padding: 100px 30px; }
  .awards-col,
  .creation-center-col,
  .creation-side-col { width: 100%; padding: 0; margin-bottom: 30px; }
  .creation-center-col { padding: 0; }
  .associate-buttons-col,
  .associate-carousel-col { width: 100%; }
  .associate-buttons-col { padding-right: 0; margin-bottom: 30px; min-width: 0; max-width: 100%; }
  .associate-inner { padding: 100px 30px; min-width: 0; max-width: 100%; overflow-x: clip; }
  .associate-buttons-stack { width: 100%; max-width: 100%; }
  .btn-associate {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    line-height: 1.45;
    padding: 12px 20px;
  }
  .associate-carousel-swiper .swiper-slide img { border-left: none; padding-left: 0; }
  .footer-reach h5,
  .footer-reach h6 { max-width: 100%; }
  .sustain-intro-content {
    width: 100%;
    border-right: none;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 50px;
  }
  .contact-form-col, .contact-agent-col { width: 100%; padding: 0 0 40px; }
  .associate-inner { padding: 80px 30px; }
  .project-card-img { min-height: 480px; }
}
@media (max-width: 880px) {
  .hero-content h1 { font-size: 66px; }
  .hero-content h3 { font-size: 30px; }
  .lsf-headings-col h2 { font-size: 66px; }
  .stat-number { font-size: 38px; }
  .awards-creation-section { margin-bottom: 100px; }
  .awards-col-title { margin-bottom: 30px; }
  .zero-defect-section { flex-wrap: wrap; overflow-x: clip; max-width: 100%; }
  .zd-panorama-col, .zd-testimonial-col { width: 100%; }
  .zd-testimonial-col { order: -1; padding: 60px 15px 30px; }
  .zd-panoramic-wrap { height: auto !important; min-height: 0; }
  .zd-panorama-swiper,
  .zd-panorama-swiper .swiper-slide,
  .zd-panorama-swiper .swiper-slide img {
    height: 450px;
    max-height: 450px;
  }
  .zd-heading { font-size: 48px; }
  .zd-content-inner { margin-top: 15px; }
}
@media (max-width: 767px) {
  :root {
    --e-global-typography-heading_title-font-size: 36px;
  }
  .main-navigation, .header-contact-btn { display: none; }
  .hamburger-btn { display: flex; }
  .anim-left,
  .anim-right {
    transform: translateY(60px);
  }
  .animated.anim-left,
  .animated.anim-right {
    animation-name: opalMoveUp;
  }
  .hero-content h1 { font-size: 48px; }
  .hero-content h3 { font-size: 24px; }
  .hero-section { min-height: 550px; margin-bottom: 60px; }
  .about-section-inner { flex-wrap: wrap; }
  .about-text-col {
    flex: 1 1 100%;
    padding: 50px 0 30px;
    border-right: none;
    margin-right: 0;
  }
  .about-slider-col { flex: 1 1 100%; }
  .about-slide-link { padding-left: 0; }
  .about-slide-link::before { left: 0; }
  .about-slide-plus { left: 50%; }
  .why-card { padding: 30px; min-height: 360px; }
  .why-card h5 { font-size: 36px; margin-bottom: 30px; }
  .why-features-grid { grid-template-columns: repeat(2, 1fr); }
  .why-feature-item { font-size: 15px; line-height: 22px; margin: 6%; gap: 10px; }
  .why-feature-item::before { width: 6px; height: 6px; margin-top: 8px; }
  .why-section { padding: 20px 0; }
  .zd-heading { font-size: 36px; }
  .lsf-section { flex-wrap: wrap; padding: 60px 15px; }
  .lsf-headings-col {
    flex: 1 1 100%;
    padding-right: 0;
    margin-bottom: 40px;
  }
  .lsf-headings-col h2 { font-size: 56px; }
  .lsf-stats-col {
    flex: 1 1 100%;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 0;
    margin: 0;
    padding: 0;
  }
  .stat-box {
    margin: 0;
    padding: 20px 16px;
  }
  .why-features-grid { gap: 10px 12px; }
  .why-feature-item { margin: 0; }
  .footer-reach h5,
  .footer-reach h6 { max-width: 100%; }
  .form-row { grid-template-columns: 1fr; }
  .footer-bottom-inner { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }
  .associate-inner { padding: 60px 15px; }
  .associate-carousel-footer { padding-left: 0; flex-wrap: wrap; }
  .awards-creation-section { margin-bottom: 60px; }
  .creation-side-col .creation-side-img { display: none; }
  .header-wrap { padding: 0 20px; }
  .project-card,
  .project-card--img-right { flex-direction: column; }
  .project-card-img {
    flex: none;
    width: 100%;
    min-height: 280px;
  }
  .project-card-content,
  .project-card--img-right .project-card-content {
    margin: 0;
    padding: 30px 24px;
    border: none;
    text-align: left;
  }
  .awards-text-col { padding: 50px 30px; }
  .contact-agent-col { padding: 30px 24px; }
}

/* SUBPAGES */
.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.form-alert {
  max-width: 1730px;
  margin: 0 auto 24px;
  padding: 14px 18px;
  background: #fff3f3;
  border-left: 4px solid #c0392b;
  color: #7f1d1d;
  font-size: 15px;
}
.form-alert[hidden] { display: none; }
.form-inline-error {
  color: #c0392b;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 18px;
  padding: 10px 12px;
  background: #fff3f3;
  border-left: 3px solid #c0392b;
}
.form-inline-error[hidden] { display: none; }
.form-group.is-invalid input,
.form-group.is-invalid select,
.form-group.is-invalid textarea {
  border-color: #c0392b !important;
}
.radio-options.is-invalid {
  outline: 1px solid #c0392b;
  outline-offset: 4px;
  border-radius: 2px;
}
.subpage .subpage-header {
  position: sticky;
  box-shadow: 0 2px 24px rgba(0,0,0,0.08);
}
.subpage-main {
  min-height: calc(100vh - 91px);
  padding: 120px 30px 80px;
}
.subpage-footer .footer-bottom {
  background: #000;
}
.legal-page,
.thankyou-page {
  max-width: 860px;
  margin: 0 auto;
}
.legal-page h1,
.thankyou-card h1 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 42px;
  font-weight: 600;
  font-style: normal;
  line-height: 1.3;
  color: var(--text);
  margin: 20px 0 24px;
}
.legal-page h2 {
  font-family: var(--e-global-typography-accent-font-family);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--accent);
  margin: 36px 0 14px;
}
.legal-page p,
.legal-page li {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 17px;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 14px;
}
.legal-page ul {
  list-style: disc;
  padding-left: 24px;
  margin-bottom: 20px;
}
.legal-page a ,.thankyou-card a {
  color: var(--primary);
  text-decoration: underline;
}
.thankyou-actions a {
  color: white;
  text-decoration: none;
}
.legal-updated {
  font-size: 14px;
  opacity: 0.7;
  margin-bottom: 28px;
}
.thankyou-card {
  text-align: center;
  padding: 40px 20px;
}
.thankyou-card .section-eyebrow-sm {
  margin: 0 auto 12px;
}
.thankyou-message {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 16px;
}
.thankyou-note {
  font-family: var(--e-global-typography-secondary-font-family);
  font-size: 16px;
  opacity: 0.85;
  margin-bottom: 32px;
}
.thankyou-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .subpage-main { padding: 100px 20px 60px; }
  .legal-page h1,
  .thankyou-card h1 { font-size: 32px; }
  .thankyou-actions { flex-direction: column; align-items: center; }
}