/* Pousada Maresia Noronha | editorial tropical, responsivo e acessível */
:root{--forest:#173e35;--forest-deep:#0e2924;--mint:#c6d6b4;--sand:#f6f2e9;--paper:#fffdfa;--taupe:#e9e5dc;--clay:#b67c5b;--ink:#273a33;--muted:#65736b;--white:#fff;--radius:10px;--shadow:0 26px 70px rgba(18,48,38,.10);--container:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}img{display:block;width:100%;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--clay)}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;font-weight:500;letter-spacing:-.045em;line-height:1.17}h1{font-size:clamp(3.2rem,6.5vw,6.45rem)}h2{font-size:clamp(2.25rem,4.3vw,4.65rem)}h3{font-size:clamp(1.4rem,2.3vw,2.1rem)}h1 em,h2 em,h3 em{font-weight:450;font-style:italic;font-family:Georgia,serif;letter-spacing:-.045em}p+p{margin-top:1.05rem}.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}.section{padding-block:clamp(76px,9vw,136px)}.eyebrow{color:#9b7757;font-size:.69rem;font-weight:800;letter-spacing:.2em;line-height:1.5;display:block;margin-bottom:22px}.eyebrow.light{color:#d5dfc6}.section-head{max-width:850px;margin-bottom:50px}.section-head h2{margin-bottom:18px}.section-head p{color:var(--muted);max-width:620px;font-size:1.03rem}.section-link{text-align:center;margin-top:45px}.skip-link{position:absolute;left:15px;top:-75px;background:white;padding:12px 20px;z-index:1001;border-radius:6px}.skip-link:focus{top:15px}:focus-visible{outline:3px solid #b67c5b;outline-offset:4px}
/* header */
.header{height:94px;background:rgba(255,253,250,.98);border-bottom:1px solid rgba(32,65,54,.085);position:sticky;top:0;z-index:70;transition:box-shadow .25s,height .25s}.header.is-scrolled{box-shadow:0 10px 40px rgba(20,38,31,.11)}.header-inner{height:100%;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;color:var(--forest)}.brand:hover{color:var(--forest)}.brand-mark{display:grid;place-items:center;width:45px}.brand-mark svg{width:100%}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-words strong{font-family:Georgia,serif;font-size:2.13rem;letter-spacing:-.06em;font-weight:normal}.brand-words>span{letter-spacing:.22em;font-size:.48rem;font-weight:700;margin-top:7px}.main-nav{margin:auto;display:flex;align-items:center;gap:34px}.main-nav a{font-size:.8rem;font-weight:700;white-space:nowrap;transition:color .2s}.main-nav a[aria-current=page]{color:var(--clay)}.header-book{font-weight:800;letter-spacing:.015em;background:var(--forest);color:white;padding:15px 23px;border-radius:4px;font-size:.8rem;white-space:nowrap;transition:background .2s,transform .2s}.header-book:hover{background:#2a5949;color:white;transform:translateY(-2px)}.header-book span{margin-left:15px}.menu-toggle{display:none;appearance:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--forest);margin:5px 0;transition:transform .25s}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid transparent;border-radius:4px;min-height:53px;padding:14px 22px;font-size:.82rem;font-weight:800;line-height:1.3;text-align:left;transition:transform .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:#285a49;color:white}.btn-outline-light{border-color:rgba(255,255,255,.65);color:white}.btn-outline-light:hover{color:var(--forest);background:white}.btn-outline-dark{border-color:rgba(23,62,53,.45);color:var(--forest)}.btn-outline-dark:hover{background:var(--forest);color:white}.btn-cream{background:var(--sand);color:var(--forest)}.btn-cream:hover{background:white;color:var(--forest)}.text-link{font-size:.88rem;font-weight:800;color:var(--forest);display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link:hover{color:var(--clay)}
/* hero */
.hero{height:clamp(620px,calc(100svh - 94px),820px);min-height:580px;position:relative;color:white;overflow:hidden;background:#304e45}.hero-media,.hero-shade,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 49%}.hero-shade{background:linear-gradient(90deg,rgba(8,29,24,.81) 0%,rgba(9,31,27,.55) 39%,rgba(10,39,32,.04) 100%),linear-gradient(0deg,rgba(7,21,18,.36),transparent 36%)}.hero-main{height:100%;position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:36px}.hero-content{max-width:760px}.hero-kicker{font-weight:800;font-size:.73rem;letter-spacing:.2em;display:flex;align-items:center;gap:13px;margin-bottom:27px}.hero-line{display:inline-block;width:36px;height:1px;background:#fff}.hero h1{max-width:850px;text-wrap:balance}.hero h1 em{color:#e5efcf}.hero-content>p{max-width:590px;font-size:1.1rem;line-height:1.85;margin-top:22px;color:#edf3e8}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:34px}.hero .btn-primary{background:#e7d9be;color:#173e35}.hero .btn-primary:hover{background:#fff}.hero-side-note{display:grid;align-items:center;gap:16px;align-self:end;margin-bottom:100px;font-size:.63rem;letter-spacing:.12em;writing-mode:vertical-rl}.hero-side-note>div{width:1px;height:70px;background:rgba(255,255,255,.8);margin:auto}.hero-scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:17px;align-items:center;font-size:.59rem;font-weight:700;letter-spacing:.18em;color:#e9eee7}.hero-scroll span:last-child{font-size:1.2rem}
.booking-outer{position:relative;z-index:4;margin-top:-37px}.booking-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr .85fr auto;align-items:stretch;box-shadow:var(--shadow);background:#fff;border-radius:6px;padding:16px 20px;gap:8px}.booking-intro{padding:14px 20px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #eceee9}.booking-intro span{font-size:.64rem;font-weight:800;letter-spacing:.15em;color:#a77a56}.booking-intro strong{font-size:.98rem;font-weight:700;line-height:1.4}.booking-strip label{font-size:.61rem;font-weight:800;letter-spacing:.13em;color:#6c7a71;display:flex;justify-content:center;flex-direction:column;padding:8px 12px}.booking-strip input,.booking-strip select{color:var(--forest);width:100%;min-width:0;letter-spacing:normal;font-size:.87rem;background:transparent;border:0;margin-top:5px;outline-offset:2px}.booking-strip button{background:var(--forest);color:#fff;font-size:.8rem;font-weight:750;border:0;padding:14px 22px;border-radius:4px}.booking-strip button:hover{background:#2b5d4d}.booking-notice{text-align:center;font-size:.74rem;color:#7a8179;margin:13px 0 0}
/* intro */
.intro-grid{display:grid;grid-template-columns:1fr 1.07fr;gap:clamp(60px,8vw,140px);align-items:center}.intro-copy h2{margin-bottom:23px}.intro-copy p{color:var(--muted);font-size:1rem;max-width:530px}.intro-copy .text-link{margin-top:33px}.intro-highlights{display:flex;flex-wrap:wrap;gap:18px 27px;margin-top:37px;font-size:.73rem;color:#6b7c6d;font-weight:800}.intro-photos{height:600px;position:relative;padding:0 11% 12% 0}.intro-photo-main{height:100%;width:85%;box-shadow:var(--shadow)}.intro-photo-main img,.intro-photo-secondary img{width:100%;height:100%;object-fit:cover}.intro-photo-secondary{position:absolute;width:45%;height:44%;right:0;bottom:0;border:8px solid var(--paper)}.intro-photo-stamp{position:absolute;top:12%;right:-4%;width:130px;height:130px;display:grid;place-items:center;border-radius:50%;background:#e8e0ca;color:var(--forest);transform:rotate(11deg);text-align:center;font-family:Georgia,serif;font-size:1.06rem;font-style:italic;line-height:1.15}
/* rooms */
.rooms-section{background:var(--sand)}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.room-card{background:var(--white);overflow:hidden;box-shadow:0 20px 50px rgba(10,40,30,.07);transition:transform .25s}.room-card:hover{transform:translateY(-5px)}.room-card-image{height:clamp(270px,30vw,420px);position:relative;overflow:hidden}.room-card-image a{display:block;height:100%}.room-card-image img{height:100%;object-fit:cover;transition:transform .55s}.room-card:hover img{transform:scale(1.035)}.room-tag{position:absolute;top:20px;left:20px;padding:8px 13px;background:#fffdf6;color:var(--forest);font-weight:800;font-size:.65rem;letter-spacing:.12em}.room-card-body{padding:34px 38px 39px}.room-card-body .eyebrow{margin-bottom:11px}.room-card-body h3{margin-bottom:16px}.room-card-body p{font-size:.92rem;color:var(--muted);margin-bottom:25px}
/* experiences, gallery */
.experience-split{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:555px;background:var(--forest);color:white}.experience-img{min-height:500px}.experience-img img{height:100%;object-fit:cover}.experience-text{align-self:center;max-width:640px;padding:80px clamp(30px,7.8vw,125px)}.experience-text h2{margin-bottom:20px}.experience-text>p{color:#d2ddd2;line-height:1.8;max-width:530px}.experience-text .btn{background:#ebdec3;color:var(--forest);margin-top:30px}.experience-text .btn:hover{background:#fff}.gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.photo-button{position:relative;border:0;padding:0;margin:0;overflow:hidden;display:block;background:#e9e5dc;min-height:0;text-align:left}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s}.photo-button:hover img{transform:scale(1.04);filter:brightness(.91)}.photo-zoom{position:absolute;right:12px;bottom:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(255,253,250,.93);color:var(--forest);font-size:1rem}.gallery-large{grid-row:span 2;grid-column:span 2}.location-section{background:var(--forest-deep);color:white;padding-block:clamp(70px,8vw,120px)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,130px);align-items:center}.location-grid h2{margin-bottom:24px}.location-grid p{color:#cedcd4}.location-grid address{font-style:normal;font-size:1rem;margin:23px 0 30px}.location-image{height:470px;overflow:hidden}.location-image img{height:100%;object-fit:cover}.cta-content{text-align:center;max-width:780px}.cta-content .eyebrow{margin-bottom:15px}.cta-content h2{margin-bottom:25px}.cta-content p{max-width:650px;margin:auto;color:var(--muted)}.cta-content .btn{margin-top:30px}
/* page heroes */
.page-hero{height:470px;position:relative;background:var(--forest);color:#fff;overflow:hidden}.page-hero.short{height:410px}.page-hero-img,.page-hero-shade,.page-hero-img img{position:absolute;inset:0;width:100%;height:100%}.page-hero-img img{object-fit:cover;object-position:center}.page-hero-shade{background:linear-gradient(90deg,rgba(8,30,23,.78),rgba(8,30,23,.17))}.page-hero-content{height:100%;position:relative;display:flex;justify-content:center;flex-direction:column;padding-top:15px}.page-hero-content h1{font-size:clamp(2.9rem,5vw,5rem);max-width:920px}.page-hero-content p{max-width:670px;font-size:1.06rem;margin-top:18px}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:.77rem;letter-spacing:.025em;color:inherit;opacity:.82;margin-bottom:30px}.breadcrumb a{text-decoration:underline;text-decoration-color:transparent;transition:.2s}.breadcrumb a:hover{text-decoration-color:currentColor;color:inherit}.page-hero-content .eyebrow{margin-bottom:14px}
/* accommodation list */
.room-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#f5f0e7;margin-bottom:40px}.room-feature-main{height:480px}.room-feature-main img{width:100%;height:100%;object-fit:cover}.room-feature-info{padding:clamp(35px,5vw,65px);display:flex;flex-direction:column;justify-content:center}.room-feature-info h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:18px}.room-feature-info p{color:var(--muted)}.room-feature-info .btn{align-self:flex-start;margin-top:30px}.feature-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.feature-list span{background:#fff;padding:8px 13px;border-radius:2px;font-size:.75rem;font-weight:800;color:var(--forest)}.room-feature-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;min-width:0}.room-feature-mini img{height:165px;object-fit:cover}.room-features .room-feature:nth-child(even){background:#f7f8f2}.thin-cta{padding-block:55px;background:#e9e5d9}.thin-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.thin-cta h2{font-size:clamp(1.6rem,3vw,2.5rem)}.thin-cta .eyebrow{margin-bottom:8px}
/* room detail */
.detail-lead{padding:64px 0 43px}.detail-lead .breadcrumb{color:#5d746b;margin-bottom:37px}.detail-lead-flex{display:flex;justify-content:space-between;align-items:end;gap:25px}.detail-lead-flex h1{font-size:clamp(3.1rem,5vw,5.3rem);margin-bottom:16px}.detail-lead-flex p{max-width:680px;color:var(--muted)}.detail-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:11px;margin-bottom:0}.detail-gallery .detail-primary{grid-column:span 2;grid-row:span 2}.detail-gallery .detail-secondary{grid-column:span 1}.detail-info{background:var(--sand)}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,125px)}.detail-info-grid h2{margin-bottom:23px}.detail-info-grid p{color:var(--muted);max-width:580px}.amenity-panel{background:white;padding:clamp(30px,4vw,55px);box-shadow:0 20px 55px rgba(18,41,31,.05)}.amenity-panel h3{margin-bottom:25px}.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;font-size:.84rem;color:#41584a}.amenity-grid div{padding-bottom:15px;border-bottom:1px solid #e9ece6}.amenity-grid span{color:var(--clay);font-size:1.2rem;padding-right:8px}.amenity-panel p{font-size:.79rem;margin:25px 0 23px}
/* experience */
.exp-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;height:490px}.exp-pair img{height:100%;object-fit:cover}.experience-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:215px;gap:13px}.experience-gallery .photo-button:nth-child(1),.experience-gallery .photo-button:nth-child(7){grid-column:span 2;grid-row:span 2}.green-band{background:var(--forest);padding:75px 0;color:#fff}.green-band-inner{display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap}.green-band .eyebrow{flex-basis:100%;margin-bottom:0}.green-band h2{max-width:730px;font-size:clamp(2.1rem,4vw,4.1rem)}
/* contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,140px)}.contact-info h2{margin-bottom:21px}.contact-info>p{color:var(--muted)}.contact-method{display:flex;align-items:start;gap:17px;margin-top:27px}.contact-method-icon{background:#e3ebe0;color:var(--forest);font-size:1.3rem;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.contact-method strong{display:block;font-size:.81rem;margin-bottom:3px}.contact-method a{color:var(--forest);overflow-wrap:anywhere}.contact-method p{color:var(--muted)}.contact-side-photo{margin-top:35px;height:340px;overflow:hidden}.contact-side-photo img{height:100%;object-fit:cover}.contact-form-wrap{background:var(--sand);padding:clamp(28px,4vw,52px);border:1px solid #e7e8de}.contact-form-wrap h3{margin-bottom:22px}.contact-form-wrap .eyebrow{margin-bottom:8px}.inquiry-form label{font-size:.81rem;color:var(--ink);font-weight:700;display:flex;flex-direction:column;gap:7px;margin-bottom:21px}.inquiry-form label span{color:#b56647}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:#fff;border:1px solid #dcded7;padding:13px 14px;border-radius:3px;max-width:100%;width:100%;color:var(--forest);font-size:.87rem;min-height:49px}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#5c8878;outline-color:#5c8878}.form-note{font-size:.74rem;color:var(--muted);line-height:1.6}.form-submit{width:100%;justify-content:center;margin-top:22px}.form-message{font-size:.81rem;color:var(--forest);min-height:18px;margin-top:12px}.form-fallback{font-size:.81rem;color:var(--muted);margin-top:12px}.form-fallback a{text-decoration:underline;color:var(--forest)}.faq-section{background:#eff0e8}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list details{padding:23px 3px;border-bottom:1px solid #cdd7c8}.faq-list details:first-child{border-top:1px solid #cdd7c8}.faq-list summary{font-weight:700;color:var(--forest);cursor:pointer;font-size:1rem;list-style:none;position:relative;padding-right:26px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;font-size:1.5rem;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:.93rem;color:var(--muted);margin-top:10px;max-width:630px}.faq-list a{text-decoration:underline}
/* privacy and error */
.text-page{padding-block:110px;min-height:60vh;max-width:950px}.text-page h1{font-size:clamp(2.9rem,5vw,4.7rem);margin:15px 0 25px}.text-page h2{font-size:1.55rem;margin:40px 0 15px}.text-page p,.text-page li{color:var(--muted);margin-bottom:12px}.text-page a{text-decoration:underline}.not-found{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.not-found .btn{margin-top:25px}
/* footer */
.footer{background:#102e28;color:#d5e0d8;padding-top:75px}.footer-top{display:grid;grid-template-columns:1.25fr .65fr 1fr 1.2fr;gap:clamp(22px,4vw,65px);padding-bottom:65px}.footer-logo{font-family:Georgia,serif;color:#fff;font-size:3.65rem;letter-spacing:-.08em;line-height:1}.footer-logo span{color:#bdc99e}.footer-brand p{max-width:270px;margin-top:25px;color:#b7c7be;font-size:.85rem}.footer-col h3{font-size:.76rem;font-family:'DM Sans',sans-serif;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px;color:white}.footer-col>a{display:block;font-size:.84rem;margin-bottom:12px;color:#b9cabe}.footer-col p{font-size:.84rem;color:#b9cabe;margin-bottom:15px}.footer-col>a:hover{color:white}.footer-email{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:25px;font-size:.72rem;color:#a9bcb1}.footer-bottom a:hover{color:white}
/* lightbox */
.lightbox{padding:0;border:0;max-width:none;max-height:none;width:100vw;height:100vh;height:100dvh;background:rgba(8,21,17,.96);color:white;overflow:hidden}.lightbox::backdrop{background:rgba(8,21,17,.94)}.lightbox-inner{position:relative;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 80px 48px}.lightbox-img,.lightbox-inner>img{width:auto;max-width:100%;height:auto;max-height:calc(100% - 95px);object-fit:contain}.lightbox-caption{margin-top:15px;text-align:center;font-size:.86rem;max-width:680px;color:#d8e2d8}.lightbox-close{position:absolute;right:25px;top:15px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:white;font-size:2rem}.lightbox-nav{position:absolute;top:50%;left:10px;right:10px;display:flex;justify-content:space-between;pointer-events:none}.lightbox-nav button{pointer-events:auto;border:0;background:#fff;color:var(--forest);width:47px;height:47px;border-radius:50%;font-size:1.5rem}
/* motion */
.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* tablets and phones */
@media(max-width:1050px){.container{width:min(calc(100% - 40px),var(--container))}.header{height:78px}.main-nav{gap:18px}.header-inner{gap:22px}.header-book{padding:13px 16px}.booking-strip{grid-template-columns:1fr 1fr 1fr}.booking-intro{grid-column:span 3;border-right:0;border-bottom:1px solid #eee}.booking-strip button{grid-column:span 3}.intro-photos{height:480px}.footer-top{grid-template-columns:repeat(2,1fr);row-gap:38px}}
@media(max-width:800px){.header{height:72px}.header-inner{gap:12px}.brand-words strong{font-size:1.9rem}.brand-words>span{font-size:.43rem}.header-book{margin-left:auto;font-size:.7rem}.header-book span{display:none}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background:#fffdfa;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 22px 22px;border-top:1px solid #e8ebe2;box-shadow:0 19px 25px rgba(10,45,34,.1)}.header.menu-open .main-nav{display:flex}.main-nav a{padding:12px 9px;font-size:1rem;border-bottom:1px solid #edf0eb}.header.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header.menu-open .menu-toggle span:nth-child(2){opacity:0}.header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{height:680px;min-height:610px}.hero-media img{object-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(8,29,24,.82),rgba(9,31,27,.25)),linear-gradient(0deg,rgba(9,31,27,.30),transparent 40%)}.hero-content{max-width:660px}.hero-side-note{display:none}.hero-scroll{display:none}.booking-outer{margin-top:-27px}.intro-grid{grid-template-columns:1fr;gap:55px}.intro-photos{height:500px;width:min(100%,590px);margin:auto}.room-grid{gap:20px}.room-card-body{padding:24px 25px 30px}.experience-split{grid-template-columns:1fr}.experience-img{height:400px;min-height:0}.experience-text{max-width:none;padding:65px 8%}.location-grid{gap:40px}.location-image{height:380px}.room-feature{grid-template-columns:1fr}.room-feature-main{height:370px}.room-feature-info{padding:36px}.detail-info-grid{grid-template-columns:1fr;gap:35px}.faq-grid{grid-template-columns:1fr;gap:36px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-side-photo{height:290px}.detail-gallery{grid-auto-rows:170px}.experience-gallery{grid-template-columns:repeat(3,1fr)}.green-band-inner{display:block}.green-band h2{margin:20px 0 25px}.page-hero{height:440px}}
@media(max-width:600px){body{font-size:15px}.container{width:calc(100% - 34px)}.section{padding-block:70px}.header-inner{width:calc(100% - 27px)}.brand-mark{width:34px}.brand-words strong{font-size:1.57rem}.brand-words>span{letter-spacing:.17em;font-size:.37rem}.header-book{font-size:.64rem;padding:11px 10px}.menu-toggle{padding:9px}.hero{height:calc(100svh - 72px);min-height:590px;max-height:740px}.hero-main{align-items:center;padding-bottom:45px}.hero h1{font-size:clamp(2.75rem,11vw,4.6rem)}.hero-content>p{font-size:.94rem;margin-top:18px}.hero-kicker{font-size:.63rem}.hero-actions{gap:10px;margin-top:28px}.hero-actions .btn{width:100%;justify-content:center;min-height:49px;font-size:.75rem}.booking-strip{grid-template-columns:1fr 1fr;padding:10px 12px;gap:0}.booking-intro{grid-column:span 2;padding:12px}.booking-strip label{padding:13px 10px}.booking-strip label:nth-of-type(3){grid-column:span 2;border-top:1px solid #eff0eb}.booking-strip button{grid-column:span 2;margin-top:8px}.booking-notice{font-size:.68rem}.intro-photos{height:380px}.intro-photo-stamp{width:110px;height:110px;right:0;font-size:.95rem}.intro-highlights{gap:12px}.room-grid{grid-template-columns:1fr}.room-card-image{height:310px}.experience-img{height:310px}.experience-text{padding:55px 23px}.gallery-preview{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:7px}.gallery-preview .gallery-large{grid-column:span 2;grid-row:span 2}.location-grid{grid-template-columns:1fr}.location-image{height:300px}.page-hero,.page-hero.short{height:390px}.page-hero-content h1{font-size:clamp(2.4rem,10vw,3.45rem)}.page-hero-content p{font-size:.91rem}.breadcrumb{font-size:.7rem;margin-bottom:20px}.room-feature-main{height:290px}.room-feature-mini img{height:125px}.thin-cta-inner{display:block}.thin-cta .btn{margin-top:20px}.detail-lead{padding:40px 0 24px}.detail-lead-flex{display:block}.detail-lead-flex h1{font-size:3.5rem}.detail-lead-flex .btn{margin-top:24px}.detail-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px;gap:7px}.detail-gallery .detail-primary{grid-column:span 2;grid-row:span 2}.detail-gallery .detail-secondary{grid-column:span 1}.detail-info-grid h2{font-size:2.55rem}.amenity-grid{gap:9px}.amenity-panel{padding:24px}.exp-pair{height:300px}.experience-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;gap:7px}.experience-gallery .photo-button:nth-child(1),.experience-gallery .photo-button:nth-child(7){grid-column:span 2;grid-row:span 2}.contact-form-wrap{padding:23px 18px}.field-pair{grid-template-columns:1fr;gap:0}.contact-method{gap:10px}.faq-list details{padding:18px 1px}.text-page{padding-block:65px}.footer{padding-top:54px}.footer-top{grid-template-columns:1fr 1fr;gap:38px 22px}.footer-brand{grid-column:span 2}.footer-col:last-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.lightbox-inner{padding:66px 18px 40px}.lightbox-nav{top:auto;bottom:80px;left:26px;right:26px}.lightbox-nav button{width:40px;height:40px}.lightbox-img,.lightbox-inner>img{max-height:calc(100% - 115px)}}

@media(min-width:681px){.hero-img{object-position:center 48%}}

/* Contatos oficiais e atalho acessível para o WhatsApp */
.header-call{font-size:.76rem;font-weight:750;white-space:nowrap;color:var(--forest);letter-spacing:-.01em}
.header-call:hover{color:var(--clay)}
.nav-contact-mobile{display:none!important}
.floating-whatsapp{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:85;display:inline-flex;align-items:center;gap:10px;background:#206b52;color:#fff!important;border-radius:999px;padding:13px 19px;box-shadow:0 9px 33px rgba(7,48,33,.35);font-size:.83rem;font-weight:800;line-height:1;transition:transform .18s,background .18s}
.floating-whatsapp:hover{transform:translateY(-3px);background:#12553e;color:#fff}
.floating-whatsapp svg{height:25px;width:25px;flex:none}
.floating-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:3px}
.btn-whatsapp{background:#206b52;color:#fff}
.btn-whatsapp:hover{background:#12553e;color:#fff}
.form-whatsapp{margin-top:12px}
@media(max-width:1120px){.header-call{display:none}}
@media(max-width:800px){.nav-contact-mobile{display:block!important;color:var(--forest)!important}}
@media(max-width:600px){.floating-whatsapp{right:max(16px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom));padding:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)}.floating-whatsapp span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.floating-whatsapp svg{width:29px;height:29px}.footer{padding-bottom:63px}}
