:root{--cal:#f4f4ef;--cal-deep:#eae9e0;--areia:#e8dfc9;--mangue:#244b3b;--mangue-deep:#1a3a2d;--folha:#6e8b5e;--mar:#2e6f7e;--texto:#3a3129;--texto-suave:#6b625a;--linha:#3a31292e;--display:"Fraunces", Georgia, serif;--sans:"Albert Sans", system-ui, sans-serif;--shell:1120px;--gutter:clamp(20px, 5vw, 56px);color:var(--texto);background:var(--cal);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--cal);min-width:320px;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p,dl,dd{margin:0}:focus-visible{outline:2px solid var(--mar);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--mangue);color:var(--cal);border-radius:4px;padding:10px 14px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.shell{width:min(var(--shell), calc(100% - 2 * var(--gutter)));margin-inline:auto}h1,h2,h3{font-family:var(--display);font-variation-settings:"SOFT" 80, "opsz" 96;color:var(--mangue);letter-spacing:-.015em;font-weight:400}h1{max-width:16ch;font-size:clamp(38px,6vw,72px);line-height:1.02}h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1}h3{font-variation-settings:"SOFT" 60, "opsz" 24;font-size:22px;line-height:1.25}.section-head{max-width:62ch;margin-bottom:clamp(36px,5vw,56px)}.section-head h2{margin-bottom:18px}.section-head p{color:var(--texto-suave)}.section-head-row{justify-content:space-between;align-items:baseline;max-width:none;display:flex}.muted{color:var(--texto-suave);font-size:15px}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:16px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button-primary{background:var(--mangue);color:var(--cal)}.button-primary:hover{background:var(--mangue-deep)}.button-ghost{color:inherit;border-color:currentColor}.button-ghost:hover{background:#ffffff1f}.button-outline{border-color:var(--mangue);color:var(--mangue)}.button-outline:hover{background:var(--mangue);color:var(--cal)}.button-small{min-height:40px;padding:0 16px;font-size:15px}.button-large{min-height:56px;padding:0 28px;font-size:17px}.text-button,.text-link{color:var(--mar);text-underline-offset:4px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.text-link{margin-top:18px;display:inline-block}.site-header{z-index:30;border-bottom:1px solid var(--linha);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f4efeb;position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.brand{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--display);color:var(--mangue);font-variation-settings:"SOFT" 80, "opsz" 24;font-size:21px}.brand-place{color:var(--texto-suave);font-size:12.5px}.site-nav{gap:32px;font-size:15.5px;font-weight:500;display:flex}.site-nav a{border-bottom:1px solid #0000;padding:6px 0}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--mangue)}.header-actions{align-items:center;gap:12px;display:flex}.menu-toggle{width:44px;height:44px;color:var(--mangue);background:0 0;border:0;display:none;position:relative}.menu-bars,.menu-bars:before,.menu-bars:after{content:"";background:currentColor;width:24px;height:2px;transition:transform .2s;position:absolute;left:10px}.menu-bars{top:21px}.menu-bars:before{top:-7px;left:0}.menu-bars:after{top:7px;left:0}.is-open .menu-bars{background:0 0}.is-open .menu-bars:before{transform:translateY(7px)rotate(45deg)}.is-open .menu-bars:after{transform:translateY(-7px)rotate(-45deg)}.mobile-nav{display:none}.hero{min-height:clamp(520px,86vh,760px);color:var(--cal);background:var(--mangue-deep);display:grid;position:relative}.hero-photo{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(#1a3a2d26 0%,#1a3a2d40 45%,#1a3a2dc7 100%);position:absolute;inset:0}.hero-copy{z-index:1;align-self:end;padding-block:64px clamp(48px,8vh,88px);position:relative}.hero-copy h1{color:var(--cal);margin-bottom:22px}.hero-copy p{color:#f4f4efe6;max-width:54ch;margin-bottom:32px;font-size:clamp(17px,1.4vw,19px)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero .button-primary{background:var(--cal);color:var(--mangue)}.hero .button-primary:hover{background:#fff}.facts{border-bottom:1px solid var(--linha);padding-block:40px}.facts dl{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.facts div{flex-direction:column-reverse;gap:2px;display:flex}.facts dd{font-family:var(--display);color:var(--mangue);font-variation-settings:"SOFT" 80, "opsz" 48;font-size:clamp(30px,3.4vw,40px);line-height:1}.facts dt{color:var(--texto-suave);font-size:15px}.house{padding-block:clamp(72px,9vw,120px)}.house-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(40px,6vw,88px);display:grid}.house-plan{gap:0;display:grid}.floor{border-top:1px solid var(--linha);padding-block:26px}.floor:last-child{border-bottom:1px solid var(--linha)}.floor h3{margin-bottom:12px}.floor li{margin-bottom:8px;padding-left:20px;position:relative}.floor li:before{background:var(--folha);content:"";width:8px;height:1px;position:absolute;top:.72em;left:0}.house-photos{gap:16px;display:grid;position:sticky;top:96px}.house-photos img{aspect-ratio:4/3;object-fit:cover;border-radius:4px;width:100%}.house-photos img:nth-child(2){aspect-ratio:3/2}.house-photos img:nth-child(3){aspect-ratio:16/9}.details{background:var(--areia);padding-block:clamp(64px,8vw,96px)}.details-grid{grid-template-columns:1fr 1.4fr;gap:clamp(40px,6vw,88px);display:grid}.details h2{margin-bottom:22px;font-size:clamp(26px,2.8vw,34px)}.plain-list li{border-top:1px solid #3a312933;padding:12px 0}.plain-list li:last-child{border-bottom:1px solid #3a312933}.two-col{grid-template-columns:1fr 1fr;column-gap:32px;display:grid}.two-col li:nth-last-child(2){border-bottom:1px solid #3a312933}.gallery{padding-block:clamp(72px,9vw,120px)}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:14px;display:grid}.gallery-item{background:var(--cal-deep);border:0;border-radius:4px;padding:0;overflow:hidden}.gallery-item.large{grid-area:span 2/span 2}.gallery-item img{object-fit:cover;width:100%;height:100%}.place{padding-block:0 clamp(72px,9vw,120px)}.place .button{margin-top:28px}.proximity{margin:0}.proximity svg{width:100%;height:auto;display:block}.proximity-compact svg{max-height:300px}.proximity figcaption{border-top:1px solid var(--linha);color:var(--texto-suave);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:14px;padding-top:14px;font-size:15px;display:flex}.proximity figcaption a{color:var(--mar);text-underline-offset:4px;font-weight:500;text-decoration:underline}.d-ground,.d-house path,.d-mangrove path,.d-dim path{fill:none;stroke:var(--mangue);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.d-mangrove path{stroke:var(--folha)}.d-sand{fill:var(--areia)}.d-water{fill:#2e6f7e47;stroke:var(--mar);stroke-width:1.4px}.d-wave{fill:none;stroke:var(--mar);stroke-width:1.4px;stroke-linecap:round}.d-dim path{stroke:var(--texto);stroke-width:1px;stroke-dasharray:3 4}.d-dim .d-arrow{fill:var(--texto);stroke:none}.d-dim text{font-family:var(--display);fill:var(--mangue);font-size:26px}.d-label text{font-family:var(--sans);fill:var(--texto-suave);text-anchor:middle;font-size:14px}.booking{background:var(--mangue);color:var(--cal);padding-block:clamp(64px,8vw,104px)}.booking h2{color:var(--cal);margin-bottom:16px}.booking p{color:#f4f4efd1;max-width:48ch}.booking-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;display:grid}.booking-actions{flex-direction:column;gap:12px;display:flex}.booking .button-primary{background:var(--cal);color:var(--mangue)}.booking .button-primary:hover{background:#fff}.site-footer{background:var(--mangue-deep);color:#f4f4efc7;padding-block:56px 28px;font-size:15px}.footer-grid{border-bottom:1px solid #f4f4ef29;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:40px;display:grid}.footer-name{font-family:var(--display);color:var(--cal);margin-bottom:10px;font-size:22px}.footer-links{flex-direction:column;gap:10px;display:flex}.footer-links a:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.footer-bottom{color:#f4f4ef80;padding-top:20px;font-size:13.5px}.floating-whatsapp{z-index:25;background:var(--mangue);width:56px;height:56px;color:var(--cal);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #1a3a2d4d}.floating-whatsapp:hover{background:var(--mangue-deep)}.lightbox{z-index:40;background:#1a3a2df5;padding:72px 24px 40px;position:fixed;inset:0;overflow-y:auto}.lightbox-close{color:var(--cal);background:0 0;border:1px solid #f4f4ef80;border-radius:6px;padding:10px 16px;position:fixed;top:18px;right:20px}.lightbox-grid{gap:16px;width:min(1000px,100%);margin-inline:auto;display:grid}.lightbox-grid img{border-radius:4px;width:100%}.page-intro{padding-block:clamp(56px,8vw,104px) clamp(40px,6vw,72px)}.page-intro h1{margin-bottom:24px}.page-intro p{max-width:62ch;font-size:18px}.beach-section,.distance-section,.arrival-section,.proximity-section{padding-block:clamp(48px,6vw,80px)}.beach-section h2,.distance-section h2{margin-bottom:28px}.beaches{grid-template-columns:repeat(2,1fr);gap:0 48px;display:grid}.beaches div{border-top:1px solid var(--linha);grid-template-columns:180px 1fr;gap:16px;padding-block:18px;display:grid}.beaches dt{font-family:var(--display);color:var(--mangue);font-size:21px;line-height:1.3}.beaches dd{color:var(--texto-suave)}.map-section{background:var(--cal-deep);padding-block:clamp(56px,7vw,88px)}.map-frame{aspect-ratio:16/9;background:var(--areia);border-radius:6px;max-height:520px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;display:block}.distances{border-collapse:collapse;width:100%;font-size:16.5px}.distances th,.distances td{border-top:1px solid var(--linha);text-align:left;vertical-align:top;padding:14px 0}.distances tr:last-child th,.distances tr:last-child td{border-bottom:1px solid var(--linha)}.distances th{color:var(--mangue);width:40%;font-weight:500}.distances td:nth-child(2){font-family:var(--display);color:var(--mangue);width:18%;font-size:22px;line-height:1.1}.distances td:nth-child(3){color:var(--texto-suave)}.distance-section .muted{margin-top:14px}.arrival-grid{grid-template-columns:1fr 1fr;gap:48px;display:grid}.arrival-grid h2{margin-bottom:16px;font-size:clamp(26px,2.8vw,34px)}.arrival-grid p{color:var(--texto-suave)}@media (width<=900px){.site-nav,.header-whatsapp{display:none}.menu-toggle{display:block}.site-header.is-open .mobile-nav{display:flex}.mobile-nav{border-top:1px solid var(--linha);background:var(--cal);flex-direction:column}.mobile-nav a{padding:16px var(--gutter);border-bottom:1px solid var(--linha);font-size:17px;font-weight:500}.mobile-nav a:last-child{color:var(--mangue)}.house-grid,.details-grid,.booking-grid,.arrival-grid{grid-template-columns:1fr}.house-photos{grid-template-columns:1fr 1fr;position:static}.house-photos img:first-child{grid-column:span 2}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.beaches{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}}@media (width<=600px){.header-row{height:64px}.brand-place{display:none}.hero{min-height:clamp(480px,78vh,640px)}.hero-actions .button{width:100%}.facts dl{grid-template-columns:1fr 1fr;gap:20px 16px}.house-photos{grid-template-columns:1fr}.house-photos img:first-child{grid-column:auto}.two-col{grid-template-columns:1fr}.two-col li:nth-last-child(2){border-bottom:0}.gallery-grid{grid-auto-rows:150px}.gallery-item.large{grid-area:span 1/span 2}.beaches div{grid-template-columns:1fr;gap:6px}.distances th{width:auto}.distances td:nth-child(3){display:none}.map-frame{aspect-ratio:4/5}.booking-actions .button{width:100%}.proximity figcaption{flex-direction:column}.floating-whatsapp{width:52px;height:52px;bottom:14px;right:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
