@font-face{font-family:Jakarta;src:url("assets/fonts/jakarta.ttf") format("truetype");font-weight:200 800;font-display:swap}

@font-face{font-family:Liferdas;src:url("assets/fonts/liferdas-black.otf") format("opentype");font-weight:900;font-display:swap}
@font-face{font-family:Liferdas;src:url("assets/fonts/liferdas-bold.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:Liferdas;src:url("assets/fonts/liferdas-demibold.otf") format("opentype");font-weight:600;font-display:swap}
@font-face{font-family:Attoma;src:url("assets/fonts/attoma.otf") format("opentype");font-display:swap}
:root{--cream:#f7f3e4;--green:#003d35;--wine:#660c1c;--sage:#9fba99;--ink:#121212;font-family:Jakarta,sans-serif;color:var(--ink);font-size:min(.833333333vw,16px);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--cream)}h1,h2,p{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:0.1875rem solid #c9a56f;outline-offset:0.3125rem}a:hover{opacity:.8}button:hover{filter:brightness(1.14)}.site-shell{max-width:1920px;margin:auto;position:relative;overflow:hidden}.sr-only{position:absolute;width:0.0625rem;height:0.0625rem;padding:0;margin:-0.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1.25rem;top:-6.25rem;z-index:100;background:var(--cream);padding:0.75rem;font-size:1rem}.skip-link:focus{top:0.625rem}.site-header{position:absolute;inset:0 0 auto;height:7.125rem;background:var(--wine) url('assets/images/header-texture.webp') center/100% 100%;z-index:10}.desktop-nav{display:flex;align-items:center;height:100%;padding-left:3.1875rem;gap:4.375rem;color:#fff;font-size:1.43125rem}.desktop-nav a:nth-child(2){margin-left:0.125rem}.desktop-nav a:nth-child(3),.desktop-nav a:nth-child(4){margin-left:-1.125rem}.menu-toggle{position:absolute;top:1.9375rem;right:4.875rem;width:3.625rem;height:3.375rem;padding:0.5625rem;background:none;display:grid;align-content:space-between}.menu-toggle span{display:block;height:0.1875rem;background:#c2a28b;width:2.3125rem}.menu-panel{position:absolute;right:3.125rem;top:5.9375rem;padding:1.875rem;background:var(--wine);color:var(--cream);box-shadow:0 0.5rem 2.5rem #0004;min-width:19.375rem;font-size:1.5625rem}.menu-panel:not([hidden]){display:grid;gap:1.5625rem}.hero{position:relative;height:78.375rem;color:white}.hero-image{width:100%;height:100%;object-fit:fill}.design-text{position:absolute;font-weight:500}.hero-title,.location-title,.connection-title{font-family:Liferdas,serif;font-weight:900;text-transform:uppercase}.hero-aside{position:absolute;left:84.3125rem;top:7.125rem;width:35.6875rem;height:71.25rem;background:rgba(55,0,11,.7) url('assets/images/hero-texture.webp') center/100% 100%}.hero-aside{background-color:transparent}.hero-logo{position:absolute;left:3.3125rem;top:12.4375rem;width:29.125rem;height:11.375rem}.lead-form{position:absolute;left:3.1875rem;right:3.25rem;top:34.9375rem}.lead-form label{display:block;height:8.125rem}.lead-form input{display:block;width:100%;height:5.6875rem;border:0;border-bottom:0.1875rem solid #b7ae8e;border-radius:0;background:transparent;color:white;font-size:1.69063rem;font-weight:500;padding:0 0 2.125rem;outline-offset:0.1875rem}.lead-form input::placeholder{color:white;opacity:1}.submit-button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;height:4.25rem;width:100%;margin-top:4.875rem;padding:0 1.8125rem 0 1.5625rem;background:#ffffff47;color:white;font-size:1.42312rem;font-weight:700;white-space:nowrap}.arrow-box{display:grid;place-items:center;flex-shrink:0;width:2.75rem;height:2.75rem;background:#ffffff4d;font-size:2.125rem;line-height:1}.form-status{position:absolute;top:100%;font-size:1.125rem;line-height:1.4;background:var(--cream);color:var(--green);z-index:2}.form-status:not(:empty){padding:0.875rem;margin-top:0.625rem}.boutique{position:relative;height:74.75rem;background:var(--cream) url('assets/images/botanical-cream.webp') center/100% 100%;color:var(--green)}.boutique-title{position:absolute;left:3.25rem;top:12.875rem;font-family:Liferdas,serif;text-transform:uppercase;font-weight:700}.boutique-title span{display:block;font-size:1.98937rem;line-height:2.625rem}.boutique-title strong{display:block;font-size:3.93187rem;font-weight:900;line-height:4.1875rem}.boutique-logo{position:absolute;left:45.5625rem;top:6.6875rem;width:29.25rem;height:14.375rem}.features{position:absolute;right:3.25rem;top:9.3125rem;width:26.625rem;display:grid;gap:1.8125rem}.features p{height:4.5rem;background:#9e2938;color:var(--cream);display:flex;justify-content:center;align-items:center;text-transform:uppercase;font-size:1.2875rem;font-weight:300;white-space:nowrap;position:relative}.features p:nth-child(2){font-size:1.32812rem}.features strong{font-family:Liferdas,serif;font-weight:600;font-size:1.89375rem}.feature-leaf{position:absolute;left:-1.625rem;top:0.375rem;width:3.125rem;height:4.125rem}.gallery{position:absolute;left:3.3125rem;right:0;top:25.625rem;overflow:hidden}.gallery-track{display:flex;gap:2.5rem;transition:transform .6s ease;will-change:transform}.gallery-image{flex:0 0 55.5625rem;width:55.5625rem;height:30.875rem;object-fit:cover}.gallery-controls{position:absolute;left:3.3125rem;top:63.625rem;display:flex;align-items:center;gap:1.3125rem;width:46.5rem}.gallery-controls button{width:3.375rem;height:3.375rem;padding:0;color:var(--cream);background:var(--green);font-size:2.5rem;line-height:1;flex-shrink:0}.gallery-progress{margin-left:1rem;width:36.3125rem;height:0.1875rem;background:#003d354d}.gallery-progress span{display:block;width:3.3125rem;height:0.25rem;background:var(--green);transition:transform .6s}.boutique-tagline{position:absolute;left:54.25rem;top:63.5625rem}.boutique-tagline span{display:block;font-family:Liferdas,serif;font-weight:600;font-size:2.18rem;letter-spacing:0.04375rem;text-transform:uppercase;line-height:2.625rem}.boutique-tagline em{display:block;font-family:Attoma,cursive;font-size:5.52125rem;font-weight:400;line-height:3rem;margin-top:-0.4375rem}.location{position:relative;background:var(--sage)}.location-intro{height:32rem;position:relative;background:url('assets/images/botanical-green.webp') left top/120rem 102.625rem}.location-ribbon{position:absolute;left:3.1875rem;top:22.5625rem;width:47.8125rem;height:4.375rem;color:#fff;background:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.80375rem;font-weight:500;white-space:nowrap}.map-canvas{position:relative;width:100%;height:70.625rem}.map-image{width:100%;height:100%;object-fit:fill}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translateX(-50%);font-size:1.71875rem;font-weight:500;line-height:2.0625rem;white-space:nowrap;text-align:center;color:var(--cream);isolation:isolate}.map-pin:before{content:"";position:absolute;top:0.75rem;left:calc(50% - 0.1875rem);width:0.375rem;height:calc(var(--stem) - 0.75rem);background:#660c1c;z-index:-1}.map-pin span{background:#660c1c;padding:0 0.6875rem;box-decoration-break:clone;-webkit-box-decoration-break:clone}.map-pin:nth-last-child(2):before,.map-pin:nth-child(6):before,.map-pin:nth-child(5):before,.map-pin:nth-child(10):before,.map-pin:nth-child(11):before{background:var(--cream)}.map-brand{position:absolute;left:71.125rem;top:34.4375rem;width:7.25rem;height:7.125rem;border:0.1875rem solid var(--cream);border-radius:42%;background:var(--wine);display:grid;place-items:center}.map-brand img{width:6.4375rem}.map-brand:after{content:"";position:absolute;top:100%;width:0.375rem;height:3.4375rem;background:var(--cream)}.map-hint{display:none}.connection{position:relative;height:28.3125rem;background:var(--cream) url('assets/images/botanical-banner.webp') center/100% 100%}.connection-boulevard{position:absolute;left:3.125rem;top:15.75rem;width:32.5625rem;height:4.0625rem}.connection-essenza{position:absolute;left:45.1875rem;top:11.8125rem;width:29.5625rem;height:7.8125rem}.contact{position:relative;height:73.375rem;color:white}.contact-image{width:100%;height:100%;object-fit:fill}.contact-aside{position:absolute;inset:0 auto 0 0;width:35.6875rem;background:#003d35cc}.contact-logo{position:absolute;left:9.375rem;top:4.25rem;width:16.9375rem;height:14.5625rem}.contact .lead-form{top:34.9375rem}.contact .submit-button{background:var(--sage);color:var(--green)}.contact .arrow-box{background:#fff5e1;color:var(--green)}.contact-title u{text-decoration-thickness:0.1875rem;text-underline-offset:0.5rem}.footer{height:32.375rem;position:relative;background:var(--wine) url('assets/images/botanical-footer.webp') center/100% 100%;color:#fff0d2}.footer-contacts{position:absolute;left:12.3125rem;right:12.25rem;top:8.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.625rem;font-size:1.875rem;font-weight:500;white-space:nowrap}.footer-contacts a{display:flex;gap:0.75rem;align-items:center}.footer-contacts a:first-child{letter-spacing:0.1875rem}.footer-contacts svg{width:2.4375rem;height:2.4375rem;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}.contact-icon{font-size:2.625rem;line-height:1}.footer-partners{position:absolute;left:12.3125rem;right:12.25rem;top:12.5rem;height:6.5rem;display:flex;align-items:center;gap:4.5rem}.footer-partners>div{display:flex;align-items:center;gap:2.625rem}.footer-partners span{font-size:1.0625rem;letter-spacing:0.08125rem;white-space:nowrap}.partner-terra{width:26.625rem}.partner-marfim{width:12.3125rem}.partner-campos{width:14.375rem}.footer-partners .development{gap:2.375rem}.footer-rule{position:absolute;left:12.5625rem;right:12.125rem;top:20.6875rem;height:0.1875rem;background:#f7f3e4aa}.privacy-link{position:absolute;left:12.5rem;top:22.125rem;padding:0;background:none;color:white;font-size:0.9125rem;font-weight:300}.privacy-dialog{border:0;padding:2.5rem;max-width:35rem;width:calc(100% - 2.5rem);background:var(--cream);color:var(--green);font-size:1rem;line-height:1.6}.privacy-dialog::backdrop{background:#0009}.privacy-dialog h2{font:700 1.875rem Liferdas,serif;margin:0 1.25rem 1.25rem 0}.privacy-dialog p+p{margin-top:0.75rem}.privacy-dialog a{text-decoration:underline}.close-dialog{position:absolute;right:0.75rem;top:0.5rem;font-size:1.875rem;background:none;color:var(--green)}
.hero-title{left:3.125rem;top:18.4295rem;font-size:6.702rem;line-height:8.04237rem;color:#fff;white-space:nowrap;}
.hero-copy{left:3.178rem;top:42.5032rem;font-size:2.39581rem;line-height:3.03475rem;color:#fff;white-space:nowrap;}
.hero-note{left:3.1875rem;top:71.6487rem;font-size:1.71513rem;line-height:1.92094rem;color:#fff;white-space:nowrap;font-weight:300;}
.boutique-copy{left:93.125rem;top:63.3383rem;font-size:1.91669rem;line-height:1.9965rem;color:#003d35;white-space:nowrap;}
.location-title{left:3.25rem;top:5.90856rem;font-size:3.63669rem;line-height:4.39238rem;color:#121212;white-space:nowrap;}
.location-copy{left:61.25rem;top:6.18681rem;font-size:1.85506rem;line-height:2.34975rem;color:#121212;white-space:nowrap;}
.connection-title{left:3.25rem;top:8.53356rem;font-size:3.63669rem;line-height:4.39238rem;color:#581421;white-space:nowrap;}
.connection-copy{left:84rem;top:8.31181rem;font-size:1.85506rem;line-height:2.34975rem;color:#121212;white-space:nowrap;}
.contact-title{left:3.12719rem;top:21.9864rem;font-size:2.434rem;line-height:3.37131rem;color:#fff;white-space:nowrap;font-family:Liferdas,serif;font-weight:900;letter-spacing:0.120625rem;}

@media(max-width:1023px){
 :root{font-size:16px}.site-shell{width:100%;overflow:hidden}.site-header{height:72px;background-size:auto 100%}.desktop-nav{padding-left:20px;font-size:12px;gap:18px}.desktop-nav a:nth-child(n+2){display:none}.menu-toggle{top:12px;right:15px;width:48px;height:48px;padding:11px 8px}.menu-toggle span{width:30px;height:2px}.menu-panel{top:72px;right:0;width:100%;min-width:0;padding:28px;font-size:19px;gap:24px}.hero{height:auto;min-height:0;padding-top:72px;padding-bottom:0;background:transparent}.hero-image{position:absolute;top:72px;width:100%;height:655px;object-fit:cover;object-position:42% center}.hero:after{content:"";position:absolute;inset:72px 0 auto;height:530px;background:linear-gradient(#002f4940,transparent);pointer-events:none}.hero-title{position:relative;z-index:1;left:auto;top:auto;padding:48px 24px 0;font-size:clamp(38px,9.6vw,64px);line-height:1.18;white-space:normal}.hero-copy{position:relative;z-index:1;left:auto;top:auto;margin:18px 24px 0;max-width:400px;font-size:16px;line-height:1.45;white-space:normal;text-shadow:0 1px 8px #0008}.desktop-break{display:none}.hero-note{position:relative;z-index:1;top:auto;left:auto;margin:246px 24px 28px;font-size:12px;line-height:1.4;max-width:290px;white-space:normal}.hero-aside{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:520px;padding:36px 26px 30px;background:#581421 url('assets/images/hero-texture.webp') center/cover}.hero-logo{position:static;width:250px;height:auto;margin:0 auto 28px}.lead-form,.contact .lead-form{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:440px;margin:auto}.lead-form label{height:73px}.lead-form input{height:55px;font-size:16px;padding:12px 0 16px;border-bottom:1px solid #c5b694}.submit-button{height:52px;margin-top:18px;font-size:12px;padding:0 15px 0 17px;gap:8px}.arrow-box{width:30px;height:30px;font-size:25px}.form-status{position:static;font-size:13px}.form-status:not(:empty){margin-top:12px;padding:12px}.boutique{height:auto;padding:45px 0 38px;background-size:auto 100%}.boutique-title{position:static;margin:0 24px;text-align:center}.boutique-title span{font-size:21px;line-height:1.35}.boutique-title strong{font-size:37px;line-height:1.2}.boutique-logo{position:static;width:260px;height:auto;margin:28px auto}.features{position:static;width:290px;max-width:calc(100% - 60px);margin:0 auto 34px;gap:12px}.features p{height:43px;font-size:13px}.features p:nth-child(2){font-size:14px}.features strong{font-size:21px}.feature-leaf{left:-17px;top:3px;width:31px;height:41px}.gallery{position:relative;left:auto;top:auto;right:auto;margin-left:24px;width:calc(100% - 24px)}.gallery-track{gap:16px}.gallery-image{width:calc(100vw - 56px);flex-basis:calc(100vw - 56px);height:auto;aspect-ratio:888/494}.gallery-controls{position:relative;top:auto;left:auto;width:auto;margin:22px 24px 30px;gap:12px}.gallery-controls button{width:44px;height:44px;font-size:28px}.gallery-progress{margin-left:10px;width:auto;flex:1;height:2px}.gallery-progress span{width:25%;height:3px}.boutique-tagline{position:static;margin:0 24px;text-align:center}.boutique-tagline span{font-size:22px;line-height:1.3;letter-spacing:0}.boutique-tagline em{font-size:59px;line-height:.8;margin-top:0}.boutique-copy{position:static;margin:24px auto 0;padding:0 24px;max-width:370px;font-size:16px;line-height:1.5;text-align:center;white-space:normal}.location-intro{height:auto;padding:42px 24px;background-size:auto 100%}.location-title{position:static;font-size:34px;line-height:1.15;white-space:normal;max-width:520px}.location-ribbon{position:static;width:100%;height:auto;padding:12px;margin:24px 0;font-size:13px;line-height:1.5;white-space:normal;justify-content:flex-start}.location-copy{position:static;font-size:16px;line-height:1.5;white-space:normal}.map-scroll{overflow-x:auto;overscroll-behavior-x:contain}.map-canvas{width:960px;height:565px;max-width:none}.map-pin{font-size:13.75px;line-height:16.5px}.map-pin span{padding:0 5.5px}.map-pin:before{width:3px;left:calc(50% - 1.5px);top:6px;height:calc(var(--stem)/2 - 6px)}.map-brand{left:569px;top:275.5px;width:58px;height:57px;border-width:1.5px}.map-brand img{width:51.5px}.map-brand:after{width:3px;height:27.5px}.map-hint{display:block;text-align:center;font-size:12px;padding:12px;background:var(--sage);color:var(--green)}.connection{height:auto;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:28px;background-size:auto 100%}.connection-title{position:static;align-self:flex-start;font-size:34px;line-height:1.2;white-space:normal}.connection-boulevard,.connection-essenza{position:static;width:280px;height:auto;max-width:100%}.connection-essenza{width:270px}.connection-copy{position:static;font-size:16px;line-height:1.5;white-space:normal;max-width:440px}.contact{height:auto;padding-top:300px;background:var(--green)}.contact-image{position:absolute;top:0;left:0;height:340px;object-fit:cover;object-position:75% center}.contact-aside{position:relative;inset:auto;width:100%;padding:36px 26px;background:linear-gradient(#003d35ee,#003d35)}.contact-logo{position:static;width:170px;height:auto;margin:0 auto 28px}.contact-title{position:static;font-size:28px;line-height:1.4;letter-spacing:.6px;white-space:normal;margin:0 auto 30px;max-width:440px}.contact-title u{text-underline-offset:5px;text-decoration-thickness:1px}.footer{height:auto;padding:42px 24px 32px;background-size:auto 100%}.footer-contacts{position:static;display:grid;justify-content:start;gap:20px;font-size:12px;white-space:normal}.footer-contacts a{gap:10px;overflow-wrap:anywhere}.footer-contacts a:first-child{letter-spacing:1px}.footer-contacts svg{width:25px;height:25px}.contact-icon{font-size:27px}.footer-partners{position:static;display:block;height:auto;margin-top:32px}.footer-partners>div{flex-wrap:wrap;gap:20px}.footer-partners .development{gap:20px;margin-top:26px}.footer-partners span{font-size:10px;letter-spacing:1px;flex-basis:100%}.partner-terra{width:210px}.partner-marfim{width:110px}.partner-campos{width:135px}.footer-rule{position:static;margin-top:30px;height:1px}.privacy-link{position:static;font-size:11px;margin-top:20px;text-align:left;min-height:24px}.privacy-dialog{font-size:16px;padding:28px;max-width:560px;width:calc(100% - 32px)}.privacy-dialog h2{font-size:27px}.close-dialog{right:12px;top:8px;font-size:30px}.skip-link{font-size:16px;padding:12px}
}
@media(min-width:1024px) and (max-width:1100px){.menu-toggle{min-height:44px;min-width:44px;top:3px}.lead-form input{font-size:16px}.desktop-nav{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Optical adjustments checked against the original PDF. */
@media(min-width:1024px){
.hero-title{transform:scaleX(.952);transform-origin:left top}
.boutique-title strong{transform:scaleX(.972);transform-origin:left top}
.location-title{transform:scaleX(.982);transform-origin:left top}
.boutique-tagline em{font-weight:400;-webkit-text-stroke:.035em currentColor;transform:scaleX(1.08);transform-origin:left center}
.contact .lead-form{top:37rem}
.footer-contacts{font-size:1.98rem;gap:1.25rem}
.footer-contacts a:first-child{letter-spacing:.18rem}
}
@media(max-width:1023px){
.hero-image{top:7px;height:780px;clip-path:inset(65px 0 0)}
.hero-title{font-size:clamp(30px,9.2vw,64px)}
.boutique-title strong{font-size:clamp(29px,8.3vw,48px)}
.boutique-tagline em{-webkit-text-stroke:.018em currentColor}
}
@media(min-width:600px) and (max-width:1023px){
.hero-image{height:850px}.hero-note{margin-top:260px}
.desktop-nav{font-size:14px;gap:24px}.desktop-nav a:nth-child(n+2){display:block;margin-left:0}
.hero-aside{padding-top:40px;padding-bottom:40px}.hero-copy{max-width:520px;font-size:20px}
.boutique-copy{max-width:500px}.location-copy{max-width:700px}
.connection{gap:32px}.footer-contacts{font-size:15px}
.footer-partners{display:flex;gap:50px}.footer-partners .development{margin-top:0}
}

@media(min-width:1024px){
.contact-aside{background:transparent url('assets/images/contact-texture.webp') center/100% 100%}
.footer-contacts{display:block;top:8.9375rem;height:2.6875rem;font-size:1.875rem}
.footer-contacts a{position:absolute;top:0;gap:.75rem}
.footer-contacts a:nth-child(1){left:0;letter-spacing:.1875rem}
.footer-contacts a:nth-child(2){left:39.125rem}
.footer-contacts a:nth-child(3){left:60.9375rem}
.footer-partners{display:block;top:12.5rem}
.footer-partners>div{display:contents}
.footer-partners span,.footer-partners img{position:absolute}
.footer-partners span{font-size:1.25rem;letter-spacing:.0625rem}
.construction span{left:0;top:2.6875rem}
.partner-terra{left:12.25rem;top:1.125rem;width:26.75rem}
.development span{left:43.4375rem;top:2.6875rem}
.partner-marfim{left:66rem;top:.8125rem;width:12.625rem}
.partner-campos{left:80.6875rem;top:-1.0625rem;width:14.75rem}
.website-icon{width:2.6875rem;height:2.6875rem}
}
@media(max-width:1023px){.website-icon{width:25px;height:25px}}
@media(max-width:1023px){
.location-title{font-size:clamp(28px,8.6vw,34px)}
.contact-title{font-size:clamp(22px,6.3vw,28px)}
.boutique-tagline em{font-size:clamp(42px,12.8vw,59px)}
}

/* Footer social contacts */
.footer-contacts{display:flex;justify-content:center;align-items:center;gap:2.75rem}
.footer-contacts a:nth-child(n){position:static;letter-spacing:normal}
.footer-contacts .social-icon{width:2rem;height:2rem;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}
@media(max-width:1023px){
.footer-contacts{flex-direction:column;gap:20px;text-align:center}
.footer-contacts a{justify-content:center}
.footer-contacts .social-icon{width:25px;height:25px}
}

/* Full-bleed transitions; each selected gallery photo aligns with the heading. */
.hero-image{position:absolute;left:0;top:0;opacity:0;object-fit:cover;transition:opacity 2s ease;pointer-events:none}
.hero-image.is-active{opacity:1}
.gallery{overflow:visible}
@media(min-width:1024px){.gallery{left:3.25rem}}
@media(max-width:1023px){.hero-image{top:7px}.boutique-title{text-align:left}}
@media(min-width:1024px){.menu-toggle{display:none}}
@media(max-width:1023px){.desktop-nav a:first-child{display:none}}
@media(max-width:1023px){.menu-toggle{animation:menu-toggle-fade-in 1.35s ease both}}
@keyframes menu-toggle-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.menu-toggle{animation:none!important}}

/* Subtle, slow scale on lead form calls to action. */
.lead-form .submit-button{transform:scale(1);transform-origin:center;transition:transform .5s ease-in-out}
.lead-form .submit-button:hover{transform:scale(1.025);filter:none}
@media(prefers-reduced-motion:reduce){.lead-form .submit-button{transition:none}.lead-form .submit-button:hover{transform:none}}

/* Slightly smaller, centered contact links in the footer. */
.footer-contacts{font-size:1.65rem}
.footer-contacts .social-icon{width:1.75rem;height:1.75rem}
@media(max-width:1023px){.footer-contacts{font-size:13px}.footer-contacts .social-icon{width:22px;height:22px}}
.privacy-link{text-decoration:none;text-underline-offset:.2em}
.privacy-link:hover,.privacy-link:focus-visible{text-decoration:underline}

/* Center arrow glyphs optically and geometrically inside their boxes. */
.submit-button .arrow-box{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;text-align:center;transform:none}
.submit-button .arrow-glyph{display:block;line-height:1;transform:translateY(-.06em)}
.gallery-controls button{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;text-align:center}
.gallery-controls button span{display:block;line-height:1;transform:translateY(-.1em)}

/* Keep the form label and underline visible while entered text sits above the rule. */
.lead-form input{height:5.6875rem;padding:0 0 2.75rem;border:0;border-bottom:0.1875rem solid #b7ae8e;outline:0;box-shadow:none;caret-color:currentColor}
.lead-form input:focus{outline:0;box-shadow:none}
.lead-form input:-webkit-autofill,.lead-form input:-webkit-autofill:hover,.lead-form input:-webkit-autofill:focus,.lead-form input:-webkit-autofill:active{-webkit-text-fill-color:white;caret-color:white;-webkit-box-shadow:0 0 0 1000px transparent inset;box-shadow:0 0 0 1000px transparent inset;transition:background-color 999999s ease-out 0s}
@media(max-width:1023px){.lead-form input{height:55px;padding:0 0 25px;border-bottom:1px solid #c5b694}}
.lead-form .lead-field{position:relative}
.lead-form .field-caption{position:absolute;left:0;top:2.625rem;z-index:1;color:white;font-size:1.69063rem;font-weight:500;line-height:1.3;pointer-events:none}
.lead-form .lead-field input{position:absolute;left:0;right:0;bottom:0;height:2.5rem;padding:0 0 .25rem;background:transparent}
@media(max-width:1023px){.lead-form .field-caption{top:32px;font-size:16px}.lead-form .lead-field input{height:28px;padding:0 0 2px}}

/* Hero content starts hidden before JavaScript runs, avoiding an initial flash. */
.hero-reveal{opacity:0;translate:0 34px}
/* Slow scroll reveal for unboxed editorial text and content logos. */
.reveal-ready .scroll-reveal{opacity:0;translate:0 34px;transition:opacity 1.35s ease,translate 1.35s cubic-bezier(.2,.65,.3,1);will-change:opacity,translate}
.reveal-ready .scroll-reveal.is-revealed{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.hero-reveal,.reveal-ready .scroll-reveal{opacity:1;translate:none;transition:none;will-change:auto}}

/* The form panels expand horizontally before their logos, copy and fields appear. */
.panel-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.65,0,.35,1);will-change:clip-path}
.hero-panel.panel-reveal{clip-path:inset(0 0 0 100%)}
.panel-reveal.is-panel-visible{clip-path:inset(0)}
.panel-content{opacity:0;translate:0 34px;transition:opacity 1.35s ease,translate 1.35s cubic-bezier(.2,.65,.3,1);will-change:opacity,translate}
.panel-content.is-panel-content-visible{opacity:1;translate:0 0}
@media(max-width:1023px){.panel-reveal,.panel-reveal.is-panel-visible{clip-path:none;transition:none;will-change:auto}}
@media(prefers-reduced-motion:reduce){.panel-reveal,.hero-panel.panel-reveal,.panel-reveal.is-panel-visible{clip-path:none;transition:none;will-change:auto}.panel-content,.panel-content.is-panel-content-visible{opacity:1;translate:none;transition:none;will-change:auto}}
@media(min-width:1024px){.desktop-nav{font-family:Jakarta,Arial,sans-serif}}
@media(max-width:1023px){
  .gallery-controls{width:calc(100vw - 56px);margin-left:24px;margin-right:0;box-sizing:border-box}
  .gallery-progress{min-width:0;flex:1}
  .footer-contacts{justify-items:center;text-align:center}
  .footer-partners{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}
  .footer-partners .construction,.footer-partners .development{position:static;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;margin:0;text-align:center}
  .footer-partners span,.footer-partners img{position:static}
  .footer-partners span{flex:0 0 100%;width:100%;text-align:center}
  .footer-partners .partner-terra{width:210px;height:auto}
  .footer-partners .partner-marfim{width:100px;height:auto}
  .footer-partners .partner-campos{width:125px;height:auto}
  .footer-partners .development{column-gap:18px}
  .privacy-link{display:block;margin:20px auto 0;text-align:center}
}

/* Simple placeholder page for the upcoming legal copy. */
.terms-page{min-height:100vh;background:var(--cream);color:var(--green)}
.terms-content{width:min(100%,80rem);min-height:100vh;margin:0 auto;padding:11.125rem 3.25rem 4rem;font:400 1rem/1.75 Jakarta,sans-serif}
.terms-back{display:inline-flex;align-items:center;gap:.875rem;padding:.625rem 1.125rem;background:#9e2938;color:#fff;font-size:1.125rem;font-weight:600;transform:scale(1);transform-origin:center;transition:transform .5s ease-in-out}
.terms-back:hover{transform:scale(1.025);filter:none}
.terms-back-arrow{display:grid;place-items:center;width:2.5rem;height:2.5rem;background:#ffffff35;font-size:1.875rem;line-height:1}
.terms-content h1{margin:2.5rem 0 1rem;font:700 3rem/1.2 Liferdas,serif;color:var(--green)}
.terms-content>p,.terms-section p{margin:0 0 1rem}
.terms-updated{margin-bottom:1.75rem!important}
.terms-section{margin-top:2.25rem}
.terms-section h2{margin:0 0 .875rem;font:600 1.65rem/1.35 Liferdas,serif;color:var(--green)}
.terms-section ul{margin:.25rem 0 1rem;padding-left:1.5rem}
.terms-section li{padding-left:.2rem;margin:.2rem 0}
.terms-section strong,.terms-updated strong{font-weight:700}
.terms-section .cookie-button{margin:.25rem 0 1rem}
@media(max-width:1023px){.terms-content{padding:calc(72px + 2rem) 1.5rem 2rem;font-size:.9375rem}.terms-back{font-size:1rem}.terms-content h1{font-size:clamp(2rem,8vw,2.75rem)}.terms-section h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.terms-back{transition:none}.terms-back:hover{transform:none}}

@media(max-width:1023px){.menu-panel{opacity:0;transition:opacity 1.2s ease;will-change:opacity}.menu-panel.is-opening{opacity:1}.menu-panel.is-closing{opacity:0}.menu-panel[hidden]{display:none!important}}
@media(prefers-reduced-motion:reduce){.menu-panel{transition-duration:.01ms}}

@media(max-width:1023px){.location{background:var(--sage)}.map-scroll{width:100%;overflow-x:auto;overflow-y:hidden;background:transparent;overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;scroll-padding-inline:calc((100vw - 100%)/2)}.map-canvas{scroll-snap-align:center}.map-canvas{width:1920px;height:1130px;aspect-ratio:auto;max-width:none}.map-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill}.map-pin{font-size:1.71875rem;line-height:2.0625rem}.map-pin:before{width:.375rem;left:calc(50% - .1875rem);top:.75rem;height:calc(var(--stem) - .75rem)}.map-pin span{padding:0 .6875rem}.map-brand{left:71.125rem;top:34.4375rem;width:7.25rem;height:7.125rem;border-width:.1875rem}.map-brand img{width:6.4375rem}.map-brand:after{width:.375rem;height:3.4375rem}.map-hint{display:block;margin:0;padding:10px 16px;background:var(--sage);color:var(--green);text-align:center;font:500 12px/1.4 Jakarta,sans-serif}.map-scroll:focus-visible{outline-offset:-4px}}

@media(max-width:1023px){.boutique-title{text-align:center}.hero-title,.hero-copy,.hero-note{text-align:center}.hero-title{width:calc(100% - 48px);margin-left:24px;margin-right:24px}.hero-copy{max-width:none;margin-left:24px;margin-right:24px}.hero-note{max-width:none;margin:32px 24px 28px}.location-title{text-align:center;margin-left:auto;margin-right:auto}.location-ribbon{justify-content:center;text-align:center}.location-copy{text-align:center}.connection-title,.connection-copy{text-align:center;align-self:center;width:100%}.connection{align-items:center}.contact-title{text-align:center;max-width:none;margin-left:auto;margin-right:auto}}
picture{display:contents}
@media(max-width:1023px){.hero-panel.panel-reveal{clip-path:none;transition:none;will-change:auto}.hero-aside{margin-top:285px;background-color:#581421}}
@media(min-width:600px) and (max-width:1023px){.hero-aside{margin-top:335px}}
@media(max-width:1023px){.hero-title,.hero-copy,.hero-note{transform:translateY(clamp(72px,24vw,100px))}}
/* Mobile hero copy: keep the headline to two lines and place all copy lower in the image. */
@media(max-width:1023px){
  .hero-title{font-size:clamp(27px,7.2vw,44px);line-height:1.12;padding-top:0;margin-top:clamp(130px,37vw,165px);transform:translateY(clamp(175px,48vw,210px))}
  .hero-copy{margin-top:12px;transform:translateY(clamp(185px,52vw,225px))}
  .hero-note{margin-top:14px;transform:translateY(clamp(185px,52vw,225px))}
}
@media(max-width:1023px){.gallery{width:calc(100vw - 56px);margin-left:24px;margin-right:32px}.gallery-track>picture{display:block;flex:0 0 100%;width:100%;aspect-ratio:888/494}.gallery-image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}}

/* Persistent cookie choice bar, styled with Essenza's cream and forest palette. */
.cookie-banner{position:fixed;z-index:1000;left:0;right:0;bottom:0;padding:14px 28px max(14px,env(safe-area-inset-bottom));background:var(--cream);color:var(--green);border:1px solid #003d3530;box-shadow:0 -8px 32px #001d1830;font:400 14px/1.55 Jakarta,sans-serif;opacity:0;translate:0 18px;transition:opacity .22s ease,translate .22s ease}
.cookie-banner[hidden]{display:none}
.cookie-banner.is-visible{opacity:1;translate:0 0}
.cookie-banner-inner{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 30px}
.cookie-banner p{max-width:900px}
.cookie-banner a{font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;gap:10px;align-items:center}
.cookie-button{min-height:46px;padding:10px 25px;border:1px solid var(--green);font:600 14px/1.2 Jakarta,sans-serif;transition:background-color .18s ease,color .18s ease}
.cookie-reject{background:transparent;color:var(--green)}
.cookie-reject{border-color:var(--green)}
.cookie-reject:focus-visible{outline:none}
.cookie-reject:hover{background:#003d3510}
.cookie-accept{background:var(--green);color:var(--cream)}
.cookie-accept:hover{background:#07554a}
.terms-cookie-preference{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #003d3530;font:400 1rem/1.6 Jakarta,sans-serif;color:var(--green)}
.terms-cookie-preference h2{font:600 1.5rem/1.3 Liferdas,serif;margin-bottom:.75rem}
.terms-cookie-preference p{margin-bottom:1rem}
@media(max-width:680px){.cookie-banner{padding:16px 18px max(16px,env(safe-area-inset-bottom));font-size:13px}.cookie-banner-inner{grid-template-columns:1fr;gap:14px}.cookie-actions{justify-content:flex-start}.cookie-button{min-height:44px;padding:10px 20px}}
@media(prefers-reduced-motion:reduce){.cookie-banner,.cookie-button{transition:none}}




@media(max-width:1023px){.hero-title-mobile-break{display:block}}
@media(min-width:1024px){.hero-title-mobile-break{display:none}}





@media(min-width:1024px){.hero-title-desktop{display:block}.hero-title-mobile{display:none}}
@media(max-width:1023px){.hero-title-desktop{display:none}.hero-title-mobile{display:block}}

