:root{--ink:#252b2f;--cream:#f8f5ee;--gold:#b9a07a}::selection{background:#b9a07a;color:#fff}.nav{padding:30px 5%;border-bottom:1px solid #ffffff26}.brand{font-size:12px;line-height:1.4}.brand small{font-size:8px}.hero{min-height:700px}.hero:before{background:linear-gradient(90deg,#111a20a8,#111a200d 90%),linear-gradient(0deg,#10191fb8,transparent 40%),url('/photos/piscina1-f675e98bec.jpg') center/cover;animation:zoom 22s ease-out both}.hero-content{margin-left:8%;max-width:90%}.hero h1{font-size:clamp(62px,8.3vw,128px);line-height:1.07;letter-spacing:-.06em;margin:30px 0}.hero h1 em{color:#ede3d4}.hero-content p{font-size:clamp(15px,1.4vw,19px);margin-top:26px}.hero-bottom{left:8%;right:5%;bottom:32px}.hero-actions{margin-top:34px}.btn{min-height:48px;padding:18px 24px;letter-spacing:.14em}.btn.outline:hover{background:#fff2}.section{padding:115px 8%}.intro{gap:9%}.intro img{height:590px}.intro .bodycopy{max-width:440px}.stats{gap:24px 32px;border-top:1px solid var(--line);padding-top:30px}.stat strong{font-size:30px}.stat span{display:block;margin-top:8px;font-size:9px}.dark{background:#252b2f}.feature{min-height:600px}.feature img{min-height:600px}.editorial-title,.feature h2{font:400 clamp(40px,4.6vw,70px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:24px 0}.editorial-title em{color:#c6af8e}.feature .feature-text{padding:14%}.feature p{color:#c9cbcc;font-size:14px;line-height:2;margin-bottom:32px}.kicker{color:#947b59}.dark .kicker{color:#c6af8e}.galleryhead{text-align:left;display:block;max-width:800px}.galleryhead .bodycopy{margin:0}.gallery-tools{margin-top:42px;border-top:1px solid var(--line);padding-top:28px}.filters{gap:7px}.filter{border:0;border-bottom:1px solid #c8c3b9;padding:12px 10px;font-size:9px}.gallery{margin-top:30px;gap:16px}.gallery figure{height:290px}.gallery figure:nth-child(6n+1){grid-column:span 8}.gallery figure:nth-child(6n+2){grid-column:span 4}.gallery-more{display:block;background:transparent;border:1px solid #b9a07a;margin:36px auto 0;padding:18px 26px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--ink)}.gallery-more:hover{background:#e8e1d5}.quote{background:#e9e3d8;padding:100px 12%}.quote h2{max-width:950px;margin:26px auto;font-size:clamp(34px,5vw,68px)}.location{gap:7%}.location h2{font-size:clamp(40px,4vw,60px)}.location .map-shell{border:0}.map-shell svg{min-height:0}.map-legend{background:#252b2f;font-size:9px}.contact{gap:10%;padding:105px 8%}.contact h2{font:400 clamp(40px,4.5vw,68px)/1.16 'Playfair Display',serif}.contact .bodycopy{font-size:14px}.price{font-size:43px}.contact form{align-self:center}.contact input:focus,.contact textarea:focus{border-bottom-color:#e6d3b2}.foot{background:#1c2125;padding:32px 8%}.floating{background:#eadfce;color:#252b2f;box-shadow:0 5px 25px #0002;border:1px solid #b9a07a66;opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}.floating.visible{opacity:1;pointer-events:auto;transform:none}.menu-toggle{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid #b9a07a;outline-offset:5px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(24px)}.motion-ready .reveal.visible{opacity:1;transform:none}.modal{background:#101417f7}.modal .close{width:46px;height:46px}.modal-controls button{min-width:46px;min-height:46px}#formNote{white-space:pre-line}.gallery-more[hidden]{display:none}.form-note{border-left:1px solid #b9a07a;padding-left:14px}
@media(min-width:1500px){.intro img{height:680px}.hero-content{margin-left:10%}.hero-bottom{left:10%}.feature{min-height:720px}.feature img{min-height:720px}.gallery figure{height:360px}}
@media(max-width:1000px){.navlinks{gap:17px;font-size:9px}.navlinks .btn{padding:14px;font-size:9px}.section{padding:85px 6%}.intro{gap:6%}.stats{gap:25px}.intro img{height:570px}.feature .feature-text{padding:10%}.feature img{min-height:500px}.gallery figure{height:250px}}
@media(max-width:800px){.nav{padding:22px 6%}.menu-toggle{display:block;background:transparent;border:1px solid #ffffff66;padding:12px 15px;color:white;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.navlinks{display:none;position:absolute;top:87px;left:0;right:0;background:#252b2ff7;padding:28px 6%;flex-direction:column;align-items:stretch;gap:22px}.navlinks.open{display:flex}.navlinks.open a:not(.btn){display:block;font-size:11px;padding:8px 0}.hero{min-height:680px;max-height:1000px}.hero h1{font-size:clamp(50px,11vw,86px)}.hero-content{margin:0 7%}.hero-content .eyebrow{font-size:9px;letter-spacing:.19em}.hero-bottom{left:7%;right:7%;font-size:8px;letter-spacing:.1em}.hero-bottom span:last-child{display:none}.hero-actions .btn{font-size:9px;padding:16px 17px}.intro{gap:40px}.intro img{height:480px}.section h2{font-size:46px}.feature img{min-height:0;height:420px}.feature .feature-text{padding:60px 7%}.feature{min-height:0}.feature h2{font-size:46px}.gallery figure,.gallery figure:nth-child(6n+1),.gallery figure:nth-child(6n+2){grid-column:span 6;height:250px}.location{gap:36px}.contact{gap:35px;padding:75px 7%}.contact h2{font-size:46px}.floating{bottom:12px;right:12px;padding:14px;font-size:9px}.foot{padding-bottom:80px}.quote{padding:70px 7%}}
@media(max-width:480px){.hero:before{background-position:58% center}.hero h1{font-size:clamp(43px,10.5vw,54px)}.hero-content p{max-width:260px;font-size:16px}.hero-actions{gap:10px;flex-direction:column;align-items:flex-start}.hero .btn{min-width:222px}.brand{font-size:10px}.brand small{font-size:7px}.intro img{height:370px}.section h2,.feature h2,.contact h2{font-size:40px}.stats{gap:28px;width:100%}.stat{width:calc(50% - 14px)}.gallery figure,.gallery figure:nth-child(6n+1),.gallery figure:nth-child(6n+2){grid-column:span 12;height:260px}.gallery-tools{gap:24px}.gallery figcaption{font-size:10px}.gallery-count{font-size:10px}.filter{font-size:9px;padding:12px 8px}.feature img{height:310px}.price{font-size:38px}.map-legend{font-size:8px;padding:15px 12px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}}

/* Keep every photograph visible independently of scroll observer callbacks. */
.motion-ready .reveal{opacity:1;transform:none}.gallery img{background:#e9e3d8}
