/* Container-based adaptation: the website responds to its own window, including desktop carousels. */
@font-face{font-family:"Instrument Serif";src:url("assets/fonts/instrument-serif-normal-latin.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("assets/fonts/hanken-grotesk-normal-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
.sc{--fb:"Hanken Grotesk",sans-serif;--b:clamp(14px,1.65cqw,19px);--s:clamp(14px,1.3cqw,15px);--h3:clamp(20px,2.5cqw,30px);--h2:clamp(30px,4.2cqw,56px);--h1:clamp(38px,6cqw,76px);--pad:5cqw;--gap:2.4cqw;--sec:7cqw;--mute:#52616a;--ls:-.025em}
.sc-villa,.sc-apartment,.sc-restaurant,.sc-property-care,.sc-gardening,.sc-casa-alta{--fd:"Instrument Serif",Georgia,serif;--fw:400}
.sc-restaurant{--mute:#c3b7a4}.sc-villa{--mute:#605b4e}.sc-apartment{--mute:#625b50}.sc-property-care{--mute:#526155}.sc-gardening{--mute:#4d5f47}.sc-construction{--mute:#615e58;--ls:-.025em}
.sc :is(button,input,select,textarea){font:inherit;letter-spacing:inherit}
.sc button{cursor:pointer;color:inherit;border:0;background:transparent}
.sc button.btn{background:var(--acc);color:var(--acc-ink,#fff);white-space:normal;line-height:1.3;min-height:44px;text-align:center;border-radius:var(--r,4px)}
.sc :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--acc);outline-offset:4px}
.sc button:hover{filter:brightness(.92)}
.sc ::selection{background:var(--acc);color:var(--acc-ink,#fff)}
.sc :is(input,textarea){caret-color:var(--acc)}
.sc [hidden]{display:none!important}
.sc-season-range{display:none}
.sc .nav{min-height:76px;flex-wrap:wrap;font-size:var(--s);gap:20px}
.sc .nav .brand{font-size:clamp(24px,3cqw,36px)}
.sc .nav .links{gap:2cqw}.sc .nav .links button{padding:10px 0;white-space:normal;text-align:left;min-height:44px}
.sc-mobile-menu{display:none}
.sc p{max-width:62ch}.sc .sec>h2{margin-bottom:24px}
.sc .foot{font-size:14px;gap:20px;flex-wrap:wrap;line-height:1.5}
.sc .sc-request{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5cqw;background:var(--bg);border-top:1px solid var(--line);padding-top:7cqw;padding-bottom:8cqw}
.sc-request h2{margin-bottom:20px}.sc-request p{margin-top:12px;font-size:var(--s);color:var(--mute)}
.sc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-content:start}
.sc-form label{display:grid;gap:8px;font-size:var(--s);font-weight:500;min-width:0}
.sc-form :is(input,select,textarea){width:100%;min-width:0;min-height:46px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:12px;border-radius:4px;line-height:1.4;color-scheme:light}
.sc-restaurant .sc-form :is(input,select,textarea){color-scheme:dark}
.sc-form :is(input,textarea)[aria-invalid=true]{border:2px solid #bc3d34}
.sc-form-wide{grid-column:1/-1}.sc-status{min-height:24px}.sc-success{font-weight:600;color:var(--ink)!important}
.sc .sc-service-select{padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:var(--s);min-height:44px;align-self:center;justify-self:start}
.sc .rows>li{grid-template-columns:minmax(0,1fr) auto!important}.sc .rows>li>.ic{display:none}.sc .rows>li>div{grid-column:1}.sc .rows>li>:is(h3,div){min-width:0}
.sc .sc-gallery{padding-top:0}.sc-gallery h2{margin-bottom:24px}.sc-gallery-view{aspect-ratio:16/8;overflow:hidden}.sc-gallery-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;font-size:var(--s)}.sc-gallery-controls button{padding:10px 0;min-height:44px}
.sc-menu-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.sc-menu-head p{font:var(--s)/1.5 var(--fb);color:var(--mute)}
.sc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.sc-filters button{padding:10px 18px;border:1px solid var(--line);border-radius:30px;font-family:var(--fb);font-size:var(--s);min-height:44px}.sc-filters button[aria-pressed=true]{background:var(--acc);color:var(--acc-ink)}
.sc-menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 5cqw;font-family:var(--fb);font-size:var(--b)}.sc-menu-list article{padding:18px 0;display:flex;justify-content:space-between;align-items:start;gap:18px;border-bottom:1px solid var(--line)}.sc-menu-list b{white-space:nowrap;font-weight:500;font-variant-numeric:tabular-nums}
.sc-it-company{--bg:#eef2f7;--ink:#19304a;--acc:#2449a0;--acc-ink:#fff;--fd:"Hanken Grotesk",sans-serif;--fw:550}.sc-it-company .n-hero{padding-top:5cqw}.sc-it-company .n-photo{aspect-ratio:4/5;border-radius:0;overflow:hidden}.sc-it-company .n-photo>img{border-radius:0}.sc-it-caption{position:absolute;inset:auto 0 0;background:#19304a;color:#fff;padding:3cqw}.sc-it-caption h3{margin-bottom:12px;font-size:var(--h3)}.sc-it-caption p{font-size:var(--s);color:#e0e8f4}.sc-it-company .n-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3cqw}.sc-it-company .n-grid li{border-radius:0;box-shadow:none;background:transparent;border:0;border-top:1px solid var(--line);padding:2cqw 0;display:grid;gap:18px}.sc-it-company .n-mark{display:none}
.sc-construction .k-hero h1{font-size:clamp(38px,7cqw,96px);letter-spacing:-.025em}
.sc-it-company .n-photo>img{object-position:75% 40%!important}
.sc-casa-alta{--bg:#f5efe4;--ink:#1b2b2f;--mute:#56605c;--line:#d9d1c3;--acc:#56643f;--acc-ink:#fffdf8;--r:4px;--fd:"Instrument Serif",serif}
.ca-hero{position:relative;isolation:isolate;color:#fffdf8;min-height:58cqw;background:#1b2b2f}.ca-hero>img{position:absolute;inset:0;z-index:-2}.ca-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#142124e6 0%,#1421247a 62%,#14212455)}
.sc-casa-alta .nav{padding-top:2cqw}.sc-casa-alta .brand{font:400 3.4cqw/1.1 "Instrument Serif",serif}.sc-casa-alta .nav .btn.alt{border:1px solid #ffffff65;background:transparent;color:#fff}
.ca-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.9fr);gap:5cqw;padding:5cqw var(--pad) 7cqw;align-items:center}.ca-copy{display:flex;flex-wrap:wrap;gap:20px;align-items:start}.ca-copy h1{font-size:6.5cqw;line-height:1.04;max-width:14ch}.ca-copy p{font-size:var(--b);max-width:47ch;line-height:1.65}.sc-casa-alta .ca-copy .btn{background:#fffdf8;color:#1b2b2f}.ca-copy .lnk{color:#fffdf8;border:0;border-bottom:1px solid #ffffff70;border-radius:0;padding:12px 0}
.ca-update{padding:2.6cqw;background:#fffdf8;color:#1b2b2f;border-radius:14px;box-shadow:0 20px 60px #14212440}.ca-update small{font:var(--s)/1.4 var(--fb);color:#56605c}.ca-update h3{font-family:var(--fb);font-size:2cqw;line-height:1.25;margin:14px 0 8px}.ca-update p{font-size:var(--s);color:#56605c}.ca-update ul{display:grid;gap:12px;margin:22px 0}.ca-update li{display:flex;gap:10px;align-items:center;font-size:var(--s)}.ca-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;height:6cqw}.ca-thumbs img{border-radius:5px}.ca-strip{display:flex;justify-content:space-between;gap:24px;padding:2cqw var(--pad);border-top:1px solid #ffffff30;font:var(--s)/1.5 var(--fb);background:#14212450}
.ca-intro{display:grid;grid-template-columns:1fr 1fr;gap:6cqw;align-items:center}.ca-intro .ph{aspect-ratio:4/5}.ca-intro h2{margin-bottom:24px}.ca-intro p{color:var(--mute);margin-bottom:26px}.ca-intro h3{margin-bottom:26px}.ca-services{background:#ebe2d2}.ca-services>p{margin-bottom:30px}.ca-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2cqw}.ca-service-grid .ph{aspect-ratio:3/4}.ca-service-grid h3{margin:18px 0;font-size:2.4cqw}
/* Outer document controls are deliberately outside each brand's shadow root. */
html body #dc-root .sc-page{overflow:hidden;scrollbar-width:thin;scrollbar-color:#8a9eaa #eef2f4}
.sc-toolbar{position:absolute;bottom:12px;right:12px;z-index:8;display:flex;gap:10px}.sc-toolbar button,.sc-close{font:600 14px/1.4 "Hanken Grotesk",sans-serif;background:#fff;color:#19304a;padding:12px 18px;border:1px solid #d7e1e6;border-radius:24px;min-height:44px;cursor:pointer;box-shadow:0 8px 25px #14212425}
.sc-toolbar button:focus-visible,.sc-close:focus-visible{outline:3px solid #2375ac;outline-offset:3px}
.sc-page.sc-user-mode{overflow:auto!important}.sc-page.sc-user-mode .sc-scroll-host{animation:none!important;transform:none!important;will-change:auto}.sc-page.sc-user-mode .sc-toolbar{position:sticky;bottom:12px;justify-content:end;pointer-events:none;padding-right:12px;margin-top:-60px}.sc-toolbar button{pointer-events:auto}
.sc-tour-paused .sc-scroll-host{animation-play-state:paused!important}
.sc-expanded{position:fixed;inset:18px;width:calc(100vw - 36px);height:calc(100dvh - 36px);max-width:1440px;max-height:none;padding:0;border:0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 24px 90px #102b4050}.sc-expanded::backdrop{background:#102b40c9}.sc-expanded .sc-page{position:absolute;inset:54px 0 0;container-type:inline-size;background:#fff;overflow:auto}.sc-expanded .sc-toolbar{display:none!important}.sc-close{position:absolute;top:5px;right:12px;z-index:10;box-shadow:none}
@container(max-width:700px){
 .sc{--pad:6cqw;--sec:14cqw;--h1:clamp(38px,10cqw,58px);--h2:clamp(30px,8cqw,44px);--h3:clamp(21px,5.5cqw,28px);--b:16px;--s:14px;--gap:6cqw}
 .sc .nav{padding-block:18px;gap:16px}.sc .nav .brand{font-size:30px}.sc .nav>.btn{display:none}.sc .nav .links{display:none;order:4;width:100%;flex-direction:column;gap:2px}.sc .nav.sc-menu-open .links{display:flex}.sc-mobile-menu{display:block!important;min-height:44px;padding:10px!important;border:1px solid var(--line)!important;border-radius:4px}
 .sc :is(.a-hero,.c-hero,.r-hero,.n-hero,.p-hero,.e-hero,.l-hero,.f-hero,.k-hero,.z-hero,.g-hero,.b-hero,.t-hero,.a-loc,.p-week,.p-how,.r-res,.g-intro,.sc-request,.ca-intro,.ca-layout){grid-template-columns:minmax(0,1fr)!important;gap:8cqw!important}
 .sc :is(.a-copy,.c-copy,.r-copy,.n-copy,.p-copy,.e-copy,.l-copy,.f-copy,.k-copy,.z-copy,.g-copy,.b-copy,.t-copy){padding:8cqw var(--pad)!important;max-width:none!important}
 .sc :is(h1,h2,h3){font-size:var(--h1)!important;max-width:100%!important}.sc h2{font-size:var(--h2)!important}.sc h3{font-size:var(--h3)!important}
 .sc :is(.a-copy,.c-copy,.r-copy,.n-copy,.p-copy,.e-copy,.l-copy,.f-copy,.k-copy,.z-copy,.g-copy,.b-copy,.t-copy) p{max-width:none!important;font-size:16px!important}
 .sc :is(.a-photo,.c-visual .ph,.r-photo,.n-photo,.p-photo,.e-photo,.l-photo,.f-photo,.k-photo,.z-photo,.g-photo,.b-photo,.t-photo){min-height:0!important;aspect-ratio:4/3!important;max-height:none!important}
 .sc :is(.a-gal,.v-grid,.a-grid,.n-grid,.e-list,.l-grid,.f-grid,.k-grid,.z-grid,.z-gal,.g-grid,.b-grid,.t-grid,.ca-service-grid){grid-template-columns:minmax(0,1fr)!important;gap:7cqw!important}
 .sc :is(.v-big,.f-big,.k-big){grid-row:auto!important;grid-column:auto!important}.sc .v-copy{max-width:none!important;padding:12cqw var(--pad) 15cqw}.sc .v-copy p{max-width:none;font-size:16px}.sc .v-hero{min-height:130cqw}.sc .v-head,.sc .t-head,.sc .e-head,.sc .n-head{display:block}.sc .v-info{flex-wrap:wrap;gap:14px}.sc .v-spec{font-size:14px}
 .sc :is(.c-hero,.n-hero,.e-hero,.l-hero,.f-hero,.k-hero,.z-hero,.b-hero,.t-hero){padding:0!important}.sc :is(.c-visual,.n-photo,.e-photo,.l-photo,.f-photo,.k-photo,.z-photo,.b-photo,.t-photo){margin-inline:var(--pad)!important}
 .sc .c-ctl{position:relative;inset:auto;width:100%;margin-top:16px;padding:20px}.sc .c-ctl b{font-size:48px}.sc .c-seg button{padding:10px;min-height:44px;font-size:14px}.sc .c-visual{padding-bottom:20px}
 .sc :is(.c-steps ol,.n-flow ol,.p-how ol,.e-how ol,.l-how ol,.f-how ol,.k-how ol){grid-template-columns:1fr!important;gap:26px}.sc :is(.c-cta,.n-cta,.p-cta,.e-cta,.l-cta,.f-cta,.k-cta,.z-cta,.g-cta,.b-cta,.t-cta){flex-direction:column;align-items:start;gap:24px;padding:var(--sec) var(--pad)}
 .sc .rows>li{grid-template-columns:1fr!important;gap:16px;padding:22px 0}.sc .r-story{max-width:none}.sc-menu-list{grid-template-columns:1fr}.sc-menu-head{display:block}.sc-menu-head p{margin-top:12px}.sc-form{gap:20px;grid-template-columns:1fr}.sc-gallery-view{aspect-ratio:4/3}.sc-gallery-controls{flex-wrap:wrap}.sc .btn{padding:14px 20px;font-size:14px!important}
 .ca-hero{min-height:0}.ca-layout{padding:12cqw var(--pad)!important}.ca-copy h1{font-size:12cqw!important;max-width:14ch!important}.ca-copy p{font-size:16px}.ca-update{padding:24px;border-radius:14px}.ca-thumbs{height:18cqw}.ca-strip{flex-direction:column;padding:22px var(--pad);gap:12px}.ca-service-grid .ph{aspect-ratio:4/3}.sc .sc-it-caption{padding:22px}.sc .sc-it-caption h3{font-size:22px!important}
 .sc :is(.a-act,.n-act,.c-act,.g-act,.b-act){flex-wrap:wrap;gap:20px}.sc :is(.btn,.lnk){white-space:normal;max-width:100%;line-height:1.4;overflow-wrap:break-word}.sc .lnk{font-size:14px;padding:10px 0}
 .sc-it-company .n-photo{aspect-ratio:auto!important;overflow:visible}.sc-it-company .n-photo>img{height:auto;aspect-ratio:4/3}.sc-it-company .sc-it-caption{position:static}
 .sc-construction .k-hero{padding:10cqw var(--pad)!important;display:block}.sc-construction .k-hero h1{margin-bottom:26px;line-height:1.08}.sc-construction .k-sub{display:flex;flex-direction:column;align-items:start;gap:24px}.sc-construction .k-sub p,.sc-construction .k-pl p{max-width:none!important;font-size:16px}.sc-construction .k-photo{margin:0!important;padding:0 var(--pad)}.sc-construction .k-photo .ph{aspect-ratio:4/3}.sc-construction .k-rows>li{grid-template-columns:minmax(0,1fr);padding:24px 0;gap:14px}.sc-construction .k-rows>li>.ic{display:none}.sc-construction .k-proc{grid-template-columns:1fr;gap:30px;padding-top:8cqw}.sc-construction .k-proc ol{grid-template-columns:1fr;gap:26px}
 .sc-pool-service .z-vis{margin-inline:var(--pad)}.sc-pool-service .z-read{position:relative;inset:auto;min-width:0;width:100%;padding:24px 16px;margin-top:18px;box-shadow:none;border:1px solid var(--line)}.sc-pool-service .z-rh{flex-wrap:wrap;font-size:14px}.sc-pool-service .z-read dl{margin:18px 0 0;gap:14px}.sc-pool-service .z-read dd{margin:8px 0 0;font-size:24px}.sc-pool-service .z-year ol{grid-template-columns:1fr;gap:28px}.sc-pool-service .z-note{flex-direction:column;align-items:start;gap:24px;padding:var(--sec) var(--pad)}.sc-pool-service .z-note p{max-width:none;font-size:16px}
 .sc .c-seg{flex-wrap:wrap}.sc .c-seg button{flex:1}.sc .c-ctl{min-width:0}.sc .g-do ul{grid-template-columns:1fr;gap:24px}.sc .g-mo,.sc .g-row i{display:none}.sc .g-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.sc .sc-season-range{display:block;font-size:14px;color:var(--mute)}.sc .b-hero{min-height:120cqw}.sc .b-copy{max-width:none;gap:20px;padding:12cqw var(--pad)!important}.sc .b-copy p{max-width:none}.sc .b-list>li{grid-template-columns:1fr;gap:18px;padding:28px 0}.sc .b-list .ph{width:100%;height:auto;aspect-ratio:4/3}
}
@media(max-width:600px){.sc-expanded{inset:0;width:100vw;height:100dvh;border-radius:0}.sc-toolbar{right:8px;bottom:8px}.sc-toolbar button{font-size:14px;padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.sc-scroll-host{animation:none!important;transform:none!important}.sc-page{scroll-behavior:auto!important}}
