@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap";:root{--lagoon:#205653;--sage:#b7c6a5;--sand:#f2e6d2;--coral:#e68a65;--cream:#fff9f0;--charcoal:#303b37;--line:#303b3729;--display:"Fraunces",Georgia,serif;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--charcoal);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:0}.announce{background:var(--lagoon);color:#fff9f0b8;letter-spacing:.23em;justify-content:center;gap:13px;padding:10px 5.6vw;font-size:9px;font-weight:700;display:flex}.announce span{color:var(--coral)}.site-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:10;background:#fff9f0e0;justify-content:space-between;align-items:center;height:90px;padding:0 5.6vw;display:flex;position:sticky;top:0}.logo{align-items:center;gap:11px;display:inline-flex}.logo-symbol{border:1px solid var(--lagoon);border-radius:50%;place-items:center;width:35px;height:35px;display:grid;position:relative}.logo-symbol span{background:var(--coral);border-radius:50%;width:9px;height:9px;position:absolute;top:7px}.logo-symbol i{border-top:2px solid var(--lagoon);border-radius:50%;width:24px;height:10px;display:block;position:absolute;bottom:5px;transform:rotate(-8deg)}.logo strong{font:600 22px/1 var(--display);letter-spacing:-.04em;display:block}.logo small{font:600 11px/1 var(--serif);letter-spacing:.14em;color:var(--lagoon);margin-top:2px;display:block}.site-header nav{gap:35px;margin-left:auto;margin-right:45px;font-size:12px;font-weight:600;display:flex}.site-header nav a{border-bottom:1px solid #0000;padding:7px 0}.site-header nav a:hover{border-color:var(--coral)}.header-link{color:var(--lagoon);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.menu-button{color:var(--lagoon);background:0 0;display:none}.hero{grid-template-columns:1fr .9fr;gap:7vw;min-height:690px;padding:82px 9vw 82px 10vw;display:grid;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--lagoon);align-items:center;gap:9px;margin:0;font-size:10px;font-weight:700;display:flex}.hero-copy{align-self:center;max-width:580px}.hero h1{font:600 clamp(57px,7.2vw,112px)/.83 var(--display);letter-spacing:-.08em;color:var(--charcoal);margin:26px 0 0}.hero h1 em,h2 em{color:var(--lagoon);font-style:normal}.hero-lede{font:600 30px/1.05 var(--serif);color:var(--lagoon);margin:35px 0 0}.hero-description{color:#303b37ad;max-width:395px;margin:14px 0 31px;font-size:15px;line-height:1.7}.cta{align-items:center;gap:13px;padding:15px 20px;font-size:11px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.cta:hover{transform:translateY(-3px)}.cta-coral{background:var(--coral);color:var(--cream)}.cta-coral:hover{background:var(--lagoon)}.cta-lagoon{background:var(--lagoon);color:var(--cream);border:0}.cta-cream{background:var(--cream);color:var(--lagoon)}.hero-meta{text-transform:uppercase;letter-spacing:.15em;color:#303b3796;gap:25px;margin-top:57px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:8px;display:flex}.hero-meta span:before{content:"";background:var(--sage);border-radius:50%;width:6px;height:6px}.hero-art{align-self:center;width:100%;max-width:500px;height:510px;margin:auto;position:relative}.hero-frame{background:var(--sage);border:14px solid var(--sand);border-radius:180px 180px 20px 20px;outline:1px solid #2056532e;width:76%;height:100%;margin-left:auto;position:relative;overflow:hidden}.hero-frame:after{content:"";background:linear-gradient(160deg,#fff9f02e,#0000 55%,#20565338);position:absolute;inset:0}.hero-sun{background:var(--coral);opacity:.92;border-radius:50%;width:150px;height:150px;position:absolute;top:20%;right:14%}.hero-wave{border:1px solid #fff9f0b8;border-radius:50%;width:160%;height:28%;position:absolute;bottom:25%;left:-30%;transform:rotate(-10deg)}.wave-two{opacity:.65;bottom:14%}.hero-caption{z-index:1;color:var(--cream);font:500 23px/1.05 var(--serif);position:absolute;bottom:14%;left:18%}.hero-caption b{color:var(--cream);font-weight:700}.seal{background:var(--cream);width:101px;height:101px;color:var(--lagoon);letter-spacing:.15em;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:8px;display:flex;position:absolute;bottom:16px;left:0;box-shadow:0 12px 25px #303b371a}.seal strong{font:700 37px/1 var(--display);letter-spacing:-.08em}.story{background:var(--lagoon);color:var(--cream);grid-template-columns:.8fr 1.6fr .9fr;align-items:end;gap:35px;padding:76px 10vw 82px;display:grid}.story-index{letter-spacing:.2em;text-transform:uppercase;color:#fff9f09e;align-self:start;font-size:10px}.story-index span{color:var(--coral);margin:0 7px}.eyebrow-light{color:var(--sage)}h2{font:600 clamp(42px,5vw,72px)/.9 var(--display);letter-spacing:-.07em;margin:20px 0 0}.story h2{color:var(--cream)}.story h2 em{color:var(--sage)}.story>p{color:#fff9f0b8;max-width:300px;font-size:14px;line-height:1.7}.section-pad{padding:108px 9vw}.section-top{justify-content:space-between;align-items:end;gap:35px;margin-bottom:52px;display:flex}.section-aside{color:#303b37a3;max-width:295px;font-size:14px;line-height:1.65}.benefits{background:var(--sand)}.benefit-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.benefit-grid article{border-right:1px solid var(--line);min-height:330px;padding:26px 30px 30px 0;position:relative}.benefit-grid article+article{padding-left:30px}.benefit-grid article:last-child{border:0}.benefit-grid span{letter-spacing:.17em;color:var(--coral);font-size:10px;font-weight:700}.benefit-grid svg{width:42px;height:42px;color:var(--lagoon);margin:55px 0 22px;display:block}.benefit-grid .featured{background:var(--lagoon);color:var(--cream);padding-right:30px}.benefit-grid .featured svg{color:var(--coral)}.benefit-grid h3{font:600 31px/1 var(--display);margin:0}.benefit-grid p{color:#303b37a6;max-width:220px;margin-top:13px;font-size:13px;line-height:1.55}.benefit-grid .featured p{color:#fff9f0b3}.gallery{background:var(--cream)}.gallery h2{color:var(--charcoal)}.gallery-counter{color:#303b3773;letter-spacing:.15em;align-items:center;gap:8px;font-size:12px;display:flex}.gallery-counter span{color:var(--coral);font-weight:700}.gallery-window{cursor:grab;touch-action:pan-y;overflow:hidden}.gallery-track{transition:transform .65s cubic-bezier(.65,0,.25,1);display:flex}.gallery-slide{flex:0 0 100%}.photo-placeholder{height:min(52vw,620px);min-height:390px;color:var(--cream);align-items:end;padding:40px;display:flex;position:relative;overflow:hidden}.real-photo{padding:0}.real-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-placeholder:before{content:"";background:linear-gradient(145deg,#303b3714,#2056536b);position:absolute;inset:0}.photo-a{background:linear-gradient(135deg,#6e9e91,var(--lagoon))}.photo-b{background:linear-gradient(135deg,#c9cfb4,#7e947c)}.photo-c{background:linear-gradient(135deg,#dfac86,var(--coral))}.photo-d{background:linear-gradient(135deg,#c4a785,#806b57)}.photo-e{background:linear-gradient(135deg,#38c986,#126e68)}.photo-f{background:linear-gradient(135deg,#b8dff0,#5a88a2)}.photo-label{letter-spacing:.2em;opacity:.7;font-size:9px;position:absolute;top:30px;left:34px}.photo-orb{border:1px solid #fff9f06b;border-radius:50%;width:380px;height:380px;position:absolute;top:-120px;right:9%}.photo-copy{grid-template-columns:35px 1fr;column-gap:15px;max-width:430px;display:grid;position:relative}.photo-copy b{letter-spacing:.15em;color:var(--coral);font-size:10px}.photo-copy strong{font:600 clamp(32px,4vw,62px)/.92 var(--display);letter-spacing:-.06em}.photo-copy small{color:#fff9f0b8;grid-column:2;margin-top:15px;font-size:11px}.gallery-bottom{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.dots{gap:7px;display:flex}.dots button{background:#20565333;width:29px;height:3px;padding:0}.dots button.active{background:var(--coral);width:52px}.gallery-actions{gap:8px;display:flex}.gallery-actions button{border:1px solid var(--line);width:39px;height:39px;color:var(--lagoon);background:0 0;place-items:center;display:grid}.gallery-actions button:hover{background:var(--lagoon);color:var(--cream)}.availability{background-color:var(--sage);background-image:linear-gradient(90deg,#b7c6a5ad 0%,#b7c6a575 48%,#b7c6a538 100%),url(/media/hero-piscina-noite.jpg);background-position:50% 42%;background-size:cover;grid-template-columns:.8fr 1.2fr;gap:8vw;display:grid}.availability h2{color:var(--charcoal)}.body-copy{color:#303b37b3;max-width:350px;margin:25px 0;font-size:14px;line-height:1.7}.legend{color:#303b37ad;text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:16px;font-size:10px;display:flex}.dot{background:var(--cream);border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.dot.selected{background:var(--coral)}.dot.occupied{background:var(--lagoon)}.selection-note{color:#303b37b8;align-items:center;gap:7px;margin:26px 0 20px;font-size:12px;display:flex}.selection-note strong{color:var(--lagoon);font-size:22px}.selection-note button{color:var(--lagoon);background:0 0;margin-left:10px;font-size:10px;text-decoration:underline}.status{color:#303b3799;margin-top:13px;font-size:10px;display:block}.calendar-panel{background:var(--cream);align-self:start;padding:31px 36px;box-shadow:14px 14px #2056531a}.calendar-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.calendar-nav button{color:var(--lagoon);background:0 0;font-size:22px}.calendar-nav button:disabled{opacity:.25}.calendar-nav div{text-align:center}.calendar-nav strong{font:600 29px/1 var(--display);display:block}.calendar-nav span{color:var(--coral);letter-spacing:.2em;margin-top:5px;font-size:9px;display:block}.weekday-row,.month-days{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.weekday-row{color:#303b376b;text-align:center;letter-spacing:.1em;margin:22px 0 10px;font-size:9px}.calendar-day,.calendar-empty{aspect-ratio:1;border-radius:50%;place-items:center;display:grid}.calendar-day{color:var(--charcoal);background:0 0;font-size:12px}.calendar-day:hover:not(:disabled){background:var(--sand)}.calendar-day.is-occupied{background:var(--lagoon);color:var(--cream)}.calendar-day.is-selected{background:var(--coral);color:var(--cream)}.calendar-day.is-today{outline:1px solid var(--coral);outline-offset:3px}.final-cta{background:var(--charcoal);color:var(--cream);justify-content:space-between;align-items:end;gap:30px;padding:100px 9vw;display:flex}.final-cta h2{color:var(--cream)}.final-cta h2 em{color:var(--sage)}footer{background:var(--cream);color:#303b3794;justify-content:space-between;align-items:center;padding:25px 9vw;font-size:10px;display:flex}footer .logo{color:var(--charcoal)}footer>a{color:var(--lagoon);align-items:center;gap:6px;font-weight:700;display:flex}.admin-page{background:var(--sand);min-height:100vh;padding:42px 5vw}.admin-shell{max-width:1060px;margin:auto}.admin-header{justify-content:space-between;align-items:center;display:flex}.admin-header>div{align-items:center;gap:20px;display:flex}.admin-status{text-transform:uppercase;letter-spacing:.15em;color:var(--lagoon);font-size:10px}.admin-status span{background:#6c9b69;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.logout{color:var(--lagoon);background:0 0;align-items:center;gap:6px;font-size:11px;display:flex}.admin-intro{justify-content:space-between;align-items:end;gap:30px;margin:75px 0 42px;display:flex}.admin-intro h1,.login-card h1{font:600 clamp(48px,6vw,80px)/.9 var(--display);letter-spacing:-.07em;margin:20px 0 0}.admin-intro h1 em,.login-card h1 em{color:var(--lagoon);font-style:normal}.admin-intro>p{color:#303b37a8;max-width:320px;font-size:13px;line-height:1.65}.admin-calendar{background:var(--cream);max-width:680px;padding:36px;box-shadow:14px 14px #2056531f}.admin-footer{color:#303b37ad;justify-content:space-between;align-items:center;margin-top:24px;font-size:11px;display:flex}.login-card{background:var(--cream);max-width:480px;margin:10vh auto;padding:44px;box-shadow:14px 14px #2056531f}.login-card .eyebrow{margin-top:70px}.login-card h1{font-size:55px}.login-card>p:not(.eyebrow){color:#303b37a6;font-size:13px;line-height:1.6}form{gap:16px;margin-top:28px;display:grid}label{text-transform:uppercase;letter-spacing:.1em;color:var(--lagoon);font-size:10px}input{border:1px solid var(--line);background:var(--sand);width:100%;color:var(--charcoal);outline:none;margin-top:7px;padding:12px;display:block}input:focus{border-color:var(--lagoon)}.form-message{color:var(--coral);margin-top:14px;display:block}.hero .availability{background:0 0;grid-column:1/-1;grid-template-columns:.8fr 1.2fr;gap:8vw;margin-top:8px;padding:38px 0 0}.hero .availability .calendar-panel{box-shadow:10px 10px #2056531a}.calendar-day.is-selected,.calendar-day[aria-pressed=true]{box-shadow:inset 0 0 0 2px #fff9f059;background:var(--coral)!important;color:var(--cream)!important}.calendar-day.is-selected:hover,.calendar-day[aria-pressed=true]:hover{background:var(--coral)!important}.password-field{position:relative}.password-field input{padding-right:45px}.password-field button{width:32px;height:32px;color:var(--lagoon);background:0 0;place-items:center;display:grid;position:absolute;top:7px;right:10px}input{font-size:16px}.admin-actions{align-items:center;gap:12px;display:flex}.cancel-button{border:1px solid var(--line);color:var(--lagoon);background:0 0;padding:15px 18px;font-size:11px;font-weight:700}.cancel-button:hover{border-color:var(--lagoon);background:var(--cream)}.availability{grid-template-columns:1.2fr .8fr}.availability .calendar-column{flex-direction:column;order:0;align-items:flex-start;width:100%;display:flex}.availability .availability-intro{order:1;align-self:center;width:100%;max-width:760px}.availability .calendar-panel{width:min(100%,760px)}.availability .calendar-column .cta{margin-top:18px}.footer-links{align-items:center;gap:22px;display:flex}.footer-links a{color:var(--lagoon);align-items:center;gap:6px;font-weight:700;display:flex}.availability .availability-intro{align-self:center}@media (width<=850px){.site-header{height:74px}.site-header nav{background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;gap:15px;margin:0;padding:20px 7vw;display:none;position:absolute;top:74px;left:0;right:0}.site-header nav.open{display:flex}.header-link{display:none}.menu-button{display:block}.hero{grid-template-columns:1fr;min-height:0;padding:65px 7vw 75px}.hero-art{max-width:430px;height:440px;margin-top:10px}.story{grid-template-columns:1fr;gap:25px;padding:65px 7vw}.story>p{max-width:440px}.section-pad{padding:76px 7vw}.section-top{flex-direction:column;align-items:start;margin-bottom:35px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article,.benefit-grid article+article{border-right:0;border-bottom:1px solid var(--line);min-height:225px;padding:25px 0}.benefit-grid .featured{margin:0 -20px;padding:25px 20px}.benefit-grid svg{margin:25px 0 15px}.gallery .section-top{flex-direction:row;align-items:end}.photo-placeholder{min-height:400px;padding:28px}.availability,.hero .availability{grid-template-columns:1fr;gap:40px}.availability .availability-intro{order:0}.availability .calendar-column{order:1;align-items:center}.footer-links{flex-wrap:wrap;gap:12px}.calendar-panel{padding:24px 18px}.final-cta{padding:75px 7vw;display:grid}.admin-intro{gap:22px;margin-top:55px;display:grid}.admin-page{padding:28px 6vw}.admin-calendar{padding:20px 12px}.admin-footer{gap:15px;display:grid}.admin-footer .cta{justify-self:start}.admin-actions{flex-wrap:wrap}footer{flex-wrap:wrap;gap:15px;padding:22px 7vw}footer>span{order:3;width:100%}.login-card{margin-top:5vh;padding:30px}.announce{text-align:center;font-size:8px}.calendar-nav strong{font-size:24px}}.availability h2 em,.availability .eyebrow,.availability .body-copy,.availability .legend,.availability .selection-note,.availability .status,.availability .selection-note strong,.availability .selection-note button{color:var(--sand)}.hero .eyebrow,.hero .hero-lede,.hero .hero-description,.hero .hero-meta{color:#aa856a}
