@media not all and (min-width: 75rem) {
._mobnav {
    display: none
}

html:root {
    --fs-12: 1.2rem;
    --fs-14: 1.4rem;
    --fs-15: 1.5rem;
    --fs-16: 1.6rem;
    --fs-18: 1.8rem;
    --fs-20: 2rem;
    --fs-24: 2.4rem;
    --fs-30: clamp(2.2rem,4.8vw,2.6rem);
    --fs-42: clamp(2.4rem,4.8vw,2.8rem);
    --fs-56: clamp(2.6rem,5.2vw,3.2rem);
    --fs-82: clamp(2.8rem,5.8vw,3.6rem);
    --font-size-min: var(--fs-14);
    --mobile-page-gap: .4rem;
    --mobile-content-gap: 2.4rem;
    --mobile-header-gap: 2.4rem;
    --page-gap: var(--mobile-page-gap);
    --mobile-content-pad: 1.2rem;
    --head-size: calc(5rem + env(safe-area-inset-top,0rem));
    --hero-top: 0rem;
    --gap-sm: .8rem;
    --gap-md: 1.6rem;
    --gap-lg: 2.8rem;
    --section-space: 4.8rem;
    --section-title-space: 2.4rem;
    --card-radius: 2rem;
    --filter-height: 5.4rem;
    --filter-padding-x: 1.6rem;
    --filter-padding-y: .8rem;
    --mobile-nav-size: 7rem;
    --product-segmented-height: 4.4rem;
    --product-segmented-radius: 1.9rem;
    --product-segmented-item-radius: 1.6rem;
    --product-drawing-top-gap: 18rem;
    --product-drawing-bottom-gap: 12.5rem;
    --product-plan-bottom-gap: 11rem;
    --ui-range-hit-height: 4.4rem;
    --popover-width: 28rem;
    --cw-size: 5.4rem;
    --cw-social-size: 4.8rem;
    --mobile-project-image-height: clamp(23rem,72vw,44rem);
    --mobile-sheet-y: 0rem;
    --mobile-vv-height: 100vh;
    --mobile-vv-top: 0rem;
    --mobile-vv-left: 0rem;
    --mobile-vv-width: 100vw;
    --mobile-sheet-max-height: calc(var(--mobile-vv-height) - 6rem)
}

html,
html body {
    min-width: 0
}

html[data-mobile-menu-open],
html[data-mobile-menu-open] body,
html[data-mobile-layer],
html[data-mobile-layer] body,
html[data-page-lock],
html body[data-lock] {
    overflow: hidden;
    overscroll-behavior: none
}

html body {
    padding-bottom: calc(var(--mobile-nav-size) + env(safe-area-inset-bottom, 0rem))
}

html ._shell {
    width: calc(100% - var(--page-gap) - var(--page-gap))
}

html main {
    padding-top: calc(var(--head-size) + var(--hero-top))
}

html main > * + * {
    margin-top: var(--gap-lg)
}

html main:not([data-inner]) > * + * {
    margin-top: var(--section-space)
}

html main[data-inner] > ._bread + * {
    margin-top: 1.8rem
}

html ._headr {
    container-type: normal;
    top: 0;
    height: var(--head-size);
    max-height: var(--head-size)
}

html[data-mobile-keyboard] ._headr { top:var(--mobile-vv-top); }

html ._hrowx {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap: var(--gap-sm);
    padding-inline: var(--mobile-header-gap);
    width: 100%
}

html ._brand {
    background: transparent;
    border: 0;
    border-radius: 0;
    flex: 0 1 auto;
    height: 100%;
    justify-content: flex-start;
    max-width: 100%;
    min-width: 0;
    padding: 0
}

html ._brand ._logox {
    gap: .5rem;
    min-width: 0
}

html ._brand ._wordx {
    font-size: clamp(1.1rem,3.25vw,1.4rem)
}

html ._brand ._regxx { width:.8rem; height:.8rem; flex-basis:.8rem; margin-top:-.2rem; }

html ._brand ._icnxx {
    height: 2.2rem;
    width: 1.7rem
}

html ._phgrp {
    grid-column:2;
    display: flex;
    flex: 0 0 auto;
    height: 100%;
    margin-left: auto
}

html ._phgrp::after,
html ._phgrp ._pcard {
    display: none
}

html ._phone {
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: clamp(1.1rem,3.25vw,1.3rem);
    font-weight: 500;
    height: 100%;
    padding: 0;
    white-space: nowrap
}

html ._tools {
    display: none
}

html ._mobcityslot {
    border-top: 0.1rem solid var(--vc-block);
    display: block;
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    width: 100%
}

html ._mobcityslot ._menux {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    height: auto;
    width: 100%
}

html ._mobcityslot ._place {
    background: var(--vc-block);
    border: 0;
    border-radius: var(--button-radius);
    height: var(--button-height);
    justify-content: space-between;
    max-width: none;
    padding-inline: 1.6rem;
    width: 100%
}

html ._mobcityslot [data-city-current] {
    font-size: var(--fs-14);
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

html ._mobcityslot ._dropx {
    background: var(--vc-block);
    border-radius: 1.8rem;
    box-shadow: none;
    left: auto;
    margin-top: .8rem;
    max-height: 26rem;
    min-width: 0;
    padding: .4rem;
    position: static;
    right: auto;
    transform: none;
    width: 100%
}

html ._navxx {
    align-items: stretch;
    background: var(--color-surface);
    bottom: auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    left: var(--mobile-vv-left);
    right: auto;
    justify-content: flex-start;
    margin: 0;
    opacity: 0;
    overflow-y: auto;
    padding: 0 var(--mobile-content-gap) 3rem;
    pointer-events: none;
    position: fixed;
    top: calc(var(--mobile-vv-top) + 6rem);
    visibility: hidden;
    width: var(--mobile-vv-width);
    z-index: 11000
}

html[data-layout="mobile"][data-mobile-menu-open] ._navxx {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}

html ._navln,
html ._morex {
    border-bottom: 0.1rem solid var(--vc-block);
    font-size: 1.8rem;
    font-weight: 500;
    justify-content: space-between;
    min-height: 5.2rem;
    width: 100%
}

html ._navln::after,
html ._morex::after {
    display: none
}

html ._navxx > ._menux {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    height: auto;
    width: 100%
}

html ._menux[data-hover-menu] ._dropx {
    background: var(--vc-block);
    border-radius: 1.8rem;
    box-shadow: none;
    left: auto;
    margin-top: .8rem;
    min-width: 0;
    padding: .6rem;
    position: static;
    right: auto;
    transform: none;
    width: 100%
}

html ._menux[data-hover-menu][data-open]::after {
    display: none
}

html ._navxx ._dropl {
    border-radius: 1.4rem;
    font-size: 1.4rem;
    min-height: 4.4rem;
    padding-inline: 1.2rem
}

html ._mobnav {
    align-items: stretch;
    background: var(--color-surface);
    border-top: 0.1rem solid var(--color-ink-90);
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    height: calc(var(--mobile-nav-size) + env(safe-area-inset-bottom,0rem));
    left: 0;
    padding: .6rem max(.4rem,env(safe-area-inset-right,0rem)) calc(.6rem + env(safe-area-inset-bottom,0rem)) max(.4rem,env(safe-area-inset-left,0rem));
    position: fixed;
    right: 0;
    top: auto;
    width: auto;
    z-index: 70
}
html ._mobni {
    align-items: center;
    border: 0;
    border-radius: 1.2rem;
    color: var(--color-ink-60);
    display: flex;
    flex-direction: column;
    font-size: 1.2rem;
    font-weight: 500;
    gap: .3rem;
    justify-content: center;
    line-height: 1.2;
    min-height: 4.8rem;
    min-width: 0;
    padding: 0;
    text-align: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent
}
html ._mobiconwrap {
    align-items: center;
    border-radius: 1.6rem;
    display: flex;
    flex: 0 0 2.8rem;
    height: 2.8rem;
    justify-content: center;
    position: relative;
    transition: background-color 180ms ease,color 180ms ease;
    width: min(4.8rem,100%)
}
html ._mobnav ._mobicon {
    display: block;
    flex: 0 0 2.2rem;
    height: 2.2rem;
    margin: 0;
    max-height: 2.2rem;
    max-width: 2.2rem;
    width: 2.2rem
}
html ._mobni[data-active-route],
html[data-mobile-menu-open] [data-mobile-menu-toggle] {
    color: var(--color-ink)
}
html ._mobni[data-active-route] ._mobiconwrap,
html[data-mobile-menu-open] [data-mobile-menu-toggle] ._mobiconwrap {
    background: var(--vc-block);
    color: var(--color-accent-text)
}
html ._mobni:active ._mobiconwrap { transform: scale(.94) }
html ._mobfavcount {
    align-items: center;
    background: var(--color-accent);
    border: 0.2rem solid var(--color-surface);
    border-radius: 1rem;
    color: var(--color-on-accent);
    display: flex;
    font-size: 1.2rem;
    height: 2rem;
    justify-content: center;
    min-width: 2rem;
    padding: 0 .3rem;
    position: absolute;
    right: -.2rem;
    top: -.5rem
}
html ._mobfavcount[hidden] { display: none }
html ._mobicon path { transform-origin: 1.2rem 1.2rem; transition: transform 180ms ease,opacity 180ms ease }
html[data-mobile-menu-open] ._mobline1 { transform: translateY(0.5rem) rotate(45deg); transform-origin: 1.2rem 0.7rem }
html[data-mobile-menu-open] ._mobline2 { opacity: 0 }
html[data-mobile-menu-open] ._mobline3 { transform: translateY(-0.5rem) rotate(-45deg); transform-origin: 1.2rem 1.7rem }

html ._bread {
    overflow: hidden
}

html ._brnav {
    overflow: hidden
}

html ._hero1 {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    max-height: none;
    min-height: 0
}

html ._hero1 > ._media {
    min-height: clamp(34rem,64vh,49rem); min-height: clamp(34rem,64svh,49rem);
    order: 1
}

html ._hero1 > ._stack {
    gap: var(--gap-md);
    grid-template-rows: auto auto;
    order: 2
}

html ._copyx {
    left: 2.4rem;
    max-width: calc(100% - 4.8rem)
}

html ._h1xxx,
html ._h2xxx {
    font-size: var(--fs-30)
}

html ._leadx,
html ._subtx {
    font-size: var(--fs-14)
}

html ._dotsx {
    right: 1.6rem;
    bottom: auto;
    top: 1.6rem
}

html ._wide1,
html ._small,
html ._side1 {
    padding: 2.4rem
}

html ._lower {
    grid-template-columns: repeat(auto-fit,minmax(min(100%,26rem),1fr))
}

html ._small,
html ._side1 {
    min-height: 25rem
}

html ._pager {
    margin-top: 2rem
}

html ._chead,
html ._axhd,
html ._whead,
html ._abhed,
html ._cthed {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--gap-md)
}

html ._ctitl,
html ._axttl,
html ._wtitl,
html ._qttl,
html ._abttl,
html ._favtt,
html ._ptitl,
html ._scttl,
html ._wkttl,
html ._ctttl {
    font-size: var(--fs-30)
}

html ._chead {
    align-items: stretch;
    flex-direction: column
}

html ._cctrl {
    justify-content: space-between;
    width: 100%
}

html ._hitts,
html ._reset {
    min-width: 0
}

html ._filt1 {
    grid-template-columns: repeat(auto-fit,minmax(min(100%,22rem),1fr))
}

html ._flist {
    max-width: calc(100vw - var(--page-gap) - var(--page-gap));
    min-width: 100%;
    width: 100%
}

html ._fitem {
    white-space: normal
}

html ._clist {
    column-gap: var(--gap-md);
    grid-template-columns: repeat(auto-fit,minmax(min(100%,30rem),1fr));
    row-gap: var(--gap-lg)
}

html ._carea {
    padding-top: .8rem
}

html ._ctop1 { padding-bottom:1rem; }

html ._cmeta {
    left: 1.4rem;
    right: calc(1.4rem + var(--button-height) + var(--catalog-card-meta-safe-gap));
    top: 1.4rem
}

html ._cseco {
    right: 1.4rem;
    top: 1.4rem
}

html ._cgdts {
    padding: 0 1.4rem 1.4rem
}

html ._cbotx {
    padding: 1.6rem var(--mobile-content-gap) 2rem
}

html ._loadr {
    bottom: calc(var(--mobile-nav-size) + 1.4rem + env(safe-area-inset-bottom, 0rem))
}

html ._works {
    border-radius: var(--card-radius);
    padding-block: 4.8rem
}

html ._whead,
html ._axslide ._axhd {
    align-items: center
}

html ._wacts {
    flex: 1 1 auto;
    justify-content: flex-end
}

html ._wrail,
html ._axslide ._axrail {
    gap: var(--gap-md);
    grid-auto-columns: min(32rem,calc(100vw - 5.2rem))
}

html ._wcard {
    grid-template-rows: 22rem 1fr;
    min-height: 38rem
}

html ._wimgx {
    height: 22rem
}

html ._wbody {
    padding: 2rem var(--mobile-content-gap)
}

html ._axcat ._axrail,
html ._wkgrid,
html ._clgrd {
    grid-template-columns: repeat(auto-fit,minmax(min(100%,30rem),1fr))
}

html ._axbar,
html ._wkbar {
    align-items: stretch;
    flex-direction: column;
    min-width: 0;
    width: 100%
}

html ._axflt,
html ._wkflt {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    width: 100%
}

html ._axfb,
html ._wkfb {
    flex: 0 0 auto;
    font-size: var(--fs-14);
    padding-inline: 1.6rem
}

html ._axcta {
    align-self: stretch;
    width: 100%
}

html ._wktools {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,24rem),1fr));
    min-width: 0;
    width: 100%
}

html ._wkonly,
html ._wksort,
html ._wksortb {
    min-width: 0;
    width: 100%
}

html ._wkgrid {
    margin-top: 3rem
}

html ._wkcard,
html ._wklink {
    min-height: 37rem
}

html ._abhed {
    flex-direction: column
}

html ._abcopy,
html ._ablead {
    max-width: 100%
}

html ._abimg {
    height: min(52rem,110vw)
}

html ._abmsg {
    bottom: 2.2rem;
    left: 2.2rem;
    max-width: calc(100% - 4.4rem)
}

html ._abcad {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

html ._absta,
html ._abwid {
    min-height: 17rem
}

html ._absta {
    padding: var(--mobile-content-gap)
}

html ._abwid {
    gap: var(--gap-md);
    grid-template-columns: minmax(0,1fr) 10rem;
    grid-column: 1 / -1;
    padding: 2rem
}

html ._abwim {
    height: 13rem
}

html ._scien > ._shell {
    overflow-x: hidden
}

html ._sctab {
    grid-auto-columns: minmax(18rem,70%);
    margin-bottom: var(--gap-md)
}

html ._scbtn {
    min-height: 4.8rem;
    padding-inline: 1.6rem
}

html ._scgrd {
    grid-template-columns: minmax(0,1fr)
}

html ._sctxt,
html ._scimg {
    min-height: 0
}

html ._sctxt {
    gap: var(--gap-md);
    padding: 2.4rem
}

html ._scimg {
    height: min(48rem,90vw);
    min-height: 30rem
}

html ._scpic {
    height: 100%
}

html ._prjdt {
    border-radius: 0;
    min-height: 0;
    padding-bottom: 5rem
}

html ._pgrid {
    gap: 3rem;
    grid-template-columns: minmax(0,1fr)
}

html ._pview {
    height: clamp(44rem,calc(100vh - var(--head-size) - var(--mobile-nav-size) - 5rem),64rem); height: clamp(44rem,calc(100svh - var(--head-size) - var(--mobile-nav-size) - 5rem),64rem);
    min-height: 44rem;
    position: relative;
    top: auto
}

html ._pimag,
html ._psetx {
    border-radius: var(--card-radius)
}

html ._pctrl,
html ._pfloorctrl {
    left: 1.2rem;
    max-width: calc(100% - 2.4rem)
}

html ._pctrl {
    top: 6.4rem
}

html ._pfloorctrl {
    top: calc(6.4rem + var(--product-segmented-height) + var(--product-segmented-pad) + var(--product-segmented-pad) + var(--gap-sm))
}

html ._pfloorctrl-first {
    top: 6.4rem
}

html ._ptabx,
html ._pfloorx {
    font-size: var(--fs-14);
    height: var(--product-segmented-height);
    padding-inline: 1rem
}

html ._pactions {
    right: 1.2rem;
    top: 1.2rem
}

html ._pmediaarw-prev {
    left: 1.2rem
}

html ._pmediaarw-next {
    right: 1.2rem
}

html ._pstat {
    bottom: 1.2rem;
    left: 1.2rem;
    right: 1.2rem
}

html ._psttx {
    gap: .4rem;
    padding-inline: .4rem
}

html ._psttx strong {
    font-size: clamp(1.8rem,6vw,2.4rem); font-size: clamp(1.8rem,6cqw,2.4rem)
}

html ._pstatcar ._pstatclip {
    margin-inline: 3.4rem
}

html ._pstprev {
    left: .4rem
}

html ._pstnext {
    right: .4rem
}

html ._pinfo {
    justify-self: stretch;
    width: 100%
}

html ._pbody {
    gap: 0
}

html ._ppric {
    position: static
}

html ._poptn {
    padding: 1.4rem 4.6rem 1.4rem 1.4rem
}

html ._pkwrp { width:100% }

html ._pkcnt { padding:3.2rem 1.6rem 2rem }

html ._pkhed {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--gap-sm)
}

html ._pkbody {
    gap: 1rem
}

html ._pcsec {
    border-radius: 1.6rem;
    padding: 1.6rem
}

html ._fshed {
    gap: var(--gap-sm);
    grid-template-columns: minmax(0,1fr) 5.2rem;
    padding: 1.2rem 1.6rem
}

html ._ftabs {
    grid-column: 1;
    justify-self: start;
    max-width: 100%;
    overflow-x: auto
}

html ._ftabx {
    flex: 0 0 auto;
    height: 4.2rem;
    padding-inline: 1.2rem
}

html ._fcoun {
    display: none
}

html ._fclos {
    grid-column: 2;
    height: 4.8rem;
    width: 4.8rem
}

html ._fbody,
html ._fbody[data-single] {
    grid-template-columns: minmax(0,1fr);
    padding: 0 1.6rem 1rem;
    position: relative
}

html ._fview {
    grid-column: 1;
    min-width: 0
}

html ._fprev,
html ._fnext {
    bottom: 0;
    height: 4.8rem;
    margin-block: auto;
    position: absolute;
    top: 0;
    width: 4.8rem;
    z-index: 4
}

html ._fprev {
    left: 2.4rem
}

html ._fnext {
    right: 2.4rem
}

html ._fimag {
    border-radius: var(--card-radius)
}

html ._fdots {
    min-height: 4rem;
    padding: 0 1.6rem 1rem
}

html ._ctop1,
html ._favhd,
html ._legal,
html ._whead,
html ._axhd,
html ._axbar,
html ._abhed,
html ._cthed,
html ._wkhead,
html ._wkbar,
html ._wdhead,
html ._pxhead,
html ._clhed,
html ._qmv8r ._qttl,
html ._brnav,
html ._consultationpage {
    padding-inline: var(--mobile-content-pad)
}

html ._pbody {
    padding-inline: var(--mobile-content-pad)
}

html ._ctbody {
    padding-inline: var(--mobile-content-pad)
}

html ._pxcopy,
html ._pxacts,
html ._pxmeta {
    margin-inline: var(--mobile-content-pad)
}

html ._wkbody {
    padding: var(--mobile-content-gap)
}

html ._axmeta {
    padding: var(--mobile-content-gap) var(--mobile-content-gap) 0
}

html ._axname {
    padding: 1.8rem var(--mobile-content-gap) 1rem
}

html ._axtext {
    padding-inline: var(--mobile-content-gap)
}

html ._axdate {
    padding: 2rem var(--mobile-content-gap) 0
}

html ._wide1,
html ._small,
html ._side1 {
    padding: var(--mobile-content-gap)
}

html ._pxlay {
    grid-template-columns: minmax(0,1fr)
}

html ._pxstick {
    position: static
}

html ._pxpic {
    aspect-ratio: 4/3;
    border-radius: var(--card-radius)
}

html ._pxhead {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 2.4rem
}

html ._pxrgt {
    margin-left: 0
}

html ._pxgal ._fshed {
    padding: 1.2rem 1.6rem
}

html ._pxgal ._fbody {
    padding: 0 1.6rem 2rem;
    width: 100%
}

html ._pxgal ._fview {
    height: calc(var(--mobile-vv-height) - 10rem)
}

html ._wddtl {
    padding-bottom: 5rem
}

html ._wdhead {
    margin-bottom: 3rem
}

html ._wdtop {
    align-items: flex-start;
    flex-direction: column
}

html ._wddate {
    margin-left: 0
}

html ._wdgrid {
    gap: var(--gap-sm)
}

html ._wdpic {
    border-radius: 1.8rem
}

html ._wdstory-close {
    right: 1.6rem;
    top: 1.6rem
}

html ._wdstory-slide[data-story-side] {
    opacity: 0
}

html ._cthed {
    align-items: stretch;
    flex-direction: column
}

html ._ctacts {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr))
}

html ._ctbtn {
    padding-inline: 1.2rem
}

html ._ctwrp,
html ._ctwrp[data-map-full] {
    gap: var(--gap-lg);
    grid-template-columns: minmax(0,1fr)
}

html ._ctwrp[data-map-full] ._ctlist {
    opacity: 1;
    overflow: visible;
    pointer-events: auto
}

html ._ctaside,
html ._ctwrp[data-map-full] ._ctaside {
    height: min(58rem,105vw);
    min-height: 38rem;
    position: static;
    width: 100%
}

html ._ctimg,
html ._ctmap {
    border-radius: var(--card-radius)
}

html ._ctexpand {
    display: none
}

html ._ctzoom {
    right: 1.6rem
}

html ._legal {
    padding-bottom: 5rem
}

html ._legal h1 {
    font-size: var(--fs-30);
    line-height: 1.2;
}

html ._favti {
    font-size: var(--fs-30)
}

html ._legal h2 {
    font-size: clamp(2.1rem, 6.2vw, 2.5rem);
    line-height: 1.12;
}

html ._legalmeta {
    padding: 2rem
}

html ._favbd {
    min-height: 0;
    padding-block: 2rem 5rem
}

html ._favld,
html ._favno {
    min-height: 34rem
}

html ._qg2kx {
    grid-auto-rows: auto;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,30rem),1fr))
}

html ._qa7np,
html ._qb4tz,
html ._qc9wm,
html ._qd2fv {
    grid-column: auto;
    grid-row: auto;
    min-height: 32rem
}

html ._qa7np,
html ._qb4tz,
html ._qc9wm,
html ._qd2fv {
    border-radius: var(--card-radius)
}

html ._qb4tz,
html ._qc9wm,
html ._qd2fv {
    padding: 2.4rem
}

html ._footr {
    padding: var(--section-space) 0 2rem
}

html ._fgrid {
    flex-direction: column
}

html ._fleft,
html ._frght,
html ._fcall,
html ._fmenu {
    flex-basis: auto;
    width: 100%
}

html ._fleft {
    border-radius: var(--card-radius);
    min-height: 0;
    padding: 2.4rem
}

html ._finfo {
    margin-top: auto;
    padding-top: 4rem
}

html ._ftopx {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,28rem),1fr))
}

html ._fcall,
html ._fmenu {
    border-radius: var(--card-radius);
    padding: 2.4rem
}

html ._fcall {
    align-items: flex-start
}

html ._fmenu {
    min-height: 0
}

html ._fcols {
    gap: 3rem var(--gap-md);
    grid-template-columns: repeat(auto-fit,minmax(min(100%,15.5rem),1fr))
}

html ._fnlst {
    gap: 1.4rem;
    margin-top: 1.6rem
}

html ._fbott {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--gap-md)
}

html ._modlx { bottom:auto; height:var(--mobile-vv-height); left:var(--mobile-vv-left); place-items:end center; right:auto; top:var(--mobile-vv-top); width:var(--mobile-vv-width); z-index:11000 }

html ._mwrap {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    scale: 100%;
    width: 100%
}

html ._modlx[data-open] ._mwrap { scale:100% }

html ._mshel {
    border-radius: 0;
    flex: 1 1 auto;
    max-height: none;
    min-height: 0;
    padding: 0
}

html ._modal {
    height: 100%;
    max-height: none;
    padding: 1.6rem 2rem max(2.4rem,env(safe-area-inset-bottom,0rem));
    scroll-padding-block: 1.6rem;
    scrollbar-gutter: auto;
    scrollbar-width: none
}
html ._modal::-webkit-scrollbar { display:none }

html ._mclos { display:none }

html ._modal ._mdesc {
    font-size: var(--fs-16);
    line-height: 1.45
}

html ._mform {
    width:100%;
    min-width:0;
    margin-top:2rem;
}
html ._consultationpage { padding-block:2.4rem 4rem; }
html ._consultationpage h1 { font-size:var(--fs-30); overflow-wrap:break-word; }
html ._mhead { gap:1.2rem; }
html ._mques { margin-bottom:1.2rem; font-size:1.4rem; }
html ._modes { gap:.4rem; padding:.4rem; min-width:0; border-radius:var(--radius-full); }
html ._mform ._mlabl { height:auto; min-height:4.4rem; padding:.8rem .4rem; font-size:1.3rem; line-height:1.3; overflow-wrap:break-word; text-align:center; }
html ._mform ._field { grid-template-columns:minmax(0,1fr); grid-template-areas:none; margin-top:2rem; gap:.8rem; min-width:0; }
html :is(._modal,._consultationpage) ._mform ._field > * { grid-area:auto; min-width:0; }
html ._mform ._fieldlabel { margin:0; font-size:1.4rem; line-height:1.4; }
html ._mform ._minpt + ._fieldlabel { margin-top:.8rem; }
html ._mform ._minpt { min-width:0; height:5.2rem; padding-inline:1.6rem; font-size:1.6rem; border-radius:var(--radius-full); }
html ._mform ._msend { margin-top:2rem; }
html ._mform ._chksx { width:100%; min-width:0; margin:1.6rem 0 0; gap:1.2rem; }
html ._mform ._chkit { min-width:0; min-height:4.4rem; align-items:start; gap:1rem; padding-block:.4rem; }
html ._mform ._cmark { margin-top:.15rem; }
html ._mform ._ctext { min-width:0; font-size:1.3rem; line-height:1.45; white-space:normal; overflow-wrap:break-word; }
html ._mform ._mnote { max-width:100%; overflow-wrap:break-word; }

html ._cookp {
    bottom: calc(var(--mobile-nav-size) + 1.2rem + env(safe-area-inset-bottom, 0rem));
    max-width: calc(100vw - var(--page-gap) - var(--page-gap));
    right: var(--page-gap)
}

._mobmenuhead, ._mfhead, ._mffoot, ._mftrigger { display: none }
._mfpanel { display: contents }
._mferror { display: none }
html ._mferror:not([hidden]) { color: var(--color-ink); display: block; font-size: 1.4rem; margin: 0; padding: 1.2rem var(--mobile-content-gap) }
html ._mobni > span:not(._mobiconwrap) { max-width: 100%; overflow-wrap: anywhere }

html:root {
    scroll-padding-top: calc(var(--head-size) + 1.6rem);
    scroll-padding-bottom: calc(var(--mobile-nav-size) + env(safe-area-inset-bottom,0rem) + 1.6rem)
}
html ._mobicon * { vector-effect: non-scaling-stroke }
html :is(._leadx,._subtx) { font-size: 1.6rem }
html :is(._media ._leadx,._wide1 ._subtx) { max-height: none; overflow: visible }
html ._hrowx {
    padding-top: env(safe-area-inset-top,0rem);
    padding-left: max(var(--mobile-header-gap),env(safe-area-inset-left,0rem));
    padding-right: max(var(--mobile-header-gap),env(safe-area-inset-right,0rem))
}
html :is(input:not([type="range"]),textarea,select) { font-size: 1.6rem }

html [data-touch-slider] { touch-action: pan-y pinch-zoom }
html [data-touch-slider] img { -webkit-user-drag: none; user-select: none }
html ._navxx {
    overscroll-behavior-y: contain;
    padding-left: max(1.6rem,env(safe-area-inset-left,0rem));
    padding-right: max(1.6rem,env(safe-area-inset-right,0rem));
    scrollbar-width: none
}
html ._navxx::-webkit-scrollbar { display:none }
html :is(._navxx,._mfpanel,._mwrap) {
    border-radius: 2.8rem 2.8rem 0 0;
    height: var(--mobile-sheet-max-height);
    max-height: var(--mobile-sheet-max-height)
}
html [data-mobile-sheet] {
    opacity: 1;
    transform: translate3d(0,var(--mobile-sheet-y,0),0);
    transition: none;
    will-change: transform
}
html [data-mobile-sheet][data-sheet-animate] {
    transition: transform 460ms cubic-bezier(.22,.82,.24,1)
}
html [data-mobile-sheet][data-sheet-dragging] { transition:none }
html ._mobilelayerbackdrop {
    background: var(--opacity-black-40);
    height: var(--mobile-vv-height);
    left: var(--mobile-vv-left);
    opacity: 0;
    pointer-events: auto;
    position: fixed;
    top: var(--mobile-vv-top);
    width: var(--mobile-vv-width);
    z-index: 10990
}
html :is(._mobilelayerbackdrop,._modlx ._shade) { transition:none }
html :is(._mobilelayerbackdrop,._modlx ._shade)[data-sheet-backdrop-animate] {
    transition: opacity 300ms cubic-bezier(.22,.82,.24,1)
}
html :is(._mobilelayerbackdrop,._modlx ._shade)[data-sheet-backdrop-opening] {
    transition: opacity 220ms ease-out 220ms
}
html ._modlx ._shade {
    background: var(--opacity-black-40);
    pointer-events: none
}
html ._msheetgrab {
    align-items: center;
    background: var(--color-surface);
    border: 0;
    display: flex;
    flex: 0 0 4.4rem;
    height: 4.4rem;
    justify-content: center;
    min-height: 4.4rem;
    padding: 0;
    position: sticky;
    top: 0;
    touch-action: none;
    width: 100%;
    z-index: 4
}
html ._msheetgrab span {
    background: var(--color-ink-80);
    border-radius: var(--radius-full);
    display: block;
    height: .4rem;
    width: 3.8rem
}
html ._mobmenuhead {
    align-items: center;
    background: var(--color-surface);
    display: flex;
    font-size: 1.4rem;
    justify-content: space-between;
    min-height: 4.8rem;
    position: sticky;
    top: 4.4rem;
    z-index: 3
}
html ._navln, html ._morex { min-height: 5.2rem }
html[data-mobile-layer] ._cookp,
html body[data-lock] ._cookp { visibility: hidden; pointer-events: none }
html[data-mobile-keyboard] ._mobnav { opacity:0; visibility:hidden; pointer-events:none }

html ._cctrl { flex-wrap: wrap; gap: 1.2rem }
html ._mftrigger {
    align-items: center;
    background: var(--vc-block);
    border-radius: 2.4rem;
    color: var(--color-ink);
    display: inline-flex;
    font-size: 1.4rem;
    font-weight: 500;
    gap: .8rem;
    justify-content: center;
    min-height: 4.8rem;
    padding: 1.2rem 1.8rem
}
html ._mftrigger svg { height: 2rem; width: 2rem }
html ._mfbadge { background:var(--color-accent); border-radius:50%; display:block; flex:0 0 .9rem; width:.9rem; height:.9rem; font-size:0; }
html ._mfbadge[hidden] { display:none; }
html ._mfpanel {
    background: var(--color-surface);
    display: none;
    flex-direction: column;
    height: var(--mobile-sheet-max-height);
    left: var(--mobile-vv-left);
    max-height: var(--mobile-sheet-max-height);
    overflow: hidden;
    position: fixed;
    top: calc(var(--mobile-vv-top) + 6rem);
    width: var(--mobile-vv-width);
    z-index: 11000
}
html ._mfpanel[data-open] { display:flex }
html ._mfhead {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 1.6rem;
    justify-content: flex-start;
    padding: 1rem var(--mobile-content-gap)
}
html ._mfhead h2 { font-size:1.8rem; line-height:1.2; margin:0; overflow-wrap:anywhere; min-width:0; }
html ._mfpanel ._filt1 {
    align-content: start;
    flex: 1 1 auto;
    gap: 2.2rem;
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding: .8rem var(--mobile-content-gap) 1.2rem;
    scrollbar-gutter: auto;
    scrollbar-width: none
}
html ._mfpanel ._filt1::-webkit-scrollbar { display:none }
html ._mfpanel ._fdrop { height: auto; min-height: var(--filter-height) }
html ._mfpanel ._ftrig { min-height: var(--filter-height) }
html ._mfpanel ._flist {
    border-radius: 1.6rem;
    box-shadow: none;
    margin-top: .8rem;
    max-height: none;
    min-width: 0;
    position: static;
    transform: none
}
html ._mfpanel ._fitem { min-height: 4.4rem; font-size: 1.4rem }
html ._mfpanel ._flist[hidden] { display: none }
html ._mffoot {
    background: var(--color-surface);
    border-top: 0.1rem solid var(--color-ink-90);
    display: block;
    flex: 0 0 auto;
    padding: .8rem var(--mobile-content-gap) calc(.8rem + env(safe-area-inset-bottom,0rem))
}
html ._mfreset { display:inline-flex; align-items:center; justify-content:center; justify-self:center; min-height:4.4rem; padding:.6rem 1.6rem; font-size:1.3rem; line-height:1.3; color:var(--color-ink-60); background:transparent; border:0; border-radius:var(--radius-full); }
html ._mfreset:disabled { opacity: .4 }
html ._mfapply {
    background: var(--color-accent);
    border-radius: var(--radius-full);
    color: var(--color-on-accent);
    display:block;
    width:100%;
    min-width:0;
    font-size: 1.4rem;
    font-weight: 500;
    line-height:1.3;
    min-height: 4.4rem;
    padding: .9rem 1.2rem;
    white-space:normal;
    text-align:center;
}
html ._mfapply:disabled { opacity: .6 }
html [data-native-rail] {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch
}
html [data-native-rail]::-webkit-scrollbar { display: none }
html [data-native-rail] > :is(._wrail,._axrail) { transform: none; transition: none }
html [data-native-rail] :is(._wcard,._axcard) { scroll-snap-align: start }
html :is(._axflt,._wkflt,._sctab,._ptabs,._pfloors,._ftabs) {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none
}
html :is(._ptabx,._pfloorx) { flex: 0 0 auto; white-space: nowrap }
html :is(._pzoom,._pfavx,._pmediaarw,._pstarw) { height: 4.4rem; width: 4.4rem }
html ._pstatcar ._pstatclip { margin-inline: 4.4rem }
html ._pimag[data-product-view-mode="scheme"] ._pimgs { top:12rem }
html :is(._ptabs,._pfloors) { scroll-snap-type: x proximity }
html :is(._ptabx,._pfloorx) { scroll-snap-align: center }
html ._dotxx { height:4.4rem; min-height:4.4rem; min-width:1.8rem; width:1.8rem }
html ._dotsx { max-width: calc(100% - 3.2rem); overflow-x: auto }
html ._fcoun:not([hidden]) {
    display: block;
    grid-column: 1;
    grid-row: 2;
    font-size: 1.4rem;
    justify-self: start
}
html ._fclos { grid-row: 1 }
html ._fshed { padding-top: max(1.2rem,env(safe-area-inset-top,0rem)) }
html :is(._small,._side1) { min-height: 23rem }
html ._cookp {
    border-radius: 2rem;
    padding: 1.6rem;
    width: calc(100% - 2.4rem)
}
@media (min-width: 48rem) {
    html ._mfpanel { inset-inline:50%; margin-left:-30rem; width:60rem }
}
@media (max-width: 22.4375rem) {
    html:root { --mobile-header-gap: 1.6rem }
    html ._hrowx { gap: .6rem }
}
@media (prefers-reduced-motion: reduce) {
    html *, html *::before, html *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }
}

html ._catalogactions { display:flex; gap:.8rem; padding-block:2.4rem 0; }
html ._catalogactions :is(._moren,._catalogpages) { flex:1 1 0; min-width:0; width:auto; }
html ._catalogactions :is(._morbt,._catalogpages a) { width:100%; min-width:0; min-height:4.8rem; height:auto; padding:1.3rem .6rem; font-size:1.25rem; line-height:1.3; white-space:nowrap; border-radius:1.8rem; }
html ._catalogactions ._moren[hidden] + ._catalogpages { flex:0 1 24rem; }

html ._hero1 { gap:1.2rem; }
html ._hero1 > ._stack {
    display:grid; grid-auto-flow:column; grid-auto-columns:min(86%,36rem);
    grid-template-columns:none; grid-template-rows:auto; gap:1.2rem;
    overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; touch-action:pan-x pan-y pinch-zoom;
    scrollbar-width:none; padding-bottom:.4rem;
}
html ._hero1 > ._stack::-webkit-scrollbar { display:none; }
html ._hero1 ._lower { display:contents; }
html ._hero1 ._stack ._panel {
    min-width:0; scroll-snap-align:start; scroll-snap-stop:always; padding:1.6rem;
}
html ._hero1 ._stack ._h2xxx { font-size:var(--fs-20); line-height:1.25; }
html ._hero1 ._stack ._subtx { font-size:1.3rem; line-height:1.45; margin:0; max-width:100%; max-height:none; overflow:visible; }
html ._copyx { left:2rem; bottom:2.4rem; max-width:calc(100% - 4rem); }
html ._h1xxx { font-size:var(--fs-30); line-height:1.15; }
html :is(._ctitl,._axttl,._wtitl,._abttl,._favtt,._wkttl,._ctttl,._scttl) { font-size:var(--fs-30); line-height:1.2; }
html ._cctrl { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.8rem; }
html ._hitts { min-height:4.8rem; font-size:1.4rem; padding-inline:1.2rem; }
html ._mftrigger { border-radius:1.6rem; padding-inline:1.4rem; }
html ._clist { row-gap:1.6rem; }
html ._cbotx { padding:1.4rem var(--mobile-content-pad) 1.8rem; }
html ._cname { font-size:1.7rem; line-height:1.22; }
html ._cpric { font-size:1.7rem; line-height:1.2; }
html ._cflags { gap:.5rem; min-height:2.4rem; }
html :is(._cpkgx,._chitx) { font-size:1.05rem; height:2.4rem; padding-inline:.8rem; }
html ._cpkgx { gap:.5rem; }
html ._catalogactions { padding-inline:var(--mobile-content-pad); }
html ._pgrid { gap:1.6rem; }
html ._pgrid > ._ptopl { grid-column:1; grid-row:1; padding-inline:var(--mobile-content-pad); }
html ._pgrid > ._pview { grid-column:1; grid-row:2; height:auto; min-height:0; }
html ._pgrid > ._pinfo { grid-column:1; grid-row:3; }
html ._pname { font-size:var(--fs-30); line-height:1.2; }
html ._pimag {
    display:grid; grid-template-columns:minmax(0,1fr); height:auto;
    overflow:visible; background:transparent; border-radius:0;
}
html ._pimag::after { display:none; }
html ._pimag ._pimgs {
    grid-row:1; position:relative; inset:auto; margin:0;
    height:var(--mobile-project-image-height); border-radius:2rem;
}
html ._pimag :is(._pctrl,._pfloorctrl) {
    position:relative; inset:auto; max-width:100%; min-width:0;
    margin-top:1rem; padding:.4rem; background:var(--vc-block); border-radius:1.8rem;
}
html ._pctrl { grid-row:2; }
html ._pfloorctrl { grid-row:3; }
html ._pimag :is(._ptabs,._pfloors) { width:100%; }
html ._pimag :is(._ptabx,._pfloorx) { flex:1 0 auto; color:var(--color-ink); padding-inline:1.4rem; }
html ._pimag :is(._ptabx,._pfloorx)[data-active] { background:var(--color-accent); color: var(--color-on-accent); }
html ._pimag ._pstat {
    grid-row:4; position:relative; inset:auto; margin-top:1rem;
    background:var(--vc-block); border-radius:1.8rem; padding:1.6rem .4rem;
}
html ._pimag ._psttx strong { color:var(--color-ink); font-size:2.2rem; }
html ._pimag ._psttx span { color:var(--color-ink-60); font-size:1.2rem; }
html ._pimag ._pstarw { top:50%; transform:translateY(-50%); background:var(--color-surface); color:var(--color-ink); border-radius:50%; }
html ._pimag ._pmediaarw { top:calc(var(--mobile-project-image-height) / 2 - 2.2rem); bottom:auto; margin:0; }
html ._ppric { gap:1.2rem; padding:1.6rem; background:var(--vc-block); border-radius:2rem; }
html ._ppric strong { font-size:2.6rem; }
html ._pbook { min-height:5.2rem; width:100%; }
html ._pbody > * + * { margin-top:1.6rem; }
html ._pogtl { font-size:1.8rem; }
html ._wacts { flex-wrap:wrap; gap:.8rem; }
html ._whead { gap:1.6rem; }
html ._scimg { min-height:24rem; height:min(36rem,72vw); }
html ._abimg { height:min(42rem,95vw); }
html ._mobnav { box-shadow:var(--box-shadow-top); }
html ._mobni { font-size:1.1rem; }
@media (min-width: 48rem) {
    html ._hero1 > ._stack { grid-auto-columns:calc((100% - 2.4rem) / 3); }
    html ._clist { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html:root { --mobile-project-image-height:48rem; }
}
@media (max-width:22.4375rem) {
    html ._hero1 > ._stack { grid-auto-columns:90%; }
    html ._catalogactions :is(._morbt,._catalogpages a) { font-size:1.15rem; padding-inline:.4rem; }
}

html._js ._ctop1 > ._filt1 { display:none; }
html:not(._js) [data-mobile-filter-trigger] { display:none; }

html ._ctools ._cctrl > button { min-height:4.8rem; }

html ._mobcontacts { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:.8rem; padding:.8rem 0 1.6rem; }
html ._mobcontacts ._phone { min-height:4.4rem; }



html ._contactwidget {
    bottom: calc(var(--mobile-nav-size) + 1.6rem + env(safe-area-inset-bottom,0rem));
    gap: 0.8rem;
    left: 1.6rem;
    transform-origin: 2.7rem bottom;
}
html ._contactwidget[data-contact-visibility="desktop"] { display: none !important; }
html ._contactwidget ._cwbutton { transform: scale(.9); }
html ._contactwidget[data-open] ._cwbutton { transform: scale(.9); }
html ._contactwidget ._cwmask { height: calc(var(--cw-size) + 1.2rem); inset: -0.6rem; width: calc(var(--cw-size) + 1.2rem); }
html ._contactwidget ._cwchat, html ._contactwidget ._cwclose { height: 2.5rem; width: 2.5rem; }
html ._contactwidget ._cwsocial { gap: 1rem; margin-left: 0.3rem; }
html ._contactwidget ._cwitem svg { height: 2.2rem; width: 2.2rem; }
html ._contactwidget ._cwlabel { display: none; }


html ._shell { min-width:0; }
html :is(._pbody,._wbody,._wkbody,._axbody,._ctbody,._sctxt,._fcolx,._clcrd,._pxcopy) { min-width:0; overflow-wrap:anywhere; }
html :is(._ctitl,._axttl,._wtitl,._qttl,._abttl,._favtt,._favti,._ptitl,._scttl,._wkttl,._ctttl,._clttl,._pxttl,._wdttl,._mtitl) { font-size:var(--fs-30); line-height:1.15; overflow-wrap:anywhere; }
html :is(._sch3x,._abwtt,._wkname,._wname,._axname) { font-size:clamp(2rem,3.8vw,2.4rem); line-height:1.25; overflow-wrap:anywhere; }
html :is(._btnxx,._wall,._abbtn,._ctbtn,._axcta,._pbook,._fbtnx,._flink,._msend,._pxall) { min-height:4.8rem; height:auto; max-width:100%; padding-block:1.2rem; line-height:1.3; white-space:normal; text-align:center; }
html :is(._ctbtn,._pbook,._fbtnx,._flink,._msend) { padding-inline:1.6rem; }
html :is(._pbook,._msend) { font-size:1.6rem; }
html ._brnav { flex-wrap:wrap; gap:.4rem .8rem; white-space:normal; }
html ._brcur { overflow:visible; overflow-wrap:anywhere; }
html ._navxx ._navln { flex-shrink:0; padding-block:1.2rem; line-height:1.25; overflow-wrap:anywhere; }
html ._navxx ._mobcontacts ._phone { height:auto; }

html ._hero1 > ._media { display:grid; height:auto; }
html ._hero1 ._mitem { display:grid; grid-area:1 / 1; align-items:end; position:relative; inset:auto; min-width:0; padding-top:7rem; }
html ._hero1 ._photo { position:absolute; inset:0; }
html ._hero1 ._copyx { position:relative; inset:auto; margin:0; padding:2.4rem 2rem; max-width:100%; }
html ._hero1 ._leadx { margin-top:1.6rem; line-height:1.45; }
html ._hero1 > ._stack { height:auto; min-height:0; max-height:none; align-items:stretch; align-content:start; scroll-padding-inline:0; }
html ._hero1 ._stack ._panel { height:auto; min-height:0; max-height:none; }
html ._hero1 ._stack ._btnxx { min-height:4.4rem; height:auto; padding:.8rem 1.2rem; font-size:1.3rem; line-height:1.3; }
html ._hero1 ._small { gap:1.2rem; }
html ._hero1 ._small ._subtx { margin-top:1.2rem; }
html ._hero1 ._small ._items { overflow:visible; }
html ._hero1 ._small ._pager { min-height:4.4rem; border-radius:2.2rem; margin-top:auto; max-inline-size:13.2rem; }
html ._hero1 ._small ._pager ._arrow { flex-basis:4.4rem; height:4.4rem; width:4.4rem; }
html ._hero1 ._small ._count { font-size:1.2rem; }
html ._hero1 ._slide[data-animate] :is(._h2xxx,._subtx) { animation:none; }
html ._hero1 ._wide1 { display:flex; align-items:stretch; position:relative; overflow:hidden; }
html ._hero1 ._wide1 ._wcopy { display:flex; flex-direction:column; gap:2rem; position:relative; z-index:1; width:56%; min-width:0; }
html ._hero1 ._wide1 ._h2xxx { max-width:100%; margin:0; overflow-wrap:break-word; }
html ._hero1 ._wide1 ._subtx { display:none; }
html ._hero1 ._wide1 ._wfoot { margin-top:auto; max-width:100%; min-width:0; }
html ._hero1 ._wide1 ._btnxx { padding-inline:.8rem; }
html ._hero1 ._keysx { position:absolute; inset:0 0 0 auto; width:44%; max-width:44%; height:100%; max-height:none; object-fit:cover; object-position:left center; pointer-events:none; }
html ._hero1 ._side1 { gap:1.2rem; }
html ._hero1 ._side1 ._subtx { margin:0; }
html ._hero1 ._side1 ._btnxx { margin-top:auto; }

html ._ctools { display:grid; grid-template-columns:minmax(0,1fr); gap:.8rem; border-radius:2.8rem; padding:.8rem; margin-bottom:1rem; }
html ._ctools ._csearch { width:100%; min-height:4.6rem; padding-inline:1.2rem .3rem; gap:.7rem; border-radius:var(--radius-full); }
html ._ctools ._csearch > svg { width:2rem; height:2rem; }
html ._ctools ._csearch input { font-size:1.6rem; line-height:1.2; padding:.9rem 0; }
html ._ctools ._csearch input::placeholder { font-size:1.4rem; }
html ._ctools ._csearch button { width:3.8rem; height:3.8rem; }
html ._ctools ._cctrl { display:flex; align-items:center; flex-wrap:wrap; width:100%; margin:0; padding:0; justify-content:space-between; gap:.6rem; }
html ._ctools ._hitts { flex:0 0 auto; min-height:4.8rem; border:.1rem solid var(--color-ink-90); border-radius:var(--radius-full); padding:.8rem 1.2rem; gap:.6rem; font-size:1.3rem; }
html ._ctools ._mftrigger { flex:1 1 0; min-width:0; padding-inline:1rem; gap:.6rem; background:var(--color-surface); border-radius:2.4rem; }
html ._ctools ._reset { display:none }
html ._mfpanel ._fdrop { flex-shrink:0; }
html ._mfpanel ._flist { inset:auto; max-inline-size:100%; }
html ._mfpanel ._ftrig { gap:1rem; }
html ._cmeta { left:1.2rem; right:1.2rem; top:1.2rem; }
html :is(._cmetax,._wtagx,._wktag) { height:auto; min-height:2.4rem; padding-block:.5rem; line-height:1.15; white-space:normal; overflow-wrap:anywhere; }
html ._cmetax { font-size:1.05rem; padding-inline:.8rem; }
html ._catalogactions :is(._morbt,._catalogpages a) { white-space:normal; font-size:1.3rem; min-height:5.2rem; padding:1.2rem .8rem; }
html ._catalogactions { align-items:stretch; }
html ._catalogactions :is(._moren,._catalogpages) { display:flex; }
html ._catalogactions :is(._morbt,._catalogpages a) { height:100%; }
html ._catalogactions ._moren[hidden] { display:none; }
html :is(._whead,._axslide ._axhd) { align-items:flex-start; }
html ._wacts { justify-content:space-between; width:100%; }
html ._wacts ._wall { flex:1 1 auto; }
html ._wnavs { flex:0 0 auto; }
html :is(._wkhead,._wkgrp,._axgrp) { flex-wrap:wrap; gap:1.2rem; min-width:0; }
html ._wrail, html ._axslide ._axrail { grid-auto-columns:min(34rem,calc(100% - 2.4rem)); }
html ._wcard { border-radius:var(--card-radius); }
html ._wimgx { border-radius:var(--card-radius); }
html ._wktools { grid-template-columns:minmax(0,1fr); }
html ._wkonly { white-space:normal; min-height:4.8rem; height:auto; }
html :is(._wktags,._wmeta) { gap:.6rem; }

html ._pimag[data-product-view-mode] ._pimgs { position:relative; inset:auto; height:var(--mobile-project-image-height); width:100%; margin:0; }
html ._pimag[data-product-view-mode="plan"], html ._pimag[data-product-view-mode="scheme"] { background:transparent; }
html ._pimag[data-product-view-mode="plan"] ._pimgs, html ._pimag[data-product-view-mode="scheme"] ._pimgs { background:var(--vc-block); }
html ._pimag[data-product-view-mode="plan"] ._pitem img, html ._pimag[data-product-view-mode="scheme"] ._pitem img { padding:1.6rem; }
html ._pimag :is(._pctrl,._pfloorctrl) { width:100%; }
html ._pimag ._psttx { padding:.4rem .6rem; }
html ._pimag ._psttx span { line-height:1.3; white-space:normal; min-height:2.6em; overflow:visible; text-overflow:hidden; overflow:clip; }
html ._pimag ._psttx strong { font-size:clamp(1.8rem,6vw,2.4rem); font-size:clamp(1.8rem,6cqw,2.4rem); line-height:1.15; white-space:normal; overflow-wrap:anywhere; }
html ._pprrow { flex-wrap:wrap; gap:.6rem; }
html ._ppric strong { min-width:0; font-size:clamp(2.2rem,6.5vw,2.8rem); white-space:normal; overflow-wrap:anywhere; }
html ._pwhat { min-height:4.4rem; min-width:0; width:100%; }
html ._ponam, html ._podes, html ._poprc { overflow-wrap:anywhere; }
html ._fshed { min-width:0; grid-template-columns:minmax(0,1fr) 4.8rem; }
html ._pkcnt { max-height:calc(var(--mobile-vv-height) - 2.4rem); overscroll-behavior:contain; }

html ._absta { gap:2rem; border-radius:var(--card-radius); }
html ._abnum { line-height:1.1; overflow-wrap:anywhere; }
html ._abmsg { font-size:var(--fs-30); line-height:1.2; }
html ._abwid { border-radius:var(--card-radius); }
html ._abwtx { grid-column:1 / -1; padding-right:4.8rem; min-width:0; }
html ._abwim { grid-column:2; height:10rem; }
html ._abarr { right:1.6rem; top:1.6rem; }
html ._sctxt { padding:2rem; }
html ._sctxt, html ._scimg { border-radius:var(--card-radius); }
html ._scpar { font-size:1.6rem; }

html ._qg2kx { grid-template-columns:minmax(0,1fr); gap:1.6rem; }
html ._qmv8r :is(._qa7np,._qb4tz,._qc9wm,._qd2fv) { display:flex; flex-direction:column; align-items:stretch; gap:1.6rem; padding:2.4rem; min-height:30rem; }
html ._qmv8r :is(._qa7np,._qd2fv) { justify-content:flex-end; }
html ._qmv8r ._qc9wm { justify-content:space-between; }
html ._qmv8r :is(._qg7md,._qh2vn,._ql9sx,._qm4zr,._qn7tk,._qs3nx) { position:relative; inset:auto; transform:none; max-width:100%; width:auto; height:auto; padding:0; margin:0; }
html ._qmv8r ._qg7md { font-size:var(--fs-30); line-height:1.2; text-align:left; }
html ._qmv8r ._qh2vn { align-self:flex-start; min-height:4.8rem; padding:1.2rem 1.8rem; white-space:normal; line-height:1.3; }
html ._qmv8r ._ql9sx { display:flex; flex-wrap:wrap; gap:0 .25em; font-size:var(--fs-30); line-height:1.2; }
html ._qmv8r ._ql9sx > span { position:static; white-space:normal; transform:none; }
html ._qmv8r ._qn7tk { order:1; align-self:center; width:14rem; height:14rem; padding:0; transform:none; }
html ._qmv8r ._qb4tz:hover ._qn7tk { padding:0; transform:none; }
html ._qmv8r ._qb4tz:hover ._ql9sx > span { position:static; transform:none; }
html ._qmv8r ._qm4zr { order:2; text-align:left; }
html ._qmv8r ._qr6vh { font-size:var(--fs-30); line-height:1.2; }
html ._qmv8r ._qs3nx { font-size:1.6rem; line-height:1.45; }
html ._qmv8r ._qd2fv ._qs3nx { padding-right:5.6rem; }
html ._qmv8r ._qp2fd { right:2rem; bottom:2rem; }
html ._qmv8r ._qe6ks::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgb(var(--rgb-ink) / 12%),rgb(var(--rgb-ink) / 60%)); }

html ._fleft { min-width:0; padding:2rem; }
html ._fcall, html ._fmenu { padding:2rem; height:auto; }
html ._fcall ._flink { margin-top:auto; }
html ._fphon { font-size:clamp(2rem,5.6vw,2.4rem); overflow-wrap:anywhere; }
html ._finfo { gap:1.2rem; padding-top:2.8rem; }
html ._fhead { margin:0; }
html ._fcols { grid-template-columns:repeat(2,minmax(0,1fr)); }
html ._fnlst { gap:.4rem; margin-top:1.2rem; }
html ._fnitm, html ._flabl { min-height:4.4rem; }
html ._flabl { display:flex; align-items:center; }
html ._fsoci { flex-wrap:wrap; gap:.8rem 1.6rem; }
html ._fsocl { height:auto; min-height:4.4rem; }
html ._fbott { padding-inline:var(--mobile-content-pad); }
html ._ctconsent { padding:1.2rem; overflow-y:auto; overscroll-behavior:contain; }
html ._ctconsentbox { padding:1.8rem; max-height:100%; overflow-y:auto; }
html ._ctconsentbox > a { display:block; margin:1.2rem 0 0; }
html ._ctconsentbtn { min-height:4.8rem; }
html ._cookp { right:auto; max-height:calc(var(--mobile-vv-height) * .45); overflow-y:auto; gap:1rem; }
html ._cookrt { flex:0 0 auto; gap:1.2rem; }
html ._contactwidget ._cwsocial { max-height:calc(var(--mobile-vv-height) - var(--head-size) - var(--mobile-nav-size) - var(--cw-size) - 4.8rem - env(safe-area-inset-bottom,0rem)); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none; padding:.4rem; margin-left:-.1rem; }
html ._contactwidget ._cwitem { flex:0 0 var(--cw-social-size); }
html ._contactwidget ._cwitem:hover { transform:none !important; }

@media not all and (min-width: 37.5rem) {
    html ._pimag ._psttx { flex-basis:50%; }
    html ._pstatmobilecar ._pstatclip { margin-inline:4.4rem; }
    html ._pstatmobilecar ._pstarw { display:flex; }
}
@media not all and (min-width: 22.5rem) {
    html ._ctools ._cctrl { display:grid; grid-template-columns:minmax(0,1fr) auto; }
    html ._fcols { grid-template-columns:minmax(0,1fr); }
}
@media (min-width: 37.5rem) {
    html ._qg2kx { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html ._wktools { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html ._wacts { width:auto; }
}
@media (min-width: 48rem) {
    html:root { --mobile-page-gap:1.2rem; --mobile-content-gap:2.4rem; --mobile-header-gap:2.4rem; }
    html ._hero1 > ._stack { grid-auto-columns:max(28rem,calc((100% - 2.4rem) / 3)); }
    html ._ctools { grid-template-columns:minmax(0,1fr) minmax(28rem,1fr); align-items:center; border-radius:var(--radius-full); }
    html ._ctools ._cctrl { width:auto; }
    html ._fcols { grid-template-columns:repeat(3,minmax(0,1fr)); }
    html ._ctaside, html ._ctwrp[data-map-full] ._ctaside { height:48rem; }
}

html ._hero1 > ._stack [data-touch-slider] { touch-action:pan-x pan-y pinch-zoom; }
html ._hero1 ._mitem { transition:none; }
html ._hero1 ._slide[data-animate] { animation:none; }
html ._pimgs { touch-action:pan-x pan-y pinch-zoom; }
html [data-mobile-gallery] {
    display:flex;
    flex-flow:row nowrap;
    align-items:stretch;
    gap:0;
    min-width:0;
    min-height:0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-behavior:auto;
    touch-action:pan-x pan-y pinch-zoom;
    scrollbar-width:none;
    overflow-anchor:none;
}
html [data-mobile-gallery][hidden] { display:none; }
html [data-mobile-gallery]::-webkit-scrollbar { display:none; }
html ._cgtrack[data-mobile-gallery] { position:absolute; inset:0; }
html [data-mobile-gallery] > :is(._cgite,._pitem) {
    flex:0 0 100%;
    width:100%;
    min-width:0;
    height:100%;
    position:relative;
    inset:auto;
    opacity:1;
    pointer-events:auto;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    transition:none;
    z-index:auto;
}
html [data-mobile-gallery] img { -webkit-user-drag:none; user-select:none; }

html ._workshome > ._shell { grid-template-columns:minmax(0,1fr) auto; gap:1.6rem 1.2rem; }
html ._workshome ._wtitl { margin-left:var(--mobile-content-pad); }
html ._workshome ._wacts { grid-column:2; width:auto; margin-right:var(--mobile-content-pad); }
html ._workshome ._wnavs { height:4.4rem; border-radius:2.2rem; }
html ._workshome ._wnavb { height:4.4rem; width:4.4rem; }
html ._workshome > ._shell > ._wall { grid-column:1 / -1; grid-row:3; justify-self:stretch; margin-inline:var(--mobile-content-pad); }
html ._mobilelayerhost {
    top:var(--mobile-vv-top);
    left:var(--mobile-vv-left);
    width:var(--mobile-vv-width);
    height:var(--mobile-vv-height);
    isolation:isolate;
    contain:layout style;
    overflow:hidden;
    pointer-events:none;
    position:fixed;
    z-index:11000;
}
html ._mobilelayerhost > ._mobilelayerbackdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:auto;
    z-index:0;
}
html ._mobilelayerhost > [data-mobile-sheet] {
    position:absolute;
    inset:6rem 0 auto;
    width:min(100%,60rem);
    height:calc(100% - 6rem);
    max-height:calc(100% - 6rem);
    margin:0 auto;
    pointer-events:auto;
    z-index:1;
}
html ._modlx { isolation:isolate; contain:layout style; overflow:hidden; }
html ._modlx ._shade { position:absolute; inset:0; width:100%; height:100%; z-index:0; }
html ._modlx > ._mwrap { position:absolute; inset:6rem 0 auto; margin:0 auto; width:min(100%,60rem); height:calc(100% - 6rem); max-height:calc(100% - 6rem); z-index:1; }
html ._navxx ._mobcontacts { padding:.4rem 0 1rem; }
html ._navxx ._mobcontacts ._phone { font-size:1.35rem; min-height:3.8rem; }
html ._navxx ._morex { padding-block:.8rem; }
html ._navxx ._menux[data-hover-menu] ._dropx { margin-top:.4rem; padding:.4rem; border-radius:1.4rem; }
html ._navxx ._menux[data-hover-menu] ._dropx[hidden] { display:none; }
html ._navxx ._dropl { line-height:1.25; }
html ._mobcityslot { margin:0 0 1.2rem; padding:0; }
html ._mobcityslot [data-city-group] { display:block; width:100%; height:auto; }
html ._works[data-works-slider] ._wview { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
html ._works[data-works-slider] ._wview::-webkit-scrollbar { display:none; }
html ._works[data-works-slider] ._wrail { gap:.8rem; grid-auto-columns:100%; }
html ._works[data-works-slider] ._wpair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
html ._works[data-works-slider] ._wcard { grid-template-rows:13.2rem 1fr; min-height:23.5rem; scroll-snap-align:none; }
html ._works[data-works-slider] ._wimgx { height:13.2rem; }
html ._works[data-works-slider] ._wbody { gap:.8rem; padding:1.2rem; }
html ._works[data-works-slider] ._wname { font-size:1.45rem; line-height:1.22; }
html ._works[data-works-slider] ._wdate { font-size:1.15rem; line-height:1.3; }
html ._works[data-works-slider] ._wmeta { gap:.4rem; left:.8rem; right:.8rem; top:.8rem; }
html ._works[data-works-slider] ._wtagx { font-size:1rem; min-height:2.2rem; padding:.45rem .7rem; }
html ._works[data-works-slider] ._wtagx:nth-child(n+3) { display:none; }
html ._workshome ._wtitl { font-size:2.2rem; }


html ._catalogdesktop { display:none; }
html ._catalogmobile { display:inline; }
html ._nativefield { display:flex; flex-direction:column; gap:.4rem; width:100%; min-width:0; min-height:var(--filter-height); padding:.8rem 1.4rem; background:var(--vc-block); border:.1rem solid var(--color-ink-90); border-radius:1.6rem; }
html ._nativefield select { appearance:auto; -webkit-appearance:menulist; color:var(--color-ink); background:transparent; border:0; border-radius:0; font:inherit; font-size:1.6rem; line-height:1.4; width:100%; min-width:0; height:3.2rem; padding:0; cursor:pointer; }
html ._nativefield:focus-within { border-color:var(--color-accent); }
html ._nativefield select:focus-visible { outline:.2rem solid var(--color-accent); outline-offset:.2rem; }
html ._mfpanel ._nativefield { height:var(--filter-height); min-height:var(--filter-height); justify-content:center; gap:.1rem; padding:var(--filter-padding-y) var(--filter-padding-x); border-radius:var(--radius-full); border-color:transparent; }
html ._mfpanel ._nativefield:focus-within { border-color:var(--color-ink-90); }
html ._mfpanel ._nativefield select { flex:0 0 2rem; height:2rem; min-height:0; line-height:1.2; }
html ._mfpanel ._flabx { font-size:1.2rem; line-height:1.2; }
html ._mfpanel ._fvalu { font-size:1.6rem; line-height:1.2; }
html ._mfpanel ._ftxtx { gap:.1rem; }
html :is([data-catalog-select],[data-catalog-multiselect]) > :is([data-filter-trigger],[data-filter-menu]),
html ._mobcityslot [data-city-group] > :is([data-menu-button],[data-menu]),
html [data-work-sort-menu] > :is([data-menu-button],[data-menu]) { display:none; }
html ._mfpanel ._fdrop { border:0; background:transparent; }

html :is(._media,._panel,._cgimg,._pimgs,._pvariantmedia,._wimgx,._wkimg,._aximg,._abimg,._abwid,._scimg,._ctimg,._ctmap,._ctmimg,._wdpic,._wdstory-slide,._pxpic,._pxthumb,._qa7np,._qb4tz,._qc9wm,._qd2fv,._mfpanel,._navxx,._mwrap) {
    -webkit-mask-image:linear-gradient(#fff,#fff);
    mask-image:linear-gradient(#fff,#fff);
}
html ._contactwidget { animation:none; transform:translate3d(0,calc(100% + var(--mobile-nav-size) + 4rem + env(safe-area-inset-bottom,0rem)),0); transition:transform .48s cubic-bezier(.22,.9,.25,1.06),opacity .3s ease,visibility 0s; }
html ._contactwidget[data-visible] { animation:none; transform:translate3d(0,0,0); }
html:is([data-mobile-layer],[data-mobile-menu-open],[data-mobile-keyboard],[data-page-lock],[data-cookie-visible]) ._contactwidget[data-visible] {
    opacity:0;
    pointer-events:none;
    visibility:hidden;
    transform:translate3d(0,calc(100% + var(--mobile-nav-size) + 4rem + env(safe-area-inset-bottom,0rem)),0);
    transition:transform .44s cubic-bezier(.4,0,.7,1),opacity .26s ease .12s,visibility 0s .44s;
}
@media (prefers-reduced-motion:reduce) {
    html ._contactwidget[data-visible] { transition:none; }
    html [data-mobile-sheet][data-sheet-animate] { transition:none; }
}
}
