@font-face{font-family:basis_grotesque_prolight;src:url("/assets/fontsfree-net-basisgrotesquepro-light-webfont.f215f1e246f7.woff2")format('woff2'),url("/assets/fontsfree-net-basisgrotesquepro-light-webfont.fff5a31fc0a5.woff")format('woff'),url("/assets/fontsfree-net-basisgrotesquepro-light-webfont.fff5a31fc0a5.woff")format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:basis_grotesque_proregular;src:url("/assets/fontsfree-net-basisgrotesquepro-regular-webfont.e7dbf275ad4a.woff2")format('woff2'),url("/assets/fontsfree-net-basisgrotesquepro-regular-webfont.3ad3d516dfdd.woff")format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:basis_grotesque_promedium;src:url("/assets/fontsfree-net-basisgrotesquepro-medium-webfont.4b5abbb558d9.woff2")format('woff2'),url("/assets/fontsfree-net-basisgrotesquepro-medium-webfont.3d6d0543e094.woff")format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:basis_grotesque_probold;src:url("/assets/fontsfree-net-basisgrotesquepro-bold-webfont.b9dae53f283c.woff2")format('woff2'),url("/assets/fontsfree-net-basisgrotesquepro-bold-webfont.fd4d35a53ae3.woff")format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ivarfine_light;src:url("/assets/ivarfine-light-webfont.8892fbdff080.woff2")format('woff2'),url("/assets/ivarfine-light-webfont.0d0b52abeefc.woff")format('woff');font-weight:400;font-style:normal;font-display:swap}
html{background:#f7f5f1}
:root{--bezier:cubic-bezier(0.15, 0.6, 0.07, 1);--bezier-2:cubic-bezier(0, 0.6, 0.3, 1);--padding-inline:clamp(30px, 4vw, 80px);--padding-inline-double:calc(var(--padding-inline) * 2);--padding-inline-half:calc(var(--padding-inline) / 2);--padding-inline-third:calc(var(--padding-inline) / 3);--padding-block:clamp(80px, 7.5vw, 120px);--padding-block-triple:calc(var(--padding-block) * 3);--padding-block-double:calc(var(--padding-block) * 2);--padding-block-and-a-half:calc(var(--padding-block) * 1.5);--padding-block-half:calc(var(--padding-block) / 2);--padding-block-third:calc(var(--padding-block) / 3);--home-text-padding-inline:calc(10px + 0.8vw);--nav-border-gap:0.5rem;--nav-sub-menu-padding-top:1rem;--nav-sub-menu-transition-size:-10px;--nav-sub-item-marker-width:4rem;--font-light:"basis_grotesque_prolight", sans-serif;--font-regular:"basis_grotesque_proregular", sans-serif;--font-medium:"basis_grotesque_promedium", sans-serif;--font-bold:"basis_grotesque_probold", sans-serif;--font-styled:"Montserrat", sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-styled-2:"ivarfine_light";--font-size:16px;--parallax-offset:100px;--call-button-height:80px;--hero-image-overflow:5%;--image-loading-animation-duration:0.5s;--transition-duration:0.7s;--card-z-index-transition-duration:0.2s;--color-accent:hsl(37.06deg 45.13% 55.69%);--color-accent-darker:hsl(37.06deg 42.94% 44.83%);--color-accent-2:hsl(37.06deg 10.65% 35.4%);--bg-color-main:#f6f4f2;--text-color:#222;--image-background-color:#e0dfde;--gray-background:rgba(0, 0, 0, 0.02);--dark-background:var(--text-color);--sub-menu-color:#fff;--article-bg-opacity:0.07;font-family:var(--font-styled);font-weight:var(--font-weight-regular);font-size:var(--font-size);color:var(--text-color)}.material-symbols-outlined{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}.cursor-content .material-symbols-outlined,.service-icons .material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 200,'GRAD' 0,'opsz' 24}*,*::before,*::after{box-sizing:border-box}h1,h2,h3,h4,p,a,img,button,.title,.service-icon,.material-symbols-outlined,.nav-item,.carousel-pagination,#cursor{user-select:none}img:not(.no-background){background-color:var(--image-background-color)}img:not(.loaded){opacity:0}video.loaded,img.loaded{animation:fade-in var(--image-loading-animation-duration)linear}html.fullscreen *,img[data-expandable]:not(.no-expand){cursor:pointer}#smooth-content{overflow:hidden}#image-showcase{--cpv:0%;--cph:0%;--cpv-2:100%;--cph-2:100%;transition-property:background-color,opacity;transition-duration:.2s,.25s;transition-delay:0s,.25s;transition-timing-function:linear,ease-out;position:fixed;inset:0;background-color:transparent;pointer-events:none;z-index:101;opacity:0}html.fullscreen #image-showcase{transition-duration:.2s,0s;transition-delay:0s;background-color:#000;pointer-events:all;opacity:1}#image-showcase img{position:fixed!important;inset:0!important;z-index:100!important;object-fit:contain!important;object-position:center!important;opacity:1!important;background-color:transparent!important}html.is-mobile #image-showcase img{height:100%!important;width:100%!important}html:not(.is-mobile) #image-showcase[data-orientation=landscape] img{width:100%!important;height:auto!important;margin-block:auto!important}html:not(.is-mobile) #image-showcase[data-orientation=portrait] img{width:auto!important;height:100%!important;margin-inline:auto!important}html:not(.is-mobile) #image-showcase img{transform:var(--matrix);border-radius:var(--border-radius);clip-path:polygon(var(--cph) var(--cpv),var(--cph-2) var(--cpv),var(--cph-2) var(--cpv-2),var(--cph) var(--cpv-2));animation-name:image-showcase-appear;animation-duration:.5s;animation-timing-function:var(--bezier);animation-fill-mode:both;will-change:border-radius,transform}html:not(.is-mobile,.fullscreen) #image-showcase img{animation-name:image-showcase-disappear;animation-duration:.25s}html.scrolled-after-image-showcase:not(.fullscreen) #image-showcase img{animation:none}#cursor{transition-property:transform;transition-duration:.6s;transition-timing-function:var(--bezier-2);display:flex;align-items:center;justify-content:center;position:fixed;height:0;width:0;color:#fff;font-family:var(--font-medium);font-size:1rem;pointer-events:none;z-index:102}html:not(.mouse-moved) #cursor{display:none}#cursor-shape{transition-property:transform,background-color,opacity;transition-duration:.6s;transition-timing-function:var(--bezier-2);transform:scale(.6);opacity:0;display:grid;place-content:center;position:absolute;height:90px;width:90px;text-align:center;background-color:var(--color-accent);border-radius:100vw}html:is([data-cursor],.fullscreen) #cursor-shape{background-color:var(--color-accent);opacity:1}html[data-cursor=article] #cursor-shape,html[data-cursor=close] #cursor-shape,html.fullscreen #cursor-shape,html[data-cursor=link] #cursor-shape{transform:translateY(-12px)}html[data-cursor=image-showcase] #cursor-shape{transform:translate(-7px,-5px)}html[data-cursor=scroll] #cursor-shape{transform:translate(-10px,-15px)}html[data-cursor=work_next] #cursor-shape,html[data-cursor=work] #cursor-shape{transform:translateY(-20px)}.cursor-content{display:none}.cursor-content[data-type=image-showcase],.cursor-content[data-type=scroll]{animation:scale-up .5s var(--bezier)both}.cursor-content[data-type=link],.cursor-content[data-type=work],.cursor-content[data-type=work_next],.cursor-content[data-type=article],.cursor-content[data-type=close]{animation:fade-in .3s linear both}html.fullscreen .cursor-content[data-type=close],html[data-cursor=image-showcase] .cursor-content[data-type=image-showcase],html[data-cursor=scroll] .cursor-content[data-type=scroll],html[data-cursor=work] .cursor-content[data-type=work],html[data-cursor=work_next] .cursor-content[data-type=work_next],html[data-cursor=article] .cursor-content[data-type=article],html[data-cursor=link] .cursor-content[data-type=link]{display:block}.cursor-content span.material-symbols-outlined{font-size:3rem;pointer-events:none}.image-wrapper{display:contents}.image-wrapper>*{border-radius:inherit}.image-loader{display:grid;place-items:center;position:absolute;inset:0;background-color:rgba(0,0,0,.1);animation:pulse 2s infinite cubic-bezier(.7,.31,.09,.39);pointer-events:none;z-index:-1}section.dark-background .image-loader{background-color:rgba(255,255,255,.1)}img.loaded-animation-ended+.image-loader{display:none}em{font-style:italic}article :where(:not(h3,img,video,#breadcrumbs-wrapper,#breadcrumbs-wrapper *)),.selectable,.selectable *{user-select:text}article :where(:not(h3,img,video,#breadcrumbs-wrapper,#breadcrumbs-wrapper *))::selection,:is(p,em)::selection,.selectable::selection,.selectable *::selection{background-color:var(--article-color,var(--color-accent));color:#fff}#hero h1>span:nth-child(2)::selection,#hero h1>span:nth-child(2) strong::selection,#hero h1>span:nth-child(3)::selection,.image-and-text.small-text .image-and-text__text>p>em:first-child::selection,article .article-header.white-text :not(h3,img,video)::selection{background-color:#fff;color:var(--text-color)}.service-icon :is(h3,p)::selection{background-color:#fff;color:var(--color-accent)}*{margin:0;padding:0;font:inherit}img,picture,svg,video{display:block}ul{list-style-type:none}button{border:none;background:0 0;color:inherit;cursor:pointer}a{text-decoration:none;color:inherit}a.button{transition-property:transform;transition-duration:.7s;transition-timing-function:var(--bezier);display:flex;align-items:center;column-gap:.5vw;flex-shrink:0;flex-grow:0;width:fit-content;font-weight:var(--font-weight-medium);background-color:var(--color-accent);color:#fff;padding:1.3rem 2.5rem;white-space:nowrap;cursor:pointer}a.button.outline{border:2px solid var(--color-accent);color:var(--color-accent);background:0 0}@media(max-width:1024px){a.button{padding:1rem 1.8rem}}html:not(.is-mobile) a.button:hover{transform:scale(1.05)}a.button.centered{margin-inline:auto}a.button span.material-symbols-outlined:not(.padded){margin-right:-.4rem}a.button span.material-symbols-outlined.padded{margin-left:-.4rem;padding-right:.5rem}body{background-color:var(--bg-color-main)}::-webkit-scrollbar{display:none}header{position:fixed;display:flex;justify-content:space-between;top:0;width:100%;height:0;display:flex;align-items:center;padding-left:var(--padding-inline);padding-right:var(--padding-inline-half);pointer-events:none;z-index:100;padding-block:var(--padding-block-half);color:var(--section-color,--text-color)}html.header-color-dark header{color:#fff}header>*{pointer-events:all}#header-background{position:absolute;inset:0;pointer-events:none}section{position:relative}#visualisation-3d .video-wide .image-wrapper{overflow:hidden}#visualisation-3d .video-wide .image-wrapper img{width:100%;height:100%}#content-start{position:absolute;top:0;height:50px;pointer-events:none}#header-line{position:absolute}nav>ul{display:flex;align-items:center}#nav-button{position:relative;display:flex;align-items:center;column-gap:1rem;z-index:100}#nav-button__icon-close{position:absolute;right:0}.hidden{display:none!important}html.nav-opened #nav-button__icon-open,html:not(.nav-opened) #nav-button__icon-close{opacity:0}nav{font-size:.8rem;font-family:var(--font-styled);text-transform:uppercase;letter-spacing:.08rem;white-space:nowrap}nav>ul>li{position:relative;display:flex;flex-direction:column;align-items:center;counter-reset:nav-sub-item}.nav-item{display:flex;align-items:center;column-gap:.5rem;position:relative;font-weight:var(--font-weight-medium);padding-inline:var(--padding-inline-half);padding-block:var(--nav-border-gap)}.nav-item#nav-services{z-index:2}.nav-item .material-symbols-outlined{font-size:1.25rem}html.is-mobile .nav-item .material-symbols-outlined{display:none}.nav-item:not(a){cursor:default}.nav-item::after{transition:transform .2s ease-out;transform-origin:right;content:"";position:absolute;bottom:0;left:var(--padding-inline-half);right:var(--padding-inline-half);height:1px;background-color:var(--color-accent);transform:scaleX(0)}html:not(.is-mobile) nav>ul>li:hover>.nav-item::after{transform-origin:left}.nav-item[aria-current=page]{color:var(--color-accent)}html:not(.is-mobile) nav>ul>li:hover>.nav-item:not(#nav-services)::after,.nav-item[aria-current=page]::after{transform:scaleX(1)}nav>ul>li>ul{transition-property:opacity,transform,visibility;transition-duration:var(--transition-duration);transition-timing-function:var(--bezier);display:flex;flex-direction:column;align-items:center;position:absolute;top:calc(100% + var(--nav-sub-menu-padding-top));background-color:var(--sub-menu-color);color:var(--text-color);padding-block:.5rem;border-radius:3px;z-index:10}nav>ul>li>ul::before{content:"";position:absolute;bottom:100%;height:var(--nav-sub-menu-padding-top);width:100%}nav>ul>li>ul::after{content:"";position:absolute;bottom:calc(100% - 1px);height:10px;width:15px;background-color:var(--sub-menu-color);clip-path:polygon(50% 0,100% 100%,0 100%)}nav>ul>li:not(.hoverable:hover)>ul{transform:translateY(var(--nav-sub-menu-transition-size));opacity:0;visibility:hidden;pointer-events:none}nav>ul>li>ul>li{align-self:stretch;counter-increment:nav-sub-item}.nav-sub-item{position:relative;transition-property:color,opacity,transform;transition-duration:.3s,.2s,.3s;transition-delay:0s,var(--delay,0s),var(--delay,0s);transition-timing-function:ease,linear,var(--bezier);display:block;white-space:nowrap;padding:.825rem 1.825rem}.nav-sub-item:not([aria-current=page])::before,.nav-sub-item:not([aria-current=page])::after{opacity:.15;color:var(--text-color)}nav>ul>li:not(.hoverable:hover) .nav-sub-item{opacity:0;transform:rotate(5deg)translateY(-5px);transition-delay:0s,0s,.3s}li:nth-child(2)>.nav-sub-item{--delay:40ms}li:nth-child(3)>.nav-sub-item{--delay:80ms}li:nth-child(4)>.nav-sub-item{--delay:120ms}li:nth-child(5)>.nav-sub-item{--delay:160ms}li:nth-child(6)>.nav-sub-item{--delay:200ms}li:nth-child(7)>.nav-sub-item{--delay:240ms}li:nth-child(8)>.nav-sub-item{--delay:280ms}li:nth-child(9)>.nav-sub-item{--delay:340ms}.nav-sub-item[aria-current=page],html:not(.is-mobile) .nav-sub-item:hover{color:var(--color-accent)}@media(min-width:1100px){#nav-button{display:none}}@media(max-width:1099px){#nav-button{display:flex}#nav-button__icon-open,#nav-button__icon-close{transition-property:transform;transition-duration:.6s;transition-timing-function:var(--bezier)}html.nav-opened :is(#nav-button__icon-open,#nav-button__icon-close){transform:rotate(-90deg)}nav>ul{transition-property:transform,opacity,visibility;transition-duration:.8s;transition-timing-function:var(--bezier);transform:translateY(100px);display:flex;flex-direction:column;align-items:center;row-gap:var(--padding-block-half);position:fixed;top:0;left:0;width:100%;height:100svh;visibility:hidden;padding-block:var(--padding-block);padding-inline:var(--padding-inline);color:#fff;background-color:#fff;padding-top:var(--padding-block-and-a-half);opacity:0;pointer-events:none;z-index:99}html.header-color-dark.nav-opened header,html.nav-opened header{color:var(--color-accent)}html.nav-opened nav>ul{transform:none;visibility:visible;opacity:1;pointer-events:all}.nav-item{font-size:min(6vw,1.5rem);color:var(--color-accent)}.nav-item[aria-current=page]{font-family:var(--font-bold)}.nav-item .material-symbols-outlined{display:none}html:not(.is-mobile) nav>ul>li:hover>.nav-item#nav-services::after{transform:scaleX(1)}nav>ul>li>ul{display:none}}.footer-logo>span,#logo{display:flex;column-gap:calc(.35 * var(--font-size));font-size:var(--font-size);font-family:var(--font-light);text-transform:uppercase;letter-spacing:calc(.15 * var(--font-size));z-index:100}#logo{--font-size:1.25rem}#logo .space{display:none}.footer-logo{--font-size:clamp(2rem, 2vw, 3rem);display:flex;flex-direction:column;align-items:center;margin-inline:auto;color:#fff}.footer-logo>span span,#logo span:last-child{font-family:var(--font-bold)}.footer-logo>span:last-child{font-size:calc(var(--font-size) * .4);flex-direction:column;align-items:center;letter-spacing:calc(var(--font-size) * .16);padding-top:calc(var(--font-size) * .2)}footer{--padding:var(--padding-block-and-a-half);position:relative;background-color:var(--dark-background);font-family:var(--font-regular);letter-spacing:.5px}footer:after{content:"";position:absolute;top:calc(100% - 2px);left:0;width:100%;height:var(--call-button-height);background-color:var(--dark-background);pointer-events:none}.footer-container{padding-block:var(--padding)}.footer-wrapper{display:flex;flex-direction:column;row-gap:var(--padding)}.footer-row{display:flex;flex-direction:row;row-gap:var(--padding)}.footer-row:nth-child(2){padding-left:var(--padding)}.footer-col{flex-grow:1}.footer-col:nth-last-child(2){flex-grow:0}.footer-col:last-child{flex-grow:3}button#call-button{display:flex;align-items:center;justify-content:center;position:fixed;bottom:0;left:0;width:100%;height:var(--call-button-height);font-weight:var(--font-weight-semibold);background-color:var(--color-accent);gap:10px;z-index:99}@media(max-width:1024px){footer{--padding:var(--padding-block)}.footer-wrapper{row-gap:0}.footer-row:nth-child(2){padding-inline:var(--padding)}.footer-logo,.footer-logo-symb-wrapper{display:none}}@media(max-width:749px){.footer-row:nth-child(2){display:grid;grid-template-columns:1fr 1fr}.footer-row:nth-child(2) .footer-col:nth-child(3){grid-column:span 2}.footer-container{padding-bottom:calc(var(--padding) + var(--call-button-height))}header{pointer-events:all}#header-background{background-color:var(--bg-color-main)}html.header-color-dark header{color:#fff}html.header-color-dark #header-background{background-color:var(--dark-background)}}@media(min-width:750px){#mobile-footer-btn{display:none}}@media(max-width:549px){.footer-row:nth-child(2){padding-inline:var(--padding-inline)}}.footer-logo-symb{display:flex;justify-content:center;height:clamp(8rem,16vw,15rem)}.footer-logo-symb svg{fill:#000}.footer-col__title{display:inline-block;font-family:var(--font-bold);padding-bottom:1.5rem;opacity:.8}footer ul{display:flex;flex-direction:column}footer ul li a:not(.no-pointer-events),footer ul li.no-link{position:relative;display:inline-block;transition-property:opacity;transition-duration:.3s;transition-timing-function:linear;line-height:1;opacity:.4;padding-inline:1rem;margin-left:-1rem;padding-block:.5em}footer ul li#footer-address,footer ul li#footer-identifier,footer ul li#footer-since{font-size:75%}footer ul li#footer-identifier,footer ul li#footer-identifier a{cursor:text}footer ul li#footer-since{padding-top:3em}footer ul li a[aria-current=page],html:not(.is-mobile) footer ul li a:hover,html:not(.is-mobile) footer ul li.no-link:hover{opacity:1}footer ul li a[aria-current=page]::after{content:"";position:absolute;width:calc(100% - 2rem);left:1rem;bottom:.5rem;border-bottom:1px solid #fff;pointer-events:none}footer ul li a .material-symbols-outlined{font-size:1rem;padding-right:.75rem}.overflow-hidden{overflow:hidden}.no-pointer-events{pointer-events:none}.z-background{z-index:-10}.content-centered{display:grid;place-content:center}.cover{position:absolute;top:0;left:0;height:100%;width:100%}.bg-image{background-repeat:no-repeat;background-size:cover;background-position:50%}strong{color:var(--color-accent)}:is(h1,h2,p) strong{font-family:var(--font-bold)}h1.page-title{font-size:clamp(2rem,7vw,6rem);text-transform:uppercase;text-align:center}h2{max-width:830px;text-transform:none}h2 span{font-size:150%;font-weight:var(--font-weight-semibold);text-transform:uppercase}.title-and-text__text>p,.image-and-text__text>p,.title,h2,h3{text-wrap:balance}.image-and-text__text>p>em>strong>span.material-symbols-outlined{font-size:1.4rem;vertical-align:text-bottom}#services .title,section:not(#services) .image-and-text h2{text-wrap:unset}#services .title{padding-bottom:var(--padding-inline-third);font-size:calc(2rem + 3svh);font-family:var(--font-light);line-height:1.05;text-wrap:nowrap}#services .image-and-text__text{max-width:unset;padding-left:var(--padding-inline-double)}#services h2{width:60ch;padding-right:var(--padding-inline)}article :where(:not(h3,img,video,#breadcrumbs-wrapper,#breadcrumbs-wrapper *)),.title-and-text__text>p,.image-and-text__text>p,h2{font-size:max(1rem,11px + .36vw);letter-spacing:.05vw}.article br,article a br{display:none}.title-and-text__text>p,.image-and-text__text>p,h2{line-height:1.75;font-family:var(--font-styled);font-weight:var(--font-weight-regular)}article :where(:not(h3,img,video,#breadcrumbs-wrapper,#breadcrumbs-wrapper *)),.image-and-text.small-text .image-and-text__text>:is(p,em){font-family:var(--font-light);line-height:1.5}.image-and-text.small-text .image-and-text__text>p>em:first-child{display:flex;align-items:center;gap:3px;font-size:.9rem;width:fit-content;border-radius:4px;padding:3px 7px 3px 5px;background:hsl(37.06deg 45.13% 55.69%);color:#fff;letter-spacing:1.3px;margin-top:-.6rem}.h5{font-size:clamp(11px,.8vw,13px);font-family:var(--font-bold);font-style:normal;text-transform:uppercase;letter-spacing:5px;padding-bottom:var(--padding-block-half);opacity:.85}section>.h5{text-align:center}.image-and-text__text{max-width:min(36ch,28vw)}.image-and-text.no-image{padding-inline:var(--padding-inline)}.image-and-text.no-image .image-and-text__text:last-child{text-wrap:nowrap;padding:0!important}.image-and-text.no-image .image-and-text__text{max-width:60ch!important}h3.title-and-text__title{font-family:var(--font-regular);font-size:clamp(1.5rem,3svh,2rem);text-transform:uppercase}.image-and-text__text h1{font-family:var(--font-light);font-size:min(96px,6vmax);hyphens:auto;line-height:min(96px,6vmax);text-transform:uppercase;padding-bottom:var(--padding-inline-half);margin-left:-.4vw}h3.section-title,.image-and-text__text :is(h3,.title){text-transform:uppercase}.image-and-text__text :is(h3,.title){font-size:calc(2rem + 2svh);font-family:var(--font-light)}h3.section-title{font-size:calc(1rem + 2svh);font-family:var(--font-bold)}h3.title-and-text__title{text-align:right}h3.section-title:not(.no-padding-bottom),.image-and-text:not(.no-image) .image-and-text__text :is(h3,.title){padding-bottom:var(--padding-block-half)}h3.section-title{text-align:center}.title-and-text__text>a,.image-and-text__text>a{width:fit-content;margin-top:var(--padding-block-half)}.article-content>:is(p,em):last-child,.image-and-text__text>:is(p,em):last-child{position:relative}#contact h2{font-size:1.25rem}#contact .text-and-button>h2{line-height:34px}#contact .contact-buttons>h2{line-height:25px}#contact .text-and-button>h2::after,.article-content>:is(p,em):last-child::after,.image-and-text__text>:is(p,em):last-child::after{content:"";position:absolute;bottom:calc(var(--padding-inline) * -1);width:25%;height:1px;background-color:var(--color-accent)}.article-content>:is(p,em):last-child::after,.image-and-text:not(.text-align-right) .image-and-text__text>:is(p,em):last-child::after{left:0}.image-and-text.text-align-right .image-and-text__text>:is(p,em):last-child::after{right:0}.images-sliding-rows{display:flex;flex-direction:column;row-gap:var(--padding-inline-third)}.images-sliding-rows__row{display:flex;column-gap:var(--padding-inline-third);height:max(23svh,14vw)}.images-sliding-rows__row[data-direction=left]{justify-content:flex-start}.images-sliding-rows__row[data-direction=right]{justify-content:flex-end}.video-wide .image-wrapper,.images-grid .image-wrapper,.icons-and-image .image-wrapper,.centered-image .image-wrapper,.centered-images .image-wrapper,.overlapping-images .image-wrapper,.two-images .image-wrapper,.three-images .image-wrapper,.rounded-images .image-wrapper,.full-width-image .image-wrapper,.article-header .image-wrapper,.article-header__content .image-wrapper,.images-sliding-rows__row .image-wrapper{display:block;position:relative}.centered-images .image-wrapper{height:fit-content}.images-sliding-rows__row .image-wrapper{height:100%;border-radius:7px}.images-sliding-rows__row a{display:contents}.images-sliding-rows__row img{transition-property:transform,box-shadow;transition-duration:var(--transition-duration);transition-timing-function:var(--bezier);height:100%;width:auto;box-shadow:0 0 transparent;cursor:pointer}html:not(.is-mobile) .images-sliding-rows__row img:hover{transform:scale(1.1);box-shadow:0 20px 30px -14px rgba(0,0,0,.2)}.images-grid{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:1500px;margin-inline:auto;gap:3px;overflow:hidden}.images-grid .image-wrapper{height:100%;width:100%}.images-grid .image-wrapper.wide{grid-column:span 2}html:not(.is-mobile) .images-grid .image-wrapper{aspect-ratio:3/4}html:not(.is-mobile) .images-grid .image-wrapper.wide{aspect-ratio:3/2}.images-grid img{height:100%;width:100%;object-fit:cover}.video-wide{display:flex;flex-direction:column}.video-wide video{height:50vw;object-fit:cover}.video-full-width video{height:auto;width:100%;object-fit:cover}video:not(.loaded){visibility:hidden;position:absolute}video.loaded+.video-alt-image{display:none}.title-and-text{display:flex;justify-content:center;column-gap:var(--padding-inline);row-gap:var(--padding-block-third)}h3.title-and-text__title{max-width:15ch}h4{display:flex;flex-direction:column;font-family:var(--font-styled-2);font-size:min(8vw,75px + 2vw);font-style:italic}h4 strong{font-size:160%;text-transform:uppercase;color:var(--color-accent);font-style:normal;padding-left:1vw}h4 div span:nth-child(2){margin-left:20vw}#contact h4{margin-inline:auto}#contact h4,#contact h4 span{width:fit-content}#contact h4 div span:nth-child(2){margin-left:10vw}#contact .contact-buttons>h2{width:100%}#contact .contact-buttons>h2 div{padding-top:10px}#contact .text-and-button>h2::after{bottom:-20px;right:0}#contact>h2{text-align:center;width:100%;max-width:initial}#contact .contact-buttons{display:flex;gap:20px}section+#contact{padding-top:var(--padding-block)}@media(min-width:1200px){#contact .text-and-button>h2{position:relative}#contact .text-and-button>h2{text-align:right}#contact .text-and-button{align-items:flex-start;justify-content:center}#contact .contact-buttons{flex-direction:column}}@media(max-width:1199px){#contact .text-and-button>h2:after{display:none}#contact .text-and-button{align-content:center;row-gap:var(--padding-block)}#contact .contact-buttons{flex-direction:row;justify-content:center;flex-wrap:wrap}#contact .contact-buttons>h2{padding-top:var(--padding-inline-double)}}#appointments-wrapper{border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;overflow:hidden}#appointments-btn{position:relative;overflow:hidden}#appointments-btn button{position:absolute!important;opacity:0!important;inset:0!important}@keyframes appointments-form-backdrop{from{background-color:rgba(32,33,36,.3)}to{backdrop-filter:blur(18px)}}.hur54b{animation:appointments-form-backdrop .3s ease-in both}#appointments-inline-container{height:100vh;background-color:#fff}#appointments-inline-container,.hur54b iframe{filter:hue-rotate(183deg)contrast(.65)brightness(1.21)saturate(.8)}.hur54b iframe{animation:scale-up 1s cubic-bezier(0,1,0,1)}.Xfsokf{z-index:10}@media(max-width:661px){#appointments{padding-inline:0}#appointments-wrapper{display:flex;justify-content:center;border-radius:0}#appointments-wrapper>iframe{height:1315px;max-width:599px}.hur54b{padding:0!important}.hur54b iframe{animation-duration:.6s;border-radius:0!important}.Xfsokf{right:36px!important}}mark{font-family:var(--font-bold);background:repeat 0 var(--color-accent);text-decoration:none;color:#fff;padding:2px 8px;display:inline-block;border-radius:2px}.overflow-hidden{overflow:hidden}.uppercase{text-transform:uppercase}.padding-block{padding-block:var(--padding-block)}.padding-block-triple{padding-block:var(--padding-block-triple)}.padding-block-double{padding-block:var(--padding-block-double)}.padding-block-half{padding-block:var(--padding-block-half)}.padding-block-third{padding-block:var(--padding-block-third)}.padding-top{padding-top:var(--padding-block)}.padding-top-triple{padding-top:var(--padding-block-triple)}.padding-top-double{padding-top:var(--padding-block-double)}.padding-top-and-a-half{padding-top:calc(var(--padding-block-and-a-half))}.padding-top-half{padding-top:var(--padding-block-half)}.padding-top-third{padding-top:var(--padding-block-third)}.margin-top{margin-top:var(--padding-block)}.margin-top-double{margin-top:var(--padding-block-double)}.margin-bottom{margin-bottom:var(--padding-block)}.margin-bottom-double{margin-bottom:var(--padding-block-double)}.margin-bottom-half{margin-bottom:var(--padding-block-half)}.margin-bottom-and-a-half{margin-bottom:var(--padding-block-and-a-half)}.padding-inline{padding-inline:var(--padding-inline)}.padding-inline-double{padding-inline:var(--padding-inline-double)}.padding-bottom{padding-bottom:var(--padding-block)}.padding-bottom-triple{padding-bottom:var(--padding-block-triple)}.padding-bottom-double{padding-bottom:var(--padding-block-double)}.padding-bottom-half{padding-bottom:var(--padding-block-half)}.padding-bottom-third{padding-bottom:var(--padding-block-third)}@media(max-width:1024px){.padding-top-triple,.padding-top-double:not(html[data-page-type=home] #realisations){padding-top:var(--padding-block)}.padding-block-triple,.padding-block-double{padding-block:var(--padding-block)}}.white-text{color:#fff;-webkit-font-smoothing:antialiased}.gray-background{background-color:var(--gray-background)}.color-accent-background{background-color:var(--color-accent)}.color-accent-background-darker{background-color:var(--color-accent-darker)}.dark-background{background-color:var(--dark-background)}section.dark-background+section.dark-background{margin-top:-1px}section.dark-background+section.dark-background:is(.padding-top-double,.padding-block-double){padding-top:var(--padding-block-half)}.foreground{position:relative;z-index:10}.full-width-image img{width:100%;height:auto;object-fit:cover}.centered-image .image-wrapper{width:50%;margin-inline:auto}.centered-image img{width:100%;height:auto;object-fit:cover}.centered-images{display:grid;grid-template-columns:1fr 1fr;gap:var(--padding-block-third)}.overlapping-images img,.two-images img,.three-images img,.centered-images img{width:100%;height:auto;object-fit:cover}html[data-page-type=articles] article .three-images img{height:100%;aspect-ratio:1/1}.rounded-images .image-wrapper{border-radius:100vw}.two-images,.three-images{display:grid;gap:var(--padding-block-third)}.two-images{grid-template-columns:1fr 1fr}.three-images{grid-template-columns:1fr 1fr 1fr}.overlapping-images{display:flex;align-items:end}.overlapping-images .image-wrapper:first-child{width:0;flex-grow:5}.overlapping-images .image-wrapper:nth-child(2){transform:translate(-50%,50%);width:0;flex-grow:2}.text-and-button{display:flex;align-items:center;justify-content:space-evenly;column-gap:var(--padding-inline);row-gap:var(--padding-block-half)}.image-and-text{display:flex;align-items:center;row-gap:var(--padding-inline);column-gap:var(--padding-block);position:relative}.image-and-text.aligned-top{align-items:start}.image-and-text.inverted{flex-direction:row-reverse;padding-left:var(--padding-inline)}.image-and-text.text-align-right{text-align:right}.image-and-text__image{position:relative;width:100%}.image-and-text__image__wrapper{position:relative;height:100%;overflow:hidden}.image-and-text__image:not(.auto-height){height:calc(max(100svh,50vw) - var(--padding-block) * 2)}.work-title{transition-property:color,background-color;transition-duration:.3s;position:absolute;font-size:16px;font-family:var(--font-styled);letter-spacing:1.5px;text-transform:uppercase;font-size:14px;white-space:nowrap;padding-block:20px;z-index:2}#hero .work-title{pointer-events:all;padding:var(--padding-inline-half);bottom:-1px;left:-1px;color:var(--bg-color-main);border-top-right-radius:7px}html:not(.is-mobile) #hero .work-title:hover,html:not(.is-mobile) .image-and-text__image:hover .work-title{color:var(--color-accent)}html:not(.is-mobile) #hero .work-title:hover{background-color:rgba(255,255,255,.9)}.image-and-text img{height:auto;width:100%}.image-and-text:first-child+.image-and-text,:not(.image-and-text)+.image-and-text+.image-and-text{padding-block:var(--padding-block)}.background-icon{display:none;position:absolute;bottom:0;right:0;pointer-events:none;z-index:-1}.background-icon .material-symbols-outlined{--font-size:min(750px, max(45vw, 60svh));font-size:var(--font-size);color:#fff;font-variation-settings:'FILL' 0,'wght' 100,'GRAD' -25,'opsz' 48}@media(min-width:1025px){.title-and-text__text{max-width:43ch}.image-and-text.centered:not(.inverted) .image-and-text__text{padding-right:var(--padding-inline-half)}.image-and-text.centered.inverted .image-and-text__text{padding-left:var(--padding-inline-half)}.image-and-text:first-child+.image-and-text,:not(.image-and-text)+.image-and-text+.image-and-text{padding-block:var(--padding-block-double)}.image-and-text.small-text:not(.inverted){padding-right:var(--padding-inline)}.centered-images .image-wrapper:first-child{margin-left:10vw}}@media(min-width:1250px){html:not(.is-mobile) .icons-and-image{transform:rotate(-4deg)}html:not(.is-mobile) .icons-and-image::before{content:"";position:absolute;inset:0 -50%;background-color:var(--color-accent-darker)}html:not(.is-mobile) .icons-and-image .service-icons{transform:rotate(4deg)}}@media(min-width:1200px){.image-and-text:not(.small-text,.inverted,.centered){padding-right:var(--padding-inline-double)}.image-and-text:not(.inverted) .work-title{transform:rotate(-90deg)translateY(100%);transform-origin:bottom left;left:100%;bottom:0}.image-and-text.inverted .work-title{transform:rotate(-90deg);transform-origin:bottom left;left:0;bottom:0}}@media(min-width:1500px){.image-and-text:first-child+.image-and-text,:not(.image-and-text)+.image-and-text+.image-and-text{padding-block:var(--padding-block-double)}.image-and-text.small-text:not(.inverted,.centered){padding-right:var(--padding-inline-double)}}.image-and-text:first-child+.image-and-text:last-child,:not(.image-and-text)+.image-and-text+.image-and-text:last-child{padding-bottom:var(--padding-block)}@media(max-width:1199px){.image-and-text{column-gap:var(--padding-inline)}.image-and-text:not(.inverted) .work-title{right:0}.image-and-text.inverted .work-title{left:0}}@media(min-width:1025px){h3.section-title strong,.image-and-text__text strong{font-style:italic}.image-and-text.centered .image-and-text__text{max-width:42ch}.image-and-text.centered{justify-content:center}.image-and-text.centered .image-and-text__image{width:auto}.image-and-text.centered .image-and-text__image img{height:100%;width:auto;max-width:100%}}@media(max-width:1024px){.title-and-text{flex-direction:column}h3.title-and-text__title{text-align:left}.image-and-text__text .h5{padding-bottom:var(--padding-block-third)}.image-and-text{padding-inline:var(--padding-inline)}.image-and-text__image{position:relative}html[data-page-type=work] .image-and-text__image{width:calc(100% + var(--padding-inline) * 2);margin-left:calc(var(--padding-inline) * -1)}.image-and-text__image.auto-height,.image-and-text__image:not(.auto-height){height:auto}.image-and-text,.image-and-text.inverted{flex-direction:column-reverse;align-items:flex-start}html[data-page-type=work] .image-and-text{flex-direction:column}.image-and-text__text{max-width:unset;text-align:left}.image-and-text__text :is(h3,.title){font-size:max(1.5rem,3vw);font-size:calc(1.5rem + 2vw);font-family:var(--font-medium)}.image-and-text__text>p{text-wrap:unset}.image-and-text__text>:is(p,em):last-child::after{display:none}.image-and-text__text>a{margin-top:var(--padding-block-half);margin-bottom:var(--padding-block-third)}h4{padding-bottom:var(--padding-block-half);font-size:min(7vw,65px + 1.5vw)}#a-propos h4{font-size:min(9vw,65px + 1.5vw)}.image-and-text:not(.inverted) .work-title,.image-and-text.inverted .work-title{left:0;padding-block:6px}.work-title{font-size:.8rem}}@media(max-width:749px){.centered-image .image-wrapper{width:100%}.centered-images .image-wrapper:first-child{margin-left:0}html[data-page-type=work] .three-images{grid-template-columns:1fr 1fr}html[data-page-type=work] .three-images .image-wrapper:first-child{grid-column:span 2}.centered-images .image-wrapper:first-child{margin-left:0}html[data-page-type=work] section:is(.full-width-image,.centered-image,.centered-images,.three-images){margin:0;padding-bottom:0;padding-top:var(--padding-block-third)!important}}.card{display:flex;flex-direction:column;height:100%;border-radius:1vw;overflow:hidden}.card__image{position:relative;flex-grow:1;overflow:hidden;margin-bottom:-1px;pointer-events:none}h3.card__text{display:grid;place-items:center;position:relative;min-height:4rem;font-family:var(--font-regular);font-size:1rem;text-transform:uppercase;letter-spacing:.125rem;text-align:center;padding:.7rem;background-color:var(--color-accent-2);z-index:1;pointer-events:none}.image-and-text__image img,img.cover,img.parallax{object-fit:cover;object-position:center}.parallax{position:absolute;bottom:0;left:0;height:calc(100% + var(--parallax-offset));width:100%}@media(max-width:1024px){[data-speed],.parallax,.no-animations-mobile{transform:none!important;translate:none!important;rotate:none!important;scale:none!important}.parallax{position:relative;bottom:unset;left:unset;height:100%;width:100%}}p.tag-line{padding-top:2rem;font-size:1rem;font-family:var(--font-medium)!important}span.num-divider{position:relative;display:inline-block;width:1.5ch;padding-left:5px}span.num-divider::before{content:"";width:50%;display:inline-block;border-bottom:2px solid}#hero{width:100%;overflow:hidden}#hero-bg::after{transition-property:opacity;transition-duration:var(--image-loading-animation-duration);content:"";position:absolute;inset:0 calc(var(--hero-image-overflow) * -1)0;background:linear-gradient(7deg,hsl(37.06deg 65.26% 14.08%/50%) 0%,transparent 35%)}#hero.padding-top #hero-bg::before{transition-property:opacity;transition-duration:var(--image-loading-animation-duration);content:"";position:absolute;inset:0;background:linear-gradient(90deg,hsl(37.06deg 65.26% 14.08%/30%),transparent 50%),linear-gradient(195deg,hsl(37.06deg 65.26% 14.08%/30%),transparent 50%);z-index:1}#hero.gradient-shadow:not(:has(img.loaded)) #hero-bg::after{opacity:0}#hero-bg{position:relative;cursor:pointer}#hero-bg img{max-height:58svh;width:100%;object-fit:cover;object-position:17% 57%}#hero.padding-top #hero-bg img{max-height:max(50svh,33vw)}#hero.padding-top #hero-text-wrapper{padding-inline:calc(var(--padding-inline) * 2 - var(--home-text-padding-inline))}#hero #breadcrumbs-wrapper{position:absolute;width:100%;z-index:10}#breadcrumbs{display:flex;font-family:var(--font-regular);letter-spacing:2px;font-size:.7rem;padding-bottom:30px;text-transform:uppercase;overflow:hidden}#hero #breadcrumbs{position:absolute;top:0;right:var(--padding-inline);color:#fff;font-size:.8rem;padding:20px;pointer-events:all;z-index:1}#breadcrumbs li,#breadcrumbs li a{white-space:nowrap}#breadcrumbs.article-breadcrumbs li a{color:var(--color-accent)}.article-header:not(.white-text) #breadcrumbs li a{color:var(--article-color)}.article-header.white-text #breadcrumbs li a{color:#fff}html:not(.is-mobile) #breadcrumbs.article-breadcrumbs li:has(a:hover){opacity:1}article[data-type=article] #breadcrumbs-wrapper{margin-bottom:-17px}article[data-type=article] #breadcrumbs{padding-bottom:0}.article-time,.article-time *{font-size:.9rem;margin-bottom:-.5rem}#breadcrumbs li:last-child{text-overflow:ellipsis;overflow:hidden}#breadcrumbs li:not(:first-child):before{content:"/";padding-inline:10px}#hero #breadcrumbs li:not(:first-child):before{padding-inline:10px}@media(min-width:830px){#hero-bg{margin-inline:var(--padding-inline)}#hero:not(.padding-top) #hero-bg{margin-top:var(--padding-block);margin-left:calc(var(--padding-inline) * 3)}}@media(max-width:829px){#hero-bg img{max-height:66svh}#hero.padding-top #hero-bg::before{background:linear-gradient(135deg,hsl(37.06deg 65.26% 14.08%/58%),transparent 76%)}#hero.padding-top #hero-text-wrapper{padding-inline:calc(var(--padding-inline) - var(--home-text-padding-inline))}}@media(max-width:549px){#hero-bg img{object-position:45% 57%;max-height:calc(100svh - var(--call-button-height))}}#hero-text-wrapper{position:absolute;display:flex;align-items:center;height:0;top:clamp(220px,18vw,50%);padding-inline:var(--padding-inline);z-index:10}#hero h1{display:flex;flex-direction:column;align-items:flex-start;color:var(--text-color);font-size:calc(30px + 1.5vw);font-family:var(--font-medium);text-transform:uppercase;letter-spacing:.1vw}#hero h1 div{display:contents}#hero h1 span:not(:first-child){margin-top:-1px}#hero h1 span{background-color:#fff;padding-block:.5vw .2vw;padding-inline:var(--home-text-padding-inline);font-family:var(--font-bold)}#hero.padding-top h1 span{background-color:var(--color-accent);color:#fff}#hero h1 div span:nth-child(1){font-size:116%;color:var(--color-accent);line-height:55%;z-index:1;letter-spacing:.15vw;padding-top:calc(22px + .5vw);padding-bottom:0}#hero h1 div span:nth-child(2){font-size:116%;padding-top:calc(7px + .5vw);padding-bottom:calc(2px + .5vw);color:var(--color-accent);letter-spacing:.15vw;line-height:105%}#hero h1>span:nth-child(2){font-size:30%;padding-bottom:calc(5px + .5vw);padding-top:0;letter-spacing:.2vw;background-color:var(--color-accent);font-family:var(--font-regular);color:#fff;white-space:nowrap}#hero h1>span:nth-child(2) strong{font-family:var(--font-regular);color:#fff}#hero h1>span:nth-child(3){font-size:30%;padding-bottom:calc(5px + .5vw);padding-top:0;letter-spacing:.2vw;background-color:var(--color-accent);font-family:var(--font-regular);color:#fff}#hero-footer{position:absolute;bottom:2svh}#hero-footer .button-wrap{padding-left:30px;background:var(--color-accent);border-radius:10px}@media(min-width:1900px){#hero h1>span:nth-child(2){font-size:25%}#hero h1>span:nth-child(3){font-size:25%}}@media(max-width:1199px){#hero h1>span:nth-child(2){font-size:32%}#hero h1>span:nth-child(3){font-size:32%}}@media(max-width:899px){#hero h1>span:nth-child(2){font-size:40%}#hero h1>span:nth-child(3){font-size:40%}}#hero #hero-text-wrapper{top:calc(var(--padding-block) + 22svh)}#hero.padding-top h1{margin-left:-3px}#hero.padding-top h1 div span:nth-child(1),#hero.padding-top h1 div span:nth-child(2){background-color:transparent;text-shadow:6px 4px 10px rgba(0,0,0,.1)}#hero.padding-top h1 div span:nth-child(1),#hero.padding-top h1 div span:nth-child(2){color:#fff}#hero.padding-top h1>span:nth-child(2),#hero.padding-top h1>span:nth-child(3){display:inline-block;padding-inline:calc(10px + .25vw)}#hero h1>span:nth-child(2){padding-top:calc(5px + .5vw)}#hero.padding-top h1>span:nth-child(2),#hero.padding-top h1>span:nth-child(3){margin-left:calc(var(--home-text-padding-inline) + 3px)}#services{display:flex;align-items:center;margin-inline:auto;width:fit-content;z-index:1}#services-images{position:relative;display:flex;align-items:center;height:100%;width:38vw;z-index:-1}.services-images__image:first-child{position:relative;width:100%;padding-left:20%;margin-top:calc(var(--padding-block) * -1)}.services-images__image:nth-child(2){position:absolute;left:0;width:50%;bottom:calc(var(--padding-block) * -1)}.services-images__image .image-wrapper{display:flex;width:100%;height:fit-content;position:relative}.services-images__image:first-child .image-wrapper{align-items:flex-start}.services-images__image:nth-child(2) .image-wrapper{align-items:flex-end}.services-images__image img{width:100%;height:auto}#services~#services-grid{padding-top:0;padding-bottom:var(--padding-block-double)}#services~#realisations{padding-top:0;padding-bottom:var(--padding-block-double)}#services-grid ul{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:10px}#services-grid.large{padding-top:0}#services-grid li{position:relative;display:grid;place-content:center;aspect-ratio:7/14}h3.section-title strong{font-size:75%}h3.section-title strong::before,h3.section-title strong::after{content:"";vertical-align:middle;width:20px;height:1px;background:var(--color-accent);display:inline-block;margin-inline:20px}.service-icons{display:grid;grid-template-columns:repeat(3,1fr);width:100%;padding-left:var(--padding-inline);padding-right:calc(var(--padding-inline) - 8px)}@media(min-width:1200px){.service-icons{grid-template-columns:repeat(3,1fr);max-width:1200px;margin-inline:auto}}section:not(.icons-and-image) .service-icons{padding-block:20px}.icons-and-image .service-icons{display:grid;grid-template-columns:repeat(2,1fr);padding-block:var(--padding-inline);row-gap:0}.service-icon{transition-property:background-color;transition-duration:.2s;display:flex;align-items:flex-start;border-radius:12px;padding-block:calc(var(--padding-block-third)/2);padding-inline:calc(var(--padding-block-third)/2)}section.services-section .service-icon{transform:none!important}.service-icon h3{font-size:calc(.75rem + .2vw);font-weight:var(--font-weight-bold);padding-bottom:.5rem;white-space:nowrap;text-transform:uppercase;letter-spacing:1px}.service-icon p{font-size:.9rem;line-height:1.2;font-weight:var(--font-weight-regular);text-wrap:balance;max-width:20ch}.service-icon__image{width:auto;display:grid;place-content:center;margin-right:28px}.service-icon__image .material-symbols-outlined{font-size:calc(3rem + 1vw);font-variation-settings:'FILL' 0,'wght' 100,'GRAD' -25,'opsz' 48}.icons-and-image{display:flex;align-items:center}.icons-and-image>*{flex-grow:3;flex-shrink:0;flex-basis:0}.icons-and-image .image-wrapper{margin-right:var(--padding-inline);margin-bottom:-50px}.icons-and-image img{width:100%;height:auto}@media(min-width:1979px){.icons-and-image .service-icons{padding-inline:var(--padding-inline-double)}}@media(max-width:1699px){#services-images{width:45vw}}@media(min-width:1500px){html:not([data-page-type=services][data-page-kind=section]) #services-grid ul{transform:rotate(1deg);margin-top:var(--padding-block-third)}html:not([data-page-type=services][data-page-kind=section]) #services-grid li{transform:rotate(-3deg);outline:8px solid var(--bg-color-main)}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li{z-index:0;transition:z-index var(--card-z-index-transition-duration)step-end}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card.previously-hovered-2){z-index:1}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card.previously-hovered-2):not(:has(.card:hover)){transition:none}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card.previously-hovered-1){z-index:2}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card.hovered),html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card:hover){z-index:3!important}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li{transition-property:transform,z-index;transition-duration:var(--transition-duration),var(--card-z-index-transition-duration);transition-timing-function:var(--bezier),step-end}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid li:has(.card:hover){transform:rotate(-1deg)scale(1.1);transition-delay:var(--card-z-index-transition-duration),0s}html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid .image-and-text__image:has(a):hover .image-wrapper,html:not(.is-mobile):not([data-page-type=services][data-page-kind=section]) #services-grid .hover-parent:hover .parent-hovered-zoom{transition-delay:var(--card-z-index-transition-duration)}}@media(max-width:1499px){#services-grid ul{grid-template-columns:repeat(3,1fr);margin-inline:auto}#services-grid li{aspect-ratio:3/4}h3.card__text{min-height:unset}.card{border-radius:0}.service-icon__image{margin-right:20px}}@media(max-width:1399px){#services{width:100%;padding-inline:var(--padding-inline)}#services-images{margin-left:calc(var(--padding-inline-half) * -1)}#services .image-and-text__text{padding-left:0}}@media(max-width:1249px){.icons-and-image{flex-direction:column}.service-icons{display:grid;grid-template-columns:repeat(2,1fr);padding-block:var(--padding-inline)}.service-icon{transform:none!important;padding-block:var(--padding-inline);row-gap:0}.service-icon{transform:none!important}.icons-and-image__image{transform:none!important}.icons-and-image .image-wrapper{max-width:unset;margin-inline:0;margin-bottom:0}.icons-and-image .service-icons{grid-template-columns:repeat(3,1fr)}.service-icon__image .material-symbols-outlined{font-size:4rem}}@media(max-width:1199px){.text-and-button{flex-direction:column;text-align:center}#services h2{text-wrap:unset}#services{flex-direction:column-reverse}#services-images{max-width:630px;width:100%;margin-bottom:var(--padding-block-double)}.services-images__image:first-child{margin-top:0}}@media(max-width:929px){#services-grid.large ul,#services-grid ul{grid-template-columns:1fr 1fr}#services-grid li{aspect-ratio:5/6}#services .title{font-size:max(2.5rem,8vw)}.icons-and-image .service-icons{grid-template-columns:repeat(2,1fr)}}@media(max-width:829px){section:not(#contact) h2{text-align:left}section:not(#contact) .text-and-button{align-items:flex-start}#hero #breadcrumbs{right:0}}@media(max-width:649px){#services-grid.large ul,#services-grid ul{grid-template-columns:1fr;gap:var(--padding-inline-half)}#services-grid li{aspect-ratio:5/3}#services h2{width:100%;max-width:60ch}.service-icon p{max-width:15ch}.service-icon__image{margin-right:17px}.background-icon{display:none}}@media(max-width:619px){#services-grid.large ul,#services-grid ul{grid-template-columns:1fr;gap:var(--padding-inline-half)}#services-grid li{aspect-ratio:5/3}}@media(max-width:549px){.service-icon__image{aspect-ratio:unset;padding-inline:5px}.service-icon__image span{margin-left:-15px}.service-icon__image span[data-extra-margin-left="1"]{margin-left:-20px}.service-icon__image span[data-extra-margin-left="2"]{margin-left:-33px}.service-icon p{max-width:unset}.icons-and-image .service-icons,.service-icons{padding-block:var(--padding-block-half)}.service-icon{flex-direction:column;padding-block:calc(var(--padding-block-half)/2)}.service-icon__image{width:70px;height:60px;margin-bottom:8px}.service-icon__text p{line-height:1.05}section.padding-inline a.button.centered{margin-left:0}section:not(.padding-inline) a.button.centered{margin-left:var(--padding-inline)}#hero:not(.padding-top) #hero-text-wrapper{top:calc(var(--padding-block) + 40svh)}#hero.padding-top #hero-text-wrapper{top:calc(var(--padding-block) + 22svh)}#hero h1{margin-left:-3px}#hero h1 div span:nth-child(1){padding-top:0}#hero h1 div span:nth-child(1),#hero h1 div span:nth-child(2){background-color:transparent;text-shadow:6px 4px 4px rgba(0,0,0,.2),0 0 50px rgba(0,0,0,.2),0 0 5px rgba(0,0,0,.2)}#hero:not(.padding-top) h1{filter:drop-shadow(0 -20px 32px rgba(67,46,12,.4))}#hero h1 div span:nth-child(1),#hero h1 div span:nth-child(2){color:#fff}#hero h1>span:nth-child(2),#hero h1>span:nth-child(3){display:inline-block;padding-inline:calc(10px + .25vw)}#hero h1>span:nth-child(2){padding-top:calc(5px + .5vw)}#hero h1>span:nth-child(2),#hero h1>span:nth-child(3){margin-left:calc(var(--home-text-padding-inline) + 3px)}}article{--article-color:var(--color, var(--color-accent))}article strong{color:var(--article-color);font-family:var(--font-bold)}article ul:not(#breadcrumbs),article ol{position:relative;margin-top:1rem;padding-block:1.25rem;padding-inline:2.5rem 1rem;border-radius:10px px;max-width:700px}article ul:not(#breadcrumbs)::before,article ol::before{content:"";position:absolute;inset:0;background-color:var(--article-color);opacity:var(--article-bg-opacity);border-radius:7px;pointer-events:none;z-index:-1}article ul:not(#breadcrumbs) li,article ol li{padding-bottom:.4rem}article ol li::marker{font-family:var(--font-medium)}:is(p,em) a{color:var(--article-color,var(--color-accent));text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.article-header__content,.article-content{max-width:1000px;max-width:calc(max(1rem,11px + .36vw) * 58);margin-inline:auto;padding-inline:var(--padding-inline)}.article-header{padding-bottom:var(--padding-block-half);margin-bottom:var(--padding-block-half)}.article-header::before{content:"";position:absolute;inset:0;background-color:var(--article-color);pointer-events:none}.article-header:not(.white-text)::before{opacity:var(--article-bg-opacity)}.article-header__content{position:relative;display:flex;flex-direction:column;gap:var(--padding-block-third);z-index:2}.article-header .tag-line{padding-top:0}.article-header__content img{width:100%;height:auto}.article-header h1{font-family:Oswald,sans-serif;font-size:4rem;text-transform:uppercase;letter-spacing:.1rem;line-height:1.1}.article-header:not(.white-text) h1{color:var(--article-color)}.article-header h1 strong{font-family:var(--font-light)}.article-header__image{position:absolute;top:0;left:100%;height:100%;margin-left:2rem}.article-header__image img{height:100%;width:auto}.article-content>h2{font-size:1.75rem;font-family:var(--font-bold);padding-bottom:1.5rem;max-width:unset;text-align:left;line-height:1.2;color:var(--article-color);letter-spacing:0;text-wrap:unset}.article-content p+h2{padding-top:var(--padding-block-half)}.article-content .full-width-image,.article-content .two-images,.article-content .three-images{gap:5px;padding-top:var(--padding-block-third);padding-bottom:var(--padding-block-half)}.article-content h2+:is(.full-width-image,.two-images,.three-images){padding-top:0;padding-bottom:var(--padding-block-third)}html[data-page-type=articles] article .video-full-width,html[data-page-type=articles] article :not(.rounded-images,.three-images)>.image-wrapper{border-radius:8px;overflow:hidden}article .image-wrapper{overflow:hidden}article .image-loader{background-color:transparent}article .image-loader::after{content:"";position:absolute;inset:0;background-color:var(--article-color);opacity:.25}article section.white-text .image-loader::after{background-color:#fff}@media(max-width:1024px){#services{width:100%;padding-inline:var(--padding-inline);padding-bottom:0;margin-top:var(--padding-block)}#services .image-and-text__text{padding-inline:0}.background-icon .material-symbols-outlined{margin-right:calc(var(--font-size) * -.08)}.icons-and-image{margin-bottom:0}}@media(max-width:930px){.article-header h1{font-size:calc(2rem + 3vw)}.article-header h1 br{display:none}html[data-page-type=articles] article .video-full-width,html[data-page-type=articles] article :not(.rounded-images,.two-images,.three-images)>.image-wrapper{border-radius:0;margin-left:calc(var(--padding-inline) * -1);width:calc(100% + var(--padding-inline) * 2)}.article-header:not(.white-text)::before{display:none}}.articles-grid{display:grid;gap:10px;margin-inline:auto;grid-template-columns:1fr 1fr 1fr 1fr}.articles-grid[data-count="1"]{grid-template-columns:1fr;max-width:380px}.articles-grid.is-next-project[data-count="1"]{max-width:700px}.articles-grid[data-count="2"]{grid-template-columns:1fr 1fr;max-width:760px}.articles-grid[data-count="3"]{grid-template-columns:1fr 1fr 1fr;max-width:1150px}.articles-grid a{display:contents}.articles-grid .article{display:flex;align-items:flex-end;position:relative;overflow:hidden}html[data-page-type=work][data-page-kind=section] .articles-grid .article{border-radius:10px}.articles-grid[data-count] .article{aspect-ratio:3/4}.articles-grid.is-next-project[data-count="1"] .article{aspect-ratio:4/3}.articles-grid:not([data-count]) .article{height:660px}.articles-grid .image-wrapper{display:block;overflow:hidden;position:absolute;inset:0}.articles-grid .article::before{transition-property:opacity;transition-duration:var(--image-loading-animation-duration);content:"";position:absolute;inset:0;background:linear-gradient(0deg,hsl(37.06deg 72.41% 5.34%/50%) 0%,hsl(37.06deg 65.26% 14.08%/0%) 58%);z-index:1}.articles-grid__text{position:relative;padding-inline:6.4%;padding-bottom:40px;z-index:10}h3.articles-grid__title{font-family:Oswald,sans-serif;font-size:29px;text-transform:uppercase;line-height:1.2em;letter-spacing:-.02em;margin-top:4px}h3.articles-grid__title strong{color:inherit;font-weight:400}.articles-grid__subtitle{display:inline;width:fit-content;font-family:var(--font-styled);font-weight:var(--font-weight-medium);font-style:italic;padding-inline:4px 6px;border-radius:3px;background-color:var(--color-accent)}@media(max-width:1379px){.articles-grid:not([data-count]) .article{height:500px}}@media(min-width:1040px){html[data-page-type=work][data-page-kind=section] .articles-grid{gap:40px}}@media(max-width:1039px){.articles-grid:not([data-count]){grid-template-columns:1fr 1fr}}@media(max-width:799px){.articles-grid[data-count]{grid-template-columns:1fr}}@media(min-width:600px){.articles-grid:not([data-count])>a:is(:nth-child(6n),:nth-child(6n - 5),:nth-child(3n+1):last-child) .article{grid-column:span 2}}@media(max-width:599px){.articles-grid:not([data-count]){grid-template-columns:1fr}.articles-grid:not([data-count]) .article{height:440px}}.partners-grid{--height:65px;display:flex;justify-content:center;align-content:center;align-items:center;gap:var(--padding-block);width:fit-content;margin-inline:auto;border-block:1px solid rgba(0,0,0,.3);padding-block:var(--padding-block-third)}.partner svg{transition-property:fill,transform;transition-duration:.7s;transition-timing-function:var(--bezier);fill:var(--text-color);height:var(--height)}html:not(.is-mobile) .partner:hover svg{fill:var(--color-accent);transform:scale(1.1)}html:not(.is-mobile) .partner.small:hover svg{transform:scale(1.05)}#partner-cuisines-action svg{height:calc(var(--height) * 5/6);margin-left:calc(var(--height) * -.15)}.partner.small svg{height:calc(var(--height)/4)}.partners-group{display:contents}@media(max-width:1099px){.partners-grid{--height:50px;width:100%;justify-content:space-around;gap:0}}@media(max-width:799px){.partners-grid{flex-direction:column;gap:var(--padding-block-half)}.partner{display:grid;place-content:center}.partners-group{display:flex;align-items:center;justify-content:space-evenly;width:calc(100% + var(--padding-inline-double))}#partners .h5{text-align:left}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}@keyframes scale-up{from{transform:scale(0)}to{transform:none}}@keyframes nav-item-appear{0%{transform:translateX(100px);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes image-showcase-appear{100%{transform:none;border-radius:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes image-showcase-disappear{0%{transform:none;border-radius:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}.image-and-text__image:has(a) .image-wrapper,.parent-hovered-zoom{transition-property:transform;transition-duration:1.5s;transition-timing-function:var(--bezier)}.parent-hovered-darken::before{transition-property:opacity;transition-duration:.3s;transition-timing-function:linear;content:"";position:absolute;inset:0;background-color:rgba(0,0,0,.3);z-index:-1;opacity:0}.parent-hovered-darken{transition-property:opacity}.image-and-text__image:has(a) .image-wrapper{display:block;height:100%}html:not(.is-mobile) .image-and-text__image:has(a):hover .image-wrapper,html:not(.is-mobile) .hover-parent:hover .parent-hovered-zoom{transform:scale(1.05)}html:not(.is-mobile) .hover-parent:hover .parent-hovered-darken::before{opacity:1}[data-skew-content-on-reveal] *{display:inline-block}

      .lead-header-cta,.lead-hero-cta{cursor:pointer}.lead-header-cta{white-space:nowrap}
      .lead-hero-cta{margin-top:1.75rem;display:inline-flex;align-items:center;gap:.45rem}
      .lead-contact-note{margin:1rem 0 0;max-width:35rem;font-size:.9rem;line-height:1.45}
      .lead-phone-button{margin-left:.7rem}.lead-modal[hidden]{display:none!important}
      .lead-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:1rem}
      .lead-modal__backdrop{position:absolute;inset:0;background:rgba(25,22,18,.58);backdrop-filter:blur(2px)}
      .lead-modal__dialog{position:relative;z-index:1;width:min(100%,34rem);max-height:calc(100dvh - 2rem);overflow:auto;background:var(--color-light,#f8f6f2);color:var(--color-dark,#252322);padding:clamp(1.3rem,3vw,2.25rem);box-shadow:0 1.5rem 4rem rgba(0,0,0,.22)}
      .lead-modal__close{position:absolute;right:.75rem;top:.75rem;width:2.5rem;height:2.5rem;border:0;background:transparent;color:inherit;font-size:1.8rem;cursor:pointer;line-height:1}
      .lead-modal__eyebrow{margin:0 3rem .6rem 0;color:var(--color-accent,#c69d59);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
      .lead-modal h2{margin:0;font-size:clamp(1.65rem,4vw,2.45rem);line-height:1.05;font-weight:400}.lead-modal__intro{margin:.85rem 0 1.4rem;line-height:1.45}
      .lead-form{display:grid;gap:1rem}.lead-form label{display:grid;gap:.38rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.lead-form input,.lead-form select,.lead-form textarea{box-sizing:border-box;width:100%;border:1px solid rgba(37,35,34,.34);border-radius:0;background:transparent;color:inherit;padding:.78rem .85rem;font:inherit;font-size:1rem;letter-spacing:normal;text-transform:none}.lead-form textarea{min-height:5.4rem;resize:vertical}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--color-accent,#c69d59);outline-offset:2px}.lead-form__error{min-height:1.25rem;margin:0;color:#9a2f22;font-size:.88rem;line-height:1.4}.lead-form__actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.15rem}.lead-form__submit{border:0}.lead-form__call{color:inherit;text-decoration:underline;text-underline-offset:.22em}.lead-form__note{margin:.1rem 0 0;font-size:.78rem;line-height:1.4;color:rgba(37,35,34,.75)}
      @media (min-width:1000px){header nav{padding-right:11.5rem}.lead-header-cta{position:absolute;right:1.35rem;top:50%;transform:translateY(-50%);z-index:2}.lead-hero-cta{margin-top:2rem}}
      @media (max-width:999px){.lead-header-cta{display:none}.lead-contact-note{font-size:.82rem}.lead-phone-button{margin:.7rem 0 0}.lead-modal{align-items:end;padding:0}.lead-modal__dialog{width:100%;max-height:90dvh;padding:1.5rem 1.25rem 1.35rem}.lead-modal__dialog{border-radius:0}.lead-form__actions{align-items:stretch}.lead-form__submit{width:100%;justify-content:center}.lead-form__call{width:100%;text-align:center}}


      @media (max-width:749px){
        /* Keep the reference composition, but make every text block flow naturally on a phone. */
        #hero-text-wrapper{
          box-sizing:border-box!important;
          width:100%!important;
          padding-inline:max(1.5rem,env(safe-area-inset-left,0px))!important;
        }
        #hero-text-wrapper h1{
          display:block!important;
          box-sizing:border-box!important;
          width:min(100%,20rem)!important;
          height:auto!important;
          margin:0!important;
          font-size:clamp(2.1rem,10.2vw,2.55rem)!important;
          line-height:1.06!important;
          letter-spacing:.005em!important;
        }
        #hero-text-wrapper #hero-headline{
          display:block!important;
          width:100%!important;
          height:auto!important;
          margin:0 0 .7rem!important;
        }
        #hero-text-wrapper #hero-headline>span{
          display:block!important;
          width:100%!important;
          height:auto!important;
          min-height:0!important;
          margin:0!important;
          font-size:inherit!important;
          line-height:1.06!important;
          letter-spacing:inherit!important;
          white-space:normal!important;
        }
        #hero-text-wrapper h1>span{
          display:block!important;
          box-sizing:border-box!important;
          width:max-content!important;
          max-width:100%!important;
          height:auto!important;
          min-height:0!important;
          margin:0!important;
          padding:.26rem .7rem!important;
          font-size:clamp(.7rem,3.7vw,.82rem)!important;
          line-height:1.22!important;
          letter-spacing:.065em!important;
          white-space:normal!important;
        }
        #hero-text-wrapper h1>span+span{margin-top:.08rem!important}
        #services .title{
          max-width:100%!important;
          height:auto!important;
          margin:0 0 .8rem!important;
          font-size:.7rem!important;
          line-height:1.35!important;
          letter-spacing:.14em!important;
          white-space:normal!important;
        }
        #services .image-and-text__text,
        #services h2,
        #services .service-summary{
          box-sizing:border-box!important;
          max-width:100%!important;
        }
        #services h2{margin:0 0 .8rem!important}
        #services .service-summary{margin:0 0 1.25rem!important}
        #services a.button,
        #mobile-footer-btn button{
          box-sizing:border-box!important;
          max-width:100%!important;
          overflow:hidden!important;
        }
      }


        #seo-service-links{margin:0 var(--padding-inline) var(--padding-block-double);padding-top:1.4rem;border-top:1px solid rgba(34,34,34,.18)}
        #seo-service-links>p{margin:0 0 .95rem;color:var(--color-accent);font-size:clamp(.68rem,.8vw,.78rem);font-weight:var(--font-weight-medium);letter-spacing:.16em;line-height:1.25}
        #seo-service-links>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem 1.25rem}
        #seo-service-links a{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.25rem 0;border-bottom:1px solid transparent;font-size:clamp(.86rem,1vw,1rem);line-height:1.3;transition:color .2s ease,border-color .2s ease}
        #seo-service-links a:hover,#seo-service-links a:focus-visible{color:var(--color-accent-darker);border-color:currentColor}
        #seo-service-links span{font-size:1rem;line-height:1}
        @media(max-width:900px){#seo-service-links>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
        @media(max-width:560px){#seo-service-links{margin-bottom:var(--padding-block)}#seo-service-links>div{grid-template-columns:1fr}}


        /* Спокойный заголовок: без растягивания и смещения за пределы секции. */
        #slogan{
          max-width:18ch!important;
          font-family:var(--font-regular),sans-serif!important;
          font-size:clamp(2.15rem,4.6vw,4.15rem)!important;
          font-style:normal!important;
          font-weight:400!important;
          line-height:1.03!important;
          letter-spacing:-.045em!important;
          text-wrap:balance!important;
          transform:none!important;
          animation:none!important;
          transition:none!important;
          will-change:auto!important;
        }
        #slogan span{display:block!important;white-space:nowrap!important;transform:none!important;animation:none!important;transition:none!important;will-change:auto!important}
        #slogan [data-skew-content-on-reveal],#slogan [data-skew-content-on-reveal] *{transform:none!important;animation:none!important;transition:none!important;will-change:auto!important}

        /* Все CTA остаются внутри своей площади: без прыжков и выходящих за край слоёв. */
        a.button,button.button,#appointments-btn,#call-button,
        .lead-header-cta,.lead-hero-cta,.lead-phone-button,
        .lead-form__submit,.lead-form__call{
          overflow:hidden!important;
          isolation:isolate!important;
          transform:none!important;
          will-change:auto!important;
          transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease!important;
        }
        a.button:hover,button.button:hover,#appointments-btn:hover,#call-button:hover,
        .lead-header-cta:hover,.lead-hero-cta:hover,.lead-phone-button:hover,
        .lead-form__submit:hover,.lead-form__call:hover{
          transform:none!important;
          box-shadow:inset 0 0 0 1px currentColor!important;
        }
        a.button::before,a.button::after,button.button::before,button.button::after,
        #appointments-btn::before,#appointments-btn::after,#call-button::before,#call-button::after,
        .lead-header-cta::before,.lead-header-cta::after,.lead-hero-cta::before,.lead-hero-cta::after,
        .lead-phone-button::before,.lead-phone-button::after,.lead-form__submit::before,.lead-form__submit::after{
          animation:none!important;
          transition:none!important;
          transform:none!important;
        }
        a.button .material-symbols-outlined,button.button .material-symbols-outlined,
        #appointments-btn .material-symbols-outlined,#call-button .material-symbols-outlined,
        .lead-header-cta .material-symbols-outlined,.lead-hero-cta .material-symbols-outlined,
        .lead-phone-button .material-symbols-outlined,.lead-form__submit .material-symbols-outlined{
          transform:translateX(0)!important;
          transition:transform .18s ease!important;
          will-change:auto!important;
        }
        a.button:hover .material-symbols-outlined,button.button:hover .material-symbols-outlined,
        #appointments-btn:hover .material-symbols-outlined,#call-button:hover .material-symbols-outlined,
        .lead-header-cta:hover .material-symbols-outlined,.lead-hero-cta:hover .material-symbols-outlined,
        .lead-phone-button:hover .material-symbols-outlined,.lead-form__submit:hover .material-symbols-outlined{
          transform:translateX(.12rem)!important;
        }
        /* Верхняя CTA-кнопка: та же спокойная реакция, что и у остальных кнопок.
           Вертикальное выравнивание вынесено в translate, поэтому hover не может сдвинуть её вниз. */
        .lead-header-cta{
          display:inline-flex!important;
          align-items:center!important;
          justify-content:center!important;
          gap:.45rem!important;
          background-image:none!important;
          translate:0 -50%!important;
          transform:none!important;
          transform-origin:center!important;
          transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease!important;
        }
        .lead-header-cta:hover,.lead-header-cta:focus-visible{
          translate:0 -50%!important;
          transform:none!important;
          box-shadow:inset 0 0 0 1px currentColor!important;
        }
        @media (min-width:1000px){
          /* Ровняем CTA по центральной линии шапки и правому краю главного изображения. */
          header .lead-header-cta{
            top:50%!important;
            right:calc(var(--padding-inline) + .5rem)!important;
            translate:0 -50%!important;
            transform:none!important;
          }
        }
        @media (prefers-reduced-motion:reduce){
          a.button,button.button,#appointments-btn,#call-button,.lead-header-cta,.lead-hero-cta,.lead-phone-button,.lead-form__submit,.lead-form__call,
          a.button .material-symbols-outlined,button.button .material-symbols-outlined{transition:none!important}
        }
        @media (max-width:699px){
          #slogan{font-size:clamp(1.8rem,9vw,2.45rem)!important;max-width:100%!important}
          #slogan span{white-space:normal!important}
        }


        .lead-header-cta,.lead-hero-cta{font-size:.78rem!important;line-height:1.1!important;letter-spacing:.025em!important;white-space:nowrap!important}
        .lead-header-cta{padding:.8rem 1rem!important;min-width:0!important}
        .lead-hero-cta{position:relative!important;display:inline-flex!important;align-items:center!important;gap:.45rem!important;margin:1.25rem 0 0 var(--padding-inline)!important;padding:.86rem 1.05rem!important;z-index:4!important}
        #services .title,#partners .h5,#services-grid>.h5,#realisations>.h5,#visualisation-3d>.h5,#contact>.h5{font-size:clamp(.68rem,.8vw,.78rem)!important;letter-spacing:.16em!important;line-height:1.25!important;color:var(--color-accent)!important}
        #services h2{max-width:21ch!important;font-size:clamp(1.65rem,3vw,2.75rem)!important;line-height:1.08!important;letter-spacing:-.025em!important;text-wrap:balance}
        #services .service-summary{max-width:43rem!important;margin:.9rem 0 1.5rem!important;font-size:clamp(.94rem,1.15vw,1.08rem)!important;line-height:1.55!important;opacity:.78}
        #a-propos .image-and-text__text p,#visualisation-3d .title-and-text__text{max-width:39rem!important;line-height:1.55!important}
        #services-grid .section-title,#realisations .section-title,#visualisation-3d h3,section.padding-inline.padding-block-double h3{max-width:20ch!important;line-height:1.06!important;text-wrap:balance}
        #services-grid .card__text{font-size:clamp(1.1rem,1.7vw,1.55rem)!important;line-height:1.08!important}
        #contact h4{max-width:18ch!important;line-height:.98!important;text-wrap:balance}
        #contact .text-and-button h2{max-width:25ch!important;line-height:1.14!important;text-wrap:balance}
        #contact .lead-contact-note{max-width:31rem!important;line-height:1.5!important}
        @media (min-width:1000px){
          header nav{padding-right:0!important;transform:translateX(-14rem)}
          .lead-header-cta{right:1.35rem!important;min-height:auto!important}
        }
        @media (max-width:999px){
          .lead-hero-cta{margin:1rem var(--padding-inline) 0!important}
          #services h2{max-width:25ch!important}
        }


      /* Единые безопасные границы и удобные touch-цели. */
      html{scroll-padding-bottom:calc(5.75rem + env(safe-area-inset-bottom,0px))}
      body{overflow-x:clip}
      a,button,input,textarea,select{touch-action:manipulation}
      button,a.button,.lead-header-cta,.lead-phone-button,.lead-form__submit,.lead-form__call{min-height:2.75rem}

      /* Планшет: мобильное меню уже включено, но заявка остаётся на виду. */
      @media (min-width:750px) and (max-width:1099px){
        header nav{padding-right:0!important;transform:none!important}
        #nav-button{min-width:2.75rem!important;min-height:2.75rem!important;justify-content:center!important}
        header .lead-header-cta{
          display:inline-flex!important;
          position:absolute!important;
          top:50%!important;
          right:calc(var(--padding-inline) + 5.75rem)!important;
          translate:0 -50%!important;
          transform:none!important;
          padding:.72rem .82rem!important;
          font-size:.72rem!important;
          line-height:1!important;
          z-index:101!important;
        }
        #services .service-summary{max-width:38rem!important}
        #seo-service-links>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      }

      /* Телефон: чистая шапка, одна колонка и форма без скрытых полей. */
      @media (max-width:749px){
        header{height:4.5rem!important;min-height:4.5rem!important;padding-inline:max(1rem,env(safe-area-inset-left,0px))!important;padding-block:0!important;align-items:center!important}
        #logo{--font-size:1.05rem!important}
        #nav-button{min-width:2.75rem!important;min-height:2.75rem!important;justify-content:center!important}
        header .lead-header-cta{display:none!important}
        html.nav-opened #mobile-footer-btn{display:none!important}
        #mobile-footer-btn button#call-button{height:max(4.5rem,calc(4rem + env(safe-area-inset-bottom,0px)))!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
        #hero-text-wrapper{padding-inline:max(1rem,env(safe-area-inset-left,0px))!important}
        #services{width:100%!important;padding-inline:max(1rem,env(safe-area-inset-left,0px))!important}
        #services .image-and-text__text{max-width:100%!important;padding-inline:0!important}
        #services .title{max-width:18ch!important;font-size:clamp(2rem,9vw,3rem)!important;line-height:1.06!important;text-wrap:balance!important;white-space:normal!important}
        #services h2{width:100%!important;max-width:100%!important;padding-right:0!important;font-size:clamp(1.2rem,4.6vw,1.55rem)!important;line-height:1.42!important}
        #services .service-summary{max-width:100%!important;margin-bottom:1.25rem!important;font-size:1rem!important;line-height:1.5!important}
        #seo-service-links{margin-inline:max(1rem,env(safe-area-inset-left,0px))!important;padding-top:1.1rem!important}
        #seo-service-links>div{grid-template-columns:1fr!important;gap:.55rem!important}
        #seo-service-links a{min-height:2.75rem!important;padding-block:.55rem!important;font-size:1rem!important}
        #slogan{font-size:clamp(2rem,9.5vw,2.7rem)!important;line-height:1.04!important}
        .lead-modal{padding:0!important;align-items:end!important}
        .lead-modal__dialog{max-height:calc(100dvh - env(safe-area-inset-top,0px))!important;padding:1.4rem 1rem calc(1.2rem + env(safe-area-inset-bottom,0px))!important}
        .lead-form label{font-size:.82rem!important}
        .lead-form input,.lead-form select,.lead-form textarea{font-size:16px!important;min-height:3rem!important}
        .lead-form textarea{min-height:5.5rem!important}
        .lead-form__actions{gap:.7rem!important}
        .lead-form__submit,.lead-form__call{min-height:3rem!important}
      }

      @media (max-width:379px){
        header{padding-inline:.85rem!important}
        #hero h1{font-size:clamp(1.95rem,9.4vw,2.3rem)!important}
        #services{padding-inline:.85rem!important}
        #services .title{font-size:1.9rem!important}
      }

      @media (prefers-reduced-motion:reduce){
        *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
      }


        #logo{display:block!important;width:clamp(9rem,11vw,11.5rem)!important;height:auto!important;line-height:0!important;z-index:100!important}
        #logo .brand-header-logo{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:left center!important;filter:none!important;transition:transform .24s ease,opacity .24s ease!important;will-change:transform}
        html:not(.is-mobile) #logo:hover .brand-header-logo{transform:translateY(-1px);opacity:.92}
        footer #home-locale-url{display:block!important;width:clamp(10rem,12vw,13rem)!important;height:auto!important;line-height:0!important}
        footer #home-locale-url .brand-footer-logo{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:grayscale(1) brightness(0) invert(1)!important;opacity:.92!important}
        .footer-logo-symb{align-items:center!important}
        .footer-logo-symb svg{display:block!important;width:auto!important;height:100%!important;fill:none!important;overflow:visible!important;background:transparent url("/assets/bogatyrev-shield.34096c0c7c15.webp") center/contain no-repeat!important}
        .footer-logo-symb svg image{display:none!important}
        @media (max-width:1024px){#logo{width:clamp(8.75rem,21vw,10rem)!important}}
        @media (max-width:749px){#logo{width:clamp(8.3rem,38vw,9.75rem)!important}#logo .brand-header-logo{max-height:3rem!important}footer #home-locale-url{width:10.25rem!important}}


        :root{
          --color-accent:#bd9248;
          --color-accent-darker:#8f6b30;
          --color-accent-2:#3b2d18;
          --text-color:#181a1d;
          --dark-background:#181a1d;
          --bg-color-main:#f7f5f1;
          --image-background-color:#e8e3d8;
        }
        a.button,.lead-header-cta,.lead-hero-cta,.lead-phone-button,.lead-form__submit,.lead-form__call,#mobile-footer-btn button#call-button{
          background-color:var(--color-accent)!important;
          border-color:var(--color-accent)!important;
          color:#fff!important;
        }
        html:not(.is-mobile) a.button:hover,html:not(.is-mobile) .lead-header-cta:hover,html:not(.is-mobile) .lead-phone-button:hover{
          background-color:var(--color-accent-darker)!important;
          border-color:var(--color-accent-darker)!important;
        }
        #services-grid > .h5,#realisations > .h5{
          display:block!important;
          width:100%!important;
          margin:0 0 .8rem!important;
          padding:0!important;
          text-align:left!important;
        }
        #services-grid,#realisations{scroll-margin-top:clamp(6.75rem,9vw,8.5rem)!important}
        #services-grid .section-title,#realisations .section-title{
          max-width:17ch!important;
          margin:0 0 clamp(1.75rem,3vw,3rem)!important;
          padding:0!important;
          text-align:left!important;
          line-height:1.03!important;
        }
        #services-grid .card__text{
          background-color:rgba(24,26,29,.9)!important;
          letter-spacing:.035em!important;
        }
        @media (min-width:1000px){
          #services-grid{padding-top:clamp(5rem,7vw,8.5rem)!important}
          #services-grid .section-title{max-width:13ch!important;margin-bottom:clamp(1.75rem,3vw,2.75rem)!important}
          #services-grid .services-grid-aside{
            display:block!important;
            position:relative!important;
            float:right!important;
            width:clamp(18rem,26vw,25.5rem)!important;
            min-height:clamp(11rem,14vw,13.25rem)!important;
            margin:0 0 clamp(1.75rem,3vw,2.75rem) clamp(1.75rem,3vw,3.5rem)!important;
            overflow:hidden!important;
            background-color:var(--dark-background)!important;
          }
          #services-grid .services-grid-aside>img{
            display:block!important;
            position:absolute!important;
            inset:0!important;
            width:100%!important;
            height:100%!important;
            object-fit:cover!important;
            object-position:center 58%!important;
          }
          #services-grid .services-grid-aside::after{
            content:"";
            position:absolute;
            inset:0;
            background:linear-gradient(90deg,rgba(18,20,22,.88) 0%,rgba(18,20,22,.48) 57%,rgba(18,20,22,.08) 100%);
          }
          #services-grid .services-grid-aside__content{
            position:relative!important;
            z-index:1!important;
            display:flex!important;
            flex-direction:column!important;
            justify-content:flex-end!important;
            min-height:inherit!important;
            padding:1.25rem!important;
            color:#fff!important;
          }
          #services-grid .services-grid-aside__content span{
            font-family:var(--font-bold)!important;
            font-size:clamp(1.1rem,1.45vw,1.45rem)!important;
            line-height:1.05!important;
            text-transform:uppercase!important;
          }
          #services-grid .services-grid-aside__content p{
            max-width:25ch!important;
            margin:.5rem 0 .8rem!important;
            font-size:clamp(.76rem,.85vw,.9rem)!important;
            line-height:1.35!important;
          }
          #services-grid .services-grid-aside__content a{
            display:inline-flex!important;
            align-items:center!important;
            gap:.35rem!important;
            width:fit-content!important;
            color:#fff!important;
            font-family:var(--font-bold)!important;
            font-size:.78rem!important;
            letter-spacing:.05em!important;
            text-transform:uppercase!important;
          }
          #services-grid .services-grid-aside__content i{font-style:normal!important;font-size:1.1rem!important}
          #services-grid ul{clear:both!important}
        }
        @media (min-width:750px){
          #hero #hero-text-wrapper{
            top:clamp(11.5rem,16.5vw,16.25rem)!important;
            align-items:flex-start!important;
          }
          #hero h1{max-width:none!important;letter-spacing:.045em!important}
          #hero #hero-headline{
            display:flex!important;
            flex-direction:column!important;
            align-items:flex-start!important;
            width:auto!important;
          }
          #hero #hero-headline>span{
            display:block!important;
            width:fit-content!important;
            max-width:none!important;
            padding:.12em .27em .1em!important;
            background-color:var(--bg-color-main)!important;
            color:var(--color-accent)!important;
            font-size:clamp(2.35rem,3.8vw,4.2rem)!important;
            line-height:.94!important;
            letter-spacing:.045em!important;
            white-space:nowrap!important;
            text-shadow:none!important;
          }
          #hero #hero-headline>span+span{margin-top:.04em!important}
          #hero h1>.hero-meta{
            display:block!important;
            width:clamp(12.25rem,14.5vw,14.75rem)!important;
            margin-left:0!important;
            margin-top:.5rem!important;
            padding:.62rem .95rem!important;
            color:#fff!important;
            background-color:var(--color-accent)!important;
            font-size:clamp(.68rem,.85vw,.82rem)!important;
            line-height:1.35!important;
            letter-spacing:.075em!important;
            text-shadow:none!important;
            white-space:nowrap!important;
            box-sizing:border-box!important;
          }
        }
        @media (max-width:999px){
          #services-grid .services-grid-aside{display:none!important}
          #hero h1>.hero-meta{
            display:block!important;
            width:11.5rem!important;
            margin:.45rem 0 0!important;
            padding:.55rem .72rem!important;
            background-color:var(--color-accent)!important;
            color:#fff!important;
            font-size:.67rem!important;
            line-height:1.35!important;
            letter-spacing:.065em!important;
            white-space:nowrap!important;
          }
          #services-grid > .h5,#realisations > .h5,#services-grid .section-title,#realisations .section-title{text-align:left!important;margin-left:0!important}
          #services-grid .section-title,#realisations .section-title{max-width:14ch!important}
        }


      /* A compact, deliberate hero title. The gold information plaque stays unchanged. */
      #hero #hero-headline{max-width:min(42rem,58vw)!important}

      /* Service links form one quiet, aligned navigation strip before the project gallery. */
      #services-grid{padding-bottom:clamp(2.25rem,3.5vw,4rem)!important}
      #seo-service-links{
        margin-bottom:clamp(2rem,2.75vw,3.25rem)!important;
        display:grid!important;
        grid-template-columns:minmax(12.5rem,1fr) minmax(0,4fr)!important;
        align-items:center!important;
        column-gap:clamp(1.25rem,3vw,3.5rem)!important;
        padding:1rem clamp(1rem,1.7vw,1.5rem)!important;
        background:linear-gradient(90deg,rgba(189,146,72,.12),rgba(189,146,72,.045))!important;
        border-top-color:rgba(24,26,29,.16)!important;
        border-bottom:1px solid rgba(24,26,29,.13)!important;
      }
      #seo-service-links>p{
        display:flex!important;
        align-items:center!important;
        min-height:3rem!important;
        margin:0!important;
        line-height:1.2!important;
      }
      #seo-service-links>div{align-items:stretch!important;gap:0!important}
      #seo-service-links a{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        min-width:0!important;
        min-height:3.35rem!important;
        padding:.55rem clamp(.55rem,1vw,1rem)!important;
        font-size:clamp(.72rem,.76vw,.86rem)!important;
        line-height:1.25!important;
        border-bottom:0!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:normal!important;
        hyphens:none!important;
      }
      #seo-service-links .seo-link-label{
        min-width:0!important;
        flex:1 1 auto!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:normal!important;
        hyphens:none!important;
        text-wrap:balance!important;
      }
      #seo-service-links .seo-link-arrow{
        flex:0 0 auto!important;
        margin-left:.4rem!important;
        line-height:1!important;
      }
      #seo-service-links a:not(:first-child){
        border-left:1px solid rgba(24,26,29,.14)!important;
      }

      /* Headings use the same left baseline as the links, while the gallery keeps its full-bleed reference layout. */
      #realisations{padding-top:0!important}
      #realisations>.h5,
      #realisations>.section-title{
        width:auto!important;
        margin-left:var(--padding-inline)!important;
        margin-right:var(--padding-inline)!important;
        padding-left:0!important;
        padding-right:0!important;
        text-align:left!important;
        transform:none!important;
      }
      #realisations>.h5{
        margin-bottom:.7rem!important;
        padding-bottom:0!important;
        line-height:1.2!important;
      }
      #realisations>.section-title{
        max-width:20ch!important;
        margin-bottom:clamp(1.75rem,3vw,3rem)!important;
        font-size:clamp(1.9rem,2.5vw,3.05rem)!important;
        line-height:1.04!important;
        letter-spacing:.02em!important;
      }

      /* Keep the final contact action set compact: one project CTA and one direct call. */
      #contact{padding-bottom:clamp(2rem,3vw,3.25rem)!important}
      #contact .text-and-button{padding-bottom:0!important}
      #contact .contact-buttons{gap:.8rem!important}
      #contact .bogatyrev-call{display:none!important}

      /* Five core directions make one complete row on laptop and desktop screens. */
      @media(min-width:1200px) and (max-width:1499px){
        #services-grid ul{grid-template-columns:repeat(5,minmax(0,1fr))!important}
        #services-grid li{aspect-ratio:3/4!important}
      }

      @media(max-width:999px){
        #seo-service-links{display:block!important;padding:1rem!important}
        #seo-service-links>p{min-height:auto!important;margin-bottom:.7rem!important}
        #seo-service-links>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}
        #seo-service-links a{white-space:normal!important}
        #seo-service-links a:nth-child(odd){border-left:0!important}
        #seo-service-links a:nth-child(n+3){border-top:1px solid rgba(24,26,29,.14)!important}
      }

      /* Tablet keeps the same hierarchy, but gives every service link enough
         room to stay whole-word readable. */
      @media(min-width:1000px) and (max-width:1199px){
        #seo-service-links{grid-template-columns:1fr!important;row-gap:.65rem!important}
        #seo-service-links>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
        #seo-service-links a:nth-child(4),
        #seo-service-links a:nth-child(5){border-top:1px solid rgba(24,26,29,.14)!important}
        #seo-service-links a:nth-child(4){border-left:0!important}
      }

      /* The sixth service becomes a full, useful service card on wide monitors instead of leaving four empty columns. */
      @media(min-width:1500px){
        #services-grid ul{align-items:stretch!important}
        #services-grid li[data-brand-service="welded"]{
          grid-column:1 / -1!important;
          aspect-ratio:auto!important;
          min-height:clamp(20rem,23vw,26rem)!important;
          transform:rotate(-1.2deg)!important;
          outline:8px solid var(--bg-color-main)!important;
        }
        #services-grid li[data-brand-service="welded"] .card{height:100%!important}
        #services-grid li[data-brand-service="welded"] .card__image{min-height:0!important}
        #services-grid li[data-brand-service="welded"] .image-wrapper,
        #services-grid li[data-brand-service="welded"] img{height:100%!important;width:100%!important}
        #services-grid li[data-brand-service="welded"] img{object-position:center 56%!important}
        #services-grid li[data-brand-service="welded"] .card__text{
          min-height:4.7rem!important;
          padding:1rem 1.5rem!important;
          font-size:clamp(1.05rem,1.3vw,1.4rem)!important;
          letter-spacing:.1em!important;
        }
      }

      @media(max-width:749px){
        #hero #hero-headline{max-width:100%!important}
        #realisations>.h5,
        #realisations>.section-title{margin-left:max(1rem,env(safe-area-inset-left,0px))!important;margin-right:1rem!important}
        #realisations>.section-title{font-size:clamp(1.7rem,8.2vw,2.35rem)!important}
        #services-grid{padding-bottom:2.5rem!important}
        #seo-service-links{margin-bottom:2.5rem!important}
      }

      @media(max-width:560px){
        #seo-service-links>div{grid-template-columns:1fr!important}
        #seo-service-links a{border-left:0!important}
        #seo-service-links a:not(:first-child){border-top:1px solid rgba(24,26,29,.14)!important}
      }

      /* Final responsive polish — preserves the reference composition while
         preventing text, cards or buttons from deforming at real breakpoints. */
      html{scroll-behavior:smooth!important}
      body{overflow-x:clip!important}
      :is(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent}
      :is(a,button,input,select,textarea):focus-visible{
        outline:2px solid var(--color-accent)!important;
        outline-offset:3px!important;
      }
      #services-grid li,
      #services-grid .card,
      #services-grid .card__image,
      #services-grid .card__text{min-width:0!important}
      #services-grid .card__text{
        word-break:normal!important;
        overflow-wrap:normal!important;
        hyphens:none!important;
        line-height:1.08!important;
        text-wrap:balance!important;
      }
      @media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
        #services-grid li .card,
        #realisations .images-sliding-rows a,
        #articles .article{
          transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,filter .32s ease!important;
          will-change:transform;
        }
        #services-grid li:hover .card,
        #articles .article:hover{
          transform:translateY(-.28rem)!important;
          box-shadow:0 .65rem 1.5rem rgba(24,26,29,.15)!important;
        }
        #services-grid li .image-wrapper img,
        #realisations .images-sliding-rows img,
        #articles .article img{
          transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .32s ease!important;
        }
        #services-grid li:hover .image-wrapper img,
        #articles .article:hover img{transform:scale(1.035)!important}
        #realisations .images-sliding-rows a:hover{transform:translateY(-.2rem)!important}
        header nav .nav-item{position:relative!important}
        header nav .nav-item::after{
          content:"";position:absolute;left:50%;right:50%;bottom:.25rem;height:1px;
          background:var(--color-accent);transition:left .22s ease,right .22s ease;
        }
        header nav .nav-item:hover::after{left:clamp(.7rem,1.2vw,1.35rem);right:clamp(.7rem,1.2vw,1.35rem)}
      }
      @media(prefers-reduced-motion:no-preference){
        .brand-reveal{transform:translateY(.85rem)!important;transition:opacity .42s ease-out,transform .52s cubic-bezier(.2,.7,.2,1)!important}
        .brand-reveal.is-revealed{transform:none!important}
      }
      @media(min-width:750px) and (max-width:1199px){
        #services-grid ul{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}
        #services-grid li{aspect-ratio:3 / 4!important}
        #services-grid li[data-brand-service="welded"]{grid-column:span 3!important;aspect-ratio:16 / 7!important}
      }
      @media(max-width:749px){
        #hero h1{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
        #hero #hero-headline>span{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-wrap:balance!important}
        #services-grid ul{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem!important}
        #services-grid li{aspect-ratio:3 / 4!important}
        #services-grid .card__text{padding:.7rem .55rem!important;font-size:clamp(.78rem,3.3vw,1rem)!important;letter-spacing:.025em!important}
        #seo-service-links a{min-height:3.1rem!important;font-size:.82rem!important}
        #contact .text-and-button{display:grid!important;grid-template-columns:1fr!important;gap:1rem!important}
        #contact .contact-buttons{align-items:flex-start!important}
      }
      @media(max-width:389px){
        #services-grid ul{grid-template-columns:1fr!important}
        #services-grid li{aspect-ratio:16 / 13!important}
      }


      /* A solid header prevents page content from visually crossing the navigation while scrolling. */
      header{
        height:6.1rem!important;
        min-height:6.1rem!important;
        padding-block:0!important;
        align-items:center!important;
        background:var(--bg-color-main)!important;
        border-bottom:1px solid rgba(24,26,29,.12)!important;
        box-shadow:0 .25rem .9rem rgba(24,26,29,.035)!important;
      }
      #header-background{background:transparent!important}
      @media(min-width:1100px){
        header{padding-inline:clamp(2rem,4vw,5rem)!important}
        header nav{
          position:absolute!important;
          left:50%!important;
          padding-right:0!important;
          transform:translateX(-50%)!important;
        }
        header nav>ul{gap:0!important}
        header nav .nav-item{padding-inline:clamp(.7rem,1.2vw,1.35rem)!important}
        header .lead-header-cta{right:clamp(2rem,4vw,5rem)!important}
      }
      @media(max-width:1099px){
        header{height:4.75rem!important;min-height:4.75rem!important}
      }

      /* Local icon fallbacks: never show internal English icon names as page text. */
      .material-symbols-outlined{
        display:inline-grid!important;
        place-items:center!important;
        width:1em!important;
        min-width:1em!important;
        height:1em!important;
        overflow:hidden!important;
        font-size:0!important;
        line-height:1!important;
        vertical-align:middle!important;
      }
      .material-symbols-outlined::after{
        content:'›';
        display:block!important;
        font-family:Arial,sans-serif!important;
        font-size:1.35rem!important;
        font-weight:400!important;
        line-height:.75!important;
      }
      #nav-services .material-symbols-outlined::after{content:'⌄';font-size:1.12rem!important;line-height:1!important}
      #nav-button__icon-open::after{content:'☰';font-size:1.15rem!important;line-height:1!important}
      #nav-button__icon-close::after{content:'×';font-size:1.7rem!important;line-height:.7!important}
      section.icons-and-image .material-symbols-outlined::after,.service-icons .material-symbols-outlined::after{content:'◇';font-size:1.1rem!important}

      /* The reference partner logos are replaced with relevant, Russian proof points. */
      #partners{padding-block:clamp(2.75rem,5vw,4.75rem)!important}
      #partners .h5{
        min-height:auto!important;
        margin-bottom:1.35rem!important;
        padding-bottom:0!important;
        text-align:center!important;
      }
      #partners a{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:4.5rem!important;
        padding:.75rem!important;
        border:1px solid rgba(24,26,29,.15)!important;
        background:rgba(255,255,255,.34)!important;
        color:var(--text-color)!important;
        text-align:center!important;
      }
      #partners a:hover{border-color:var(--color-accent)!important;color:var(--color-accent)!important}
      #partners .partner-proof__label{
        display:block!important;
        font-family:var(--font-medium),sans-serif!important;
        font-size:clamp(.76rem,.9vw,.94rem)!important;
        line-height:1.25!important;
        letter-spacing:.055em!important;
        text-transform:uppercase!important;
      }

      /* One restrained motion system: stable in every scroll position and respectful of reduced motion. */
      [data-skew-content-on-reveal],[data-speed]{transform:none!important;animation:none!important}
      @media(prefers-reduced-motion:no-preference){
        .brand-reveal{opacity:.01;transition:opacity .42s ease-out!important}
        .brand-reveal.is-revealed{opacity:1!important}
      }
      @media(prefers-reduced-motion:reduce){.brand-reveal{opacity:1!important;transition:none!important}}

      /* Buttons react with colour and depth only; no vertical drift or content escaping their bounds. */
      a.button,button.button,.lead-header-cta,.lead-phone-button,.lead-form__submit{
        overflow:hidden!important;
        transform:none!important;
        transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease!important;
      }
      html:not(.is-mobile) :is(a.button,button.button,.lead-header-cta,.lead-phone-button,.lead-form__submit):hover{
        transform:none!important;
        filter:brightness(.94)!important;
        box-shadow:0 .35rem .85rem rgba(24,26,29,.14)!important;
      }
      @media(max-width:749px){
        /* Keep a compact CTA in the header instead of covering page content with a fixed bottom bar. */
        #mobile-footer-btn{display:none!important}
        header .lead-header-cta{
          display:inline-flex!important;
          position:absolute!important;
          top:50%!important;
          right:4.7rem!important;
          translate:0 -50%!important;
          min-width:5.6rem!important;
          min-height:2.5rem!important;
          padding:.58rem .65rem!important;
          font-size:0!important;
          line-height:1!important;
        }
        header .lead-header-cta::after{
          content:'Заявка';
          font-size:.74rem!important;
          font-weight:600!important;
          letter-spacing:.015em!important;
        }
        #partners a{min-height:3.6rem!important}
        #partners .partner-proof__label{font-size:.76rem!important}
      }
      @media(max-width:379px){header .lead-header-cta{right:4.25rem!important;min-width:5.1rem!important}}


      @media(max-width:1099px){
        html.nav-opened{overflow:hidden!important}
        html.nav-opened nav>ul{
          background:var(--dark-background)!important;
          color:#fff!important;
          padding-top:clamp(6.5rem,14vw,8.5rem)!important;
          padding-bottom:clamp(2rem,6vw,4rem)!important;
        }
        html.nav-opened nav .nav-item{
          color:#fff!important;
          font-size:clamp(1.15rem,3.4vw,1.55rem)!important;
          line-height:1.1!important;
          padding:.45rem 1rem!important;
        }
        html.nav-opened nav .nav-item[aria-current=page]{color:var(--color-accent)!important}
        html.nav-opened #nav-button{z-index:102!important}
        html.nav-opened header .lead-header-cta{z-index:102!important}
        html.nav-opened #logo .brand-header-logo{filter:brightness(0) invert(1)!important;opacity:1!important}
      }
      @media(max-width:749px){
        html.nav-opened nav>ul{align-items:flex-start!important;padding-inline:1.25rem!important}
        html.nav-opened nav>ul>li{align-items:flex-start!important;width:100%!important}
      }

/* Final interactive layer; geometry and the approved palette stay in design.css. */
html { scroll-behavior:smooth!important; }
body { margin:0; }
img { opacity:1; }
header img,#hero img { animation:none!important; }
.button .material-symbols-outlined { width:.85rem!important; min-width:.85rem!important; height:1rem!important; flex:none; }
@media(min-width:750px){header .lead-header-cta { font-size:14px!important; min-height:44px!important; }}
:is(h1,h2,h3,h4,p,a,button) { word-break:normal; hyphens:none; }
#services .image-and-text__text>.title { width:100%!important; max-width:none!important; min-height:0!important; padding:0!important; font-size:12px!important; line-height:1.5!important; letter-spacing:.12em!important; margin-bottom:16px!important; text-transform:uppercase; }
#services .image-and-text__text>h2 { font-size:clamp(28px,3vw,42px)!important; line-height:1.16!important; letter-spacing:-.02em!important; margin:0 0 22px!important; }
#services .service-summary { font-size:16px!important; line-height:1.65!important; }
.icons-and-image { display:grid!important; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important; align-items:stretch!important; }
.icons-and-image .service-icons { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; width:100%!important; min-width:0!important; gap:32px!important; padding:clamp(32px,4vw,64px)!important; counter-reset:stage; }
.icons-and-image .service-icon { display:block!important; width:auto!important; min-width:0!important; padding:0!important; margin:0!important; counter-increment:stage; }
.icons-and-image .service-icon__text { min-width:0!important; width:100%!important; }
.icons-and-image .service-icon__image { display:block!important; width:auto!important; height:auto!important; margin:0 0 14px!important; }
.icons-and-image .service-icon__image span { display:none!important; }
.icons-and-image .service-icon__image::before { content:counter(stage,decimal-leading-zero); font-size:14px; letter-spacing:.08em; opacity:.7; }
.icons-and-image h3 { max-width:100%!important; font-size:16px!important; line-height:1.3!important; margin:0 0 10px!important; white-space:normal!important; overflow-wrap:normal!important; }
.icons-and-image p { width:100%!important; max-width:none!important; font-size:16px!important; line-height:1.55!important; margin:0!important; }
.icons-and-image__image { width:100%!important; min-width:0!important; min-height:0!important; position:relative!important; }
.icons-and-image__image .image-wrapper { height:100%!important; }
.icons-and-image__image img { width:100%!important; height:100%!important; object-fit:cover!important; }
@media(max-width:1099px){.icons-and-image { grid-template-columns:1fr!important; }.icons-and-image__image { height:360px!important; }}
@media(max-width:560px){
 #services { margin-block:48px!important; padding-inline:20px!important; }
 #partners { padding:24px 20px 40px!important; }
 .icons-and-image .service-icons { grid-template-columns:1fr!important; padding:36px 24px!important; }
 .icons-and-image__image { height:300px!important; }
 #a-propos { padding-block:48px!important; }
 #slogan { padding-inline:20px!important; margin-bottom:24px!important; }
 #realisations { padding-bottom:48px!important; }
 #articles { padding:48px 20px!important; }
 #contact { padding-top:48px!important; }
 #seo-service-links { width:calc(100% - 40px)!important; margin-inline:20px!important; }
}
/* The first screen must keep its copy inside the safe phone area. The source
   theme caps the heading at a fixed width, which left the location plaque with
   no visual breathing room on some narrow browsers. */
@media(max-width:560px) {
  #hero-text-wrapper {
    padding-inline:max(1.25rem, env(safe-area-inset-left, 0px))!important;
  }
  #hero-text-wrapper h1 {
    width:min(100%, 21rem)!important;
    max-inline-size:100%!important;
    font-size:clamp(1.95rem, 9.6vw, 2.35rem)!important;
    line-height:1.08!important;
  }
  #hero-text-wrapper #hero-headline,
  #hero-text-wrapper #hero-headline > span {
    max-inline-size:100%!important;
    overflow-wrap:normal!important;
  }
  #hero h1 > .hero-meta {
    box-sizing:border-box!important;
    width:max-content!important;
    max-width:calc(100vw - 2.5rem)!important;
    padding:.55rem .8rem!important;
    font-size:clamp(.68rem, 3.4vw, .78rem)!important;
    line-height:1.28!important;
    letter-spacing:.045em!important;
    white-space:normal!important;
  }
}

/* Let the two-line location plaque size itself to its copy on wider screens.
   The old fixed width clipped the right-hand inset while leaving the left one. */
@media(min-width:561px) {
  #hero h1 > .hero-meta {
    box-sizing:border-box!important;
    width:max-content!important;
    max-width:calc(100vw - 6rem)!important;
    padding-inline:1rem!important;
    white-space:normal!important;
  }
}

section[id],li[id^="service-"] { scroll-margin-top:120px!important; }
footer a[aria-current],footer .footer-col li a { color:inherit; text-decoration:none!important; }
footer .footer-col__title { margin-bottom:1.5rem; font-weight:500; }
footer .footer-col li a:hover,footer .footer-col li a:focus-visible { color:var(--color-accent)!important; }
footer #home-locale-url .brand-footer-logo {
  width:clamp(132px,12vw,176px)!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
  filter:grayscale(1) brightness(0) invert(1)!important;
  opacity:.88!important;
}

/* Shared alignment for service cards and their detail links. */
#services-grid>ul>li,#services-grid .card { transform:none!important; }
#services-grid .card { overflow:hidden!important; }
#services-grid .card img { transition:transform .65s cubic-bezier(.2,.7,.2,1)!important; }
@media(hover:hover) and (pointer:fine){#services-grid .card:hover img { transform:scale(1.025)!important; }}
html.is-mobile #services-grid .card img { transform:none!important; }
#services-grid .card__text { display:flex!important; align-items:center!important; justify-content:center!important; min-height:72px!important; margin:0!important; }
a[href^="/uslugi/"] { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
a[href^="/uslugi/"].is-activating { opacity:.72; cursor:progress; }
#seo-service-links { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:10px 22px!important; padding:22px 0!important; width:calc(100% - 2 * clamp(20px,4vw,80px))!important; margin:32px clamp(20px,4vw,80px) 0!important; background:none!important; }
#seo-service-links>p { grid-column:1/-1!important; margin:0 0 4px!important; padding:0!important; text-align:left!important; }
#seo-service-links>div { display:contents!important; }
#seo-service-links a { display:flex!important; align-items:center!important; justify-content:space-between!important; width:auto!important; min-width:0!important; min-height:58px!important; padding:10px 0!important; gap:12px!important; border:0!important; border-bottom:1px solid #d5d0c8!important; }
#seo-service-links .seo-link-label { display:block!important; width:auto!important; flex:1 1 auto!important; min-width:0!important; font-size:14px!important; line-height:1.45!important; letter-spacing:.045em!important; word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important; }
#seo-service-links .seo-link-arrow { position:static!important; flex:0 0 14px!important; transform:none!important; }
#seo-service-links>div>a:not(:first-child),#seo-service-links>div>a:nth-child(n) { border-top:0!important; border-left:0!important; }
@media(max-width:1099px) and (min-width:561px){
 #services-grid>ul { grid-template-columns:repeat(6,minmax(0,1fr))!important; }
 #services-grid>ul>li { grid-column:span 2; }
 #services-grid>ul>li:nth-child(n+4) { grid-column:span 3; }
 #seo-service-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 #seo-service-links a:last-child { grid-column:1/-1; }
}
@media(max-width:560px){#seo-service-links { grid-template-columns:1fr!important; gap:4px!important; }}

header #menu-principal>.services-nav { display:flex!important; flex-direction:row!important; align-items:center!important; position:relative!important; }
header #services-dropdown {
  position:absolute!important; top:100%!important; left:0!important; right:auto!important;
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  width:280px!important; height:auto!important; min-height:0!important; max-height:none!important;
  padding:.7rem!important; margin:0!important; gap:0!important; z-index:110!important;
  color:var(--text-color)!important; background:#f7f5f1!important;
  border:1px solid #dbd4c7; box-shadow:0 14px 30px #181a1d16;
  opacity:0!important; visibility:hidden!important; pointer-events:none!important;
  transform:translateY(8px)!important; transition:opacity .2s ease,transform .2s ease,visibility .2s!important;
}
html:not(.is-mobile) header .services-nav:hover>#services-dropdown,
html:not(.is-mobile) header .services-nav:focus-within>#services-dropdown { opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:none!important; }
header #services-dropdown li { display:block!important; width:100%!important; margin:0!important; padding:0!important; }
header #services-dropdown a { display:block; padding:.85rem .8rem; font-size:14px; line-height:1.3; white-space:normal; letter-spacing:.025em; text-transform:none; color:inherit; transition:background-color .2s,color .2s; }
header #services-dropdown a:hover,header #services-dropdown a:focus-visible { background:#bd924814; color:#87602a; }
.services-dropdown a::before,.services-dropdown a::after { content:none!important; }

/* No content waits for JavaScript or images. Motion is added only offscreen. */
.motion-item { opacity:1; transform:none; }
@media(prefers-reduced-motion:no-preference) {
  /* Text must remain readable even if an observer is delayed while the visitor scrolls. */
  .motion-item:not(.is-revealed) { opacity:1!important; transform:translateY(14px)!important; }
  .motion-item { transition:opacity .7s ease var(--motion-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--motion-delay,0ms)!important; }
  .motion-item.is-revealed { opacity:1!important; transform:none!important; }
  .images-sliding-rows { overflow:hidden; }
  .images-sliding-rows__row { width:max-content; animation:gallery-drift 14s linear infinite alternate!important; }
  .images-sliding-rows__row:nth-child(2) { animation-direction:alternate-reverse; }
  .images-sliding-rows:has(a:focus-visible) .images-sliding-rows__row { animation-play-state:paused; }
  @keyframes gallery-drift { from{transform:translateX(0)} to{transform:translateX(-240px)} }
  .lead-modal:not([hidden]) .lead-modal__dialog { animation:dialog-enter .23s ease-out; }
  @keyframes dialog-enter { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .images-sliding-rows:hover .images-sliding-rows__row { animation-play-state:paused; }
}
.images-sliding-rows a { display:block!important; flex:none; }
.images-sliding-rows a:focus-visible { outline:2px solid var(--color-accent); outline-offset:-3px; }
.lead-open { overflow:hidden!important; }
.lead-modal__dialog { overscroll-behavior:contain; }
.lead-modal [data-lead-close] { cursor:pointer; }
.field-error { display:block; margin-top:3px; color:#9d3022; font-size:13px; line-height:1.4; text-transform:none; letter-spacing:0; }
.field-error:empty { display:none; }
.lead-form [aria-invalid="true"] { border-color:#9d3022!important; outline-color:#9d3022!important; }
.lead-form [type=submit]:disabled { cursor:wait; opacity:.7; }
.lead-form__error:empty { min-height:0; display:none; }
.lead-form__error { font-size:14px; line-height:1.5; }
.lead-form__actions { width:100%; }
.lead-form__note { font-size:13px!important; }
.lead-modal__dialog { width:min(580px,calc(100vw - 32px))!important; padding:32px!important; max-height:calc(100dvh - 32px)!important; overflow-y:auto!important; }
.lead-form { display:grid!important; gap:16px!important; }
.lead-form label { display:block!important; margin:0!important; font-size:14px!important; font-weight:500; line-height:1.45!important; text-transform:none!important; letter-spacing:0!important; }
.lead-form label>span[aria-hidden] { display:inline!important; font-weight:400; }
.lead-form :is(input,select,textarea) { display:block!important; width:100%!important; margin-top:6px!important; padding:12px 14px!important; border:1px solid #b8b3aa; border-radius:0!important; font:400 16px/1.35 Arial,sans-serif!important; color:#222; background:#faf9f6; }
.lead-form textarea { min-height:78px!important; resize:vertical; }
.lead-form__actions { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:12px!important; margin:0!important; }
.lead-form .lead-form__submit { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; min-height:48px!important; padding:14px 18px!important; margin:0!important; border:0!important; background:#b58b3f!important; color:white!important; font:500 16px/1.3 Arial,sans-serif!important; gap:10px!important; }
.lead-form .lead-form__call { display:block!important; width:auto!important; min-height:44px!important; padding:10px 0!important; margin:0!important; background:transparent!important; color:#333!important; font:400 15px/1.4 Arial,sans-serif!important; text-align:center!important; text-decoration:underline!important; text-underline-offset:4px; }
.lead-form__note { margin:0!important; font-size:13px!important; line-height:1.5!important; }
.lead-modal__close { width:44px!important; height:44px!important; right:8px!important; top:8px!important; }
@media(max-width:560px){.lead-modal__dialog { width:calc(100vw - 16px)!important; padding:24px 18px!important; }.lead-modal__intro { font-size:15px!important; line-height:1.45!important; }}
.project-viewer { position:fixed; inset:0; width:min(100% - 2rem,960px); max-height:90dvh; padding:1rem; margin:auto; border:0; color:#f7f5f1; background:#181a1d; }
.project-viewer::backdrop { background:#000b; }
.project-viewer>img { width:100%; height:auto; max-height:min(70dvh,700px); object-fit:contain; display:block; background:transparent!important; opacity:1!important; animation:none!important; }
.project-viewer>button { position:absolute; right:1rem; top:1rem; border:0; width:44px; height:44px; background:#181a1d; color:white; font-size:26px; cursor:pointer; }
.project-viewer>p { padding:.75rem .25rem 0; font-size:14px; line-height:1.4; }
@media(max-width:1099px) {
  /* The menu must respond on the first tap. The old 800 ms transition kept the
     overlay invisible while the close button was already active. */
  header #menu-principal { transition:none!important; }
  html.nav-opened #menu-principal { position:fixed!important; inset:0!important; height:100dvh!important; max-height:100dvh!important; overflow-y:auto!important; background:#181a1d!important; opacity:1!important; transform:none!important; visibility:visible!important; padding:6.5rem 1.5rem 2rem!important; justify-content:flex-start!important; gap:1rem!important; }
  header #menu-principal>.services-nav { flex-wrap:wrap!important; width:100%!important; }
  header #services-dropdown { position:static!important; flex:0 0 100%; width:100%!important; display:flex!important; margin:0!important; padding:0 0 0 1rem!important; background:transparent!important; color:white!important; border:0; box-shadow:none; opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:none!important; }
  header #services-dropdown a { min-height:44px; padding:.7rem 1rem; color:#dbd6cd; }
  #nav-button { min-width:44px; min-height:44px; }
  section[id],li[id^="service-"] { scroll-margin-top:96px!important; }
  #menu-principal .nav-item { min-height:44px; }
  html.nav-opened header #menu-principal { top:76px!important; height:calc(100dvh - 76px)!important; max-height:calc(100dvh - 76px)!important; padding-top:24px!important; align-items:stretch!important; }
  html.nav-opened header #menu-principal>li { width:100%!important; text-align:left!important; flex-direction:row!important; justify-content:flex-start!important; }
  html.nav-opened #logo .brand-header-logo { filter:none!important; }
  html.nav-opened #nav-button { color:#222!important; }
  html.nav-opened #nav-button__text { font-size:28px!important; }
  header #services-dropdown::before,header #services-dropdown::after { content:none!important; display:none!important; }
}
@media(max-width:560px) {
  #services-grid>.section-title { font-size:clamp(26px,7.5vw,32px)!important; line-height:1.15!important; }
  #services-grid ul { grid-template-columns:1fr!important; }
  #services-grid li { aspect-ratio:4/3!important; }
  #services-grid .card__text { font-size:16px!important; min-height:3.4rem; padding:.8rem!important; }
  .lead-modal__dialog { max-height:calc(100dvh - 12px)!important; }
}
@media(max-width:749px){header .lead-header-cta .material-symbols-outlined { display:none!important; }}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .motion-item { opacity:1!important; transform:none!important; }
}

/* Quiet the empty transitions between content groups while retaining the airy composition. */
@media(min-width:1100px) {
  #services { margin-block:clamp(84px,7.5vw,112px)!important; }
  section.icons-and-image { margin-bottom:clamp(56px,5vw,80px)!important; }
  #a-propos { padding-top:clamp(96px,8vw,128px)!important; }
  footer .footer-wrapper { row-gap:clamp(56px,5vw,80px)!important; }
}

/* The service-link strip is its own control group; the gallery starts below it without a competing rule. */
#seo-service-links { border-top:0!important; border-bottom:0!important; }
#seo-service-links { scroll-margin-top:104px!important; }
#realisations { padding-top:clamp(28px,3vw,44px)!important; }
#realisations>.h5 { margin-top:0!important; }
@media(max-width:560px) {
  #realisations { padding-top:28px!important; }
}

/* The desktop introduction and process columns must never cross into each other. */
@media(min-width:1200px) {
  #services { gap:clamp(26px,3vw,46px)!important; }
  #services>.image-and-text__text { flex:1 1 0!important; min-width:0!important; max-width:none!important; }
  #services-images {
    display:grid!important;
    grid-template-rows:minmax(0,3fr) minmax(0,2fr)!important;
    gap:14px!important;
    flex:0 0 43vw!important;
    width:43vw!important;
    height:clamp(520px,41vw,690px)!important;
    min-width:0!important;
    margin-left:0!important;
  }
  #services-images>.services-images__image {
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  #services-images>.services-images__image .image-wrapper {
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  #services-images>.services-images__image:first-child img,
  #services-images>.services-images__image:nth-child(2) img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}
section.icons-and-image { transform:none!important; width:100%!important; }
section.icons-and-image .service-icons { transform:none!important; }
/* The reference theme's wide ::before backdrop belonged to the rotated section.
   Once rotation was removed, it painted over the untransformed stage text. The
   section itself supplies the gold background, so the backdrop is redundant. */
section.icons-and-image::before { content:none!important; }

/* On smaller screens the two introduction photos are peers, not overlapping layers. */
@media(max-width:1199px) {
  #services { gap:clamp(24px,4vw,44px)!important; }
  #services-images {
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    height:clamp(300px,45vw,470px)!important;
    margin:0!important;
    min-width:0!important;
  }
  #services-images>.services-images__image {
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  #services-images>.services-images__image .image-wrapper {
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  #services-images>.services-images__image img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}
@media(max-width:560px) {
  #services-images {
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1.3fr) minmax(0,.9fr)!important;
    height:clamp(420px,125vw,520px)!important;
  }
}

/* Keep the longest word inside its editorial column without splitting letters. */
#a-propos .image-and-text:last-child h3 {
  max-width:100%!important;
  font-size:clamp(29px,3vw,40px)!important;
  line-height:1.14!important;
  padding-bottom:clamp(24px,3vw,42px)!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Every row remains wider than the viewport throughout the drift, including on phones. */
#realisations .images-sliding-rows__row { height:auto!important; }
#realisations .images-sliding-rows__row>a {
  display:block!important;
  flex:0 0 max(155px,14.5vw)!important;
  width:max(155px,14.5vw)!important;
  height:clamp(170px,15vw,230px)!important;
  overflow:hidden!important;
  border-radius:6px;
}
#realisations .images-sliding-rows__row>a img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* The whole service row is the link; the small gold medallion is only its cue. */
#seo-service-links a { transition:color .2s ease,border-color .2s ease!important; }
#seo-service-links .seo-link-arrow {
  display:grid!important;
  place-items:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  border:1px solid #b99456!important;
  border-radius:50%!important;
  background:#f3ecdf!important;
  color:#76562a!important;
  font:400 21px/1 Arial,sans-serif!important;
  transition:background-color .2s ease,color .2s ease!important;
}
#seo-service-links a:is(:hover,:focus-visible) .seo-link-arrow { background:#a88142!important; color:#fff!important; }
#seo-service-links a:focus-visible { outline:2px solid #a88142!important; outline-offset:4px!important; }

@media(max-width:749px) {
  /* A floating warm-glass capsule stays legible without covering the entire edge. */
  header { transition:height .2s ease,background-color .2s ease,box-shadow .2s ease!important; }
  header.is-scrolled {
    background-color:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }
  header.is-scrolled::before {
    content:"";
    position:absolute;
    inset:4px 8px;
    border:1px solid #b9945645;
    border-radius:12px;
    background:rgba(247,245,241,.84);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    box-shadow:0 6px 22px #181a1d17;
    pointer-events:none;
  }
  header.is-scrolled::after {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:4px;
    background:rgba(247,245,241,.9);
    pointer-events:none;
  }
  header.is-scrolled #header-background { background:transparent!important; }
  header #logo { width:clamp(116px,36vw,144px)!important; min-width:0!important; }
  header #logo .brand-header-logo { width:100%!important; height:auto!important; }
  header .lead-header-cta { right:clamp(76px,20vw,84px)!important; min-height:44px!important; }
  html.nav-opened header.is-scrolled #menu-principal {
    top:76px!important;
    height:calc(100dvh - 76px)!important;
    max-height:calc(100dvh - 76px)!important;
  }
}
@media(min-width:561px) and (max-width:1099px) {
  /* The contact actions form one readable sequence instead of separate columns. */
  #contact .text-and-button { display:flex!important; flex-direction:column!important; align-items:center!important; gap:22px!important; padding-block:24px!important; }
  #contact .text-and-button>h2 { max-width:32ch!important; text-align:center!important; }
  #contact .contact-buttons { display:flex!important; flex-direction:column!important; align-items:center!important; gap:12px!important; }
  #contact .contact-buttons>h2 { width:auto!important; margin:8px 0 0!important; padding:0!important; }
  #contact .contact-buttons>.button { width:auto!important; min-height:44px!important; margin:0!important; }
  #contact .lead-contact-note { margin:0!important; text-align:center!important; }
  footer .footer-wrapper { row-gap:36px!important; }
}
@media(max-width:560px) {
  #realisations>.section-title { line-height:1.22!important; }
  #seo-service-links { margin-top:18px!important; padding-top:12px!important; padding-bottom:12px!important; }
  #seo-service-links a {
    min-height:72px!important;
    padding-block:14px!important;
    gap:16px!important;
    cursor:pointer!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  #seo-service-links .seo-link-label { letter-spacing:.02em!important; }
  #seo-service-links .seo-link-arrow {
    flex-basis:44px!important;
    width:44px!important;
    height:44px!important;
    pointer-events:none;
  }
  #seo-service-links a:active {
    background:#b9945612!important;
    border-color:#a88142!important;
  }
  header #logo { min-height:44px!important; align-items:center!important; }
  #a-propos .work-title { display:flex!important; align-items:center!important; min-height:44px!important; }
  #contact .contact-buttons h2 a { display:inline-flex!important; align-items:center!important; min-height:44px!important; }
  footer::after { content:none!important; }
  footer .footer-container { padding:40px 24px 48px!important; }
  footer .footer-wrapper { row-gap:28px!important; }
  footer .footer-row { padding:0!important; min-width:0!important; }
  footer .footer-row:first-child { justify-content:flex-start!important; }
  footer .footer-logo { display:flex!important; align-items:flex-start!important; margin:0!important; }
  footer #home-locale-url .brand-footer-logo { width:152px!important; }
  footer .footer-row:nth-child(2) {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:28px!important;
    padding:0!important;
  }
  footer .footer-row:nth-child(2) .footer-col:nth-child(3) { grid-column:auto!important; }
  footer .footer-col { min-width:0!important; width:100%!important; }
  footer .footer-col__title { display:flex!important; align-items:center!important; min-height:44px!important; margin:0 0 12px!important; padding:0!important; opacity:1!important; line-height:1.35!important; }
  footer ul li a:not(.no-pointer-events),footer ul li.no-link {
    display:block!important;
    width:fit-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:6px 0!important;
    line-height:1.4!important;
    opacity:.75!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  footer ul li a:not(.no-pointer-events) { display:flex!important; align-items:center!important; min-height:44px!important; }
  footer #footer-since { padding-top:16px!important; }
  footer #footer-address { font-size:13px!important; }
  footer .footer-logo-symb-wrapper { display:flex!important; justify-content:flex-start!important; }
  footer .footer-logo-symb { width:84px!important; height:96px!important; justify-content:flex-start!important; }
}

/* Remove the old mobile double-tap delay only from deliberate controls. */
@media(max-width:749px) {
  :is(a.button, button, #nav-button, [data-lead-open], #seo-service-links a) {
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
}
/* Less travel per second gives time to inspect and tap each small photograph. */
@media(max-width:560px) and (prefers-reduced-motion:no-preference) {
  #realisations .images-sliding-rows__row { animation-duration:30s!important; }
  #realisations .images-sliding-rows:has(a:active) .images-sliding-rows__row { animation-play-state:paused!important; }
}

/* Keep the detail image as a short visual pause rather than a second full-screen section. */
#visualisation-3d { padding-bottom:clamp(44px,5vw,76px)!important; }
#visualisation-3d .video-wide {
  display:block!important;
  width:100%!important;
  height:clamp(300px,32vw,500px)!important;
  overflow:hidden!important;
}
#visualisation-3d .video-alt-image,
#visualisation-3d .image-wrapper,
#visualisation-3d picture {
  display:block!important;
  width:100%!important;
  height:100%!important;
}
#visualisation-3d .video-wide img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 58%!important;
}
#visualisation-3d .title-and-text {
  padding-top:clamp(28px,3.5vw,52px)!important;
  padding-bottom:0!important;
}
@media(max-width:560px) {
  #visualisation-3d .video-wide { height:260px!important; }
  #visualisation-3d .title-and-text { row-gap:18px!important; }
}

/* Phone: keep the four process links inside the same page gutters. The
   reference flex rows were wider than their parent and clipped edge taps. */
@media(max-width:560px) {
  #partners .partners-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
    padding:16px 0!important;
  }
  #partners .partners-group {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:10px!important;
    margin:0!important;
  }
  #partners .partner { display:block!important; min-width:0!important; width:100%!important; }
  #partners .partner a {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:68px!important;
    padding:10px 8px!important;
    text-align:center!important;
    touch-action:manipulation;
  }
  #partners .partner-proof__label {
    font-size:clamp(12px,3vw,13px)!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }

  /* Keep contact actions in one compact, clearly separated sequence. */
  #contact { padding:44px 20px 40px!important; }
  #contact>.h5 { padding-bottom:14px!important; }
  #contact>h4 { padding:0 12px 18px!important; }
  #contact .text-and-button {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:16px!important;
    padding:18px 0 0!important;
  }
  #contact .text-and-button>h2 { max-width:28ch!important; margin:0!important; text-align:center!important; }
  #contact .contact-buttons {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:12px!important;
  }
  #contact .contact-buttons>h2 { width:auto!important; margin:12px 0 0!important; padding:0!important; }
  #contact .contact-buttons>.button { min-height:48px!important; margin:0!important; }
  #contact .lead-contact-note { margin:0!important; text-align:center!important; }
}

/* On touch screens, a moving target is difficult to tap. The desktop drift
   stays intact; phones get two swipeable rows with stationary cards. */
.gallery-hint { display:none; }
@media(max-width:560px) {
  #realisations .gallery-hint {
    display:block!important;
    margin:0 20px 8px!important;
    color:#625e58;
    font-size:13px!important;
    line-height:1.45!important;
  }
  #realisations .images-sliding-rows { overflow:visible!important; }
  #realisations .images-sliding-rows__row {
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px!important;
    padding-inline:20px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    transform:none!important;
    animation:none!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  #realisations .images-sliding-rows__row>a {
    flex:0 0 clamp(170px,48vw,210px)!important;
    width:clamp(170px,48vw,210px)!important;
    height:190px!important;
    scroll-snap-align:start;
  }
}

/* The 561px jump should not squeeze five image cards into three thin columns. */
@media(min-width:561px) and (max-width:699px) {
  #services-grid>ul { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #services-grid>ul>li,
  #services-grid>ul>li:nth-child(n+4) { grid-column:span 1!important; aspect-ratio:4/3!important; }
  #services-grid>ul>li:last-child { grid-column:1/-1!important; aspect-ratio:16/9!important; }
}

@media(min-width:561px) and (max-width:749px) {
  footer .footer-container { padding:48px 28px 56px!important; }
  footer .footer-wrapper { row-gap:28px!important; }
  footer .footer-row:nth-child(2) { padding:0!important; column-gap:28px!important; row-gap:32px!important; }
}

/* Tablet layout: compact vertical rhythm, stable touch targets and deliberate
   image crops. These rules cover both portrait and landscape tablets without
   changing the approved desktop or phone compositions. */
@media(min-width:561px) and (max-width:1099px) {
  .icons-and-image .service-icons {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(24px,3.5vw,36px)!important;
    padding:clamp(36px,5vw,54px) clamp(28px,5vw,52px)!important;
  }
  .icons-and-image .service-icon,
  .icons-and-image .service-icon__text { min-width:0!important; }
  .icons-and-image h3 {
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    text-wrap:balance!important;
  }
  .icons-and-image p {
    width:100%!important;
    max-width:none!important;
    overflow-wrap:normal!important;
    text-wrap:pretty!important;
  }

  #a-propos { padding-top:clamp(64px,8vw,82px)!important; padding-bottom:clamp(44px,6vw,68px)!important; }
  #a-propos>#slogan { margin-bottom:clamp(30px,5vw,48px)!important; }
  #a-propos>.image-and-text {
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0 clamp(28px,5vw,52px)!important;
    align-items:center!important;
    text-align:left!important;
  }
  #a-propos>.image-and-text+.image-and-text { margin-top:clamp(54px,7vw,78px)!important; }
  #a-propos .image-and-text__image,
  #a-propos .image-and-text__image__wrapper,
  #a-propos .image-and-text__image__wrapper>a,
  #a-propos .image-and-text__image .image-wrapper {
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    min-width:0!important;
    margin:0!important;
  }
  #a-propos .image-and-text__image__wrapper>a,
  #a-propos .image-and-text__image .image-wrapper { height:100%!important; }
  #a-propos .image-and-text__image img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  #a-propos .image-and-text__text {
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    text-align:left!important;
  }
  #a-propos .work-title {
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    margin:0!important;
  }

  #realisations .gallery-hint {
    display:block!important;
    margin:0 clamp(28px,5vw,52px) 10px!important;
    color:#625e58;
    font-size:13px!important;
    line-height:1.45!important;
  }
  #realisations .images-sliding-rows { overflow:visible!important; }
  #realisations .images-sliding-rows__row {
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
    padding-inline:clamp(28px,5vw,52px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    transform:none!important;
    animation:none!important;
    scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  #realisations .images-sliding-rows__row>a {
    flex:0 0 clamp(210px,30vw,280px)!important;
    width:clamp(210px,30vw,280px)!important;
    height:clamp(210px,27vw,250px)!important;
    scroll-snap-align:start;
    touch-action:manipulation;
  }

  footer .footer-container { padding-inline:clamp(32px,6vw,64px)!important; }
  footer .footer-col { min-width:0!important; }
  footer .footer-col__title { margin-bottom:12px!important; }
  footer ul li a:not(.no-pointer-events) {
    display:flex!important;
    align-items:center!important;
    width:fit-content!important;
    max-width:100%!important;
    min-height:44px!important;
    padding-block:8px!important;
    margin-block:0!important;
    touch-action:manipulation;
  }
  footer .footer-logo-symb-wrapper { display:none!important; }
}

@media(min-width:561px) and (max-width:799px) {
  #a-propos>.image-and-text {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"copy" "media"!important;
    gap:24px!important;
  }
  #a-propos .image-and-text__text { grid-area:copy!important; }
  #a-propos .image-and-text__image { grid-area:media!important; }
  #a-propos .image-and-text__image__wrapper { height:clamp(400px,72vw,540px)!important; }
}

@media(min-width:800px) and (max-width:1099px) {
  #a-propos>.image-and-text {
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr)!important;
    gap:clamp(34px,5vw,58px)!important;
  }
  #a-propos>.image-and-text.inverted .image-and-text__text { grid-column:1!important; grid-row:1!important; }
  #a-propos>.image-and-text.inverted .image-and-text__image { grid-column:2!important; grid-row:1!important; }
  #a-propos>.image-and-text:not(.inverted) .image-and-text__image { grid-column:1!important; grid-row:1!important; }
  #a-propos>.image-and-text:not(.inverted) .image-and-text__text { grid-column:2!important; grid-row:1!important; }
  #a-propos .image-and-text__image__wrapper { height:clamp(430px,49vw,540px)!important; }
}

@media(min-width:700px) and (max-width:899px) {
  #articles .articles-grid[data-count] {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
  }
  #articles .articles-grid[data-count]>a:first-child .article { grid-column:1/-1!important; aspect-ratio:16/9!important; }
  #articles .articles-grid[data-count]>a:not(:first-child) .article { aspect-ratio:4/5!important; }
}

@media(min-width:750px) and (max-width:1099px) {
  footer .footer-row:nth-child(2) {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:clamp(28px,5vw,56px)!important;
    row-gap:32px!important;
    padding-inline:0!important;
  }
}

@media(min-width:1100px) and (max-width:1199px) {
  #seo-service-links { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #seo-service-links a:nth-child(n+4) { border-top:1px solid #d5d0c8!important; }
}

/* September 2026 home-page refinement: full-bleed hero, compact navigation,
   client service and verified-review destinations. */
@media(min-width:1100px) {
  header nav { max-width:calc(100% - 430px)!important; }
  header nav .nav-item {
    padding-inline:clamp(.45rem,.72vw,.78rem)!important;
    font-size:clamp(.68rem,.72vw,.78rem)!important;
    letter-spacing:.065rem!important;
  }
}

#hero {
  width:100%!important;
  min-height:0!important;
  background:#181a1d!important;
}
#hero #hero-bg {
  display:block!important;
  width:100%!important;
  height:clamp(540px,62svh,760px)!important;
  margin:6.1rem 0 0!important;
  position:relative!important;
}
#hero #primary-image,
#hero #primary-image picture {
  display:block!important;
  width:100%!important;
  height:100%!important;
}
#hero #hero-bg-img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 56%!important;
}
#hero #hero-bg::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(10,11,12,.5) 0%,rgba(10,11,12,.06) 42%,rgba(10,11,12,.2) 100%)!important;
  pointer-events:none!important;
}
#hero #hero-text-wrapper {
  display:block!important;
  width:100%!important;
  height:auto!important;
  top:calc(6.1rem + clamp(104px,7.5vw,120px))!important;
  padding-inline:clamp(24px,5vw,80px)!important;
  pointer-events:none!important;
}
#hero #hero-text-wrapper h1 {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  filter:none!important;
  font-size:inherit!important;
}
#hero #hero-headline {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#hero #hero-headline>span {
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:.2em .34em .17em!important;
  color:#f7f5f1!important;
  background:rgba(19,20,21,.46)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  font-family:var(--font-medium)!important;
  font-size:clamp(2rem,4vw,3.65rem)!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 18px rgba(0,0,0,.35)!important;
  white-space:nowrap!important;
}
#hero .hero-shield {
  position:absolute!important;
  left:clamp(24px,5vw,80px)!important;
  bottom:clamp(24px,4vw,56px)!important;
  z-index:3!important;
  width:clamp(64px,6.5vw,96px)!important;
  height:auto!important;
  padding:8px!important;
  border:1px solid rgba(198,157,89,.55)!important;
  border-radius:50%!important;
  background:rgba(19,20,21,.58)!important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.26))!important;
}

#service,#reviews { scroll-margin-top:104px!important; }
.client-service {
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(42px,7vw,110px)!important;
  align-items:start!important;
  color:#f7f5f1!important;
  background:#181a1d!important;
}
.client-service .h5 {
  padding:0 0 18px!important;
  color:var(--color-accent)!important;
  text-align:left!important;
}
.client-service .section-title {
  max-width:13ch!important;
  margin:0 0 24px!important;
  color:#f7f5f1!important;
  font-size:clamp(2rem,4.1vw,4.7rem)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
  text-transform:uppercase!important;
}
.service-support__intro>p {
  max-width:52ch!important;
  margin:0 0 30px!important;
  color:rgba(247,245,241,.72)!important;
  font-size:clamp(.98rem,1.15vw,1.08rem)!important;
  line-height:1.65!important;
}
.service-support__grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid rgba(198,157,89,.42)!important;
}
.service-support__card {
  min-width:0!important;
  min-height:280px!important;
  padding:26px clamp(18px,2.2vw,32px)!important;
  border-right:1px solid rgba(247,245,241,.16)!important;
}
.service-support__card:last-child { border-right:0!important; }
.service-support__card>span {
  display:block!important;
  margin-bottom:clamp(58px,7vw,104px)!important;
  color:var(--color-accent)!important;
  font-size:.78rem!important;
  letter-spacing:.12em!important;
}
.service-support__card h4 {
  margin:0 0 14px!important;
  font-family:var(--font-medium)!important;
  font-style:normal!important;
  font-size:clamp(1rem,1.25vw,1.22rem)!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.service-support__card p {
  margin:0!important;
  color:rgba(247,245,241,.72)!important;
  font-size:.95rem!important;
  line-height:1.55!important;
}

.reviews-section { background:#efe9de!important; }
.reviews-panel {
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr)!important;
  gap:clamp(38px,8vw,128px)!important;
  align-items:end!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:clamp(30px,4vw,60px)!important;
  border:1px solid rgba(102,78,39,.24)!important;
  background:rgba(255,255,255,.34)!important;
}
.reviews-panel .h5 {
  padding:0 0 18px!important;
  color:var(--color-accent-darker)!important;
  text-align:left!important;
}
.reviews-panel .section-title {
  max-width:14ch!important;
  margin:0!important;
  font-size:clamp(2rem,4vw,4.5rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
}
.reviews-panel__copy p {
  max-width:48ch!important;
  margin:0 0 26px!important;
  font-size:1rem!important;
  line-height:1.65!important;
  color:#4e4942!important;
}

@media(max-width:1099px) {
  #hero #hero-bg {
    margin-top:4.75rem!important;
    height:clamp(500px,68svh,690px)!important;
  }
  #hero #hero-text-wrapper {
    top:calc(4.75rem + clamp(26px,6vw,52px))!important;
    padding-inline:clamp(22px,5vw,52px)!important;
  }
  #hero #hero-headline>span { font-size:clamp(1.8rem,5.2vw,3.1rem)!important; }
  #hero .hero-shield { left:clamp(22px,5vw,52px)!important; }
  .client-service { grid-template-columns:1fr!important; }
  .client-service .section-title { max-width:16ch!important; }
  .reviews-panel { grid-template-columns:1fr!important; align-items:start!important; }
}

@media(max-width:560px) {
  #hero #hero-bg {
    height:clamp(520px,76svh,660px)!important;
  }
  #hero #hero-bg-img { object-position:62% 55%!important; }
  #hero #hero-text-wrapper {
    top:calc(4.75rem + 28px)!important;
    padding-inline:20px!important;
  }
  #hero #hero-text-wrapper h1 { width:100%!important; }
  #hero #hero-headline>span {
    width:min-content!important;
    max-width:12ch!important;
    padding:.22em .28em .18em!important;
    font-size:clamp(2rem,10vw,2.6rem)!important;
    line-height:1.03!important;
    letter-spacing:.01em!important;
    white-space:normal!important;
  }
  #hero .hero-shield {
    left:20px!important;
    bottom:22px!important;
    width:66px!important;
    padding:6px!important;
  }
  .client-service { padding:54px 20px!important; gap:38px!important; }
  .client-service .section-title { max-width:12ch!important; font-size:clamp(2rem,10vw,3rem)!important; line-height:1.02!important; }
  .service-support__grid { grid-template-columns:1fr!important; }
  .service-support__card {
    min-height:0!important;
    padding:24px 0!important;
    border-right:0!important;
    border-bottom:1px solid rgba(247,245,241,.16)!important;
  }
  .service-support__card:last-child { border-bottom:0!important; }
  .service-support__card>span { margin-bottom:26px!important; }
  .reviews-section { padding:54px 20px!important; }
  .reviews-panel { gap:28px!important; padding:28px 22px!important; }
  .reviews-panel .section-title { font-size:clamp(2rem,9.5vw,2.8rem)!important; line-height:1.04!important; }
  .reviews-panel__copy p { margin-bottom:22px!important; }
}

/* September 2026: partners, contact and image-detail refinement. */
#partners.partners-showcase {
  max-width:1440px!important;
  margin-inline:auto!important;
  background:#efe9de!important;
}
#partners.partners-showcase>.h5 {
  padding:0 0 16px!important;
  color:var(--color-accent-darker)!important;
  text-align:left!important;
}
#partners.partners-showcase>.section-title {
  max-width:17ch!important;
  margin:0 0 clamp(30px,4vw,52px)!important;
  color:#1e2022!important;
  font-size:clamp(2rem,4.1vw,4.3rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
}
#partners.partners-showcase .partners-grid {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  border:1px solid rgba(86,68,36,.24)!important;
}
#partners.partners-showcase .partner-placeholder {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  min-height:190px!important;
  padding:clamp(22px,2.4vw,34px)!important;
  border-right:1px solid rgba(86,68,36,.2)!important;
  background:rgba(255,255,255,.32)!important;
  color:#35312b!important;
  font-family:var(--font-medium)!important;
  font-size:clamp(.9rem,1.1vw,1.06rem)!important;
  line-height:1.3!important;
}
#partners.partners-showcase .partner-placeholder:last-child { border-right:0!important; }
#partners.partners-showcase .partner-placeholder__mark {
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  color:var(--color-accent-darker)!important;
  border:1px solid rgba(166,125,57,.72)!important;
  font-size:1.1rem!important;
}

/* The kitchen and bathroom now read as an intentional, equal-height pair. */
#services-images {
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-self:stretch!important;
}
#services-images .services-images__image,
#services-images .services-images__image:first-child,
#services-images .services-images__image:nth-child(2) {
  position:static!important;
  width:100%!important;
  height:clamp(210px,19vw,310px)!important;
  margin:0!important;
  padding:0!important;
}
#services-images .services-images__image .image-wrapper,
#services-images .services-images__image img {
  display:block!important;
  width:100%!important;
  height:100%!important;
}
#services-images .services-images__image img { object-fit:cover!important; }
#services-images .services-images__image:first-child img { object-position:50% 54%!important; }
#services-images .services-images__image:nth-child(2) img { object-position:50% 56%!important; }

#a-propos .image-and-text.inverted .image-and-text__text p {
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
}

#visualisation-3d .visualisation-cta {
  margin:0!important;
}

/* Each support stage gets a quiet explanatory illustration without changing the dark premium tone. */
.service-support__card>span { margin-bottom:18px!important; }
.service-support__illustration {
  display:block!important;
  width:min(100%,190px)!important;
  aspect-ratio:1!important;
  height:auto!important;
  margin:0 0 26px!important;
  object-fit:contain!important;
  border:1px solid rgba(247,245,241,.09)!important;
  background:#181a1d!important;
  opacity:1!important;
}
#service.client-service { padding-block:clamp(58px,6vw,96px)!important; }

/* Contacts are a calm, compact decision area: call or message, without a second lead CTA. */
#contact {
  max-width:1440px!important;
  margin-inline:auto!important;
  border-top:1px solid rgba(55,50,43,.16)!important;
}
#contact .text-and-button {
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(260px,.72fr)!important;
  column-gap:clamp(42px,8vw,120px)!important;
  row-gap:22px!important;
  align-items:start!important;
  padding-block:clamp(30px,4vw,54px)!important;
}
#contact .text-and-button>h2 {
  grid-column:1!important;
  grid-row:1!important;
  max-width:30ch!important;
  margin:0!important;
  text-align:left!important;
}
#contact .contact-buttons {
  display:flex!important;
  grid-column:2!important;
  grid-row:1 / span 2!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:12px!important;
}
#contact .contact-buttons>h2 {
  width:auto!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(1.25rem,1.7vw,1.7rem)!important;
}
#contact .contact-buttons>.button { min-height:48px!important; margin:0!important; }
#contact .lead-contact-note {
  grid-column:1!important;
  grid-row:2!important;
  max-width:48ch!important;
  margin:0!important;
  text-align:left!important;
}
.task-brief-heading {
  max-width:22ch!important;
  margin:28px auto 0!important;
  color:#1e2022!important;
  font-size:clamp(1.8rem,3.6vw,3.4rem)!important;
  line-height:1.04!important;
  text-align:center!important;
  text-wrap:balance!important;
}

@media(min-width:1100px) {
  header nav { max-width:calc(100% - 490px)!important; }
  header nav .nav-item { padding-inline:clamp(.35rem,.55vw,.66rem)!important; }
  #a-propos>.image-and-text.inverted {
    display:grid!important;
    grid-template-columns:minmax(360px,.92fr) minmax(440px,1.08fr)!important;
    gap:clamp(52px,8vw,136px)!important;
    align-items:center!important;
    max-width:1440px!important;
    margin-inline:auto!important;
  }
  #a-propos>.image-and-text.inverted .image-and-text__text {
    grid-column:1!important;
    grid-row:1!important;
    padding:0!important;
    text-align:left!important;
  }
  #a-propos>.image-and-text.inverted .image-and-text__image {
    grid-column:2!important;
    grid-row:1!important;
  }
  #a-propos>.image-and-text.inverted .image-and-text__text p {
    max-width:46ch!important;
    margin:0!important;
    font-size:clamp(.98rem,1.12vw,1.1rem)!important;
    line-height:1.6!important;
    text-align:left!important;
  }
}

@media(max-width:1099px) {
  #services-images {
    width:min(100%,660px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
  }
  #services-images .services-images__image,
  #services-images .services-images__image:first-child,
  #services-images .services-images__image:nth-child(2) { height:clamp(260px,42vw,370px)!important; }
  #partners.partners-showcase .partners-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #partners.partners-showcase .partner-placeholder:nth-child(2) { border-right:0!important; }
  #partners.partners-showcase .partner-placeholder:nth-child(-n+2) { border-bottom:1px solid rgba(86,68,36,.2)!important; }
  #contact .text-and-button {
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }
  #contact .text-and-button>h2,
  #contact .contact-buttons,
  #contact .lead-contact-note { grid-column:1!important; grid-row:auto!important; text-align:center!important; }
  #contact .contact-buttons { align-items:center!important; }
}

@media(max-width:560px) {
  #services-images { grid-template-columns:1fr!important; grid-template-rows:repeat(2,minmax(0,1fr))!important; }
  #services-images .services-images__image,
  #services-images .services-images__image:first-child,
  #services-images .services-images__image:nth-child(2) { height:250px!important; }
  #partners.partners-showcase { padding:54px 20px!important; }
  #partners.partners-showcase .partners-grid { grid-template-columns:1fr!important; }
  #partners.partners-showcase .partner-placeholder,
  #partners.partners-showcase .partner-placeholder:nth-child(2) {
    min-height:132px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(86,68,36,.2)!important;
  }
  #partners.partners-showcase .partner-placeholder:last-child { border-bottom:0!important; }
  .service-support__illustration { width:min(100%,200px)!important; margin-bottom:22px!important; }
  #contact { padding-inline:20px!important; }
  #contact .text-and-button { padding-inline:0!important; }
  .task-brief-heading { margin-top:24px!important; font-size:clamp(1.9rem,9vw,2.7rem)!important; }
}

/* The closing invitation and contact details form one deliberate, premium
   sequence: a compact prompt, followed by a calm editorial contact panel. */
#articles .task-brief-cta {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:18px!important;
  max-width:780px!important;
  margin:clamp(24px,3.6vw,50px) auto 0!important;
  padding:clamp(28px,3.6vw,50px)!important;
  border-block:1px solid rgba(124,91,42,.28)!important;
  background:linear-gradient(135deg,rgba(239,233,222,.82),rgba(255,255,255,.18))!important;
}
#articles .task-brief-cta>.button { margin:0!important; }
#articles .task-brief-heading {
  max-width:17ch!important;
  margin:0!important;
  color:#1e2022!important;
  font-family:var(--font-styled-2),var(--font-styled),serif!important;
  font-size:clamp(2rem,3.6vw,3.5rem)!important;
  font-weight:var(--font-weight-regular)!important;
  line-height:1.02!important;
  text-align:center!important;
  text-wrap:balance!important;
}

#contact {
  max-width:none!important;
  margin:0!important;
  padding:clamp(56px,7vw,96px) max(24px,var(--padding-inline)) clamp(64px,8vw,110px)!important;
  border-top:0!important;
  background:#efe9de!important;
}
#contact>.h5 {
  width:min(1180px,100%)!important;
  margin:0 auto 20px!important;
  padding:0!important;
  text-align:left!important;
  color:var(--color-accent-darker)!important;
}
#contact .text-and-button {
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr)!important;
  column-gap:clamp(40px,7vw,104px)!important;
  row-gap:28px!important;
  align-items:stretch!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:clamp(30px,4vw,56px)!important;
  border:1px solid rgba(72,58,32,.18)!important;
  background:rgba(255,255,255,.43)!important;
}
#contact .text-and-button>h2 {
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  max-width:23ch!important;
  margin:0!important;
  color:#1d1f20!important;
  font-size:clamp(1.35rem,2vw,2rem)!important;
  line-height:1.18!important;
  text-align:left!important;
  text-wrap:balance!important;
}
#contact .contact-buttons {
  display:flex!important;
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-items:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  box-sizing:border-box!important;
  gap:12px!important;
  padding:clamp(28px,3vw,42px)!important;
  border-top:2px solid var(--color-accent)!important;
  background:#1d2022!important;
}
#contact .contact-buttons>h2 {
  width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:#f7f5f1!important;
  font-family:var(--font-medium),sans-serif!important;
  font-size:clamp(1.45rem,2.25vw,2.25rem)!important;
  font-variant-numeric:tabular-nums!important;
  font-weight:var(--font-weight-medium)!important;
  letter-spacing:.045em!important;
  line-height:1.12!important;
  white-space:nowrap!important;
}
#contact .contact-buttons>h2 a {
  display:block!important;
  min-height:0!important;
  color:inherit!important;
  text-decoration:none!important;
}
#contact .contact-buttons>.button {
  display:flex!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:.95rem 1.2rem!important;
}
#contact .contact-buttons>.contact-whatsapp {
  border:1px solid rgba(247,245,241,.58)!important;
  color:#f7f5f1!important;
  background:transparent!important;
}
#contact .contact-messenger-row {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
}
#contact .contact-messenger {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-height:50px!important;
  padding:.9rem 1rem!important;
  border:1px solid rgba(247,245,241,.34)!important;
  color:rgba(247,245,241,.82)!important;
  background:transparent!important;
  font-family:var(--font-styled)!important;
  font-weight:var(--font-weight-medium)!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  cursor:pointer!important;
  opacity:1!important;
}
#contact .contact-messenger:hover,
#contact .contact-messenger:focus-visible {
  border-color:var(--color-accent)!important;
  color:#fff!important;
}
#contact .contact-messenger .material-symbols-outlined {
  width:.85rem!important;
  min-width:.85rem!important;
  font-size:1.05rem!important;
}
#contact .lead-contact-note {
  grid-column:1!important;
  grid-row:2!important;
  align-self:start!important;
  max-width:43ch!important;
  margin:0!important;
  padding-left:18px!important;
  border-left:1px solid var(--color-accent)!important;
  color:rgba(29,31,32,.78)!important;
  line-height:1.55!important;
  text-align:left!important;
}

@media(max-width:1099px) {
  #contact .text-and-button {
    grid-template-columns:1fr!important;
    max-width:720px!important;
  }
  #contact .text-and-button>h2,
  #contact .contact-buttons,
  #contact .lead-contact-note {
    grid-column:1!important;
    grid-row:auto!important;
    text-align:left!important;
  }
  #contact .contact-buttons { align-items:stretch!important; }
}

@media(max-width:560px) {
  #articles .task-brief-cta {
    gap:16px!important;
    margin-top:36px!important;
    padding:28px 20px!important;
  }
  #articles .task-brief-heading { font-size:clamp(2rem,9vw,2.7rem)!important; }
  #contact { padding:54px 20px 70px!important; }
  #contact>.h5 { margin-bottom:16px!important; }
  #contact .text-and-button { gap:24px!important; padding:24px!important; }
  #contact .contact-buttons { padding:24px!important; }
  #contact .contact-buttons>h2 { font-size:clamp(1.25rem,6.4vw,1.6rem)!important; letter-spacing:.028em!important; }
  #contact .contact-buttons>.button { min-height:50px!important; padding-inline:1rem!important; }
  #contact .contact-messenger-row { grid-template-columns:1fr!important; }
  #contact .lead-contact-note { padding-left:14px!important; }
}

/* A tighter vertical rhythm keeps the long home page engaging while leaving
   enough air for the editorial, premium treatment of each section. */
#partners.partners-showcase { padding-block:clamp(72px,6vw,104px)!important; }
#a-propos { padding-top:clamp(72px,6vw,104px)!important; padding-bottom:clamp(60px,5vw,88px)!important; }
#services-grid { padding-top:clamp(72px,6vw,104px)!important; padding-bottom:clamp(64px,5.5vw,92px)!important; }
#realisations { padding-top:clamp(56px,5vw,80px)!important; padding-bottom:clamp(64px,5.5vw,92px)!important; }
#service.client-service { padding-block:clamp(54px,5vw,80px)!important; }
#articles { padding-block:clamp(64px,5.5vw,92px)!important; }
#articles>.section-title { padding-bottom:clamp(28px,2.5vw,38px)!important; }
#reviews.reviews-section { padding-block:clamp(64px,5.5vw,92px)!important; }

@media(max-width:560px) {
  #partners.partners-showcase { padding-block:48px!important; }
  #a-propos { padding-top:56px!important; padding-bottom:48px!important; }
  #services-grid { padding-top:56px!important; padding-bottom:52px!important; }
  #realisations { padding-top:44px!important; padding-bottom:52px!important; }
  #service.client-service { padding-block:52px!important; }
  #articles { padding-block:56px!important; }
  #articles>.section-title { padding-bottom:28px!important; }
  #reviews.reviews-section { padding-block:54px!important; }
}

/* Device layouts: keep the desktop composition, but let smaller grids size
   from their content instead of inheriting fixed desktop heights. */
@media(max-width:1099px) {
  /* Explicitly visible submenu links must not intercept taps after closing. */
  html:not(.nav-opened) header #menu-principal { display:none!important; }
  #hero #hero-headline>span { max-width:100%!important; white-space:normal!important; text-wrap:balance; }
  #services {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"media" "copy"!important;
    gap:28px!important;
    margin-block:clamp(48px,6vw,72px)!important;
  }
  #services>.image-and-text__text {
    grid-area:copy;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
  }
  #services-images {
    grid-area:media;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    margin:0!important;
  }
  #service .section-title { padding-bottom:0!important; }
  .service-support__card h4 { padding:0!important; }
  #articles .articles-grid__text { width:100%!important; min-width:0!important; }
  #articles .articles-grid__title { max-width:100%!important; }
  #articles .task-brief-heading { padding:0!important; }
  #contact .text-and-button {
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:stretch!important;
  }
  #contact .text-and-button>h2 { max-width:36ch!important; width:100%!important; }
  #contact .text-and-button>* { min-width:0!important; max-width:100%!important; }
  #contact .lead-contact-note { grid-row:2!important; }
  #contact .contact-buttons { grid-row:3!important; }
  #contact .contact-buttons>.button { white-space:normal!important; gap:8px!important; }
  #contact .contact-buttons>h2 a { display:flex!important; align-items:center!important; min-height:44px!important; }
}

@media(min-width:561px) and (max-width:1099px) {
  #hero #hero-headline>span { font-size:clamp(1.8rem,4.7vw,3.1rem)!important; }
  #services { padding-inline:clamp(28px,5vw,52px)!important; }
  #services .service-summary { max-width:65ch!important; }
  #services-grid>ul>li,
  #services-grid>ul>li:nth-child(n+4) { display:block!important; aspect-ratio:auto!important; min-height:0!important; }
  #services-grid .card { position:relative!important; inset:auto!important; width:100%!important; height:auto!important; }
  #services-grid .card__image { height:clamp(240px,32vw,340px)!important; flex:none!important; }
}

@media(max-width:699px) {
  #articles .articles-grid[data-count] .article { aspect-ratio:4/3!important; }
  #articles .articles-grid__text { padding:20px!important; }
  #articles .articles-grid__title { font-size:clamp(22px,6.5vw,29px)!important; line-height:1.1!important; }
  #articles>.section-title { font-size:clamp(26px,6.8vw,34px)!important; line-height:1.12!important; }
}

@media(max-width:560px) {
  #services-images { grid-template-rows:repeat(2,auto)!important; }
  #contact .text-and-button { padding:clamp(16px,5vw,24px)!important; }
  #contact .contact-buttons { padding:clamp(16px,5vw,24px)!important; }
  #contact .contact-buttons>.button { padding-inline:12px!important; }
  #reviews .reviews-panel { padding:24px 18px!important; }
  #reviews .section-title { font-size:clamp(26px,7.5vw,36px)!important; }
}

/* Short landscape viewports still need room to see the image below its copy. */
@media(max-width:1099px) and (max-height:500px) and (orientation:landscape) {
  #hero #hero-bg { height:clamp(300px,90svh,420px)!important; }
  #hero #hero-text-wrapper { top:100px!important; }
  #hero #hero-headline>span { font-size:clamp(26px,4vw,38px)!important; }
  #hero .hero-shield { width:60px!important; bottom:18px!important; }
}

/* The future article hub keeps the existing calm, editorial visual language
   while giving visitors a direct way to start a conversation today. */
.article-coming-soon-page #smooth-wrapper {
  min-height:calc(100svh - 6.1rem)!important;
  overflow:visible!important;
}
.article-coming-soon {
  display:grid!important;
  min-height:calc(100svh - 6.1rem)!important;
  padding:clamp(64px,10vw,152px) var(--padding-inline)!important;
  place-items:center!important;
  background:
    linear-gradient(118deg,rgba(198,157,89,.15),transparent 45%),
    linear-gradient(0deg,rgba(255,255,255,.45),rgba(255,255,255,.45)),
    var(--bg-color-main)!important;
}
.article-coming-soon__content {
  width:min(100%,900px)!important;
  padding:clamp(28px,5vw,68px)!important;
  border:1px solid rgba(86,68,36,.24)!important;
  background:rgba(247,245,241,.76)!important;
  box-shadow:0 22px 65px rgba(45,35,17,.08)!important;
}
.article-coming-soon .h5 {
  margin:0 0 18px!important;
  color:var(--color-accent-darker)!important;
}
.article-coming-soon h1 {
  max-width:12ch!important;
  margin:0!important;
  font-family:var(--font-styled-2),serif!important;
  font-size:clamp(2.9rem,6.4vw,6.4rem)!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
  line-height:.93!important;
}
.article-coming-soon__lead {
  max-width:52ch!important;
  margin:28px 0 0!important;
  font-size:clamp(1.02rem,1.45vw,1.22rem)!important;
  line-height:1.5!important;
}
.article-coming-soon__note {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:32px!important;
  align-items:end!important;
  margin-top:clamp(36px,5vw,60px)!important;
  padding-top:24px!important;
  border-top:1px solid rgba(86,68,36,.24)!important;
}
.article-coming-soon__note p {
  max-width:42ch!important;
  margin:0!important;
  line-height:1.55!important;
}
.article-coming-soon__actions {
  display:grid!important;
  gap:10px!important;
  width:min(100%,290px)!important;
}
.article-coming-soon__actions .button {
  display:flex!important;
  justify-content:space-between!important;
  min-height:52px!important;
  padding-inline:1.1rem!important;
}
.article-coming-soon__actions .button.outline {
  border:1px solid rgba(34,34,34,.38)!important;
  color:var(--text-color)!important;
  background:transparent!important;
}
.article-coming-soon__back {
  display:inline-flex!important;
  gap:.6rem!important;
  margin-top:28px!important;
  color:var(--text-color)!important;
  text-decoration:none!important;
}
.article-coming-soon__back:hover,
.article-coming-soon__back:focus-visible { color:var(--color-accent-darker)!important; }
@media(max-width:1099px) {
  .article-coming-soon-page #smooth-wrapper,
  .article-coming-soon { min-height:calc(100svh - 4.75rem)!important; }
  .article-coming-soon-page #smooth-wrapper { padding-top:4.75rem!important; }
  .article-coming-soon { padding-block:clamp(44px,9vw,84px)!important; }
}
@media(max-width:680px) {
  .article-coming-soon { padding-inline:clamp(16px,5vw,24px)!important; }
  .article-coming-soon__content { padding:clamp(24px,7vw,34px)!important; }
  .article-coming-soon h1 { font-size:clamp(2.55rem,13vw,4rem)!important; }
  .article-coming-soon__note { grid-template-columns:1fr!important; gap:24px!important; }
  .article-coming-soon__actions { width:100%!important; }
}

/* Matching translucent controls with space between them in the phone header. */
@media(max-width:749px) {
  header #nav-button,
  header .lead-header-cta {
    width:74px!important;
    min-width:74px!important;
    height:44px!important;
    min-height:44px!important;
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:12px!important;
    background:rgba(235,232,226,.52)!important;
    color:#252525!important;
    box-shadow:inset 0 0 0 1px rgba(24,26,29,.08),0 2px 10px rgba(24,26,29,.06)!important;
    backdrop-filter:blur(14px) saturate(1.15)!important;
    -webkit-backdrop-filter:blur(14px) saturate(1.15)!important;
  }
  header #nav-button {
    justify-content:center!important;
    padding:0 7px!important;
    font-family:var(--font-styled)!important;
    font-size:12px!important;
    font-weight:var(--font-weight-medium)!important;
    letter-spacing:0!important;
    line-height:1!important;
  }
  header .lead-header-cta {
    right:calc(max(1rem,env(safe-area-inset-right,0px)) + 84px)!important;
    justify-content:center!important;
    padding:0 8px!important;
    border-color:var(--color-accent)!important;
    background:var(--color-accent)!important;
    color:#fff!important;
    box-shadow:0 2px 10px rgba(78,55,18,.14)!important;
  }
  header .lead-header-cta::after {
    font-size:12px!important;
    font-weight:var(--font-weight-medium)!important;
    letter-spacing:0!important;
    transform:translateX(-2px)!important;
  }
  header .lead-header-cta:active,
  header .lead-header-cta:focus-visible { background:var(--color-accent-darker)!important; }
  header #nav-button:active,
  header #nav-button:focus-visible { background:rgba(221,214,201,.78)!important; }
  html.nav-opened header #nav-button { color:#252525!important; }
}
@media(max-width:379px) {
  header .lead-header-cta {
    right:calc(.85rem + 84px)!important;
  }
}
