:root{--charcoal:#242325;--dark:#161618;--cream:#faf7f1;--yellow:#f1a04b;--ink:#242325;--muted:#716b65;--line:#e4ded4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button{color:inherit}button:disabled{cursor:default}::selection{background:var(--yellow);color:var(--dark)}:focus-visible{outline:3px solid #ce862b;outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(48px,5.3vw,88px)}h2{font-size:clamp(38px,4.1vw,66px)}h3{font-size:32px}em{font-weight:400}p{margin-bottom:1.2em}.small{font-size:14px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;text-transform:uppercase;line-height:1.6;margin-bottom:25px}.light{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;background:var(--charcoal);color:white;padding:15px 25px;font-size:14px;font-weight:600;line-height:1.4;transition:background .25s,transform .25s}.button:hover{background:#383638;transform:translateY(-2px)}.button.yellow{background:var(--yellow);color:var(--dark)}.button.yellow:hover{background:#ebc784}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid currentColor;padding:5px 0}.text-link:hover{opacity:.7}.header{height:92px;background:var(--charcoal);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;gap:24px;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;line-height:1.05;letter-spacing:.07em;font-family:var(--serif);font-size:24px;flex-shrink:0}.brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.3em;margin-top:7px}.brand-bird{width:40px;height:49px;background:url('/assets/mascots.png') no-repeat left center;background-size:99px auto;display:block}.desktop-nav{display:flex;gap:28px;font-size:14px}.desktop-nav a{padding:8px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--yellow);transition:width .2s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.header-actions{display:flex;gap:23px;align-items:center}.language-trigger,.menu-trigger{background:none;border:0;color:inherit;font-size:14px;padding:10px 0}.language-trigger span{margin-left:5px}.menu-trigger{display:none;width:26px}.menu-trigger span{display:block;height:1px;background:currentColor;margin:7px 0;width:100%}.language-menu{position:absolute;right:4%;top:80px;background:var(--cream);color:var(--ink);box-shadow:0 12px 40px #0002;border-radius:4px;width:290px;padding:24px}.language-menu p{font-family:var(--serif);font-size:22px}.language-menu span{display:block;padding:8px 0;font-size:14px}.language-menu .coming{color:#656c64}.language-menu small{float:right;font-size:12px;color:#686f66}.mobile-nav{position:absolute;top:78px;left:0;right:0;padding:25px;background:var(--charcoal);box-shadow:0 20px 25px #0002}.mobile-nav a{display:block;padding:12px;font-family:var(--serif);font-size:26px}.hero{height:min(770px,calc(100svh - 92px));min-height:580px;position:relative;color:#fff;overflow:hidden}.hero-photo{height:100%;position:absolute;object-position:center 44%;animation:herozoom 15s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,14,18,.65) 0%,rgba(15,14,18,.18) 65%,rgba(15,14,18,.06)),linear-gradient(0deg,rgba(15,14,18,.55),transparent 38%)}.hero-copy{position:relative;padding:clamp(80px,10vh,140px) 7.2% 0;z-index:1}.hero-copy h1{margin-bottom:30px;max-width:1000px}.hero-copy h1 em{color:#ffe097}.hero-description{font-size:17px;line-height:1.8;font-weight:400;max-width:550px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:32px}.hero-bottom{position:absolute;bottom:28px;left:7.2%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em}.hero-side{writing-mode:vertical-rl;position:absolute;right:25px;top:42%;font-size:10px;letter-spacing:.23em}.welcome-strip{padding:25px 7.2%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:13px}.welcome-strip a{border-bottom:1px solid var(--charcoal);font-weight:600}.welcome-strip i{font-family:var(--serif);font-size:18px}.footer{padding:70px 7.2% 0;background:var(--dark);color:var(--cream)}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1fr;gap:35px}.footer-brand{font-family:var(--serif);font-size:43px;line-height:1.05;display:block;margin-bottom:24px}.footer .eyebrow{color:var(--yellow);font-size:11px}.footer a:not(.footer-brand){display:block;font-size:14px;margin-bottom:11px;opacity:.85}.footer a:hover{opacity:1}.footer p{font-size:14px;color:#d6d0c8}.footer-bottom{padding:22px 0;border-top:1px solid #ffffff24;margin-top:40px;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;color:#bfb7ae}.footer-note{position:relative;min-height:170px}.footer-note>span{font-family:var(--serif);font-style:italic;font-size:38px;color:var(--yellow)}.footer-note .monkey{position:absolute;right:-20px;bottom:0;opacity:.9}.mascot{background-image:url('/assets/mascots.png');background-repeat:no-repeat;pointer-events:none}.monkey{width:100px;height:130px;background-size:255px auto;background-position:right bottom}.toucan{width:140px;height:155px;background-size:310px auto;background-position:left center}.plain{background:none;border:0;padding:0;color:inherit;font-size:inherit}.whatsapp{position:fixed;bottom:22px;right:25px;z-index:15;background:var(--charcoal);color:white;border:1px solid #ffffff65;border-radius:50px;padding:13px 18px;box-shadow:0 5px 20px #0002;display:flex;gap:10px;align-items:center;font-size:13px}.whatsapp svg{width:25px;height:25px}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:var(--yellow);padding:15px}.skip:focus{top:10px}dialog{border:0;background:var(--cream);color:var(--ink);padding:40px;max-width:min(90vw,850px);max-height:90svh;border-radius:7px}dialog::backdrop{background:#111114ec;backdrop-filter:blur(6px)}.modal-close{position:absolute;right:12px;top:5px;border:0;background:var(--cream);font-size:30px;z-index:1;width:36px;border-radius:50%}body.modal-open{overflow:hidden}[hidden]{display:none!important}@keyframes herozoom{from{transform:scale(1.035)}to{transform:scale(1)}}@media(min-width:1650px){.hero-copy{padding-top:155px}}@media(max-width:1100px){.desktop-nav{gap:16px;font-size:13px}.header{gap:18px;padding:0 4%}.header-actions{gap:16px}.header-book{padding:13px 18px}.welcome-strip span:nth-child(2){display:none}}@media(max-width:900px){.desktop-nav{display:none}.menu-trigger{display:block}.header{height:78px}.header-book{padding:12px 16px}.hero{min-height:650px;height:calc(90svh - 78px)}.hero-copy{padding-top:120px}.hero-copy h1{font-size:clamp(47px,7.5vw,75px)}.footer-top{grid-template-columns:1fr 1fr}.hero-bottom span:last-child{display:none}.footer-bottom{flex-wrap:wrap}.footer-note .monkey{right:30px}.hero-side{right:15px}}@media(max-width:600px){.header{padding:0 6%;gap:10px}.brand{font-size:19px}.brand small{font-size:8px}.brand-bird{width:30px;height:37px;background-size:75px auto}.header-actions{gap:15px}.header-book{display:none}.hero{min-height:625px;height:calc(91svh - 78px)}.hero-photo{object-position:48% center}.hero-shade{background:linear-gradient(90deg,#11111499,#11111422),linear-gradient(0deg,#11111499,transparent)}.hero-copy{padding:116px 7% 0}.hero-copy h1{font-size:49px;line-height:1.12;letter-spacing:-.05em}.hero-description{font-size:15px;line-height:1.7;max-width:310px}.hero-copy .eyebrow{font-size:10px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px;margin-top:25px}.hero-side{display:none}.hero-bottom{font-size:8px;letter-spacing:.12em}.welcome-strip{font-size:12px;align-items:flex-start;padding:20px 7%;gap:15px}.welcome-strip span{max-width:155px}.welcome-strip a{max-width:110px}.footer{padding:55px 7% 80px}.footer-top{gap:40px 20px}.footer-top>div:first-child{grid-column:span 2}.footer-note{grid-column:span 2}.footer-note .monkey{right:15px;bottom:10px}.footer-bottom{font-size:11px}.whatsapp{bottom:16px;right:16px;padding:13px}.whatsapp span{display:none}dialog{padding:35px 20px}.language-menu{right:5%;top:70px}.button{min-height:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section{padding:105px 7.2%;max-width:1600px;margin:0 auto}.section-heading{max-width:690px}.section-heading h2{margin-bottom:0}.section-heading>p:last-child:not(.eyebrow){margin-top:24px;max-width:560px;color:var(--muted)}.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.heading-aside{font-size:15px;color:var(--muted);max-width:350px}.heading-row>.text-link{margin-bottom:7px;flex-shrink:0}.intro-section{display:grid;grid-template-columns:1fr 1.05fr;gap:13%;padding-top:120px;padding-bottom:150px;align-items:center}.intro-copy p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:15px}.intro-copy h2{margin-bottom:30px}.intro-collage{position:relative;height:545px;margin-right:30px}.collage-main{width:78%;height:480px;margin-left:auto}.collage-small{position:absolute;width:65%;height:225px;bottom:-10px;left:-50px;border:8px solid var(--cream);transform:rotate(-5deg)}.intro-collage .handwritten{position:absolute;right:-48px;bottom:30px;transform:rotate(9deg);font-size:24px}.handwritten{font-family:var(--serif);font-style:italic;line-height:1.2;font-size:31px;display:block}.intro-collage .toucan{position:absolute;top:-45px;left:-30px;transform:rotate(-7deg)}.manifesto-ribbon{background:var(--charcoal);color:var(--cream);padding:28px 3%;display:flex;gap:35px;justify-content:space-around;align-items:center;overflow:hidden;white-space:nowrap;font-size:16px;letter-spacing:.13em}.manifesto-ribbon i{color:var(--yellow);font-size:30px;font-style:normal}.moments-grid{display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:280px 280px;gap:20px}.photo-card{display:block;position:relative;overflow:hidden;isolation:isolate;color:white;background:var(--charcoal)}.photo-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101014ba,transparent 65%);z-index:0}.photo-card img{height:100%;transition:transform .65s ease}.photo-card:hover img{transform:scale(1.04)}.photo-card-copy{position:absolute;left:30px;right:30px;bottom:27px;z-index:1}.photo-card .eyebrow{font-size:10px;display:block;margin-bottom:10px;color:#fff9}.photo-card h3{font-size:36px;margin-bottom:0;letter-spacing:-.035em}.card-link{display:inline-block;font-size:12px;margin-top:13px;border-bottom:1px solid #fff8}.moment-tall{grid-row:span 2}.film-section{padding:75px 7.2%;background:#f0ebe3;display:grid;grid-template-columns:.75fr 1.3fr;gap:8%;align-items:center}.film-copy{max-width:380px}.film-copy h2{font-size:clamp(35px,3.7vw,58px)}.film-copy>p:last-child{font-size:15px;color:var(--muted)}.film-poster{border:0;padding:0;background:var(--charcoal);position:relative;overflow:hidden;min-height:320px;color:white;text-align:left;aspect-ratio:1.72}.film-poster>img{height:100%;position:absolute;inset:0;transition:transform .5s}.film-poster:hover>img{transform:scale(1.025)}.film-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111114b3,transparent)}.film-caption{position:absolute;bottom:28px;left:28px;right:20px;display:flex;align-items:center;gap:20px;z-index:1;font-size:12px;letter-spacing:.13em}.film-caption small{display:block;font-size:10px;opacity:.8;margin-top:5px}.play-circle{border:1px solid #fff7;border-radius:50%;display:flex;align-items:center;justify-content:center;height:58px;width:58px;font-size:26px;flex-shrink:0;background:#ffffff0d;backdrop-filter:blur(5px)}.room-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-preview .photo-card{height:440px}.room-preview h3{font-size:30px;max-width:260px}.room-preview .photo-card-copy{left:24px;right:20px}.room-footnote{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0;font-size:12px;color:var(--muted)}.belonging{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;padding-top:10px}.belonging-photo{position:relative}.belonging-photo img{height:540px}.photo-label{position:absolute;bottom:20px;left:24px;color:white;font-size:11px;letter-spacing:.18em;text-shadow:0 1px 10px #000}.belonging p:not(.eyebrow){font-size:15px;color:var(--muted)}.belonging h2{font-size:clamp(35px,3.9vw,57px)}.belonging-tags{display:flex;gap:10px;flex-wrap:wrap;padding-top:15px}.belonging-tags span{border:1px solid var(--line);padding:7px 15px;border-radius:20px;font-size:12px}.review-strip{background:var(--charcoal);color:var(--cream);padding:55px 9%;display:flex;align-items:center;justify-content:space-between;text-align:center;gap:25px}.review-strip>div strong{font-family:var(--serif);font-size:53px;line-height:1.2;display:block;font-weight:400}.review-strip strong small{font-size:22px}.review-strip>div>span{display:block;font-size:15px;letter-spacing:.05em;margin:8px 0 12px}.review-strip a{font-size:11px;border-bottom:1px solid #faf7f166}.review-strip>p{font:30px/1.35 var(--serif);margin:0}.review-strip>p small{display:block;font:10px/1.5 var(--sans);opacity:.7;margin-top:20px;letter-spacing:.02em}.rio-teaser{display:grid;grid-template-columns:.8fr 1.1fr;gap:10%;align-items:center}.rio-teaser img{height:430px}.rio-teaser p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:400px}.faq-section{display:grid;grid-template-columns:.65fr 1fr;gap:12%;padding-top:50px}.faq-section>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:25px 0;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:24px}summary::-webkit-details-marker{display:none}summary span{font-size:23px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;line-height:1.8;color:var(--muted);padding-right:30px;padding-bottom:12px}.closing{display:grid;grid-template-columns:1.1fr 1fr;background:var(--charcoal);color:var(--cream)}.closing-image img{height:100%;min-height:555px}.closing-copy{padding:75px 13%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.closing-copy .eyebrow{font-size:10px;color:var(--yellow)}.closing-copy h2{font-size:70px;line-height:1.07;margin-bottom:25px}.closing-copy p{font-size:14px;color:#d6d0c8}.closing-copy .text-link{font-size:12px;margin-top:17px}.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:535px;background:var(--charcoal);color:var(--cream)}.page-hero-copy{padding:75px 9% 65px 14.4%;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(42px,4vw,64px);line-height:1.15}.page-hero h1 em{color:#e4c28b}.page-hero .eyebrow{font-size:11px;color:var(--yellow)}.page-hero p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:430px;color:#ddd8d1}.page-hero>img{height:100%;max-height:680px;min-height:535px}.story{display:grid;grid-template-columns:.65fr 1fr;gap:12%;align-items:center}.story>div:last-child{max-width:650px}.story p:not(.eyebrow){color:var(--muted);font-size:15px}.story-side{border-left:1px solid #d0c1ad;padding-left:50px}.story-side>span{font-family:var(--serif);font-size:105px;letter-spacing:-.08em;line-height:1.2;color:#a18357}.story-side sup{font-size:40px}.story-side p:last-child{margin-top:20px}.wide-photo{height:620px;position:relative;overflow:hidden}.wide-photo img{height:100%}.wide-photo:after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,#16161899)}.wide-photo span{position:absolute;bottom:35px;left:7%;font-size:14px;color:white;z-index:1}.space-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.space-grid .photo-card{height:365px}.space-grid .photo-card-copy{left:20px;right:15px;bottom:22px}.space-grid h3{font-size:27px}.caption{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0 0}.wildlife{display:grid;grid-template-columns:.8fr 1fr;gap:16%;align-items:center}.wildlife-photos{position:relative;margin-left:30px}.wildlife-photos>img{height:515px;object-position:50% 34%}.wildlife-photos .toucan{position:absolute;bottom:-40px;left:-70px;width:180px;height:210px;background-size:420px auto;transform:rotate(-8deg)}.wildlife p:not(.eyebrow){color:var(--muted);font-size:15px}.nature-note{padding:22px 0 0;border-top:1px solid var(--line);font-size:13px;line-height:1.8}.warm-note{padding:75px 7%;text-align:center;background:#f0ebe3}.warm-note>.handwritten{margin-bottom:25px;color:#b35b1c}.warm-note h2{font-size:clamp(35px,3.9vw,60px)}.warm-note p{max-width:700px;margin:0 auto 28px;font-size:15px;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filters button{border:1px solid #ded7cd;border-radius:30px;padding:12px 22px;font-size:13px;background:transparent;transition:background .2s}.filters button[aria-pressed=true]{background:var(--charcoal);color:white;border-color:var(--charcoal)}.filters button:hover:not([aria-pressed=true]){background:#f0ebe3}.filter-status{font-size:12px;color:var(--muted);margin:20px 0 28px}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 25px}.room-card{background:#fffdf8;border-bottom:1px solid var(--line)}.room-card>img{height:275px}.room-card-body{padding:25px 25px 30px}.room-card .eyebrow{font-size:10px;margin-bottom:16px}.room-card h2{font-size:28px;letter-spacing:-.025em}.room-card p:not(.eyebrow){font-size:14px;color:var(--muted);min-height:92px}.room-card ul{list-style:none;display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:20px 0}.room-card li{font-size:11px;background:#f2ecdf;padding:5px 9px}.room-card .text-link{font-size:13px}.room-help{margin-top:60px;background:#f0e9dd;padding:35px;display:flex;align-items:center;justify-content:space-between;gap:40px}.room-help h3{font-size:28px}.room-help p{font-size:14px;max-width:650px;margin:0}.room-help .button{flex-shrink:0}.anchor-nav{padding:24px 7%;display:flex;justify-content:center;gap:45px;border-bottom:1px solid var(--line);font-size:14px}.anchor-nav a:hover{color:#b35b1c}.day-block{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:center;padding-bottom:35px}.day-block:last-of-type{padding-bottom:95px}.day-block.reverse{grid-template-columns:1fr 1.1fr}.day-block.reverse .day-image{order:2}.day-image{position:relative}.day-image img{height:480px}.time-stamp{position:absolute;bottom:25px;left:25px;color:white;font:italic 38px var(--serif);text-shadow:0 1px 15px #0007}.day-copy h2{font-size:clamp(34px,3.8vw,59px)}.day-copy p:not(.eyebrow){font-size:15px;color:var(--muted)}.day-copy .caption{font-size:12px!important}.inline-features{display:flex;flex-wrap:wrap;gap:10px}.inline-features span{font-size:11px;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:7px 0;margin-right:10px}.night-section{margin-top:70px;background:var(--charcoal);color:var(--cream)}.night-image{height:590px}.night-image img{height:100%}.night-copy{padding:60px 15%;text-align:center}.night-copy p{max-width:600px;margin-left:auto;margin-right:auto;color:#e7dccb;font-size:15px}.night-copy .eyebrow{color:var(--yellow);font-size:11px}.night-copy h2{font-size:clamp(35px,4vw,63px)}.night-copy .small{font-size:12px}.extra-moments{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:60px}.extra-moments img{height:370px}.extra-moments h3{font-size:28px;margin-top:25px}.rio-story{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.rio-story p:not(.eyebrow){font-size:15px;color:var(--muted)}.spots-section{padding-top:15px}.spots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 40px;margin-top:50px}.spot{padding:25px 0 30px;border-top:1px solid #d1c2ac;position:relative}.spot-number{font:italic 36px var(--serif);display:block;color:#a38e74;margin-bottom:20px}.spot .eyebrow{font-size:10px;margin-bottom:15px}.spot h3{font-size:29px;letter-spacing:-.03em;min-height:65px}.spot p:not(.eyebrow){font-size:14px;color:var(--muted);min-height:115px}.spot .text-link{font-size:12px}.arrival{background:#f0e9dd;max-width:none}.arrival-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px}.arrival article{padding:35px;background:var(--cream)}.arrival h3{font-size:32px}.arrival-grid p:not(.eyebrow){font-size:15px}.arrival-tip{display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;margin-top:40px;border-top:1px solid #d8cbbb;padding-top:35px;align-items:start}.arrival-tip p{font-size:14px;color:var(--muted);margin:0}.gallery-heading{padding-bottom:40px;text-align:center}.gallery-heading h1{font-size:clamp(50px,5.5vw,85px)}.gallery-heading>p:last-child{font-size:15px;color:var(--muted)}.gallery-section{padding-top:10px}.gallery-filters{justify-content:center}.gallery-filters button{padding:9px 17px;font-size:12px}.gallery-section>.filter-status{text-align:center;margin-bottom:40px}.gallery-grid{columns:3;column-gap:20px}.gallery-item{display:block;width:100%;padding:0;border:0;background:none;position:relative;margin-bottom:20px;break-inside:avoid;overflow:hidden;text-align:left}.gallery-item img{height:350px;transition:transform .5s}.gallery-item:nth-child(3n+2) img{height:460px}.gallery-item:nth-child(5n) img{height:275px}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17151aaa,transparent 40%)}.gallery-item>span{position:absolute;bottom:18px;left:20px;right:20px;color:#fff;font-size:13px;z-index:1;display:flex;justify-content:space-between;gap:10px;align-items:center}.gallery-item b{font-size:24px;font-weight:400}.gallery-future{margin-top:60px;padding:40px;border:1px solid var(--line);display:flex;align-items:center;gap:50px;justify-content:space-between}.gallery-future>div{max-width:580px}.gallery-future h3{font-size:30px}.gallery-future p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.gallery-future>.handwritten{flex-shrink:0;color:#b35b1c}.lightbox-image{object-fit:contain;max-height:70svh;max-width:85vw;width:auto;margin:auto}.lightbox-caption{margin:18px 0 0;text-align:center;font-size:14px}.lightbox-controls{display:flex;gap:30px;align-items:center;justify-content:center;margin-top:20px}.lightbox-controls button{background:transparent;border:1px solid var(--line);padding:7px 15px;font-size:14px;border-radius:3px}.lightbox-controls span{font-size:12px}.video-empty>img{max-height:380px}.video-empty .eyebrow{margin-top:25px;font-size:11px}.video-empty h2{font-size:36px}.video-empty p{font-size:15px}.video-empty .button{margin-top:15px}.video-player{max-width:100%;max-height:75svh}.booking-intro{display:grid;grid-template-columns:1fr 1fr;background:#f2ecdf;min-height:455px}.booking-intro>div:first-child{padding:65px 12% 55px 14.4%}.booking-intro h1{font-size:clamp(50px,5vw,77px)}.booking-intro p:not(.eyebrow){font-size:16px;color:var(--muted)}.booking-picture{position:relative}.booking-picture img{height:100%;max-height:590px}.booking-picture .handwritten{position:absolute;bottom:35px;left:40px;color:white;text-shadow:0 3px 8px #0009;transform:rotate(-6deg);font-size:39px}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;padding-top:80px}.booking-primary>p:not(.eyebrow){font-size:15px;color:var(--muted)}.booking-primary>.caption{font-size:12px!important}.booking-primary h2{font-size:50px}.booking-official{width:100%;margin-top:15px}.direct-perk{display:flex;gap:20px;margin-top:40px;background:#f2ecdf;padding:27px}.direct-perk>span{font-size:40px;color:#b35b1c;line-height:1}.direct-perk h3{font-size:27px;margin-bottom:14px}.direct-perk p{font-size:13px;margin:0}.direct-perk small{font-size:11px;line-height:1.6;color:var(--muted);display:block;margin-top:16px}.booking-human{margin-top:35px}.booking-human h3{font-size:28px}.booking-human p{font-size:14px;color:var(--muted)}.booking-human .text-link{font-size:13px;display:table;margin-top:12px}.booking-form-wrap{padding:35px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 15px 40px #24232505}.booking-form-wrap>.eyebrow{font-size:10px}.booking-form-wrap>h3{font-size:33px}.booking-form-wrap>p{font-size:14px;color:var(--muted)}label{font-size:13px;display:block;margin:0 0 22px;font-weight:500}label>span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-width:0;display:block;padding:12px 10px;margin-top:9px;border:1px solid #e1d6c8;background:#fffaf2;border-radius:2px;font-size:14px;color:var(--ink);min-height:48px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form-wrap form>.button{width:100%}.form-error{color:#9e3e2c;font-size:13px}.booking-form-wrap .caption{font-size:11px}.summary-row{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:12px 0;border-bottom:1px solid var(--line)}.summary-message{white-space:pre-wrap;font-size:14px;margin:20px 0}#send-whatsapp{margin:25px 0 15px;width:100%}#edit-request{font-size:13px}.revealed{animation:reveal .65s ease-out both}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.film-section,.review-strip,.arrival{padding-left:calc((100% - 1368px)/2);padding-right:calc((100% - 1368px)/2)}}
@media(max-width:1100px){.section{padding:80px 6%}.intro-section{gap:8%;padding-bottom:120px}.intro-collage{height:470px;margin-right:15px}.collage-main{height:410px}.collage-small{left:-20px;height:190px;width:70%}.intro-collage .handwritten{right:-28px;bottom:4px;font-size:20px}.intro-collage .toucan{left:-25px}.moments-grid{grid-template-rows:250px 250px}.photo-card-copy{left:25px;right:20px}.photo-card h3{font-size:29px}.space-grid{grid-template-columns:1fr 1fr}.space-grid .photo-card{height:400px}.rooms-grid{grid-template-columns:1fr 1fr}.room-help{gap:25px;padding:28px}.room-help .button{max-width:215px}.room-preview .photo-card{height:380px}.room-preview h3{font-size:26px}.belonging{gap:7%}.belonging-photo img{height:510px}.review-strip{padding:50px 6%}.review-strip>p{font-size:25px}.closing-copy{padding:65px 11%}.closing-copy h2{font-size:60px}.day-block{gap:7%}.day-image img{height:450px}.spots-grid{gap:25px}.gallery-grid{column-gap:15px}.gallery-item{margin-bottom:15px}.booking-section{gap:6%}.booking-form-wrap{padding:28px}.booking-primary h2{font-size:45px}.booking-section .form-row{grid-template-columns:1fr}.booking-section label{margin-bottom:18px}}
@media(max-width:800px){.section{padding:65px 7%}.intro-section{grid-template-columns:1fr;gap:60px;padding-top:70px;padding-bottom:100px}.intro-copy p:not(.eyebrow){max-width:600px}.intro-copy h2{font-size:50px}.intro-collage{height:500px;width:90%;max-width:470px;margin:0 auto}.collage-main{height:440px}.collage-small{bottom:-10px;height:220px}.intro-collage .handwritten{right:-30px;bottom:10px}.intro-collage .toucan{top:-20px;left:0}.manifesto-ribbon{gap:25px;justify-content:flex-start;font-size:12px;padding:19px 7%}.manifesto-ribbon i{font-size:24px}.heading-row{gap:25px}.heading-aside{max-width:250px;font-size:14px}.moments-grid{grid-template-rows:235px 235px}.film-section{grid-template-columns:1fr;gap:30px;padding:60px 7%}.film-copy{max-width:550px}.film-poster{min-height:300px}.room-preview{gap:12px}.room-preview .photo-card{height:320px}.room-preview .photo-card-copy{left:17px;right:10px;bottom:20px}.room-preview h3{font-size:24px}.room-preview .eyebrow{font-size:8px;letter-spacing:.12em}.room-footnote{gap:15px;font-size:11px}.belonging{grid-template-columns:1fr;gap:40px;padding-top:5px}.belonging-photo img{height:430px}.belonging>div:last-child{max-width:600px}.review-strip{gap:30px}.review-strip>p{font-size:22px}.review-strip>div strong{font-size:40px}.review-strip a{font-size:10px}.rio-teaser{gap:6%}.rio-teaser img{height:440px}.faq-section{grid-template-columns:1fr;gap:25px}.faq-section h2 br{display:none}.faq-section>div:first-child>p:last-child{display:none}.closing-copy{padding:55px 10%}.closing-copy h2{font-size:50px}.closing-image img{min-height:490px}.page-hero{min-height:460px}.page-hero-copy{padding:45px 10% 45px 14%}.page-hero h1{font-size:40px}.page-hero>img{min-height:460px}.page-hero .eyebrow{font-size:9px}.page-hero p:not(.eyebrow){font-size:14px}.story{gap:8%}.story-side{padding-left:20px}.story-side>span{font-size:75px}.story h2{font-size:38px}.wide-photo{height:460px}.wildlife{gap:10%;grid-template-columns:.8fr 1fr}.wildlife-photos{margin-left:0}.wildlife-photos>img{height:440px}.wildlife h2{font-size:35px}.wildlife-photos .toucan{left:-30px;width:130px;height:160px;background-size:320px auto}.anchor-nav{gap:25px;font-size:12px;flex-wrap:wrap;padding:22px 7%}.day-block,.day-block.reverse{grid-template-columns:1fr;gap:30px;padding-bottom:20px}.day-block.reverse .day-image{order:0}.day-image img{height:440px}.day-copy{max-width:620px}.day-copy h2{font-size:44px}.night-image{height:460px}.night-copy{padding:45px 10%}.extra-moments{gap:18px;padding-top:45px}.extra-moments img{height:290px}.extra-moments h3{font-size:23px}.rio-story{gap:8%}.rio-story h2{font-size:41px}.spots-grid{grid-template-columns:1fr 1fr}.arrival-grid{gap:22px}.arrival article{padding:25px}.arrival h3{font-size:28px}.arrival-grid .button{font-size:12px}.arrival-tip{grid-template-columns:1fr;gap:5px}.gallery-grid{columns:2}.gallery-future{padding:28px;gap:25px}.gallery-future>.handwritten{font-size:25px}.booking-intro h1{font-size:60px}.booking-intro>div:first-child{padding:55px 10% 45px 14%}.booking-picture .handwritten{font-size:30px;left:25px}.booking-section{grid-template-columns:1fr;gap:45px}.booking-primary{max-width:650px}.booking-section .form-row{grid-template-columns:1fr 1fr}.direct-perk{max-width:550px}.booking-form-wrap{padding:35px}}
@media(max-width:550px){.section{padding:60px 7%}h2{font-size:39px}.eyebrow{font-size:10px;margin-bottom:20px}.intro-copy h2{font-size:44px}.intro-collage{height:380px;width:92%;margin-bottom:15px}.collage-main{height:340px}.collage-small{height:165px;left:-20px;bottom:-25px;border-width:5px}.intro-collage .handwritten{font-size:19px;bottom:4px;right:-25px}.intro-collage .toucan{width:110px;height:135px;background-size:270px auto;top:-20px;left:-23px}.intro-section{gap:45px;padding-bottom:85px}.heading-row{display:block;margin-bottom:30px}.heading-row>.text-link{margin-top:25px}.heading-aside{max-width:none;margin-top:23px}.heading-aside p{font-size:14px}.moments-grid{grid-template-columns:1fr;grid-template-rows:380px 260px 260px;gap:16px}.moment-tall{grid-row:auto}.photo-card h3{font-size:31px}.photo-card-copy{bottom:23px;left:23px}.photo-card .eyebrow{font-size:9px}.film-section{padding:50px 7%;gap:25px}.film-copy h2{font-size:39px}.film-poster{min-height:270px}.film-caption{left:20px;bottom:20px;gap:13px;font-size:9px;letter-spacing:.1em}.film-caption small{font-size:8px}.play-circle{width:45px;height:45px;font-size:23px}.room-preview{grid-template-columns:1fr;gap:18px}.room-preview .photo-card{height:365px}.room-preview .photo-card-copy{left:23px;bottom:25px}.room-preview h3{font-size:32px}.room-preview .eyebrow{font-size:10px}.room-footnote{flex-direction:column;gap:6px;padding:20px 0}.belonging{gap:30px;padding-top:0}.belonging-photo img{height:365px}.belonging h2{font-size:38px}.belonging-tags span{font-size:11px}.review-strip{display:grid;grid-template-columns:1fr 1fr;padding:40px 7%;gap:30px 20px}.review-strip>p{grid-column:span 2;grid-row:1;font-size:27px}.review-strip>p small{font-size:9px}.review-strip>div strong{font-size:43px}.rio-teaser{grid-template-columns:1fr;gap:30px}.rio-teaser img{height:330px}.faq-section{padding-top:10px;gap:10px}summary{font-size:14px;padding:21px 0}details>p{font-size:13px;padding-right:5px}.closing{grid-template-columns:1fr}.closing-image img{min-height:0;height:310px}.closing-copy{padding:50px 7%;min-height:450px}.closing-copy h2{font-size:61px}.closing-copy p{font-size:15px}.closing-copy .eyebrow{font-size:9px}.page-hero{grid-template-columns:1fr;min-height:0}.page-hero-copy{padding:50px 7% 40px}.page-hero h1{font-size:43px}.page-hero p:not(.eyebrow){font-size:15px}.page-hero>img{height:300px;min-height:0}.story{grid-template-columns:1fr;gap:35px}.story-side{padding-left:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:center}.story-side>.eyebrow{grid-column:span 2}.story-side>span{font-size:70px}.story-side p:last-child{font-size:13px;margin:0}.story h2{font-size:39px}.wide-photo{height:365px}.wide-photo img{object-position:65% center}.wide-photo span{font-size:11px;bottom:25px;right:7%}.space-grid{grid-template-columns:1fr 1fr;gap:12px}.space-grid .photo-card{height:265px}.space-grid .photo-card-copy{left:14px;right:10px;bottom:18px}.space-grid h3{font-size:22px}.space-grid .eyebrow{font-size:8px;letter-spacing:.08em}.space-grid .card-link{font-size:10px}.wildlife{grid-template-columns:1fr;gap:50px}.wildlife-photos{width:80%;margin:0 auto}.wildlife-photos>img{height:390px}.wildlife-photos .toucan{left:-40px;bottom:-25px}.wildlife h2{font-size:41px}.warm-note{padding:55px 7%}.warm-note h2{font-size:38px}.warm-note p{font-size:14px}.filters{gap:8px}.filters button{font-size:12px;padding:10px 16px}.rooms-grid{grid-template-columns:1fr;gap:28px}.room-card>img{height:285px}.room-card p:not(.eyebrow){min-height:0}.room-card-body{padding:25px}.room-help{display:block;padding:28px;margin-top:35px}.room-help .button{margin-top:25px;max-width:none}.room-help h3{font-size:27px}.anchor-nav{gap:14px 22px;font-size:11px}.day-block{gap:27px;padding-bottom:15px}.day-image img{height:345px}.day-copy h2{font-size:40px}.time-stamp{font-size:32px}.night-section{margin-top:50px}.night-image{height:325px}.night-copy{padding:40px 7%}.night-copy h2{font-size:36px}.night-copy p{font-size:14px}.extra-moments{grid-template-columns:1fr;gap:25px;padding-top:20px}.extra-moments img{height:340px}.extra-moments h3{font-size:29px;margin:23px 0}.rio-story{grid-template-columns:1fr;gap:15px}.rio-story h2 br:nth-child(2){display:none}.spots-section{padding-top:10px}.spots-grid{grid-template-columns:1fr;gap:10px;margin-top:35px}.spot h3{min-height:0;font-size:30px}.spot p:not(.eyebrow){min-height:0}.spot-number{font-size:30px;margin-bottom:17px}.arrival-grid{grid-template-columns:1fr;gap:20px;margin-top:35px}.arrival article{padding:28px}.arrival-grid .button{font-size:13px}.gallery-heading{padding-bottom:30px}.gallery-heading h1{font-size:50px}.gallery-heading p:last-child{font-size:14px}.gallery-section{padding-top:0}.gallery-filters{gap:7px}.gallery-filters button{font-size:10px;padding:9px 13px}.gallery-grid{column-gap:11px}.gallery-item{margin-bottom:11px}.gallery-item img{height:220px}.gallery-item:nth-child(3n+2) img{height:290px}.gallery-item:nth-child(5n) img{height:180px}.gallery-item>span{font-size:10px;bottom:13px;left:12px;right:10px;line-height:1.45}.gallery-item b{font-size:17px}.gallery-future{display:block;padding:25px;margin-top:35px}.gallery-future h3{font-size:28px}.gallery-future .handwritten{margin-top:25px;font-size:27px}.lightbox-image{max-height:65svh;max-width:100%}.lightbox-controls{gap:14px}.lightbox-controls button{font-size:12px;padding:8px 10px}.lightbox-caption{font-size:12px}.booking-intro{grid-template-columns:1fr}.booking-intro>div:first-child{padding:45px 7% 30px}.booking-intro h1{font-size:62px;margin-bottom:25px}.booking-picture{height:260px}.booking-picture img{height:100%}.booking-picture .handwritten{bottom:25px}.booking-section{padding-top:50px;gap:35px}.booking-primary h2{font-size:43px}.direct-perk{padding:22px;gap:15px}.direct-perk h3{font-size:27px}.booking-form-wrap{padding:25px 20px}.booking-form-wrap h3{font-size:30px}.booking-section .form-row{grid-template-columns:1fr;gap:0}.booking-section input,.booking-section select,.booking-section textarea{font-size:16px}.booking-form-wrap>.eyebrow{font-size:9px}.video-empty h2{font-size:30px}}
/* Responsive media sizing and comfortable reading. */
.film-poster{width:100%;min-width:0}.film-section>*{min-width:0}
.intro-copy p:not(.eyebrow),.belonging p:not(.eyebrow),.rio-teaser p:not(.eyebrow),.story p:not(.eyebrow),.wildlife p:not(.eyebrow),.day-copy p:not(.eyebrow),.rio-story p:not(.eyebrow),.room-card p:not(.eyebrow),.booking-primary>p:not(.eyebrow){font-size:16px}
@media(max-width:600px){.hero-copy h1{font-size:clamp(40px,12.5vw,49px)}.hero-photo{object-position:59% center}.faq-section h2{font-size:37px}}
.header{position:sticky;top:0}
