/* Approved client additions, scoped to their components. */
.homepage-hero { float: left; width: 100%; height: min(72vh,760px); min-height: 420px; overflow: hidden; line-height: 0; background: var(--color-brand-deep,#18352d); }
.homepage-hero > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.navigation-anchor { float: left; width: 100%; }
.navigation-anchor .navigation-wrap { top: 0; }
.navigation-anchor .navigation-wrap.is-fixed { position: fixed; top: 0; left: 0; width: 100%; z-index: var(--layer-header,1000); }
.homepage-header .homepage-masthead { position: sticky; top: 0; z-index: var(--layer-header,1000); display: flex !important; background: var(--color-brand-primary,#285d50) !important; padding: 8px 0 !important; }
.homepage-masthead-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.homepage-header .homepage-logo { float: none; flex: 0 0 auto; width: 216px; height: 84px; }
.homepage-header.homepage-navigation-fixed .homepage-masthead,
body.mobile-menu-open .homepage-header .homepage-masthead { visibility: hidden; }
.homepage-header .navigation-wrap { padding: 6px 0 !important; }
.homepage-header .navigation-wrap .logo-nav-wrap { min-height: 60px; justify-content: center; }
.homepage-header .navigation-wrap .logo-wrap-small { display: none; width: 185px; height: 60px; flex: 0 0 auto; }
.homepage-header .navigation-wrap.is-fixed .logo-nav-wrap { justify-content: space-between; }
.homepage-header .navigation-wrap.is-fixed .logo-wrap-small,
body.mobile-menu-open .homepage-header .navigation-wrap .logo-wrap-small { display: block; }
.homepage-navigation-label { display: none; color: #fff; font-size: 16px; }
.home-index > .search-wrap { margin-top: 0 !important; }
.client-destinations { float: left; width: 100%; background: var(--color-brand-deep,#18352d); }
.client-destination-slider { width: 100%; overflow: hidden; }
.client-destination-slider .destination-card-link { display: block; position: relative; height: clamp(380px,52vw,670px); color: white; overflow: hidden; }
.client-destination-slider .destination-card-link::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(10,24,18,.08) 20%,rgba(10,24,18,.65) 100%); }
.client-destination-slider .destination-card-link > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.client-destination-slider .middle-part { position: absolute; top: auto; bottom: 100px; left: 24px; right: 24px; width: auto; text-align: center; transform: none; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.client-destination-slider .place { color: white; font-family: Cormorant,Georgia,serif; font-size: clamp(34px,4.5vw,66px); line-height: 1.05; font-weight: 600; }
.client-destination-slider .see-all-offers { float: none; margin: 0; width: auto; border-bottom: 1px solid var(--color-accent-warm,#b28b60); padding: 0 0 7px; color: white; font-size: 14px; text-transform: uppercase; letter-spacing: .06em; }
.client-destination-controls { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: 18px; z-index: 2; }
.client-destination-controls button { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.55); border-radius: 0; background: rgba(24,53,45,.65); color: white; font-size: 28px; cursor: pointer; }
.client-destination-controls .client-destination-pause { font-size: 18px; }
.client-destination-pagination { display: flex; align-items: center; gap: 10px; width: auto !important; }
.client-destination-pagination .swiper-pagination-bullet { background: white; opacity: .6; width: 8px; height: 8px; margin: 0 !important; }
.client-destination-pagination .swiper-pagination-bullet-active { opacity: 1; background: var(--color-accent-warm,#b28b60); }
.apartment-subtype-field { min-width: 240px; }
.apartment-subtype-field .select2 { width: 100% !important; }
.apartment-subtype-field { padding-right: 14px; box-sizing: border-box; }
.apartment-subtype-field .select2-container--default .select2-selection--multiple { min-height: 40px; border: 1px solid var(--color-border,#d6cfc3); border-radius: 0; background: #fff; }
.apartment-subtype-field .select2-selection--multiple .select2-search__field { min-height: 26px; }
@media (max-width: 600px) {
    .homepage-hero { height: 48vh; min-height: 280px; max-height: 420px; }
    .client-prefab-gallery { gap: 10px; }
    .client-prefab-gallery img { object-position: center; }
    .client-prefab-action .client-button { text-align: center; max-width: 100%; }
    .apartment-subtype-field { min-width: 0; width: 100%; }
}
.client-page { float: left; width: 100%; background: var(--color-surface-stone, #f7f5f0); }
.client-page > .site-wrap { padding-top: 36px; padding-bottom: 78px; }
.client-page-heading { margin: 0 0 32px; }
.client-page-heading h1, .client-page-title,
.client-broker-copy h1 { color: var(--color-brand-strong, #285d50); font-family: Cormorant, Georgia, serif; font-size: clamp(38px, 4.5vw, 66px); line-height: 1.06; margin: 0 0 15px; }
.client-page-heading p { margin: 0; max-width: 700px; }
.client-eyebrow { color: var(--color-brand-primary, #285d50); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.client-breadcrumb { margin: 4px 0 28px; color: #5c625d; font-size: 14px; }
.client-breadcrumb a { color: var(--color-brand-strong, #285d50); text-decoration: underline; }
.services-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.service-card { min-width: 0; background: white; box-shadow: 0 7px 26px rgba(24,46,39,.06); }
.service-card-link { display: block; height: 100%; color: var(--color-brand-strong, #285d50); }
.service-card-link img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.service-card-body { display: flex; min-height: 112px; flex-direction: column; justify-content: space-between; padding: 20px 22px 23px; }
.service-card-title { display: block; font-size: 20px; font-weight: 600; line-height: 1.35; }
.service-card-action { display: block; margin-top: 12px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.service-detail > .site-wrap { max-width: 1080px; }
.service-hero { margin: 25px 0 38px; overflow: hidden; }
.service-hero img { display: block; width: 100%; max-height: 590px; object-fit: cover; }
.service-detail-body { max-width: 920px; font-size: 16px; }
.client-outline-link { display: inline-block; margin-top: 23px; padding: 13px 19px; border: 1px solid var(--color-brand-strong,#285d50); color: var(--color-brand-strong,#285d50); }
.services-dropdown a { display: block; white-space: normal; line-height: 1.35; padding: 5px 0; }
@media (min-width: 1181px) {
    .navigation-wrap .nav-wrap > ul > .nav-item > .services-dropdown.active {
        left: auto !important;
        right: 0 !important;
        width: 360px !important;
        min-width: 0 !important;
        max-width: calc(100vw - 32px) !important;
        transform: none !important;
    }
    .navigation-wrap .nav-wrap > ul > .nav-item > .services-dropdown ul {
        float: none;
        width: 100%;
    }
    .navigation-wrap .nav-wrap > ul > .nav-item > .services-dropdown li {
        float: none;
        width: 100%;
    }
    .navigation-wrap .nav-wrap > ul > .nav-item > .services-dropdown a {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
}
.service-enquiry { margin: 0; background: var(--color-brand-strong,#285d50) !important; color: white; }
.service-enquiry .site-wrap { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 50px; }
.service-enquiry .left-pos, .service-enquiry .right-pos { float: none; width: 100%; min-width: 0; padding: 0; }
.service-enquiry .left-pos .title { color: #fff !important; }
.service-enquiry .left-pos p { clear: both; padding-top: 15px; }
.service-enquiry form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.service-enquiry .inp-hld, .service-enquiry .right-pos .inp-hld,
.service-enquiry .big-inp-hld { float: none; width: 100%; margin: 0; min-width: 0; }
.service-enquiry label { display: block; color: white; margin: 0 0 7px; font-size: 13px; }
.service-enquiry input:not([type=checkbox]), .service-enquiry textarea { width: 100%; min-height: 45px; box-sizing: border-box; padding: 11px 12px; border: 1px solid rgba(255,255,255,.5); border-radius: 0; background: rgba(255,255,255,.98); color: #202c27; }
.service-enquiry textarea { min-height: 130px; resize: vertical; }
.service-enquiry .big-inp-hld, .service-enquiry .service-consent, .service-enquiry .search-btn { grid-column: 1 / -1; }
.service-enquiry .service-captcha img { display: block; width: 150px; height: auto; margin-top: 10px; cursor: pointer; }
.service-enquiry .service-consent { display: flex; align-items: flex-start; gap: 9px; }
.service-enquiry .service-consent input { margin-top: 3px; }
.service-enquiry .service-consent label { margin: 0; }
.service-enquiry .search-btn { float: none; width: min(100%,280px); margin: 2px 0 0; }
.client-prefab, .client-testimonials { float: left; width: 100%; box-sizing: border-box; background: var(--color-surface-stone,#f7f5f0); }
.client-prefab { padding: 64px 0 76px; }
.client-prefab-gallery { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.client-prefab-panel { position: relative; display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 550px; aspect-ratio: 7 / 5; overflow: hidden; color: #003e34; }
.client-prefab-panel picture { position: absolute; inset: 0; display: block; }
.client-prefab-panel img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.client-prefab-panel-wood::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(255,253,249,.72),rgba(255,253,249,.42) 28%,transparent 52%); pointer-events: none; }
.client-prefab-panel-copy { position: absolute; z-index: 2; top: 9%; left: 6%; width: 43%; }
.client-prefab-panel .client-prefab-technology { display: flex; align-items: center; gap: 7px; margin: 0 0 16px; font-size: 12px; line-height: 1.25; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.client-prefab-technology strong { font-size: 26px; color: #008276; }
.client-prefab-technology svg { flex: 0 0 auto; }
.client-prefab-panel .client-prefab-panel-title { float: none; width: auto; margin: 0 0 22px; font-family: Montserrat,Arial,sans-serif; font-size: clamp(34px,3.25vw,62px); font-weight: 800; line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; color: inherit !important; }
.client-prefab-panel-title span { display: block; }
.client-prefab-panel .client-prefab-panel-lead { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.5; }
.client-prefab-panel .client-prefab-benefits { display: flex; flex-direction: column; gap: 12px; padding: 0; margin: 30px 0 0; list-style: none; font-size: 12px; font-weight: 600; line-height: 1.4; }
.client-prefab-benefits li { display: flex; align-items: flex-start; gap: 10px; padding: 0; margin: 0; }
.client-prefab-benefits li::before { content: '✓'; flex: 0 0 14px; width: 14px; height: 14px; display: flex; align-items: center; justify-content: center; margin-top: 1px; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; line-height: 1; }
.client-prefab-panel-metal { color: #fff; }
.client-prefab-panel-metal .client-prefab-panel-copy { left: auto; right: 6%; width: 76%; text-align: right; text-shadow: 0 1px 3px rgba(0,35,45,.25); }
.client-prefab-panel-metal .client-prefab-technology { justify-content: flex-end; }
.client-prefab-panel-metal .client-prefab-technology strong { color: #77d3c5; }
.client-prefab-panel-metal .client-prefab-panel-title { font-size: clamp(31px,3.05vw,58px); }
.client-prefab-panel-metal .client-prefab-panel-lead { max-width: 275px; margin-left: auto; }
.client-prefab-panel-metal .client-prefab-benefits { align-items: flex-end; }
.client-prefab-panel-metal .client-prefab-benefits li { flex-direction: row-reverse; }
.client-prefab-panel:focus-visible { outline: 3px solid var(--color-accent-warm,#b28b60); outline-offset: -5px; }
.client-prefab-heading { margin: 0 0 38px; text-align: center; font-family: var(--font-heading,'Cormorant',serif); font-size: clamp(34px,4vw,52px); font-weight: 600; line-height: 1.1; color: var(--color-brand-deep,#18352d); }
.client-prefab-heading::after { content: ''; display: block; width: 54px; height: 1px; margin: 18px auto 0; background: var(--color-accent-warm,#b28b60); }
.client-prefab-configurator { position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 240px; min-height: 250px; box-sizing: border-box; padding: 36px 20px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; color: #003e34; isolation: isolate; }
.client-prefab-configurator::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--color-surface-paper,#fffdf9); clip-path: polygon(50% 0,85% 9%,100% 24%,100% 88%,88% 100%,12% 100%,0 88%,0 24%,15% 9%); transition: background-color .2s ease; }
.client-prefab-configurator-icon { flex: 0 0 auto; color: var(--color-brand-primary,#285d50); }
.client-prefab-configurator-title { font-family: Montserrat,Arial,sans-serif; font-size: 20px; font-weight: 800; line-height: 1.08; letter-spacing: -.025em; text-transform: uppercase; }
.client-prefab-configurator-rule { width: 45px; height: 1px; background: #008276; }
.client-prefab-configurator-description { max-width: 185px; font-size: 10px; line-height: 1.5; }
.client-prefab-configurator-action { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 3px; font-size: 12px; line-height: 1.5; font-weight: 600; color: var(--color-brand-primary,#285d50); }
.client-prefab-configurator:hover { color: var(--color-brand-deep,#18352d); }
.client-prefab-configurator:hover::before { background: #fff; }
.client-prefab-configurator:hover .client-prefab-configurator-action,
.client-prefab-configurator:focus-visible .client-prefab-configurator-action { text-decoration: underline; text-underline-offset: 4px; }
.client-prefab-configurator:focus-visible { outline: 2px solid var(--color-accent-warm,#b28b60); outline-offset: 7px; }
.client-prefab-action { display: flex; justify-content: center; margin-top: 30px; }
.client-prefab-copy { min-width: 0; }
.client-prefab-copy h2, .client-testimonials h2, .client-partners h2,
.client-broker-offers h2 { color: var(--color-brand-strong,#285d50); font-family: Cormorant, Georgia, serif; font-size: clamp(34px,3.4vw,54px); line-height: 1.1; margin: 13px 0 20px; }
.client-prefab-copy p { max-width: 500px; font-size: 17px; line-height: 1.65; }
.client-prefab-image img { display: block; width: 100%; height: auto; object-fit: cover; }
.client-button { display: inline-block; margin-top: 20px; padding: 14px 23px; background: var(--color-brand-strong,#285d50); color: white; font-weight: 600; }
.client-prefab-phone { display: inline-block; margin: 18px 0 0 19px; color: var(--color-brand-strong,#285d50); }
.client-testimonials { padding: 45px 0 78px; }
.client-testimonials h2 { text-align: center; margin: 0 0 28px; }
.client-testimonial-slider { max-width: 800px; margin: auto; }
.client-testimonial { box-sizing: border-box; padding: 30px 38px; background: white; text-align: center; }
.client-testimonial blockquote { margin: 0 0 21px; line-height: 1.7; font-size: 17px; }
.client-testimonial blockquote p { margin: 0 0 1em; }
.client-testimonial-name { margin: 0; font-weight: 600; color: var(--color-brand-strong,#285d50); }
.client-testimonial-controls { display: flex; justify-content: center; gap: 16px; padding-top: 17px; }
.client-testimonial-controls button { width: 38px; height: 38px; border: 1px solid var(--color-brand-strong,#285d50); background: transparent; color: var(--color-brand-strong,#285d50); cursor: pointer; font-size: 24px; }
.client-partners { padding: 35px 0 40px; border-bottom: 1px solid rgba(255,255,255,.25); }
.client-partners h2 { margin: 0 0 25px; color: white; font-size: 36px; }
.client-partners-grid { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.client-partners-grid > a, .client-partners-grid > div { display: flex; align-items: center; justify-content: center; box-sizing: border-box; max-width: 245px; min-height: 118px; }
.client-partners-grid img { display: block; width: auto; height: auto; max-width: 245px; max-height: 118px; object-fit: contain; }
.newsletter-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.newsletter-email-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.footer .inp-f input[type=email] { padding-right: 55px; }
.client-broker-profile { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); gap: 6%; align-items: start; }
.client-broker-image img { display: block; width: 100%; height: auto; max-height: 610px; object-fit: cover; }
.client-broker-position { color: #5e6760; font-size: 18px; }
.client-broker-contact { display: flex; flex-wrap: wrap; gap: 12px 26px; margin: 23px 0 27px; }
.client-broker-contact a { color: var(--color-brand-strong,#285d50); text-decoration: underline; overflow-wrap: anywhere; }
.client-broker-offers { margin-top: 64px; }
.client-broker-offers-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.client-broker-offers-grid .small-box { width: 100%; min-width: 0; }
@media (max-width: 1180px) {
    .navigation-wrap .nav-wrap.active > ul > .nav-item > .services-dropdown.active { width: 100%; min-width: 0; max-width: 100%; }
    .nav-wrap.active .services-dropdown a { padding: 9px 0; }
}
@media (max-width: 800px) {
    .services-grid, .client-broker-offers-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .client-prefab-inner, .client-broker-profile { grid-template-columns: 1fr; gap: 28px; }
    .client-prefab-image { order: -1; }
    .service-enquiry .site-wrap { grid-template-columns: 1fr; gap: 20px; }
    .service-enquiry .left-pos .title { font-size: 30px; }
}
@media (max-width: 560px) {
    .client-page > .site-wrap { padding-top: 24px; padding-bottom: 52px; }
    .services-grid, .client-broker-offers-grid, .service-enquiry form { grid-template-columns: 1fr; }
    .service-enquiry .inp-hld, .service-enquiry .right-pos .inp-hld { grid-column: 1; }
    .service-enquiry { padding: 40px 0; }
    .client-prefab { padding: 35px 0 47px; }
    .client-prefab-phone { display: block; margin-left: 0; }
    .client-testimonials { padding: 35px 0 56px; }
    .client-testimonial { padding: 25px 22px; }
    .client-partners-grid > a, .client-partners-grid > div { width: calc(50% - 9px); }
    .client-partners-grid img { max-width: 100%; }
    .client-partners h2 { font-size: 32px; }
    .client-broker-copy h1 { font-size: 42px; }
}
@media (max-width: 1180px) {
    body.mobile-menu-open .navigation-anchor .navigation-wrap { position: fixed; top: 0; left: 0; width: 100%; }
    .homepage-header .navigation-wrap .logo-nav-wrap { justify-content: space-between; }
    .homepage-navigation-label { display: block; }
    .homepage-header .navigation-wrap.is-fixed .homepage-navigation-label,
    body.mobile-menu-open .homepage-navigation-label { display: none; }
}
@media (max-width: 600px) {
    .homepage-header .homepage-masthead { padding: 4px 0 !important; }
    .homepage-masthead-inner { gap: 10px; }
    .homepage-header .homepage-logo { width: 154px; height: 64px; }
    .homepage-masthead .right-info { flex-direction: column; align-items: flex-end; gap: 7px; }
    .homepage-masthead .phone { margin: 0; padding-right: 0; font-size: 12px; }
    .homepage-masthead .phone::after { display: none; }
    .homepage-header .navigation-wrap .logo-wrap-small { width: 154px; }
    .client-prefab-gallery { gap: 0; }
    .client-prefab-heading { margin-bottom: 26px; }
    .client-prefab-configurator { width: 230px; min-height: 235px; padding: 32px 20px 23px; gap: 10px; }
    .client-prefab-configurator-icon { width: 28px; height: 28px; }
    .client-prefab-configurator-title { font-size: 21px; }
    .client-prefab-configurator-action { font-size: 11px; gap: 8px; }
    .client-prefab-action .client-button { max-width: 100%; text-align: center; }
}

@media (max-width: 900px) {
    .client-prefab-gallery { grid-template-columns: minmax(0,1fr); gap: 0; }
    .client-prefab-panel { min-height: 620px; aspect-ratio: 2 / 3; }
    .client-prefab-panel-wood { order: 0; }
    .client-prefab-panel-wood::after { display: none; }
    .client-prefab-panel-metal { order: 2; }
    .client-prefab-panel img { object-position: center; }
    .client-prefab-panel-copy,
    .client-prefab-panel-metal .client-prefab-panel-copy { inset: 30px 24px 24px; width: auto; }
    .client-prefab-panel .client-prefab-panel-title,
    .client-prefab-panel-metal .client-prefab-panel-title { max-width: 390px; font-size: clamp(30px,6.7vw,46px); margin-bottom: 16px; }
    .client-prefab-panel-metal .client-prefab-panel-title { margin-left: auto; }
    .client-prefab-panel .client-prefab-panel-lead { max-width: 290px; font-size: 13px; }
    .client-prefab-panel .client-prefab-benefits { position: absolute; bottom: 0; left: 0; right: 0; gap: 9px; margin: 0; padding: 16px; background: rgba(0,50,42,.86); color: #fff; font-size: 12px; }
    .client-prefab-panel-metal .client-prefab-benefits { align-items: flex-end; }
    .client-prefab-configurator { position: relative; order: 1; top: auto; left: auto; transform: none; grid-column: 1; justify-self: center; width: 250px; min-height: 245px; margin: -24px 0; padding: 32px 24px 26px; gap: 10px; }
    .client-prefab-configurator-title { font-size: 23px; }
    .client-prefab-configurator-description { max-width: 200px; font-size: 11px; }
}
@media (max-width: 360px) {
    .client-prefab-panel-copy,
    .client-prefab-panel-metal .client-prefab-panel-copy { inset: 24px 18px 20px; }
    .client-prefab-panel .client-prefab-technology { gap: 5px; font-size: 10px; }
    .client-prefab-technology strong { font-size: 23px; }
    .client-prefab-panel .client-prefab-panel-title,
    .client-prefab-panel-metal .client-prefab-panel-title { font-size: 27px; }
}
