/* Castelo — cinematic photographs, warm neutrals, an open-house spirit. */
:root{--gold:#f1a04b;--gold-ink:#b35b1c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
body{font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--sans);font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(36px,3.8vw,57px);line-height:1.15}h3{font-size:28px}h1 em,h2 em,h3 em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;font-size:1.19em;line-height:1.02;color:var(--gold-ink)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--gold-ink)}.button{gap:10px;border-radius:6px;padding:17px 26px;font-size:13px;font-weight:600;box-shadow:none}.button.yellow{background:var(--gold);color:#211c16}.button.yellow:hover{background:#ffb66e}.button-arrow{font-size:20px;line-height:1;margin-left:7px;font-weight:400}.text-link{font-size:13px;padding-bottom:7px;border-color:#a99b8570}.text-link.light{border-color:#ffffff65}.text-link span{margin-left:8px}.header{height:98px;background:#19191b;border-bottom:1px solid #ffffff14;padding:0 5%;gap:20px}.home-page .header{position:absolute;top:0;left:0;right:0;background:linear-gradient(#121216a6,#12121635);border-color:#ffffff25}.brand{font-size:27px;letter-spacing:.08em;color:#f5e9d5;gap:12px}.brand small{font-size:9px;letter-spacing:.33em;color:#d4be94}.brand-bird{width:36px;height:42px;background-size:88px auto}.desktop-nav{font-size:12px;gap:27px}.desktop-nav a{opacity:.85}.desktop-nav a:hover,.desktop-nav a[aria-current]{opacity:1}.header-actions{gap:20px}.header-book{background:transparent;border:1px solid #d5b679a3;color:#ffba77;font-size:12px;padding:12px 22px}.header-book:hover{background:#f1a04b;color:#211c16}.language-trigger{font-size:12px}.language-menu{top:82px;border:1px solid var(--line);box-shadow:0 20px 50px #0002;border-radius:6px}.language-menu p{font-size:25px}.mobile-nav{background:#1c1b1e;top:78px}.mobile-nav a{font-family:var(--sans);font-size:21px;font-weight:400}.language-menu .coming,.language-menu small{color:#7a7066}
.hero{height:min(900px,100svh);min-height:720px;background:#19191b}.hero-photo{object-position:center 47%;animation:none}.hero-shade{background:linear-gradient(90deg,#101116d4 0%,#11121670 40%,#13141905 76%),linear-gradient(0deg,#111115c9,transparent 35%,transparent 78%,#11111544)}.hero-copy{padding:clamp(195px,27vh,270px) 7.2% 160px;max-width:1040px}.hero-copy .eyebrow{display:flex;align-items:center;gap:13px;color:#e9d3ac;font-size:10px;margin-bottom:32px;letter-spacing:.22em}.hero-copy .eyebrow>span{width:30px;height:1px;background:#e1b96e}.hero-copy h1{font-size:clamp(52px,5.4vw,82px);font-weight:500;letter-spacing:-.06em;line-height:1.14;margin-bottom:27px}.hero-copy h1 em{display:inline-block;color:#ffaf5e;font-size:1.19em;font-weight:400;line-height:1.13;letter-spacing:-.045em}.hero-description{max-width:460px;font-size:14px;line-height:1.95;color:#f0ece6;font-weight:400}.hero-actions{gap:28px;margin-top:33px}.hero-actions .text-link{font-size:12px}.hero-actions .button{font-size:13px;padding:18px 24px;min-height:57px}.hero-bottom{left:7.2%;right:7.2%;bottom:29px;font-size:9px;letter-spacing:.16em;align-items:center;color:#e0d8cc}.hero-bottom a span{display:inline-block;font-size:20px;margin-left:15px;vertical-align:middle;line-height:1}.hero-life{position:absolute;right:5.2%;bottom:108px;display:flex;align-items:center;gap:17px;background:#17161970;border:1px solid #ffffff38;padding:10px 18px 10px 10px;color:#fff;border-radius:5px;backdrop-filter:blur(14px);transition:background .2s;max-width:355px}.hero-life:hover{background:#171619a6}.hero-life img{width:102px;height:80px;border-radius:2px}.hero-life span{font-family:var(--serif);font-size:22px;line-height:1.1}.hero-life small{display:block;font-family:var(--sans);color:#ddbf8b;font-size:8px;letter-spacing:.18em;margin-bottom:9px}.hero-life b{font-size:22px;align-self:flex-end;font-weight:400;margin-left:8px}.welcome-strip{background:#1c1b1e;color:#ded6c9;border-color:#f1a04b45;justify-content:center;gap:42px;padding:26px 6%;font-size:11px;letter-spacing:.015em}.welcome-strip i{font-family:var(--serif);color:var(--gold);font-size:21px;font-style:normal}.welcome-strip a{border:0;color:#ffaf5e;font-weight:500}.welcome-strip a span{margin-left:8px}.section{padding-top:110px;padding-bottom:110px}.intro-section{gap:10%;padding-top:120px;padding-bottom:100px}.intro-copy h2{font-size:clamp(39px,4vw,60px);margin-bottom:30px}.intro-copy p:not(.eyebrow){font-size:14px;line-height:1.9}.intro-collage{height:570px;margin-right:0}.collage-main{width:76%;height:460px;border-radius:3px}.collage-small{left:-15px;bottom:33px;width:70%;height:215px;transform:none;border:7px solid var(--cream);border-radius:2px}.intro-collage .handwritten{right:3%;bottom:-4px;transform:none;font-size:25px;color:var(--gold-ink)}.intro-collage .toucan{top:auto;bottom:44px;left:auto;right:-15px;transform:none;width:89px;height:116px;background-size:230px auto}.manifesto-ribbon{background:var(--cream);color:#777067;font-size:12px;letter-spacing:.03em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 7.2%;gap:35px;justify-content:center}.manifesto-ribbon em{font:italic 27px var(--serif);color:var(--gold-ink)}.manifesto-ribbon>span:after{content:'·';color:var(--gold-ink);margin-left:35px}
.moments-section{max-width:none;background:#1c1b1e;color:#fbf6ee;padding-bottom:110px}.moments-section>.heading-row,.moments-grid{max-width:1368px;margin-left:auto;margin-right:auto}.moments-section .eyebrow{color:#cfad79}.moments-section h2 em{color:#ffaf5e}.moments-section .text-link{color:#e6d6bc}.moments-grid{gap:16px;grid-template-columns:1fr 1.16fr;grid-template-rows:255px 255px}.photo-card{border-radius:4px}.photo-card:after{background:linear-gradient(0deg,#111115d1,transparent 72%)}.photo-card-copy{bottom:30px;left:32px;right:28px}.photo-card .eyebrow{color:#f8e6c8;font-size:9px;letter-spacing:.16em}.photo-card h3{font-family:var(--sans);font-size:31px;line-height:1.13;font-weight:500;letter-spacing:-.035em}.card-link{font-size:10px;letter-spacing:.04em;margin-top:17px}.film-section{background:#252326;color:#f8f3eb;padding-top:75px;padding-bottom:75px;border-top:1px solid #ffffff15;gap:10%}.film-section .eyebrow{color:#c9aa76}.film-copy h2{font-size:clamp(36px,3.5vw,53px)}.film-copy h2 em{color:#ffaf5e}.film-copy>p:last-child{color:#c4bcb1;font-size:13px}.film-poster{border-radius:4px;min-height:330px}.film-poster:after{background:linear-gradient(0deg,#111115be,transparent)}.film-caption{font-size:10px;letter-spacing:.16em}.film-caption small{font-size:8px;letter-spacing:.1em}.play-circle{width:54px;height:54px;font-size:22px;border-color:#ffffffa1}.room-preview .photo-card{height:465px}.room-preview h3{font-size:27px}.room-footnote{padding:22px 0;font-size:11px}.heading-aside{font-size:13px;line-height:1.9}.belonging-photo img,.rio-teaser img,.day-image img,.wildlife-photos>img{border-radius:4px}.belonging h2{font-size:clamp(35px,3.5vw,51px)}.belonging p:not(.eyebrow){font-size:14px;line-height:1.9}.belonging-tags span{font-size:11px;color:#7f6950}.review-strip{background:#f1ece3;color:#4c453e;border-top:1px solid #e5d9c6;border-bottom:1px solid #e5d9c6;padding-top:38px;padding-bottom:38px}.review-strip>div strong{font:500 32px var(--sans);letter-spacing:-.04em}.review-strip strong small{font-size:14px}.review-strip>div>span{font-size:11px;letter-spacing:.02em;margin:4px 0}.review-strip a{color:#776750;border-color:#b7a791;font-size:9px}.review-strip>p{font-size:26px}.review-strip>p small{font-size:8px;margin-top:11px}.review-strip>p em{color:#b35b1c}.rio-teaser p:not(.eyebrow){font-size:14px}.faq-section{padding-top:40px}summary{font-size:13px;padding:24px 0}.faq-list details>p{font-size:13px}.closing{background:#201e21}.closing-copy{padding-top:85px;padding-bottom:85px}.closing-copy h2{font-size:60px}.closing-copy h2 em{color:#ffaf5e}.closing-copy p{color:#c7beb3}.closing-image img{min-height:560px}.footer{background:#161618;padding-top:80px}.footer-brand{font-family:var(--serif);font-size:46px;color:#f3e2c8}.footer-top{gap:45px}.footer .eyebrow{font-size:9px;color:#c2a374}.footer a:not(.footer-brand),.footer p{font-size:12px;color:#c4bdb3}.footer-note>span{color:#d9b779}.footer-note .monkey{width:78px;height:105px;background-size:198px auto;right:0}.footer-bottom{font-size:10px;color:#999087;padding-bottom:25px}.whatsapp{background:#272529;border-color:#e8d4aa4d;padding:12px 16px;font-size:11px;box-shadow:0 4px 25px #0002}.whatsapp svg{color:#dcb97f;width:23px;height:23px}.whatsapp:hover{background:#3a3536}
/* Interior pages share the same palette and photographic direction. */
.page-hero{background:#201e21}.page-hero h1{font-size:clamp(40px,3.5vw,56px);line-height:1.15}.page-hero h1 em{color:#ffaf5e}.page-hero-copy{padding-top:90px;padding-bottom:80px}.page-hero p:not(.eyebrow){font-size:13px;color:#cfc6bb;line-height:1.95}.page-hero .eyebrow{font-size:9px;color:#ceb17f}.page-hero>img{max-height:620px}.story-side>span{color:#a58a65}.story p:not(.eyebrow){font-size:14px;line-height:1.9}.wide-photo:after{background:linear-gradient(transparent,#131217a3)}.space-grid h3{font-size:23px}.space-grid .photo-card{height:390px}.wildlife h2{font-size:clamp(33px,3.7vw,54px)}.warm-note{background:#efe8dd;padding-top:85px;padding-bottom:85px}.warm-note h2{font-size:clamp(32px,3.8vw,55px)}.warm-note>.handwritten{color:#a2804f}.filters button{font-size:12px;border-radius:5px;padding:11px 21px}.filters button[aria-pressed=true]{background:#272428}.room-card{border-radius:5px;overflow:hidden;border-color:#e4dbce;box-shadow:none}.room-card h2{font-family:var(--sans);font-size:25px;letter-spacing:-.04em}.room-card p,.room-card li{font-size:13px}.room-help{background:#efe8dd;border-color:#e3d7c5}.room-help h3{font-size:25px}.anchor-nav{font-size:12px;border-color:#e2d7c7}.day-copy h2{font-size:clamp(36px,3.7vw,55px)}.time-stamp{background:#232023;color:#ffba77;font-family:var(--sans);font-size:13px;letter-spacing:.05em;border-radius:3px}.night-section{background:#1c1b1e}.night-copy h2{font-size:clamp(36px,4vw,61px)}.night-copy h2 em{color:#ffaf5e}.night-copy p{color:#cfc5b9}.night-copy .eyebrow{color:#d6b37c}.extra-moments h3{font-size:23px;line-height:1.4}.extra-moments img{border-radius:4px}.spots-section{background:#f3eee6}.spot{border-color:#dfd4c3}.spot-number{color:#b79868;font-family:var(--serif)}.spot h3{font-size:25px}.arrival{background:#ede6dc}.arrival article{background:#fbf8f2;border-color:#d9cbb9;border-radius:5px}.arrival h3{font-size:27px}.arrival-tip h3{font-size:22px}.gallery-heading{background:#f2ece3}.gallery-heading h1{font-size:clamp(47px,5.3vw,78px)}.gallery-item{border-radius:4px}.gallery-item span{background:linear-gradient(transparent,#131217b3);font-size:12px}.gallery-future{background:#efe8dd;border-radius:4px}.gallery-future h3{font-size:26px}.gallery-future .handwritten{color:#9d7a45}.booking-intro{background:#201e21}.booking-intro h1{font-size:70px}.booking-intro h1 em{color:#e7c794}.booking-intro p:not(.eyebrow){color:#d1c7ba;font-size:14px}.booking-intro .eyebrow{color:#c9aa79}.booking-picture .handwritten{color:#fff2dc}.booking-primary h2{font-size:50px}.booking-primary p{font-size:14px}.direct-perk{background:#f3eadb;border:1px solid #e6d3b5;border-radius:5px;padding:27px}.direct-perk h3{font-size:26px}.direct-perk small{color:#7e6d56}.booking-form-wrap{background:#efe8dd;border:1px solid #e4d8c5;border-radius:5px}.booking-form-wrap h3{font-size:28px}.booking-form-wrap>p{font-size:13px}.booking-form-wrap label{font-size:12px}.booking-form-wrap input,.booking-form-wrap select,.booking-form-wrap textarea{background:#fffcf6;border-color:#d9cdb9;border-radius:4px;font-size:13px}.booking-human h3{font-size:24px}dialog{border-radius:6px}dialog::backdrop{background:#111115e6}.video-placeholder h2,.info-modal h2{font-size:38px}
@media(min-width:1650px){.hero-copy{padding-top:255px}.hero-life{right:7.2%}}
@media(max-width:1150px){.desktop-nav{gap:18px;font-size:11px}.header{padding:0 4%;gap:18px}.header-actions{gap:15px}.header-book{padding:12px 17px}.hero-copy h1{font-size:65px}.hero-life{max-width:290px;right:5%;bottom:83px;gap:13px}.hero-life img{width:75px;height:74px}.hero-life span{font-size:20px}.hero-life b{margin:0}.hero-actions{gap:20px}.hero-description{max-width:435px}.section{padding-top:85px;padding-bottom:85px}.intro-collage{height:520px}.collage-main{height:435px}.collage-small{height:195px;bottom:34px}.intro-collage .handwritten{font-size:23px}.welcome-strip{gap:25px}.room-preview .photo-card{height:410px}.room-preview h3{font-size:24px}}
@media(max-width:900px){.header{height:78px}.desktop-nav{display:none}.hero{min-height:740px;height:92svh;max-height:1000px}.hero-copy{padding-top:190px;padding-bottom:140px;max-width:760px}.hero-copy h1{font-size:64px}.hero-life{bottom:75px}.hero-description{max-width:430px}.hero-actions{flex-wrap:wrap;max-width:520px;gap:18px}.hero-bottom span:last-child{display:none}.welcome-strip{justify-content:space-between}.welcome-strip>span:nth-child(3),.welcome-strip>i{display:none}.intro-section{grid-template-columns:1fr 1fr;gap:7%;padding-bottom:85px}.intro-copy h2{font-size:40px}.intro-collage{width:100%;height:480px}.collage-main{height:395px;width:85%}.collage-small{height:180px;bottom:28px;width:90%;left:-10px}.intro-collage .toucan{display:none}.intro-collage .handwritten{font-size:21px;bottom:-5px;right:0}.moments-grid{grid-template-rows:230px 230px}.photo-card h3{font-size:27px}.manifesto-ribbon{gap:20px;white-space:normal}.manifesto-ribbon>span:after{margin-left:20px}.manifesto-ribbon em{font-size:25px}.film-section{padding:65px 7%}.closing-copy h2{font-size:47px}.room-preview .photo-card{height:375px}.room-preview h3{font-size:22px}.page-hero h1{font-size:39px}.page-hero-copy{padding-top:60px;padding-bottom:60px}}
@media(max-width:650px){.header{padding:0 6%;height:78px}.brand{font-size:23px;gap:9px}.brand small{font-size:8px}.brand-bird{width:30px;height:37px;background-size:75px auto}.header-actions{gap:21px}.hero{height:900px;max-height:none;min-height:0}.hero-photo{object-position:66% top;height:630px;max-height:none}.hero-shade{background:linear-gradient(0deg,#19191b 0%,#19191b 24%,#19191bc4 47%,#1111151c 76%,#1111154d);inset:0}.hero-copy{padding:310px 7% 0;max-width:none}.hero-copy .eyebrow{font-size:8px;letter-spacing:.15em;gap:10px;margin-bottom:22px}.hero-copy .eyebrow>span{width:18px;flex-shrink:0}.hero-copy h1{font-size:clamp(37px,8.9vw,56px);line-height:1.18;letter-spacing:-.055em;margin-bottom:22px}.hero-copy h1 em{font-size:1.2em;line-height:1.12;letter-spacing:-.043em;white-space:nowrap}.hero-description{font-size:12px;line-height:1.9;max-width:400px;margin-bottom:0;color:#e2dcd3}.hero-description br{display:none}.hero-actions{margin-top:25px;flex-direction:column;align-items:flex-start;gap:13px}.hero-actions .button{padding:17px 20px;font-size:12px;min-height:54px}.hero-actions .text-link{font-size:11px;padding-bottom:6px}.hero-life{left:7%;right:7%;bottom:62px;max-width:none;border:0;border-top:1px solid #ffffff26;padding:19px 0 0;backdrop-filter:none;background:transparent;gap:16px;border-radius:0}.hero-life img{width:90px;height:64px;object-position:center 48%}.hero-life span{font-size:22px}.hero-life small{font-size:7px;letter-spacing:.18em;margin-bottom:6px}.hero-life b{margin-left:auto;align-self:center;font-size:23px;color:#dcc095}.hero-bottom{bottom:22px;left:7%;font-size:7px;letter-spacing:.14em}.hero-bottom a span{font-size:15px;margin-left:9px}.welcome-strip{padding:20px 7%;gap:16px;font-size:9px;line-height:1.8}.welcome-strip>span:first-child{max-width:none}.welcome-strip a{max-width:none;white-space:nowrap}.section{padding:65px 7%}.intro-section{display:flex;flex-direction:column;gap:42px;padding-top:70px;padding-bottom:75px}.intro-copy h2{font-size:39px}.intro-copy p:not(.eyebrow){font-size:13px}.intro-collage{max-width:420px;height:445px;width:100%}.collage-main{height:365px;width:79%}.collage-small{width:78%;height:183px;left:-5px;bottom:29px;border-width:5px}.intro-collage .toucan{display:block;width:60px;height:80px;background-size:155px auto;right:-9px;bottom:40px}.intro-collage .handwritten{font-size:24px;bottom:-9px;right:2px}.manifesto-ribbon{padding:24px 7%;gap:8px;flex-direction:column;align-items:center;font-size:11px;line-height:1.6}.manifesto-ribbon>span:after{display:none}.manifesto-ribbon em{font-size:27px;margin-top:2px}.moments-section .heading-row{display:block;margin-bottom:35px}.moments-section .heading-row>.text-link{margin-top:26px}.moments-grid{display:flex;flex-direction:column;gap:14px}.moments-grid .photo-card{height:330px}.moments-grid .moment-tall{height:450px}.photo-card-copy{left:24px;right:22px;bottom:27px}.photo-card h3{font-size:29px}.photo-card .eyebrow{font-size:8px}.moments-section h2{font-size:39px}.moments-section .eyebrow{font-size:8px}.film-section{padding:60px 7%;gap:30px}.film-copy h2{font-size:38px}.film-copy>p:last-child{font-size:12px}.film-poster{min-height:240px;aspect-ratio:1.4}.film-caption{left:18px;bottom:20px;gap:13px;font-size:8px}.film-caption small{font-size:7px}.play-circle{height:44px;width:44px;font-size:20px}.heading-row{display:block;margin-bottom:30px}.heading-row>.heading-aside{max-width:100%;margin-top:25px}.section-heading h2{font-size:37px}.room-preview{display:flex;flex-direction:column;gap:17px}.room-preview .photo-card{height:385px}.room-preview .photo-card-copy{left:25px;bottom:26px}.room-preview h3{font-size:28px}.room-footnote{flex-direction:column;gap:5px;padding:18px 0;font-size:10px}.belonging{gap:32px;padding-top:0}.belonging-photo img{height:380px}.belonging h2{font-size:34px}.belonging p:not(.eyebrow){font-size:13px}.belonging-tags span{font-size:10px;padding:6px 11px}.review-strip{flex-wrap:wrap;justify-content:center;padding:32px 7%;gap:24px 35px}.review-strip>p{order:-1;width:100%;font-size:24px}.review-strip>div strong{font-size:29px}.review-strip>div>span{font-size:10px}.review-strip a{font-size:8px}.rio-teaser{gap:30px}.rio-teaser h2{font-size:38px}.rio-teaser img{height:320px}.faq-section{padding-top:10px}.faq-section h2{font-size:37px}.faq-section h2 br{display:block}summary{font-size:12px;line-height:1.7}.closing-copy{padding:55px 7% 65px}.closing-copy h2{font-size:51px}.closing-image img{height:330px;min-height:0;object-position:center}.footer{padding:60px 7% 80px}.footer-top{gap:32px 20px}.footer-brand{font-size:44px}.footer a:not(.footer-brand),.footer p{font-size:11px}.footer .eyebrow{font-size:8px}.footer-bottom{font-size:9px}.whatsapp{bottom:17px;right:16px;padding:12px}.page-hero{display:flex;flex-direction:column}.page-hero-copy{padding:50px 7% 48px;order:0}.page-hero h1{font-size:36px;line-height:1.17}.page-hero>img{height:310px;min-height:0;max-height:none;order:1}.page-hero p:not(.eyebrow){font-size:12px}.page-hero .eyebrow{font-size:8px;margin-bottom:25px}.story h2{font-size:35px}.story p:not(.eyebrow){font-size:13px}.space-grid .photo-card{height:360px}.space-grid h3{font-size:26px}.wildlife h2{font-size:36px}.warm-note{padding:60px 7%}.warm-note h2{font-size:33px}.warm-note p{font-size:13px}.day-copy h2{font-size:35px}.night-copy h2{font-size:36px}.night-copy{padding:40px 7%}.extra-moments h3{font-size:25px}.filters button{padding:10px 15px;font-size:10px}.room-card h2{font-size:25px}.room-card p,.room-card li{font-size:12px}.gallery-heading h1{font-size:48px}.gallery-future h3{font-size:26px}.booking-intro h1{font-size:54px}.booking-intro>div:first-child{padding:50px 7%}.booking-intro .eyebrow{font-size:8px}.booking-primary h2{font-size:39px}.booking-form-wrap{padding:26px 21px}.booking-form-wrap h3{font-size:27px}.booking-official{font-size:12px;padding:17px 19px}.direct-perk{padding:24px 20px}.direct-perk h3{font-size:25px}.booking-primary p{font-size:13px}}
@media(max-width:360px){.hero{height:885px}.hero-photo{height:565px}.hero-copy{padding-top:275px}.hero-copy h1{font-size:32px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.12em}.hero-description{font-size:11px}.hero-life span{font-size:20px}.hero-life img{width:76px}.hero-life{gap:13px}.hero-actions .button{padding:16px 16px;font-size:11px}.intro-copy h2{font-size:33px}.intro-collage{height:385px}.collage-main{height:310px}.collage-small{height:158px}.intro-collage .handwritten{font-size:22px}.section-heading h2,.belonging h2{font-size:31px}.welcome-strip{font-size:8px}.manifesto-ribbon{font-size:10px}.page-hero h1{font-size:32px}.header-actions{gap:18px}.brand{font-size:21px}}
/* Readable supporting copy and an unpretentious invitation. */
.hero-description{font-size:15px}.hero-life span{font-family:var(--sans);font-size:14px;line-height:1.5;letter-spacing:-.015em}.hero-life small{font-size:8px;line-height:1.5;letter-spacing:.16em}.hero-life img{width:110px;height:83px}.desktop-nav{font-size:13px}.intro-copy p:not(.eyebrow),.belonging p:not(.eyebrow),.rio-teaser p:not(.eyebrow){font-size:15px}
@media(max-width:1150px){.desktop-nav{font-size:11px}.hero-life{max-width:305px}.hero-life img{width:84px;height:77px}.hero-life span{font-size:13px}}
@media(max-width:650px){.hero-description{font-size:13px;line-height:1.85}.hero-copy{padding-top:300px}.hero-life img{width:94px;height:67px}.hero-life span{font-size:14px}.hero-life small{font-size:7px}.intro-copy p:not(.eyebrow),.belonging p:not(.eyebrow),.rio-teaser p:not(.eyebrow){font-size:14px}.page-hero p:not(.eyebrow){font-size:13px}.hero-actions{margin-top:23px}}
@media(max-width:360px){.hero-copy{padding-top:270px}.hero-description{font-size:12px}.hero-life img{width:80px}.hero-life span{font-size:13px}}
.booking-intro{color:#faf7f1}

/* Welcome at eye level: keep the faces visible beside the headline. */
.hero-photo{object-position:center 38%}
.hero-shade{background:linear-gradient(90deg,#101116d4 0%,#11121680 37%,#13141908 72%),linear-gradient(0deg,#111115c9,transparent 38%,transparent 78%,#11111544)}
@media(max-width:650px){.hero-photo{object-position:88% top}.hero-shade{background:linear-gradient(0deg,#19191b 0%,#19191b 34%,#19191bbd 51%,#11111505 78%,#1111153d)}}

/* The castle facade and its courtyard gathering share the welcome photograph. */
.hero-photo{object-position:center 64%}
.hero-shade{background:linear-gradient(90deg,#101116aa 0%,#11121664 35%,#13141904 72%),linear-gradient(0deg,#111115b3,transparent 34%,transparent 80%,#11111533)}
@media(max-width:650px){.hero-photo{object-position:70% 82%}.hero-shade{background:linear-gradient(0deg,#19191b 0%,#19191b 34%,#19191b9e 51%,#11111500 78%,#11111526)}}
@media(max-width:650px){.hero-photo{width:170%;max-width:none;left:-28%;height:590px;object-position:center 86%}.hero-shade{background:linear-gradient(0deg,#19191b 0%,#19191b 35%,#19191b9e 51%,#11111500 78%,#11111526)}}
/* Shared dark surfaces and the revised welcome. */
:root{--surface-black:#101010;--dark:#000}
.moments-section,.film-section,.closing,.night-section,.page-hero,.booking-intro,.welcome-strip{background:var(--surface-black)}
.inner-page .header{background:var(--surface-black)}
.footer{background:#000}
.hero{background:var(--surface-black)}
.hero-copy{padding-top:clamp(185px,23vh,235px);max-width:1120px}
.hero-copy h1{font-size:clamp(49px,4.8vw,74px);line-height:1.13}
.hero-copy h1 em{font-size:1.24em;line-height:1.14}
.hero-description{max-width:585px;font-size:15px;line-height:1.85}
.hero-description>span{display:block;margin-top:8px}
.hero-description>span:first-child{margin-top:0}
.hero-actions{margin-top:26px}
.hero-photo{object-position:center 64%}
.hero-shade{background:linear-gradient(90deg,#101116bd 0%,#11121673 35%,#13141904 72%),linear-gradient(0deg,#10101059,transparent 36%,transparent 80%,#11111533)}
.belonging-photo img{object-position:center 62%}
.home-page .film-section{border-top:1px solid #f1a04b35}
@media(min-width:1650px){.hero-copy{padding-top:225px}}
@media(max-width:1150px){.hero-copy h1{font-size:55px}.hero-description{max-width:510px;font-size:14px}}
@media(max-width:900px){.hero-copy{padding-top:175px;max-width:100%;padding-bottom:130px}.hero-copy h1{font-size:clamp(45px,6.2vw,55px)}.hero-description{max-width:470px;font-size:14px}.hero-life{bottom:66px}}
@media(max-width:650px){.hero{height:960px}.hero-copy{padding-top:295px;padding-bottom:0}.hero-copy h1{font-size:clamp(28px,8.1vw,49px);line-height:1.2;margin-bottom:22px}.hero-copy h1 em{font-size:1.31em;line-height:1.12}.hero-description{font-size:13px;line-height:1.8;max-width:100%}.hero-description>span{margin-top:9px}.hero-actions{margin-top:23px}.hero-life{bottom:61px}.hero-photo{object-position:center 86%;height:590px}.hero-shade{background:linear-gradient(0deg,#101010 0%,#101010 40%,#1010108f 57%,#11111500 80%,#11111526)}.belonging-photo img{object-position:center 64%}}
@media(max-width:360px){.hero{height:960px}.hero-copy{padding-top:270px}.hero-copy h1{font-size:26px}.hero-copy h1 em{font-size:1.38em}.hero-description{font-size:12px}.hero-actions .button{font-size:11px}}
@media(max-width:650px){.hero{height:900px}}
@media(min-width:651px) and (max-width:900px){.hero{min-height:860px}}

/* Photo stories, complete toucan and the extended navigation. */
.header{padding-left:4%;padding-right:4%;gap:20px}
.desktop-nav{font-size:13px;gap:19px;white-space:nowrap}
.header-actions{gap:17px}.brand-bird{width:45px;height:50px;flex:none;background:url('/assets/toucan-complete.png') center/contain no-repeat}
.mascot.toucan{background-image:url('/assets/toucan-complete.png');background-size:contain;background-position:center}
.intro-collage .toucan{width:110px;height:125px;right:-14px}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-toucan{width:67px;height:91px;object-fit:contain;flex:none}
.footer-top{grid-template-columns:1.5fr 1fr 1.15fr .8fr;gap:30px}
.mobile-nav{max-height:calc(100svh - 78px);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav a{font-size:18px;padding:10px 12px;line-height:1.4}
.mobile-nav a[aria-current]{color:var(--gold)}
.slideshow{position:relative;isolation:isolate;overflow:hidden;border-radius:4px;background:#171717;min-width:0}
.slide-stage{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 850ms ease;pointer-events:none}
.slide.is-active{opacity:1;z-index:1}
.slideshow .slide-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--photo-position,center);border-radius:0}
.slide-controls{position:absolute;right:16px;bottom:16px;z-index:5;display:flex;align-items:center;gap:4px;height:44px;padding:0 5px 0 12px;background:#111111ab;backdrop-filter:blur(10px);border:1px solid #ffffff32;border-radius:4px;color:#fff}
.slide-count{font-size:11px;letter-spacing:.08em;padding-right:5px;font-variant-numeric:tabular-nums}
.slide-dots{display:flex;align-items:center}
.slide-dot,.slide-pause{border:0;background:transparent;color:#fff;display:grid;place-items:center;height:42px;padding:0;width:27px}
.slide-dot span{display:block;width:5px;height:5px;background:#fff7;border-radius:50%;transition:background .2s,width .2s}
.slide-dot[aria-pressed=true] span{background:#ffaf5e;width:19px;border-radius:5px;height:3px}
.slide-pause{width:36px;border-left:1px solid #ffffff25;margin-left:3px;font-size:17px;line-height:1}
.slide-dot:focus-visible,.slide-pause:focus-visible{outline-offset:-3px;outline-color:#ffaf5e}
.hero-slides{position:absolute;inset:0;border-radius:0;isolation:auto;overflow:visible}
.hero-slides .slide-stage{overflow:hidden}
.hero-slides .slide-controls{right:7.2%;bottom:20px;z-index:7}
.hero-shade{pointer-events:none;z-index:2}
.hero-copy,.hero-life,.hero-bottom{z-index:3}
.hero-bottom>span:last-child{display:none}
.friends-slides{height:540px}.belonging-photo .photo-label{pointer-events:none;z-index:3;max-width:54%;font-size:10px;letter-spacing:.12em;bottom:23px;left:20px}
.collage-main .slide-controls{top:13px;bottom:auto;right:13px;gap:0;padding-left:8px}
.collage-main .slide-count{display:none}
.collage-small{z-index:2}.intro-collage .toucan,.intro-collage .handwritten{z-index:3}
.rio-slides{height:430px}.slide-caption{position:absolute;top:19px;left:19px;right:19px;width:fit-content;max-width:calc(100% - 38px);font-size:12px;line-height:1.6;letter-spacing:.02em;background:#111111a6;color:#fff;padding:6px 12px;border-radius:2px;backdrop-filter:blur(8px)}
.photo-attribution{font-size:11px!important;color:var(--muted);margin:12px 0 0!important;max-width:none!important}
.photo-attribution a{text-decoration:underline;text-underline-offset:3px}
.film-section{position:relative;isolation:isolate;overflow:hidden}
.film-section .christ-drawing{position:absolute;width:500px;height:500px;object-fit:contain;left:1.5%;top:50%;transform:translateY(-50%);opacity:.15;pointer-events:none;z-index:-1}
.film-copy,.film-poster{position:relative;z-index:1}
.faq-all{margin-top:17px;font-size:13px}
/* The people and the practical pages. */
.editorial-heading{padding-top:80px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.editorial-heading h1{font-size:clamp(45px,4.6vw,70px);line-height:1.15;margin-bottom:0}
.editorial-heading .heading-row{gap:60px;align-items:end;margin-bottom:0}
.editorial-heading .heading-aside{max-width:355px;font-size:16px;margin-bottom:7px}
.editorial-heading .eyebrow{font-size:12px}
.team-section{padding-top:65px}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 25px}
.team-card{min-width:0}.team-portrait{overflow:hidden;border-radius:4px;background:#e6dfd4;aspect-ratio:4/5}
.team-portrait img{width:100%;height:100%;object-position:center 30%;transition:transform .6s ease}
.team-card:hover img{transform:scale(1.025)}
.team-card h2{font-size:26px;margin:19px 0 7px;letter-spacing:-.035em}
.team-card p{font-size:14px;color:var(--muted);line-height:1.65;margin:0;max-width:250px}
.team-message{display:flex;justify-content:space-between;align-items:center;gap:45px;border-top:1px solid var(--line);margin-top:60px;padding-top:40px}
.team-message p{font-size:16px;max-width:600px;margin:0}.team-message .button{flex:none}
.faq-full .faq-section{padding-top:65px}.faq-full summary{font-size:16px}.faq-full .faq-list details>p{font-size:15px;line-height:1.85}
.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;padding-top:60px;padding-bottom:65px}
.contact-main{background:#101010;color:var(--cream);border-radius:4px;padding:45px}
.contact-main h2{font-size:42px}.contact-main h2 em{color:var(--gold)}.contact-main p:not(.eyebrow){font-size:16px;color:#ddd5c9;max-width:440px}
.contact-main .eyebrow{color:var(--gold);font-size:12px}.contact-main .button{margin:12px 0 20px}.contact-number{display:block;font-size:14px;color:#cfbc9e}
.contact-other{display:grid;gap:24px}.contact-other article{border:1px solid var(--line);border-radius:4px;padding:30px 35px}
.contact-other h2{font-size:29px;margin-bottom:12px}.contact-other p{font-size:15px;color:var(--muted);margin-bottom:12px}.contact-other .text-link{font-size:14px}
.contact-addresses{padding-top:65px}.contact-addresses .section-heading h2{font-size:43px}
.photo-credits{padding-top:45px;padding-bottom:45px;border-top:1px solid var(--line)}
.photo-credits h2{font-size:25px;margin-bottom:15px}.photo-credits p,.photo-credits li{font-size:13px;line-height:1.8;color:var(--muted)}.photo-credits a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1300px){.desktop-nav{gap:14px;font-size:12px}.header{padding:0 3%;gap:16px}.header-book{padding:12px 16px}.header-actions{gap:14px}.brand{font-size:25px}}
@media(min-width:1151px){.menu-trigger{display:none}}
@media(max-width:1150px){.header{height:78px;padding:0 5%}.desktop-nav{display:none}.menu-trigger{display:block}.mobile-nav{top:78px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-note{display:none}.friends-slides{height:510px}}
@media(max-width:900px){.team-grid{gap:35px 20px}.team-card h2{font-size:24px}.team-card p{font-size:13px}.editorial-heading .heading-row{display:block}.editorial-heading .heading-aside{margin:25px 0 0;max-width:600px}.friends-slides{height:430px}.rio-slides{height:440px}.contact-grid{grid-template-columns:1fr}.contact-other{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1.3fr 1fr}.footer-top>div:nth-child(3){grid-column:2}.film-section .christ-drawing{width:450px;height:450px;left:0;top:0;transform:none}.belonging-photo .photo-label{display:none}}
@media(max-width:650px){.header{padding:0 6%}.brand{font-size:23px}.brand-bird{width:35px;height:42px}.hero-slides .slide-stage{height:590px}.hero-slides .slide-image{object-position:var(--photo-mobile-position,center)}.hero-slides .courtyard-slide .slide-image{width:170%;left:-28%;object-position:center 86%}.hero-slides .slide-controls{bottom:auto;top:228px;right:7%;height:42px}.hero-slides .slide-count{font-size:10px}.hero-slides .slide-dot{width:26px}.hero-slides .slide-pause{width:32px}.hero-copy{padding-top:295px}.intro-collage .toucan{width:74px;height:91px;right:-7px;bottom:42px}.friends-slides{height:400px}.rio-slides{height:340px}.slide-controls{right:12px;bottom:12px}.slide-caption{top:12px;left:12px;right:12px;font-size:11px}.collage-main .slide-controls{right:9px;top:9px}.film-section .christ-drawing{height:360px;width:360px;left:-22px;top:-10px;opacity:.16}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:nth-child(3){grid-column:auto}.footer-brand{font-size:45px;gap:18px}.footer-toucan{width:62px;height:87px}.editorial-heading{padding-top:50px;padding-bottom:40px}.editorial-heading h1{font-size:40px}.editorial-heading .heading-aside{font-size:15px}.editorial-heading .eyebrow{font-size:11px}.team-section{padding-top:40px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 15px}.team-card h2{font-size:23px;margin-top:14px}.team-card p{font-size:12px;line-height:1.65}.team-portrait{aspect-ratio:3/4}.team-message{display:block;margin-top:40px;padding-top:30px}.team-message p{font-size:15px}.team-message .button{margin-top:25px}.faq-full .faq-section{padding-top:35px}.faq-full summary{font-size:15px}.faq-full .faq-list details>p{font-size:14px}.faq-all{margin-bottom:20px}.contact-grid{padding-top:35px;padding-bottom:35px}.contact-main{padding:30px 24px}.contact-main h2{font-size:36px}.contact-other{grid-template-columns:1fr}.contact-other article{padding:25px}.contact-addresses .section-heading h2{font-size:36px}.photo-attribution{font-size:10px!important}.photo-credits h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide{transition:none}.team-portrait img{transition:none}.team-card:hover img{transform:none}}

/* A quieter pace and lighter photo controls. */
.slideshow .slide-controls{height:36px;gap:3px;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none}
.slideshow .slide-dot{width:25px;height:36px}
.slideshow .slide-dot span{width:4px;height:4px;background:#ffffffb8;box-shadow:0 1px 5px #000c}
.slideshow .slide-dot[aria-pressed=true] span{width:14px;height:3px;background:#ffaf5e}
.slideshow .slide-pause{width:30px;height:36px;margin-left:3px;border:0;font-size:13px}
.slideshow .slide-pause span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#17171770;text-shadow:0 1px 3px #000}
.slideshow .slide-dot:focus-visible,.slideshow .slide-pause:focus-visible{outline-offset:-2px}
.home-page .film-section{padding-bottom:120px}
.film-section .beach-drawing{position:absolute;right:2%;bottom:9px;width:min(590px,46%);height:auto;object-fit:contain;opacity:.22;z-index:-1;pointer-events:none}
.footer-meet{position:relative;isolation:isolate}
.footer-meet .footer-christ{position:absolute;top:-28px;left:-27px;width:255px;height:255px;max-width:none;object-fit:contain;opacity:.16;z-index:-1;pointer-events:none}
@media(max-width:900px){.home-page .film-section{padding-bottom:110px}.film-section .beach-drawing{width:460px;max-width:75%;right:2%;bottom:6px}.footer-meet .footer-christ{width:230px;height:230px;left:-20px}}
@media(max-width:650px){.hero-slides .slide-controls{top:235px}.slideshow .slide-controls{height:36px}.home-page .film-section{padding-bottom:100px}.film-section .beach-drawing{width:370px;max-width:91%;right:0;bottom:2px}.footer-meet .footer-christ{width:180px;height:210px;left:-18px;top:-27px;opacity:.18}}
@media(pointer:coarse){.slideshow .slide-controls,.slideshow .slide-dot,.slideshow .slide-pause{height:44px}}
.review-platform .rating-line{display:flex;align-items:center;justify-content:center;gap:17px;margin-bottom:15px}
.review-strip .review-logo{width:145px;height:32px;object-fit:contain;flex:none}
.review-strip .review-platform>a{font-size:10px}
@media(max-width:1000px){.review-platform .rating-line{gap:11px}.review-strip .review-logo{width:110px;height:26px}.review-strip>p{font-size:23px}}
@media(max-width:650px){.review-strip{display:flex;gap:24px;flex-wrap:wrap}.review-strip>p{flex-basis:100%}.review-strip>.review-platform{flex:1;min-width:0}.review-platform .rating-line{flex-direction:column;gap:10px;margin-bottom:13px}.review-strip .review-logo{width:125px;max-width:100%;height:28px}.review-strip .review-platform>a{font-size:9px}}

/* Heritage and the voices of the people who make the Castelo. */
.heritage-strip{background:#101010;color:#e4dfd7;text-align:center;padding:0 7.2% 65px;border-bottom:1px solid #ffffff13}
.heritage-strip>p{max-width:860px;margin:0 auto 27px;font:400 clamp(21px,2vw,27px)/1.6 var(--serif)}
.heritage-strip .button{font-size:12px;gap:22px;padding:17px 24px}
.testimonial-carousel{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:22px;align-items:center;position:relative;color:#f8f4ed;max-width:1368px;margin:0 auto 38px;padding:28px 0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.testimonial-mark{align-self:start;color:var(--gold);font:90px/1 var(--serif);height:60px}
.testimonial-track{min-height:140px;display:flex;align-items:center}
.testimonial-slide{width:100%}
.testimonial-slide:not([hidden]){animation:review-appear .35s ease both}
.testimonial-carousel blockquote,.testimonial-card blockquote{margin:0 0 19px}
.testimonial-carousel blockquote p,.testimonial-card blockquote p{font:400 31px/1.25 var(--serif);margin:0;max-width:760px}
.testimonial-author{display:flex;align-items:center;gap:12px;min-height:36px}
.review-initial{width:33px;height:33px;flex:none;border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;font:italic 19px var(--serif);color:#f8ae61}
.testimonial-author strong{display:block;font-size:12px;font-weight:600;line-height:1.5}
.testimonial-author>div>span{display:block;font-size:10px;color:#bdb8b1;line-height:1.6}
.individual-score{font-size:13px;margin-left:10px;color:#f8ae61}
.individual-score small{font-size:9px;color:#aaa59d;margin-left:2px}
.testimonial-source{margin-top:11px;padding-left:45px;font-size:9px;color:#aaa59d;line-height:1.65}
.testimonial-source a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.testimonial-source a:hover{color:#fff}
.testimonial-controls{display:flex;align-items:center;gap:8px}
.testimonial-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff35;background:transparent;border-radius:50%;color:#eee7dc;cursor:pointer;font:18px var(--sans);transition:border-color .2s,background .2s}
.testimonial-controls [data-review-pause]{font-size:13px}
.testimonial-controls button:hover{border-color:#f1a04b;background:#ffffff0c}
.testimonial-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.reviews-section{background:#000;color:#fff}
.reviews-section .review-strip{background:#000;color:#f8f4ed;border-top:0;border-bottom:0;padding-top:50px;padding-bottom:42px}
.reviews-section .review-strip a{color:#c9c4bc;border-color:#5b5854}
.reviews-section .review-strip>p em{color:#f8ae61}
.reviews-section .review-strip>p small{color:#aaa59d}
.reviews-stories{max-width:1110px;margin:0 auto;padding:0 7.2% 45px;text-align:center}
.reviews-stories .testimonial-carousel{text-align:left;margin-bottom:23px;grid-template-columns:40px minmax(0,1fr) auto;gap:18px}
.reviews-stories>.text-link{color:#d8c4a3;font-size:11px}
.testimonials-page{padding-top:0}
.testimonials-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:35px;border-bottom:1px solid var(--line);margin-bottom:35px}
.testimonials-intro p{max-width:670px;font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.testimonials-intro>span{font-size:10px;color:var(--muted);white-space:nowrap;padding-top:6px}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.testimonial-card{display:flex;flex-direction:column;background:#101010;color:#faf7f1;padding:38px 35px;border-radius:3px;min-height:235px}
.testimonial-card blockquote{flex:1;margin-bottom:28px}
.testimonial-card blockquote p{font-size:30px}
.testimonials-more{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding-top:38px;font-size:12px}
.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}
@keyframes review-appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1300px) and (min-width:1151px){.desktop-nav{gap:12px;font-size:11px}.header{gap:13px}}
@media(max-width:900px){.testimonial-carousel{grid-template-columns:36px minmax(0,1fr);gap:18px}.testimonial-controls{grid-column:2;justify-self:start}.testimonial-track{min-height:160px}.testimonial-carousel blockquote p{font-size:29px}.reviews-stories .testimonial-carousel{grid-template-columns:36px minmax(0,1fr)}.testimonials-intro{display:block}.testimonials-intro>span{display:block;margin-top:18px}}
@media(max-width:650px){.heritage-strip{padding:0 7% 50px}.heritage-strip>p{font-size:23px;line-height:1.5;margin-bottom:25px}.heritage-strip .button{font-size:12px}.testimonial-carousel{gap:0 14px;margin-bottom:30px;padding:23px 0 24px;grid-template-columns:22px minmax(0,1fr)}.testimonial-mark{font-size:60px;height:45px}.testimonial-track{min-height:202px;align-items:flex-start}.testimonial-carousel blockquote p{font-size:27px;line-height:1.25}.testimonial-author{gap:9px}.testimonial-author>div>span{font-size:9px}.individual-score{margin-left:auto;white-space:nowrap}.testimonial-source{padding-left:42px;font-size:9px}.testimonial-controls{margin-top:15px;gap:10px}.testimonial-controls button{width:44px;height:44px}.reviews-section .review-strip{padding-top:35px;padding-bottom:30px}.reviews-stories{padding:0 7% 38px}.reviews-stories .testimonial-carousel{grid-template-columns:22px minmax(0,1fr);gap:0 14px}.reviews-stories>.text-link{font-size:10px}.testimonials-page{padding-top:0}.testimonial-grid{grid-template-columns:1fr;gap:16px}.testimonial-card{min-height:220px;padding:30px 26px}.testimonial-card blockquote p{font-size:28px}.testimonials-more{align-items:flex-start;flex-direction:column;gap:22px;font-size:11px}.testimonials-intro{margin-bottom:25px;padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.testimonial-slide:not([hidden]){animation:none}}

/* Toucan orange, matching the warmth of the beak. */
.button{text-transform:uppercase;letter-spacing:.075em;font-size:12px}.header-book{font-size:10px}.hero-actions .button{font-size:12px}.hero-copy .eyebrow>.hero-flag{width:auto;height:auto;background:none;font-size:23px;line-height:1;letter-spacing:0}.heritage-strip>p{margin-bottom:42px}.language-trigger{display:flex;align-items:center;gap:6px}.whatsapp svg{color:#25d366;flex:none}.whatsapp>span{line-height:1.35;font-size:11px}.whatsapp small{display:block;color:#c8c4bd;font-size:9px}.moments-booking{text-align:center;margin-top:35px}.monkey-aside{font-size:12px!important;font-style:italic;color:var(--gold-ink);max-width:440px}.home-page .film-copy h2{font-size:clamp(32px,3.3vw,48px)}.home-page .film-copy>p:last-child{font-size:15px}.home-page .closing-copy h2{font-size:clamp(38px,4.1vw,60px)}
@media(max-width:650px){.hero-copy .eyebrow>.hero-flag{font-size:18px}.hero-actions .button{font-size:11px}.heritage-strip .button{font-size:11px;padding:17px 20px}.home-page .film-copy h2{font-size:36px}.home-page .film-copy>p:last-child{font-size:14px}.whatsapp>span{display:block;font-size:10px}.whatsapp{gap:8px;padding:9px 11px}.whatsapp svg{width:22px;height:22px}.whatsapp small{font-size:8px}}

/* Photo-led inner pages, maps and an easygoing team carousel. */
.page-hero-slides{height:100%;min-height:540px;width:100%;isolation:isolate}
.page-hero-slides .slide-stage{height:100%;min-height:540px}
.page-hero-slides .slide-controls{bottom:20px;right:22px}
.page-hero-slides .slide-dot{width:22px}
.page-hero-slides .slide-caption{font-size:11px;letter-spacing:.1em;top:22px;left:22px;right:auto}
.page-hero .page-hero-copy{align-self:center}
.page-hero p:not(.eyebrow){font-size:15px;line-height:1.85}
.page-hero>img{height:100%;min-height:540px}
.story-side>span{font-size:78px;letter-spacing:-.06em;color:var(--gold-ink)}
.story .button{margin-top:15px;margin-bottom:20px}
.story .history-source{font-size:11px;color:var(--muted);line-height:1.6}
.history-source a{text-decoration:underline;text-underline-offset:3px}
.film-long .film-copy .button{margin-top:18px}
.photo-heading{position:relative;isolation:isolate;min-height:580px;display:flex;align-items:flex-end;padding:95px 7.2% 65px;background:#101010;color:white}
.photo-heading-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:center 55%}
.photo-heading:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b,transparent),linear-gradient(0deg,#000b,transparent 80%);z-index:-1}
.photo-heading-copy{max-width:750px}.photo-heading h1{font-size:clamp(44px,5vw,75px);margin-bottom:25px}.photo-heading h1 em{color:#ffaf5e}.photo-heading .eyebrow{color:#ffb56e}.photo-heading p:not(.eyebrow){font-size:16px;color:#f4ece2;max-width:510px}
.team-carousel{position:relative;padding:0 12px 30px}
.team-carousel .team-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 0 16px}
.team-carousel .team-grid::-webkit-scrollbar{display:none}
.team-carousel .team-card{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}
.team-carousel .team-portrait{aspect-ratio:3/4}
.team-carousel .team-card h2{font-size:27px}.team-carousel .team-card p{font-size:13px}
.team-prev,.team-next{position:absolute;top:34%;z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid #f1a04b66;border-radius:50%;background:#101010;color:#ffaf5e;font-size:22px;box-shadow:0 4px 16px #0002}
.team-prev{left:-11px;transform:translateX(-50%)}.team-next{right:-11px;transform:translateX(50%)}
.team-pause{display:flex;align-items:center;gap:9px;background:none;border:0;color:var(--gold-ink);font-size:12px;margin:12px auto 0;padding:10px}
.team-section .team-message{margin-top:30px}
.google-map{display:block;width:100%;height:100%;min-height:450px;border:0;background:#ece8dd}
.closing-map .closing-image{min-height:590px;background:#ece8dd}
.closing-map .google-map{height:100%;min-height:590px}
.neighborhood-world{isolation:isolate;position:relative;background:#eeeae2 url('/assets/santa-teresa-aerial.webp') center/cover no-repeat}
.neighborhood-world:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf7f1ec,#faf7f1a3 60%,#faf7f1cc);z-index:-1}
.neighborhood-world .rio-teaser{background:transparent;padding-bottom:75px}
.neighborhood-world .faq-section{background:#faf7f1b8;border-top:1px solid #fff9;padding-top:65px;padding-bottom:75px}
.neighborhood-map{height:460px;position:relative;box-shadow:0 10px 45px #0002;border:7px solid #faf7f1;border-radius:4px}
.neighborhood-map .google-map{min-height:0;height:100%}
.map-caption{position:absolute;bottom:-30px;left:0;color:#554d41;font-size:10px;border-bottom:1px solid #554d4166}
.aerial-credit{font-size:10px;color:#60564a;text-align:center;margin:0;padding:15px 7%;background:#faf7f1d9;line-height:1.8}
.aerial-credit a{text-decoration:underline;text-underline-offset:3px}
.review-strip .booking-icon{width:33px;height:33px;flex:none;border-radius:6px;margin-right:-7px}
.review-profile{display:block;flex:none}.review-portrait{height:56px;width:56px;border-radius:50%;object-fit:cover;border:1px solid #f1a04b66}
.testimonial-author:has(.review-portrait){gap:14px}.testimonial-author:has(.review-portrait)+.testimonial-source{padding-left:70px}
.testimonial-author strong{font-size:13px}.testimonial-author>div>span{font-size:11px}.testimonial-source{font-size:11px}
.testimonial-track{min-height:157px}
.testimonials-page{padding-top:55px}.testimonial-card{background:#fff;color:#242325;border:1px solid #e5ddd1;box-shadow:0 8px 30px #34220a06}
.testimonial-card .testimonial-author>div>span,.testimonial-card .testimonial-source{color:#776e63}.testimonial-card .individual-score{color:var(--gold-ink)}.testimonial-card .individual-score small{color:#776e63}.testimonial-card .review-initial{color:var(--gold-ink);border-color:#c9b9a4}.testimonial-card .testimonial-source a:hover{color:#101010}.testimonial-card:has(.review-portrait){border-top:2px solid #f1a04b;padding-top:35px}
.contact-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 17px}
.button.whatsapp-button{background:#198b4d;color:#fff;border:1px solid #198b4d;text-transform:none;letter-spacing:0;font-size:13px;gap:10px}.button.whatsapp-button:hover{background:#116e3b}.whatsapp-button img{width:22px;height:22px;flex:none}
.contact-buttons .mail-button{background:transparent;border:1px solid #ffffff65;color:#fff;font-size:11px;padding:16px 18px}
.contact-main{padding:42px 36px}.contact-main p{font-size:15px}
.contact-other .inline-brand-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-right:8px;filter:brightness(0)}
.whatsapp .whatsapp-icon{width:24px;height:24px;flex:none}
.map-arrival{background:#101010;color:#fff;padding-top:0}.map-arrival .map-arrival-heading{padding-top:65px;padding-bottom:45px}.map-arrival h2 em{color:#ffaf5e}.map-arrival .eyebrow{color:#ffaf5e}.map-arrival .section-heading>p{color:#c9c2b8;font-size:14px}
.arrival-map-wrap{position:relative;height:640px}.arrival-map-wrap .google-map{min-height:640px}
.map-address-cards{position:absolute;left:5%;bottom:40px;display:grid;gap:12px;width:310px}
.map-address-cards article{background:#101010ee;backdrop-filter:blur(8px);padding:22px 26px;border:1px solid #ffffff20;box-shadow:0 5px 25px #0002;border-radius:4px}
.map-address-cards .eyebrow{font-size:9px;margin-bottom:10px}.map-address-cards h3{font:26px var(--serif);color:#fff;margin-bottom:10px}.map-address-cards p{font-size:12px;color:#d7cec2;line-height:1.7;margin-bottom:11px}.map-address-cards .text-link{color:#ffaf5e;font-size:10px}
.email-composer{display:grid;gap:15px;margin-top:25px}.email-composer label{font-size:13px;display:grid;gap:7px}.email-composer input,.email-composer textarea{width:100%;padding:12px;border:1px solid #d6c7b5;background:#fff;border-radius:3px;color:#242325}.email-composer .button{justify-self:start}.email-composer .caption{margin:0;font-size:12px}.email-composer-status{font-size:13px;color:#725321;padding:15px;background:#fff3e5;line-height:1.7}
@media(max-width:1000px){.page-hero-slides,.page-hero-slides .slide-stage,.page-hero>img{min-height:460px}.team-carousel .team-card{flex-basis:calc((100% - 48px)/3)}.testimonial-controls{grid-column:2}.review-platform .rating-line{gap:10px}.review-strip .booking-icon{width:28px;height:28px}.map-address-cards{left:3%;width:260px}.contact-main{padding:35px 28px}.contact-buttons .mail-button{padding:17px}.closing-map .google-map,.closing-map .closing-image{min-height:530px}}
@media(max-width:650px){.page-hero-slides{order:1;height:370px;min-height:370px}.page-hero-slides .slide-stage{height:370px;min-height:370px}.page-hero-slides .slide-controls{bottom:15px;left:16px;right:16px;justify-content:flex-end}.page-hero-slides .slide-dot{width:21px}.page-hero-slides .slide-caption{top:16px;left:16px;font-size:10px}.page-hero>img{height:330px;min-height:330px}.page-hero p:not(.eyebrow){font-size:14px}.story-side>span{font-size:66px}.photo-heading{min-height:510px;padding:80px 7% 45px}.photo-heading h1{font-size:43px}.photo-heading p:not(.eyebrow){font-size:14px}.photo-heading-image{object-position:58% center}.team-carousel{padding:0 0 20px}.team-carousel .team-grid{gap:17px}.team-carousel .team-card{flex-basis:78%;scroll-snap-align:center}.team-carousel .team-card h2{font-size:27px}.team-prev,.team-next{height:40px;width:40px;top:31%}.team-prev{left:0;transform:translateX(-30%)}.team-next{right:0;transform:translateX(30%)}.team-carousel .team-card p{font-size:13px}.neighborhood-map{height:360px;border-width:4px}.neighborhood-world .rio-teaser{padding-bottom:55px}.neighborhood-world .faq-section{padding-top:45px;padding-bottom:40px}.neighborhood-world:before{background:#faf7f1d4}.map-caption{bottom:-28px;font-size:10px}.aerial-credit{font-size:9px}.testimonial-track{min-height:228px}.testimonial-author strong{font-size:12px}.testimonial-author>div>span{font-size:10px}.testimonial-source{font-size:10px}.testimonial-author:has(.review-portrait)+.testimonial-source{padding-left:0}.review-portrait{width:48px;height:48px}.review-strip .booking-icon{width:30px;height:30px;margin:0}.review-platform .rating-line{position:relative;min-height:73px}.review-platform:has(.booking-icon) .rating-line{display:grid;grid-template-columns:28px auto;gap:10px 5px}.review-platform:has(.booking-icon) .rating-line>strong{grid-column:1/-1}.review-platform:has(.booking-icon) .review-logo{width:95px;height:25px}.testimonials-page{padding-top:35px}.testimonial-card .testimonial-source{font-size:10px}.contact-buttons{flex-direction:column;align-items:stretch;gap:12px}.contact-buttons .button{justify-content:center}.contact-main{padding:30px 23px}.contact-main p{font-size:14px}.map-arrival .map-arrival-heading{padding-top:45px;padding-bottom:30px}.arrival-map-wrap{height:auto;display:flex;flex-direction:column}.arrival-map-wrap .google-map{height:430px;min-height:430px}.map-address-cards{position:static;width:auto;padding:24px 7% 40px;background:#101010}.map-address-cards article{padding:23px;box-shadow:none}.closing-map .closing-image,.closing-map .google-map{height:440px;min-height:440px}.whatsapp .whatsapp-icon{width:23px;height:23px}.email-composer input,.email-composer textarea{font-size:16px}}

/* October refinements: calmer calls to action, wider photos, a touch of Brazil. */
.home-page .hero-actions .backpack-button{text-transform:none;letter-spacing:.015em;font-size:14px;padding:17px 24px}
.moments-section{position:relative;isolation:isolate;overflow:hidden}
.moments-section .heading-row{position:relative;z-index:1}
.brazil-gold-drawing{position:absolute;width:420px;height:280px;right:7%;top:22px;object-fit:contain;opacity:.4;pointer-events:none;z-index:-1;mix-blend-mode:screen}
.moments-section .heading-row>.text-link{position:relative;align-self:flex-end;margin-bottom:8px}
.moments-grid .photo-card:last-child h3{font-size:clamp(25px,2.3vw,35px);max-width:390px;line-height:1.15}
.closing-landscape{grid-template-columns:1.25fr 1fr;min-height:0}
.closing-landscape .closing-image{min-height:0;position:relative}
.closing-landscape .closing-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.closing-landscape .closing-copy{padding:50px 10%;min-height:420px}
.closing-landscape .closing-copy h2{font-size:clamp(37px,3.6vw,53px);margin-bottom:20px}
.closing-landscape .closing-copy p{margin-bottom:22px}
.neighborhood-world{background-position:center;background-size:cover;color:#fff}
.neighborhood-world:before{background:linear-gradient(90deg,#080b0fdc 0%,#080b0f4d 65%,#080b0f38)}
.neighborhood-world h2{color:#fff}.neighborhood-world h2 em{color:#ffaf5e}
.neighborhood-world .eyebrow,.neighborhood-world .text-link{color:#ffaf5e}
.neighborhood-world p{color:#f1eee7;text-shadow:0 1px 6px #0004}
.neighborhood-world .rio-teaser{padding-top:85px;padding-bottom:70px}
.neighborhood-world .rio-teaser>div:first-child{max-width:440px}
.neighborhood-world .faq-section{background:transparent;border-top:1px solid #ffffff38}
.neighborhood-world .faq-list{padding:10px 25px;background:#101010bf;border:1px solid #ffffff25;border-radius:4px;backdrop-filter:blur(7px)}
.neighborhood-world .faq-list details{border-color:#ffffff2b}
.neighborhood-world .faq-list summary{color:#fff}
.neighborhood-world .faq-list details>p{color:#e7e3dd;text-shadow:none}
.neighborhood-world .map-caption{color:#fff;border-color:#ffffff80}
.neighborhood-world .aerial-credit{background:transparent;color:#e6e1d9;text-shadow:0 1px 5px #000}
.neighborhood-map{border-color:#ffffff60;background:#182824}
.room-help{background:#101010;color:#fff;border:1px solid #ffffff15}
.room-help h3{color:#fff}.room-help p{color:#d8d3cc}.room-help .button{background:var(--yellow);color:#151515}
.castle-welcome{position:relative;isolation:isolate;overflow:hidden;padding:100px 7%;color:#fff}
.castle-welcome-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;z-index:-2}
.castle-welcome:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05090bcc,#05090b78,#05090bc4);z-index:-1}
.castle-welcome-copy{max-width:950px;margin:auto}.castle-welcome .handwritten{color:#ffb971;display:block;margin-bottom:24px}
.castle-welcome h2{color:#fff}.castle-welcome h2 em{color:#ffb971}.castle-welcome p{color:#fff}
.contact-other .inline-brand-icon{filter:none;width:23px;height:23px}
.map-arrival .map-arrival-heading{text-align:center}.map-arrival .section-heading{max-width:none}.map-arrival .section-heading>p{margin-left:auto;margin-right:auto}
.map-viewer{position:relative;width:100%;height:100%;min-height:inherit;background:#1b3027;isolation:isolate}
.map-viewer .google-map{display:block;height:100%;width:100%;min-height:inherit}
.map-toolbar{position:absolute;top:15px;right:15px;display:flex;gap:4px;align-items:center;padding:5px;background:#101010ed;border:1px solid #ffffff35;border-radius:6px;box-shadow:0 4px 15px #0002;z-index:1}
.map-toolbar button,.map-toolbar a{border:0;background:none;color:#fff;border-radius:3px;font:600 12px var(--sans);padding:10px 12px;white-space:nowrap;line-height:1.2}
.map-toolbar button[aria-pressed=true]{background:#f6a049;color:#151515}.map-toolbar button:hover,.map-toolbar a:hover{background:#ffffff24}.map-toolbar a{border-left:1px solid #ffffff38;border-radius:0;margin-left:2px}
.email-modal{width:min(92vw,900px);max-width:900px;padding:48px;background:#009739 url('/assets/brazil-flag-color.svg') center/100% 100% no-repeat;box-shadow:0 20px 100px #0008}
.email-modal .email-panel{max-width:540px;margin:0 auto;padding:28px 32px;background:#fffdf5ee;border:1px solid #ffffffa0;border-radius:5px;box-shadow:0 8px 40px #001b4938;backdrop-filter:blur(5px)}
.email-modal h2{font-size:38px;line-height:1.07;margin-bottom:0}.email-modal h2 em{color:#76512b}.email-modal .eyebrow{font-size:10px;color:#536438}
.email-modal .email-composer{gap:12px;margin-top:19px}.email-modal .email-composer label{font-size:13px;color:#182319;font-weight:600}
.email-modal .email-composer input,.email-modal .email-composer textarea{background:#fffdf9;border:1px solid #859c8890;padding:10px 12px;font-size:15px;font-weight:400}
.email-modal .email-composer textarea{min-height:110px}.email-modal .email-composer .button{background:#f7d548;color:#052840;letter-spacing:.04em;padding:15px 20px}
.email-modal .email-composer .caption{color:#3b473e;font-size:11px;line-height:1.6}
.email-modal .modal-close{background:#fffc;color:#123e29;right:12px;top:12px;width:36px;height:36px;line-height:30px}
@media(max-width:900px){.closing-landscape .closing-copy{padding:38px 8%;min-height:370px}.closing-landscape .closing-copy h2{font-size:38px}.brazil-gold-drawing{width:340px;right:0;top:35px}.neighborhood-world .rio-teaser{gap:40px}.map-toolbar{top:12px;right:12px}.map-toolbar button,.map-toolbar a{padding:9px;font-size:11px}}
@media(max-width:650px){.home-page .hero-actions .backpack-button{font-size:14px;padding:17px 22px}.brazil-gold-drawing{width:240px;height:170px;top:34px;right:-36px;opacity:.27}.moments-grid .photo-card:last-child h3{font-size:30px}.closing-landscape{display:flex;flex-direction:column}.closing-landscape .closing-image{height:auto;aspect-ratio:3/2;min-height:0}.closing-landscape .closing-image img{min-height:0;height:100%;object-position:center}.closing-landscape .closing-copy{padding:40px 7%;min-height:0}.closing-landscape .closing-copy h2{font-size:39px}.neighborhood-world:before{background:#07100e8c}.neighborhood-world .rio-teaser{padding-top:45px;padding-bottom:55px}.neighborhood-world .rio-teaser>div:first-child{padding:22px;background:#101010ad;border-radius:4px}.neighborhood-world .faq-section>div:first-child{padding:20px;background:#101010ad;border-radius:4px}.neighborhood-world .faq-list{padding:7px 18px}.neighborhood-world .aerial-credit{font-size:10px;background:#10101085}.castle-welcome{padding:70px 7%}.castle-welcome-photo{object-position:56% center}.castle-welcome:before{background:#05090ba1}.castle-welcome h2{font-size:36px}.castle-welcome p{font-size:14px}.arrival-map-wrap .map-viewer{height:430px;min-height:430px}.email-modal{padding:45px 12px 25px;max-width:94vw;background-size:auto 100%;background-position:center}.email-modal .email-panel{padding:25px 19px}.email-modal h2{font-size:32px}.email-modal .email-composer input,.email-modal .email-composer textarea{font-size:16px}.email-modal .email-composer .caption{font-size:12px}.email-modal .modal-close{top:7px;right:8px}}
.neighborhood-world .rio-teaser p:not(.eyebrow){color:#f1eee7}
@media(max-width:650px){.map-toolbar{top:auto;bottom:33px;right:8px;gap:2px;padding:4px}.map-toolbar button,.map-toolbar a{font-size:11px;padding:9px 8px}}
.map-arrival .section-heading>p:not(.eyebrow){color:#d3cbc1}
.castle-welcome-photo{object-position:center 75%}
.neighborhood-world .faq-section p:not(.eyebrow){color:#eee9e1}
.map-toolbar button[aria-pressed=true]:hover{background:#f6a049}
.email-modal .email-composer label{margin:0}.email-modal .email-composer textarea{height:125px}

/* October refinements: natural labels, quiet Rio motifs and inset closing media. */
.button,.hero-actions .button,.header-book{text-transform:none;letter-spacing:0;font-size:14px}
.header-book{font-size:12px}.hero-life{background:#080808;border-color:#ffffff25;backdrop-filter:none}
.page-hero-copy{position:relative;isolation:isolate;overflow:hidden;align-self:stretch!important}
.hero-christ{position:absolute;z-index:-1;pointer-events:none;width:95%;height:95%;object-fit:contain;left:1%;bottom:-6%;opacity:.13}
.film-long{padding-bottom:110px}.film-long .beach-drawing{width:70%;max-width:750px;opacity:.2}
.neighborhood-world{background-image:url('/assets/santa-largo-street.webp');background-position:center 46%}
.neighborhood-world:before{background:linear-gradient(90deg,#080808cf,#08080866 65%,#08080845)}
.closing-map{padding:48px 5.5%;gap:5%;grid-template-columns:1fr 1fr;background:#080808;align-items:center}
.closing-map .closing-image{background:transparent;min-height:0;padding:0;display:grid;place-items:center}
.closing-map .map-viewer{width:88%;height:410px;min-height:0;border:1px solid #ffffff24;border-radius:6px;overflow:hidden}
.closing-map .google-map{min-height:0;height:100%}.closing-map .closing-copy{padding:30px 4%;min-height:0}
.closing-map .closing-copy h2{font-size:clamp(38px,3.8vw,58px)}
.closing-map .map-toolbar{top:auto;bottom:33px;right:7px;gap:1px;padding:3px}
.closing-map .map-toolbar button,.closing-map .map-toolbar a{font-size:11px;padding:9px 7px}
.closing-portrait{grid-template-columns:.8fr 1.2fr;align-items:center;padding:45px 7%;gap:8%}
.closing-portrait .closing-image{display:grid;place-items:center}
.closing-portrait .closing-image img{width:auto;max-width:100%;height:400px;min-height:0;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
.closing-portrait .closing-copy{padding:10px 0}.closing-portrait h2{font-size:clamp(38px,4vw,58px)}
.team-carousel .team-grid{scroll-snap-type:none;scroll-behavior:auto}
.team-carousel .team-card{scroll-snap-align:none}.team-pause{font-size:14px}
.faq-human-note{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:90px 7%}
.faq-human-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.faq-human-note:before{content:'';position:absolute;inset:0;background:#070707a6;z-index:-1}
.faq-human-copy{max-width:720px;margin:auto}.faq-human-note h2{color:#fff}.faq-human-note h2 em,.faq-human-note .eyebrow{color:#ffb971}.faq-human-note p{color:#fff}
.email-modal .email-panel{background:#050505df;border-color:#ffffff45;color:#fff;backdrop-filter:blur(3px)}
.email-modal h2{color:#fff}.email-modal h2 em,.email-modal .eyebrow{color:#ffd85d}
.email-modal .email-composer label{color:#fff;font-size:14px}
.email-modal .email-composer input,.email-modal .email-composer textarea{background:#080808a6;color:#fff;border-color:#ffffff60}
.email-modal .email-composer textarea::placeholder{color:#c9c9c9}
.email-modal .email-composer .caption{color:#e3e0d8;font-size:12px}
.email-modal .email-composer-status{background:#ffffff12;color:#ffd85d;border:1px solid #ffffff25}
.secret-rooftop{display:grid;grid-template-columns:1.15fr 1fr;background:#080808;color:#fff;align-items:stretch}
.secret-rooftop-photo{position:relative;min-height:470px}.secret-rooftop-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.secret-rooftop-copy{padding:70px 12%}.secret-rooftop h2{font-size:clamp(36px,4vw,58px)}
.secret-rooftop h2 em,.secret-rooftop .eyebrow{color:#ffb971}.secret-rooftop p{color:#dedad3;font-size:16px}
.barbecue-night{margin-top:0}.barbecue-night .night-copy{padding:65px 10%}
.barbecue-perks{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;margin:28px 0 35px}
.barbecue-perks span{font-size:15px;color:#e5e0d8}.barbecue-perks strong{display:block;color:#ffb971;font:44px var(--serif);margin-bottom:5px}
.bar-hours{display:flex;gap:35px;border-block:1px solid #d3c9bb;padding:20px 0;margin:25px 0;color:#5b5146;font-size:14px}
.bar-hours strong{display:block;color:#242325;font-weight:600;margin-bottom:5px}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}
.experience-grid img{height:330px}.experience-grid h3{font-size:29px;margin:24px 0 18px}.experience-grid p{color:var(--muted);font-size:16px}
.life-whatsapp{display:flex;justify-content:space-between;gap:50px;align-items:center;padding:40px;margin-top:50px;background:#080808;color:#fff}
.life-whatsapp>div{max-width:680px}.life-whatsapp .eyebrow{color:#ffb971}.life-whatsapp h3{font-size:33px}.life-whatsapp p{color:#dedad3;font-size:16px;margin-bottom:0}.life-whatsapp .button{flex:none}
.life-practical{background:#080808;color:#fff}.life-practical h2 em,.life-practical .eyebrow{color:#ffb971}
.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}
.practical-grid article{border-top:1px solid #ffffff38;padding-top:25px}.practical-number{font:italic 35px var(--serif);color:#ffaf5e}
.practical-grid h3{font-size:30px;margin:20px 0 16px}.practical-grid p{font-size:16px;color:#dcd7ce;margin-bottom:0}
@media(max-width:1000px){.closing-map{padding:40px 5%;gap:4%}.closing-map .map-viewer{width:100%;height:370px}.closing-map .closing-copy h2{font-size:45px}.experience-grid img{height:270px}.practical-grid{grid-template-columns:repeat(2,1fr);gap:30px}.life-whatsapp{display:block}.life-whatsapp .button{margin-top:25px}.secret-rooftop-copy{padding:45px 9%}.closing-portrait .closing-image img{height:350px}}
@media(max-width:650px){.button,.hero-actions .button{font-size:14px}.header-book{font-size:11px}.hero-christ{width:90%;height:100%;left:0;bottom:-12%;opacity:.12}.film-long{padding-bottom:95px}.closing-map{display:flex;flex-direction:column;gap:0;padding:35px 7%}.closing-map .closing-image{width:100%;height:auto;min-height:0}.closing-map .map-viewer{height:310px;min-height:0;width:100%}.closing-map .google-map{height:100%;min-height:0}.closing-map .closing-copy{padding:35px 0 5px;width:100%}.closing-map .closing-copy h2{font-size:41px}.closing-portrait{display:flex;flex-direction:column;padding:35px 7%;gap:30px}.closing-portrait .closing-image img{height:320px;width:auto;min-height:0}.closing-portrait .closing-copy{width:100%;padding:0}.closing-portrait h2{font-size:40px}.faq-human-note{padding:65px 7%}.secret-rooftop{display:flex;flex-direction:column}.secret-rooftop-photo{min-height:300px}.secret-rooftop-copy{padding:45px 7%}.secret-rooftop h2{font-size:39px}.barbecue-night .night-copy{padding:45px 7%}.barbecue-perks{gap:25px}.barbecue-perks strong{font-size:36px}.bar-hours{gap:25px}.experience-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.experience-grid img{height:290px}.experience-grid h3{margin-top:20px}.life-whatsapp{padding:28px 23px;margin-top:35px}.life-whatsapp h3{font-size:30px}.practical-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.practical-grid h3{font-size:29px;margin-top:15px}.vie-au-chateau-page .anchor-nav{flex-wrap:wrap;gap:15px 25px;justify-content:flex-start}.email-modal .email-composer input,.email-modal .email-composer textarea{font-size:16px}.neighborhood-world:before{background:#08080880}}
@media(max-width:650px){.email-modal .email-composer textarea{height:110px;min-height:110px}}

.equipe-page .closing-landscape .closing-image img{object-position:center 64%}
.testimonial-card .review-summary{font-size:18px;line-height:1.65;margin:0 0 25px;color:#302d29}
.testimonial-slide .review-summary{font:clamp(20px,2vw,30px)/1.4 var(--serif);margin:0 0 25px;max-width:820px;color:#eee9e1}
.home-page .closing-landscape .closing-image img{object-position:center 54%}
.temoignages-page .page-hero{grid-template-columns:1.25fr .75fr}
.temoignages-page .page-hero>img{width:360px;max-width:80%;height:480px;min-height:0;align-self:center;justify-self:center;margin:40px 0;object-position:center;border-radius:4px}
@media(max-width:650px){.temoignages-page .page-hero>img{width:270px;height:360px;margin:0 auto 35px;max-width:80%}}

/* Final warmth and readability: motion stays small, intentional and optional. */
.button{transition:background .22s,transform .22s,box-shadow .22s,filter .22s}
.button:hover,.button:focus-visible{transform:translateY(-4px);box-shadow:0 10px 26px #0003;filter:brightness(1.08)}
.button.yellow:hover,.button.yellow:focus-visible{background:#ffb66e;box-shadow:0 10px 28px #ef98423d}
.button:active{transform:translateY(-1px);box-shadow:0 3px 12px #0002}
.button .button-arrow{transition:transform .22s}.button:hover .button-arrow{transform:translate(3px,-3px)}
.text-link{transition:color .2s,opacity .2s,transform .2s,border-color .2s}.text-link:hover,.text-link:focus-visible{opacity:1;transform:translateY(-2px);border-bottom-width:2px}
.text-link.orange-link{color:var(--gold-ink);border-color:currentColor;font-weight:600;padding-bottom:7px}
.text-link.orange-link:after{content:' ↗';margin-left:10px;display:inline-block;transition:transform .2s}.text-link.orange-link:hover:after{transform:translate(2px,-2px)}
.neighborhood-world .text-link.orange-link{color:#ffaf5e}
.slide-controls button,.testimonial-controls button,.team-arrow,.filters button,.map-toolbar button{transition:background .2s,transform .2s,box-shadow .2s}
.slide-controls button:hover,.testimonial-controls button:hover,.team-arrow:hover,.filters button:hover{transform:translateY(-2px);box-shadow:0 5px 12px #0003}
.hero-typewriter{position:relative;display:inline-block;max-width:100%}.typewriter-measure{display:block;visibility:hidden}.typewriter-output{position:absolute;inset:0;display:block}.is-typing .typewriter-output:after{content:'';display:inline-block;height:.75em;width:2px;background:#ffffffb3;margin-left:5px;vertical-align:-.04em;animation:typewriter-caret .85s steps(1) infinite}
@keyframes typewriter-caret{50%{opacity:0}}
.hero-life{background:#f1a04b;color:#21140c;bottom:96px;border-color:#f1a04b66;transition:background .25s,transform .25s,box-shadow .25s}
.hero-life small,.hero-life b{color:#492b11}.hero-life:hover,.hero-life:focus-visible{background:#f1a04bcc;transform:translateY(-3px);box-shadow:0 8px 24px #0003}
.footer-meet .footer-christ{width:310px;height:310px;left:-47px;top:-50px;opacity:.31}
.brazil-gold-drawing{left:55%;right:auto;transform:translateX(-50%);top:20px;opacity:.37}
.moments-grid .photo-card:after{background:linear-gradient(0deg,#050505f2,#05050586 35%,transparent 75%)}
.moments-grid .photo-card .eyebrow{display:inline-block;background:#080808d9;border:1px solid #ffffff36;padding:6px 10px;color:#fff;border-radius:3px;letter-spacing:.12em;font-size:10px;text-shadow:none;margin-bottom:12px}
.moments-grid .photo-card h3{color:#fff;text-shadow:0 2px 12px #0008}
.rooms-home .heading-row{display:grid;grid-template-columns:1.15fr .7fr 1fr;gap:35px;align-items:center}.castle-gold-drawing{width:100%;max-width:280px;max-height:200px;object-fit:contain;opacity:.65;mix-blend-mode:multiply;justify-self:center}
.closing-quote-layout{background:#080808}.closing-quote-layout .closing-image{display:grid;place-items:center;padding:45px 10%;background:#080808;min-height:0}
.closing-quote{margin:0;max-width:560px}.closing-quote p{color:#ffaf5e;font:italic clamp(33px,3.5vw,53px)/1.12 var(--serif);letter-spacing:-.035em;margin-bottom:25px}.closing-quote cite{font:13px var(--sans);color:#d4c2af}.closing-quote cite a{border-bottom:1px solid #ffaf5e70;padding-bottom:5px}
.gallery-future{background:#080808;color:#fff;border-color:#ffffff25}.gallery-future p{color:#e4ded5}.gallery-future .handwritten{color:#ffaf5e}
.contact-buttons .mail-button{background:#fff;color:#181818;border-color:#fff;font-size:14px;gap:10px}.mail-button svg{width:21px;height:21px;flex:none}.contact-buttons .mail-button:hover,.contact-buttons .mail-button:focus-visible{background:#fff;filter:brightness(.96)}
.neighborhood-world{background-image:url('/assets/santa-teresa-bondinho-largo.webp');background-position:35% 52%}
.vie-au-chateau-page .page-hero>img{object-position:center 62%}
@media(max-width:1150px){.hero-life{bottom:73px}.rooms-home .heading-row{grid-template-columns:1.1fr .6fr 1fr;gap:25px}.footer-meet .footer-christ{width:280px;height:280px;left:-37px;top:-40px}}
@media(max-width:900px){.hero-life{bottom:65px}.castle-gold-drawing{max-height:150px}.rooms-home .heading-row{grid-template-columns:1fr .6fr;gap:25px}.rooms-home .heading-aside{grid-column:1/-1;max-width:500px}.brazil-gold-drawing{left:65%;top:35px}}
@media(max-width:650px){.hero-life{bottom:51px;padding:10px;border:1px solid #f1a04b66;border-radius:4px;background:#f1a04b;gap:13px}.hero-life img{width:75px;height:61px}.hero-life span{font-size:21px}.hero-life small{font-size:8px}.footer-meet .footer-christ{width:260px;height:260px;left:-35px;top:-50px;opacity:.3}.brazil-gold-drawing{left:73%;right:auto;width:240px;height:170px;opacity:.29}.moments-grid .photo-card .eyebrow{font-size:10px;padding:6px 8px}.rooms-home .heading-row{grid-template-columns:1fr .65fr;gap:18px}.rooms-home .heading-row h2{font-size:36px}.castle-gold-drawing{max-height:160px}.closing-quote-layout .closing-image{aspect-ratio:auto;height:auto;min-height:0;padding:50px 7% 15px}.closing-quote p{font-size:39px}.closing-quote-layout .closing-copy{padding-top:35px}.closing-quote-layout .closing-copy h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:focus-visible,.text-link:hover,.text-link:focus-visible,.hero-life:hover,.hero-life:focus-visible{transform:none}.button,.text-link,.hero-life,.button .button-arrow{transition:none}.is-typing .typewriter-output:after{animation:none}.slide-controls button:hover,.testimonial-controls button:hover,.team-arrow:hover,.filters button:hover{transform:none}}

.reviews-headline{padding:70px 7.2% 35px;text-align:center}.reviews-headline h2{font:400 clamp(26px,2.5vw,36px)/1.2 var(--serif);letter-spacing:-.025em;margin:0;color:#fff}.reviews-headline h2 em{color:#ffaf5e}
.rating-platforms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1320px;margin:auto;padding:0 35px;gap:15px;background:#080808;color:#fff}.rating-platform{text-align:center;padding:24px 15px;border:1px solid #ffffff21;border-radius:4px;display:flex;flex-direction:column;align-items:center}
.platform-brand{display:flex;gap:6px;justify-content:center;align-items:center;height:45px;margin-bottom:20px;width:100%}.platform-brand img{width:28px;height:28px;object-fit:contain}.platform-brand .platform-wordmark{width:auto;max-width:145px;height:auto;max-height:31px;object-fit:contain}.rating-platform strong{font:500 34px/1 var(--sans);letter-spacing:-.04em}.rating-platform strong small{font-size:15px;font-weight:400;color:#d4cec3;margin-left:3px}.rating-platform>span{font-size:11px;color:#ddd6cc;margin-top:15px;min-height:36px;line-height:1.5}.rating-platform>a{font-size:12px;margin-top:13px;padding-bottom:4px;border-bottom:1px solid #ffaf5e70;color:#ffaf5e}.rating-platform>a:hover{border-color:#ffaf5e;color:#ffc58b}
.ratings-source-note{text-align:center;color:#b3aca2;font-size:10px;padding:25px 7% 0;margin-bottom:0;line-height:1.6}
@media(min-width:1100px){.reviews-headline h2{white-space:nowrap}}
@media(max-width:1000px){.rating-platforms{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 7%;gap:12px}.rating-platform{padding:20px 12px}.platform-brand .platform-wordmark{max-width:125px}.reviews-headline h2{font-size:33px}}
@media(max-width:650px){.reviews-headline{padding:50px 7% 28px}.reviews-headline h2{font-size:32px;line-height:1.1}.rating-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rating-platform{padding:18px 9px}.rating-platform:last-child{grid-column:1/-1;max-width:280px;justify-self:center;width:100%}.platform-brand{margin-bottom:15px;height:37px}.platform-brand .platform-wordmark{max-width:115px;max-height:26px}.rating-platform strong{font-size:30px}.rating-platform>span{min-height:30px;font-size:11px}.ratings-source-note{font-size:10px}}

.platform-wordmark[alt="Tripadvisor"]{filter:brightness(0) invert(1)}

@media(max-width:650px){.footer-meet .footer-christ{left:auto;right:-8px}}

@media(max-width:650px){.rooms-home .heading-row .section-heading{grid-column:1/-1}.rooms-home .heading-aside{grid-column:1;grid-row:2}.rooms-home .castle-gold-drawing{grid-column:2;grid-row:2;max-height:130px}}

/* Orange booking priority, calm on-scroll typing and a centred quotation. */
.typewriter{position:relative;display:inline-block;max-width:100%}.is-typing .typewriter-output:after{content:none}
.typewriter-caret{display:inline-block;width:2px;height:.72em;margin-left:4px;background:currentColor;vertical-align:-.035em;animation:typewriter-caret .85s steps(1) infinite}
.header .header-book{background:#f1a04b;color:#19130d;border:1px solid #f1a04b}.header .header-book:hover,.header .header-book:focus-visible{background:transparent;color:#ffb66e;filter:none;box-shadow:0 4px 20px #0002}
.hero-life{background:#080808;color:#fff;border-color:#ffffff35}.hero-life small,.hero-life b{color:#ffb66e}.hero-life:hover,.hero-life:focus-visible{background:#080808b8}
.closing-quote{text-align:center}.closing-quote cite{display:block;text-align:center}
.film-first-line{white-space:nowrap}.home-page .film-copy h2{font-size:clamp(28px,3.3vw,47px)}
.ratings-source-note{padding-top:19px;padding-bottom:20px}.castle-area{border-top:1px solid #d3c9bb;margin-top:30px;padding-top:25px}.castle-area strong{font:italic 48px/1 var(--serif);color:var(--gold-ink);display:block;margin-bottom:12px}.castle-area strong small{font-size:26px}.castle-area p{font-size:13px;color:#716b65;line-height:1.7}
.testimonial-hero-stars{display:flex;gap:9px;margin:8px 0 26px}.testimonial-hero-stars svg{width:29px;height:29px;fill:#f1a04b;stroke:#ffd39e;stroke-width:.55;filter:drop-shadow(0 2px 6px #f1a04b25)}
@media(max-width:1150px){.home-page .film-copy h2{font-size:34px}}
@media(max-width:900px){.home-page .film-copy h2{font-size:30px}}
@media(max-width:650px){.hero-life{background:#080808;border-color:#ffffff35}.home-page .film-copy h2{font-size:clamp(28px,7.8vw,38px)}.testimonial-hero-stars{margin-top:5px;gap:8px}.testimonial-hero-stars svg{width:27px;height:27px}.castle-area{padding-top:20px;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.typewriter-caret{animation:none}}

@media(min-width:651px) and (max-width:900px){.home-page .film-copy h2{font-size:42px}}

/* Shared button motion and the next chapter of the Castelo. */
.button:hover,.button:focus-visible{transform:translateY(-4px) scale(1.045);box-shadow:0 12px 30px #0003}
.button.yellow:hover,.button.yellow:focus-visible{box-shadow:0 12px 30px #ef984245}
.button:active{transform:translateY(-1px) scale(1.015)}
.hero-life{transform-origin:right center;transition:background .3s,transform .3s,box-shadow .3s,border-color .3s}
.hero-life:hover,.hero-life:focus-visible{transform:translateY(-6px) scale(1.065);background:#080808b8;box-shadow:0 16px 38px #0005;border-color:#ffb66e90}
.hero-life img{transition:filter .3s}.hero-life:hover img,.hero-life:focus-visible img{filter:brightness(1.12)}
.reviews-stories>.text-link.orange-link{color:#ffaf5e;border-color:#ffaf5e}
.faq-section .text-link.orange-link{font-size:14px}
#film-accueil{scroll-margin-top:100px}.home-page #film-accueil{padding-bottom:65px}
.heritage-strip{position:relative;isolation:isolate;overflow:hidden;padding-bottom:85px}
.heritage-strip>p{max-width:1200px;font-size:clamp(21px,1.65vw,26px);line-height:1.65;position:relative;z-index:1}
.heritage-strip>p>span{display:block}.heritage-address{white-space:nowrap}
.heritage-strip>.button{position:relative;z-index:1}
.heritage-beach{position:absolute;width:min(480px,36vw);right:1.5%;bottom:7px;height:auto;opacity:.27;pointer-events:none;z-index:-1}
.barbecue-family{display:inline-block;white-space:nowrap;font-size:clamp(22px,2.5vw,36px);letter-spacing:-.04em}
.day-slides,.day-slides .slide-stage{height:480px}.day-image .day-slides .slide-image{height:100%}
.day-slides .slide-controls{right:18px;bottom:18px}.day-image:has(.day-slides) .time-stamp{z-index:2}
.practical-grid .practical-photo{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-bottom:23px}
.practical-grid article:nth-child(4) .practical-photo{object-position:center 36%}.practical-grid article:nth-child(5) .practical-photo{object-position:center 50%}
@media(max-width:1000px){.barbecue-family{font-size:28px}.day-slides,.day-slides .slide-stage{height:440px}}
@media(max-width:650px){#film-accueil{scroll-margin-top:78px}.home-page #film-accueil{padding-bottom:50px}.heritage-strip{padding-bottom:100px}.heritage-strip>p{font-size:23px}.heritage-strip>p>span{display:inline}.heritage-beach{width:250px;max-width:65%;right:0;bottom:5px;opacity:.2}.hero-life{transform-origin:center}.hero-life:hover,.hero-life:focus-visible{transform:translateY(-4px) scale(1.025)}.barbecue-family{font-size:clamp(19px,5.6vw,25px)}.day-slides,.day-slides .slide-stage{height:345px}.day-slides .slide-controls{bottom:15px;right:12px}.practical-grid .practical-photo{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.button:hover,.button:focus-visible,.button:active,.hero-life:hover,.hero-life:focus-visible{transform:none}.hero-life img{transition:none}}

/* Page-specific final copy and hospitality details. */
.chambres-page .faq-section .text-link.orange-link{color:#101010}
.direct-perk{background:#080808;color:#fff;border:1px solid #ffffff12;border-radius:4px}
.direct-perk h3{color:#ffaf5e}.direct-perk p{font-size:14px;color:#eee}.direct-perk small{font-size:12px;color:#c5c5c5}.direct-perk>span{color:#ffaf5e}
.quote-author-separator{margin:0 6px;color:#ffaf5e}
.photo-credits .photo-credit-source{font-size:14px;line-height:1.8;margin-bottom:25px}
.home-page .heritage-strip>p{font-size:clamp(20px,1.48vw,24px)}
@media(max-width:650px){.home-page .heritage-strip>p{font-size:23px}}

.team-mascot .team-portrait img{object-position:center bottom}.team-carousel .team-mascot h2{font-size:25px}

/* Three places, one shared spirit. Compact desktop discovery navigation. */
.nav-discovery{position:relative;flex:none}
.desktop-nav .nav-discovery summary{display:flex;align-items:center;gap:7px;color:inherit;font:inherit;font-size:inherit;border:0;padding:8px 0;list-style:none;cursor:pointer;opacity:.85;white-space:nowrap}
.nav-discovery summary::-webkit-details-marker{display:none}.nav-discovery[open] summary,.nav-discovery.is-current summary{opacity:1;color:#ffaf5e}
.nav-discovery summary:focus-visible{outline:2px solid #ffaf5e;outline-offset:7px;border-radius:2px}.nav-discovery[open] summary svg{transform:rotate(180deg)}
.nav-discovery-panel{position:absolute;top:calc(100% + 12px);left:-23px;min-width:230px;background:#101010;border:1px solid #ffffff20;border-radius:6px;padding:13px;box-shadow:0 15px 40px #0006;z-index:12}
.desktop-nav .nav-discovery-panel a{display:block;padding:13px 12px;font-size:14px;border:0;opacity:1;border-radius:3px;color:#eee}
.desktop-nav .nav-discovery-panel a:after{display:none}.desktop-nav .nav-discovery-panel a:hover,.desktop-nav .nav-discovery-panel a[aria-current]{background:#ffffff09;color:#ffaf5e}
.residence-hero{display:grid;grid-template-columns:44% 56%;background:#101010;min-height:620px}
.residence-hero-copy{padding:90px 11% 80px 16%;position:relative;isolation:isolate;overflow:hidden;min-width:0;align-self:center}
.residence-christ{position:absolute;width:290px;height:310px;object-fit:contain;right:-80px;top:0;opacity:.11;z-index:-1;pointer-events:none}
.residence-hero h1{font-size:clamp(40px,3.5vw,57px);color:#fff;line-height:1.13;margin-bottom:30px}.residence-hero h1 em{color:#ffaf5e}
.residence-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#d7d3ce;max-width:440px;margin-bottom:35px}
.residence-hero-slides,.residence-hero-slides .slide-stage{height:100%;min-height:620px;overflow:hidden}.residence-hero-slides .slide-image{height:100%;width:100%;object-fit:cover}
.residence-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.residence-actions .button{font-size:14px}.residence-actions .text-link{font-size:14px}
.residence-facts{display:flex;align-items:center;justify-content:center;gap:32px;padding:25px 7%;background:#080808;color:#e0d8cf;border-top:1px solid #ffffff15;font-size:14px;flex-wrap:wrap}
.residence-facts span+span{border-left:1px solid #ffaf5e60;padding-left:32px}
.residence-story{display:grid;grid-template-columns:1fr 1fr;gap:10%}.residence-story h2{font-size:clamp(35px,3.5vw,54px)}.residence-story p{font-size:16px;line-height:1.85}.residence-story .text-link{font-size:14px}
.residence-living{display:grid;grid-template-columns:1fr 1fr;background:#101010;color:#fff}.residence-living-photo{min-width:0}.residence-living-photo img{width:100%;height:100%;object-fit:cover;min-height:580px}.residence-living-copy{padding:80px 14%;align-self:center}.residence-living-copy h2 em{color:#ffaf5e}.residence-living-copy p{font-size:16px;line-height:1.85;color:#d3cec8}.residence-living-copy .residence-actions{margin-top:30px}
.residence-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.residence-card{min-width:0}.residence-card>img{width:100%;height:300px;object-fit:cover;border-radius:4px}.residence-card>div{padding:26px 0 0}.residence-card h3{font-size:26px;margin-bottom:15px;line-height:1.2}.residence-card p{font-size:16px;line-height:1.8;color:#635c55}
.residence-section-cta{margin-top:40px}.residence-location{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#eee9e1}.residence-location>img{width:100%;height:450px;object-fit:cover;border-radius:4px}.residence-location p:not(.eyebrow){font-size:16px;line-height:1.85}.residence-location p.caption{font-size:14px;margin-top:25px}
.residence-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.residence-faq summary{font-size:16px}.residence-faq details>p{font-size:16px;line-height:1.8}.residence-faq h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:26px}
.coliving-offer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 7.2%;background:#080808;color:#fff;border-top:1px solid #ffffff15;scroll-margin-top:110px}.coliving-offer>div:first-child>span{font-size:12px;letter-spacing:.17em;color:#ffaf5e}.coliving-offer p{margin:8px 0 0;font-size:16px;line-height:1.7;color:#d5d0c9}.coliving-offer p strong{font-size:46px;font-weight:500;letter-spacing:-.045em;color:#ffaf5e}.coliving-offer>div>strong{font-size:23px;font-weight:500}.coliving-offer>a{font-size:14px}
.coliving-work{display:grid;grid-template-columns:1fr 1fr;background:#101010;color:#fff}.coliving-work>div:first-child{min-width:0}.coliving-work img{width:100%;height:100%;min-height:650px;object-fit:cover}.coliving-work>div:last-child{padding:85px 13%;align-self:center}.coliving-work h2{font-size:clamp(35px,3.5vw,54px)}.coliving-work h2 em{color:#ffaf5e}.coliving-work p{font-size:16px;line-height:1.85;color:#d7d1ca}.residence-inline-features{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.residence-inline-features span{border:1px solid #ffaf5e50;border-radius:40px;padding:9px 15px;font-size:14px;color:#ffaf5e}
.coliving-final{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:#080808;color:#fff}.coliving-final>div{padding:75px 12%}.coliving-final h2{font-size:clamp(34px,3.5vw,53px)}.coliving-final h2 em{color:#ffaf5e}.coliving-final p{font-size:16px;color:#d8d1ca;line-height:1.8}.coliving-final>img{width:100%;height:100%;min-height:440px;object-fit:cover}.coliving-final .text-link{display:table;margin-top:24px;font-size:14px}
@media(min-width:1151px){.desktop-nav{gap:18px}.header{gap:22px}.nav-discovery summary{font-size:13px}}
@media(max-width:1300px) and (min-width:1151px){.desktop-nav{font-size:12px;gap:13px}.nav-discovery summary{font-size:12px}.header{gap:15px}.brand{font-size:23px}.header-actions{gap:12px}}
@media(max-width:900px){.residence-hero{grid-template-columns:1fr 1fr}.residence-hero-copy{padding:65px 10%}.residence-hero h1{font-size:38px}.residence-actions{gap:20px}.residence-living-copy{padding:60px 9%}.residence-living-photo img{min-height:650px}.residence-card-grid{gap:20px}.residence-card>img{height:230px}.residence-card h3{font-size:23px}.coliving-work>div:last-child{padding:65px 9%}.coliving-final>div{padding:65px 9%}.residence-facts{gap:15px}.residence-facts span+span{padding-left:15px}}
@media(max-width:650px){.residence-hero{display:flex;flex-direction:column;min-height:0}.residence-hero-copy{padding:55px 7% 45px}.residence-hero h1{font-size:38px}.residence-hero-copy>p:not(.eyebrow){font-size:16px;margin-bottom:28px}.residence-christ{width:250px;right:-60px;opacity:.1}.residence-hero-slides,.residence-hero-slides .slide-stage{height:340px;min-height:0}.residence-facts{align-items:flex-start;flex-direction:column;gap:12px;font-size:14px;padding:28px 7%}.residence-facts span+span{padding:0;border:0}.residence-story,.residence-location,.residence-faq{grid-template-columns:1fr;gap:30px}.residence-story h2,.residence-faq h2,.residence-location h2{font-size:35px}.residence-living,.coliving-work,.coliving-final{display:flex;flex-direction:column}.residence-living-photo img{height:330px;min-height:0}.residence-living-copy{padding:55px 7%}.residence-living-copy h2{font-size:36px}.residence-card-grid{grid-template-columns:1fr;gap:38px}.residence-card>img{height:300px}.residence-card>div{padding-top:22px}.residence-card h3{font-size:27px}.residence-location>img{height:330px}.coliving-offer{flex-direction:column;align-items:flex-start;gap:25px;padding:35px 7%}.coliving-offer p strong{font-size:43px}.coliving-work img{height:350px;min-height:0}.coliving-work>div:last-child{padding:55px 7%}.coliving-work h2{font-size:35px}.coliving-final>div{padding:55px 7%}.coliving-final h2{font-size:34px}.coliving-final>img{height:310px;min-height:0}.residence-faq summary{font-size:15px}}

/* All published languages share the same welcoming language menu. */
.language-menu a{display:block;padding:8px 0;font-size:14px;border-radius:3px;transition:background .2s,color .2s}
.language-menu a:hover,.language-menu a.selected{color:#a65a16;background:#f1a04b18;padding-left:8px}
html[lang="en"] .desktop-nav,html[lang="pt-BR"] .desktop-nav,html[lang="es"] .desktop-nav{gap:clamp(12px,1.4vw,24px)}

/* Arabic reads naturally from right to left; brand names keep their identity. */
html[lang="ar"]{--sans:'Noto Sans Arabic',sans-serif;--serif:'Noto Naskh Arabic',serif}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] .eyebrow{letter-spacing:0}
html[lang="ar"] .brand,html[lang="ar"] .footer-brand,html[lang="ar"] .language-trigger,html[lang="ar"] .slide-controls,html[lang="ar"] .testimonial-controls,html[lang="ar"] .team-controls{direction:ltr}
html[lang="ar"] input[type="email"],html[lang="ar"] input[type="date"]{direction:ltr;text-align:right}
html[lang="ar"] .language-menu{left:4%;right:auto;text-align:right}
html[lang="ar"] .hero-shade{background:linear-gradient(270deg,#0f0e12b0,#0f0e1230 65%,#0f0e1210),linear-gradient(0deg,#0f0e128c,transparent 38%)}
html[lang="ar"] .hero-description{margin-left:auto}
html[lang="ar"] .nav-discovery-panel{right:0;left:auto;text-align:right}
html[lang="ar"] .typewriter-caret{margin-left:0;margin-right:.05em}
html[lang="zh-CN"]{--sans:'PingFang SC','Microsoft YaHei',sans-serif;--serif:'Songti SC','Noto Serif CJK SC',serif}
html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3{letter-spacing:0;line-height:1.3}
html[lang="de"] .desktop-nav,html[lang="ru"] .desktop-nav,html[lang="it"] .desktop-nav,html[lang="ar"] .desktop-nav,html[lang="zh-CN"] .desktop-nav{gap:clamp(10px,1.2vw,20px)}
.language-menu{max-height:calc(100svh - 110px);overflow-y:auto}
.language-menu a>span{display:inline;padding:0}
html[lang="ar"] .team-grid{direction:ltr}
html[lang="ar"] .team-card{direction:rtl}

/* Neighborhood photographs: the same editorial rhythm on desktop and mobile. */
.rio-page .spot-photo{aspect-ratio:3/2;margin:0 0 25px;overflow:hidden;background:#161616}
.rio-page .spot-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.rio-page .spot:hover .spot-photo img{transform:scale(1.035)}
.rio-page .closing-landscape .closing-image{aspect-ratio:16/10;align-self:center}
.rio-page .closing-landscape{padding:45px 5%;gap:30px;background:#101010}
.rio-page .closing-landscape .closing-copy{padding:25px 5%;min-height:0}
@media(max-width:650px){.rio-page .closing-landscape{padding:30px 7%;gap:15px}.rio-page .closing-landscape .closing-image{height:auto;min-height:0}.rio-page .spot-photo{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.rio-page .spot-photo img{transition:none}}
