@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--green:#183a30;--ink:#203b32;--cream:#f6f4ed;--muted:#647168;--line:#d6dcd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #c68c37;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{min-height:104px;width:100%;max-width:none;margin:0;padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:1.5px;line-height:1.3}.brand small{display:block;letter-spacing:2.3px;font-size:12px;margin-top:6px}.star{font-size:43px;font-weight:400;line-height:1}nav{display:flex;gap:30px;font-size:14px}nav a{border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:white;padding:15px 23px;font-size:14px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#2b5648;transform:translateY(-2px)}.button span{font-size:21px}.light{color:var(--green);background:var(--cream)}.light:hover{background:#e4e9db}.hero{height:min(760px,78vw);min-height:610px;position:relative;color:white;margin:0 22px;isolation:isolate;overflow:hidden}.hero>img{position:absolute;inset:0;z-index:-2;object-position:center 57%}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,21,.77),rgba(7,29,21,.28) 65%,rgba(7,29,21,.15)),linear-gradient(0deg,rgba(7,29,21,.4),transparent 45%)}.hero-copy{padding:86px 7%;max-width:850px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.6px;margin:0 0 22px;text-transform:uppercase}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-2px;margin:0}h1{font-size:clamp(64px,6.8vw,102px)}h2{font-size:clamp(39px,4vw,60px)}em{font-weight:400} .hero-copy>p:not(.eyebrow){max-width:420px;font-size:17px;line-height:1.7;margin:25px 0 30px;color:#f3f4eb}.hero-bottom{position:absolute;bottom:33px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:end;font-size:12px;letter-spacing:1px;line-height:1.6}.hero-bottom>span:last-child{letter-spacing:2px}.amenity-strip{padding:29px 7%;display:flex;justify-content:space-around;gap:20px;border-bottom:1px solid var(--line);font-size:14px}.amenity-strip span:before{content:'✦';margin-right:14px;font-size:12px;color:#83917b}.section{max-width:1390px;margin:auto;padding:100px 7%}.intro{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:center;padding-bottom:60px}.intro-copy p{color:var(--muted);margin:0 0 18px;max-width:490px}.stay{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;padding-top:35px;padding-bottom:110px;align-items:center}.stay-photo{position:relative;height:580px}.photo-caption{position:absolute;bottom:18px;left:18px;background:var(--cream);padding:9px 14px;font-size:12px;letter-spacing:1.5px}.stay-info>p:not(.eyebrow){color:var(--muted);margin:24px 0}.stay-info ul{list-style:none;padding:0;margin:20px 0 25px}.stay-info li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.stay-info li span{color:#899582;font-size:12px;margin-right:21px}.text-link{display:inline-flex;gap:27px;border-bottom:1px solid var(--green);padding:4px 0;font-size:14px;font-weight:500}.text-link:hover{color:#67805d}.text-link span{font-size:18px}.stay-info .fine{font-size:13px;line-height:1.6;max-width:350px}.nature{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.nature-copy{padding:90px 13% 80px 15%}.nature-copy>p:not(.eyebrow){color:#d3ded2;max-width:400px;margin:27px 0 35px}.nature>img{min-height:600px}.nature-facts>div{padding:18px 0;border-top:1px solid #496156}.nature-facts strong{font-weight:500;display:block;font-size:18px}.nature-facts span{font-size:14px;color:#bfcebe}.location{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center;padding-top:105px;padding-bottom:105px}.location-details{border-left:1px solid var(--line);padding-left:45px}.location-details p{color:var(--muted)}.location-details .location-name{font-size:21px;color:var(--green);margin:0;font-weight:500}.contact{text-align:center;background:#e4e9dc;padding:72px 24px 65px}.contact h2{font-size:clamp(43px,5vw,70px)}.contact>p:not(.eyebrow){color:var(--muted);margin:22px 0 28px}.contact .button{background:var(--green);color:white}.phone{display:block;font-size:14px;margin:18px auto 0;width:max-content}footer{padding:45px 5% 28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}footer>p{font-size:14px;color:var(--muted)}details{width:100%;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}summary{cursor:pointer;width:max-content}details p{max-width:800px}details a{text-decoration:underline}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1600px){.hero{max-width:1556px;margin:auto}}@media(max-width:1000px){header{gap:15px}.brand{font-size:14px}.brand small{font-size:12px}nav{gap:17px}.nav-cta{padding:12px 15px}.hero-copy{padding-top:75px}.stay-photo{height:500px}.nature-copy{padding:70px 12%}.nature>img{min-height:550px}}@media(max-width:760px){header{padding:19px 5%;flex-wrap:wrap;gap:17px}.brand{font-size:13px}.star{font-size:34px}.nav-cta{font-size:12px;padding:10px 12px;gap:10px}nav{order:3;width:100%;justify-content:center;gap:34px;font-size:14px;border-top:1px solid var(--line);padding-top:13px}.hero{margin:0 10px;min-height:570px;height:76vh;max-height:720px}.hero-copy{padding:72px 7%}.hero h1{font-size:65px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:300px}.hero .eyebrow{font-size:12px;letter-spacing:2px}.hero-bottom{font-size:12px}.amenity-strip{display:grid;grid-template-columns:1fr 1fr;padding:24px 6%;gap:12px;font-size:12px}.amenity-strip span:before{margin-right:7px}.section{padding:62px 7%}.intro,.stay,.location{grid-template-columns:1fr;gap:28px}.intro{padding-bottom:15px}.intro-copy p{font-size:16px}.stay{padding-top:22px}.stay-photo{height:440px}.stay-info{padding-top:10px}.nature{grid-template-columns:1fr}.nature-copy{padding:60px 7%}.nature>img{height:370px;min-height:0}.location-details{padding-left:0;border-left:0}.contact{padding:60px 7%}.contact h2{font-size:48px}h2{font-size:43px;letter-spacing:-1.5px}footer{padding:35px 7%}.photo-caption{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:400px){header{justify-content:center}.brand small{font-size:12px;letter-spacing:1px}.hero h1{font-size:56px}.hero-copy{padding-top:60px}.amenity-strip{font-size:12px}.contact h2{font-size:41px}}

.rates{padding-top:15px;padding-bottom:90px}.rates-intro,.rates-note{color:var(--muted)}.rates-intro{margin:22px 0 30px}.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rate-card{padding:36px;border:1px solid var(--line);background:#eef0e6}.rate-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(38px,4vw,54px);line-height:1.2;margin:0 0 18px;letter-spacing:-1px}.rate-card h3 span{display:inline-block;font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0;color:var(--muted)}.rate-card>p:not(.eyebrow){font-size:14px;color:var(--muted)}.rate-total{border-top:1px solid var(--line);padding-top:20px;margin:22px 0;font-size:15px}.rates-note{font-size:14px;margin-top:22px}@media(max-width:760px){nav{gap:18px;flex-wrap:wrap}.rate-grid{grid-template-columns:1fr}.rate-card{padding:28px 24px}.rates{padding-top:10px;padding-bottom:60px}.rate-card .button{width:100%;gap:15px}}

.gallery{padding-top:10px;padding-bottom:85px}.gallery-intro{color:var(--muted);margin:24px 0 30px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-item{padding:0;border:0;background:none;text-align:left;font:inherit;color:var(--ink);cursor:zoom-in;min-width:0}.gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover;transition:filter .2s}.gallery-item:hover img{filter:brightness(.85)}.gallery-item>span{display:flex;justify-content:space-between;font-size:14px;line-height:1.5;padding:10px 0}.gallery-item:focus-visible,dialog button:focus-visible{outline:3px solid #b98230;outline-offset:4px}#photo-viewer{width:min(1120px,95vw);max-width:95vw;height:min(870px,94dvh);max-height:94dvh;padding:18px 24px;border:0;background:#102a22;color:#fff;overflow:hidden}#photo-viewer[open]{display:flex;flex-direction:column}#photo-viewer::backdrop{background:rgba(0,0,0,.85)}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.viewer-top p,.viewer-bottom p{margin:12px 0;font-size:14px}.viewer-image{min-height:0;flex:1}.viewer-image img{object-fit:contain}.viewer-bottom p{text-align:center}.viewer-top button,.viewer-bottom button{border:1px solid #688078;background:transparent;color:white;padding:10px 17px;font:inherit;font-size:16px;min-height:44px;cursor:pointer}.viewer-bottom button:hover,.viewer-top button:hover{background:#2b5648}.viewer-top{padding-bottom:12px}.viewer-bottom{padding-top:12px}@media(max-width:1000px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.gallery{padding-top:5px;padding-bottom:60px}.gallery-grid{gap:18px 12px}#photo-viewer{padding:12px}.viewer-bottom{gap:12px}.viewer-bottom p{font-size:14px}.gallery-item>span{font-size:14px}}@media(max-width:400px){nav{gap:12px;font-size:14px}}

.language-switch{display:flex;align-items:center;gap:5px;color:var(--muted);border:1px solid var(--line);border-radius:24px;padding:0 8px 0 12px;flex-shrink:0;height:40px}.language-switch select{font:inherit;font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--green);background:transparent;border:0;cursor:pointer;min-height:38px;padding:0 4px}.language-switch:focus-within{outline:2px solid #8b9d80;outline-offset:3px}.language-switch select:focus{outline:none}header{column-gap:18px}header nav{gap:20px}html[lang=en] .hero h1,html[lang=pt-BR] .hero h1{font-size:clamp(53px,5.8vw,87px)}@media(max-width:1250px){header{flex-wrap:wrap}header nav{order:4;width:100%;justify-content:center;flex-wrap:wrap}.nav-cta{margin-left:auto}}@media(max-width:760px){header{column-gap:12px}.nav-cta{font-size:12px;padding:10px 12px}.language-switch{height:38px}.hero-copy{max-width:100%}html[lang=en] .hero h1,html[lang=pt-BR] .hero h1{font-size:clamp(45px,8vw,64px)}header nav{gap:16px}}@media(max-width:520px){header .brand{margin-right:auto}.language-switch{order:1}.nav-cta{order:2;margin:0;width:100%}header nav{order:3;border-top:0;padding-top:0;gap:10px 18px;font-size:13px}.hero-copy{padding-top:62px}}

/* Keep navigation visible and section links clear of the header. */
header{position:sticky;top:0;z-index:50;background:var(--cream);box-shadow:0 1px 0 rgba(24,58,48,.12)}
html{scroll-padding-top:calc(var(--header-height, 104px) + 20px)}
.skip{z-index:60}

/* One-time scroll reveals; content is visible without JavaScript. */
@media (prefers-reduced-motion: no-preference){
 .scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity 650ms ease var(--reveal-delay,0ms),transform 650ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
 .scroll-reveal.is-visible,.scroll-reveal:focus-within{opacity:1;transform:none}
}
@media print{.scroll-reveal{opacity:1!important;transform:none!important}}

.hero>img.hero-slide{opacity:0;transition:opacity 1400ms ease;pointer-events:none}.hero>img.hero-slide.is-active{opacity:1}.hero>img.hero-slide:nth-of-type(2){object-position:center 48%}.hero-slideshow-controls{position:absolute;top:24px;right:24px;display:flex;align-items:center;gap:12px;color:white;background:rgba(13,35,26,.62);border:1px solid rgba(255,255,255,.3);border-radius:28px;padding:3px 3px 3px 17px;backdrop-filter:blur(8px)}.hero-slideshow-controls[hidden]{display:none}@media(prefers-reduced-motion:reduce){.hero>img.hero-slide{transition:none}}@media(max-width:760px){.hero-slideshow-controls{top:15px;right:15px}.hero-copy{padding-top:90px}}

.hero-slideshow-controls{padding:10px 16px}

.hero-slideshow-controls{background:transparent;border:0;backdrop-filter:none;padding:12px}.hero-dots{display:flex;align-items:center;gap:9px}.hero-dot{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.4);box-shadow:0 1px 4px rgba(0,0,0,.35);transition:background .4s ease,transform .4s ease}.hero-dot.is-active{background:#fff;transform:scale(1.25)}

.contact-map{max-width:1100px;margin:44px auto 0;text-align:left;background:var(--cream);border:1px solid var(--line);border-radius:4px;overflow:hidden}.contact-map iframe{display:block;width:100%;height:420px;border:0}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;font-size:14px}.map-caption .text-link{flex-shrink:0}@media(max-width:760px){.contact-map{margin-top:32px}.contact-map iframe{height:320px}.map-caption{padding:14px 16px;flex-wrap:wrap;gap:10px}}

/* Full-width header background with the existing centered content spacing. */
@media(min-width:1600px){header{padding-inline:calc((100% - 1600px)/2 + 72px)}}

.tour-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px}.tour-heading h2{margin-bottom:0}.tour-heading .text-link{flex-shrink:0}.tour-viewer{display:block;width:100%;height:clamp(420px,56vw,680px);border:1px solid var(--line);background:var(--green)}@media(max-width:760px){.tour-heading{display:block}.tour-heading .text-link{margin-top:24px}.tour-viewer{height:480px;max-height:75svh;min-height:360px}}
