:root{
  --ink:#17140f;
  --ink-soft:#2a251e;
  --paper:#f6f1e8;
  --paper-2:#eee6d9;
  --white:#ffffff;
  --gold:#c79b43;
  --gold-dark:#9f762c;
  --gold-light:#ead097;
  --sand:#d9c7ab;
  --muted:#746b5d;
  --line:rgba(23,20,15,.12);
  --dark-line:rgba(255,255,255,.16);
  --shadow:0 24px 70px rgba(25,18,9,.14);
  --shadow-soft:0 14px 38px rgba(25,18,9,.09);
  --radius:28px;
  --radius-sm:18px;
  --max:1180px;
  --narrow:880px;
  --brand-font:"Century Gothic","Avenir Next",Futura,"Trebuchet MS",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--brand-font);line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.shell-narrow{width:min(var(--narrow),calc(100% - 40px));margin-inline:auto}


/* Header */
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:78px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.3s ease;background:linear-gradient(180deg,rgba(9,7,5,.72),rgba(9,7,5,0))}
.site-header.scrolled{height:70px;background:rgba(20,17,13,.94);backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(0,0,0,.14)}
.brand{display:inline-flex;align-items:center;line-height:1;padding:0;background:transparent;flex:0 0 auto}
.brand-logo{display:block;width:auto;height:54px;max-width:176px;object-fit:contain;filter:drop-shadow(0 3px 12px rgba(0,0,0,.24));transition:height .25s ease,max-width .25s ease}
.site-header.scrolled .brand{background:transparent}
.site-header.scrolled .brand-logo{height:44px;max-width:150px}
.menu-toggle{width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px)}
.menu-toggle span{width:19px;height:1.5px;background:#fff;border-radius:999px}
.main-nav{position:fixed;inset:76px 14px auto 14px;padding:16px;background:rgba(20,17,13,.98);border:1px solid rgba(255,255,255,.1);border-radius:22px;display:none;flex-direction:column;box-shadow:var(--shadow)}
.main-nav.open{display:flex}
.main-nav a{color:#fff;padding:12px 10px;font-size:.93rem}
.main-nav .nav-cta{margin-top:8px;text-align:center;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--ink);border-radius:999px;font-weight:700}


/* Hero */
.hero{position:relative;min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;background:#15110d url('assets/hero-poster.jpg') center / cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video-play{position:absolute;z-index:3;bottom:25px;left:20px;border:1px solid rgba(255,255,255,.6);background:rgba(20,16,12,.8);color:#fff;padding:11px 17px;border-radius:999px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;backdrop-filter:blur(5px)}
.hero-video-play[hidden]{display:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,9,6,.12) 0%,rgba(12,9,6,.12) 33%,rgba(14,10,6,.82) 100%),linear-gradient(90deg,rgba(10,8,5,.18),transparent 65%)}
.hero-content{position:relative;z-index:2;color:#fff;padding-top:150px;padding-bottom:100px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:999px;padding:8px 12px;font-size:.66rem;font-weight:700;letter-spacing:.16em;color:#fff;margin-bottom:16px}
.hero h1,.section h2,.final-cta h2{font-family:var(--brand-font);font-weight:400;line-height:1.08;letter-spacing:-.045em}
.hero h1{font-size:clamp(2.55rem,10.5vw,5.15rem);margin:0;max-width:900px;text-wrap:balance}
.hero-content>p{max-width:610px;margin:20px 0 30px;color:rgba(255,255,255,.82);font-size:1.02rem}
.hero-actions{display:flex;flex-direction:column;gap:11px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:999px;font-weight:700;font-size:.92rem;transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1a140a;box-shadow:0 12px 34px rgba(199,155,67,.25)}
.btn-glass{color:#fff;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.06);backdrop-filter:blur(9px)}
.btn-dark{background:var(--ink);color:#fff}
.hero-scroll{position:absolute;z-index:2;right:20px;bottom:24px;color:#fff;display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.72;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.hero-scroll i{font-style:normal;font-size:1.3rem}


/* Booking bridge */
.booking-bridge{position:relative;z-index:5;margin-top:-44px}
.booking-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:20px;display:grid;gap:18px;align-items:center;border:1px solid rgba(22,19,15,.06)}
.booking-card .mini-label{display:block;font-size:.62rem;letter-spacing:.18em;font-weight:700;color:var(--gold-dark);margin-bottom:4px}
.booking-card strong{display:block;font-family:var(--brand-font);font-size:1.28rem;font-weight:400;letter-spacing:-.025em}
.booking-card p{margin:5px 0 0;color:var(--muted);font-size:.86rem}
.booking-card>a{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;border-radius:16px;background:var(--ink);color:#fff;font-weight:700;font-size:.9rem}
.booking-card>a span{color:var(--gold-light);font-size:1.2rem}


/* Quick info */
.quick-info{padding:42px 0 12px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none}
.quick-info::-webkit-scrollbar{display:none}
.quick-info article{min-width:190px;scroll-snap-align:start;background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:18px;padding:15px 16px}
.quick-kicker{display:block;font-size:.6rem;font-weight:700;letter-spacing:.16em;color:var(--gold-dark);margin-bottom:4px}
.quick-info strong{font-family:var(--brand-font);font-size:1.02rem;font-weight:400;letter-spacing:-.02em}


/* Global section styles */
.section{padding:82px 0}
.eyebrow{margin:0 0 13px;font-size:.68rem;font-weight:700;letter-spacing:.22em;color:var(--gold-dark)}
.eyebrow.light{color:var(--gold-light)}
.section h2{font-size:clamp(2.05rem,7.4vw,3.8rem);margin:0;text-wrap:balance}
.section-heading{margin-bottom:28px}
.compact-heading{max-width:760px}
.compact-heading>p:not(.eyebrow){margin:12px 0 0;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:9px;margin-top:14px;font-weight:700;color:#6f511c;border-bottom:1px solid rgba(159,118,44,.48);padding-bottom:3px}
.text-link.muted{color:var(--muted);border-color:rgba(116,107,93,.3)}


/* Intro */
.intro{padding-top:62px}
.intro-grid{display:grid;gap:34px;align-items:center}
.intro-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem;max-width:650px}
.intro-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.feature-image{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:#ddd}
.feature-image img{height:100%;object-fit:cover}
.feature-image::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}
.feature-image figcaption{position:absolute;z-index:2;bottom:16px;left:18px;color:#fff;font-size:.76rem;font-weight:700;letter-spacing:.04em}


/* Experience */
.experience{background:var(--paper-2)}
.photo-grid{display:grid;gap:12px}
.photo-card{position:relative;min-height:310px;border-radius:24px;overflow:hidden;background:#222;box-shadow:var(--shadow-soft)}
.photo-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .6s ease}
.photo-card:hover img{transform:scale(1.035)}
.photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.76) 100%)}
.photo-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px;color:#fff}
.photo-copy span{display:block;font-size:.61rem;font-weight:700;letter-spacing:.2em;color:var(--gold-light);margin-bottom:5px}
.photo-copy h3{font-family:var(--brand-font);font-weight:400;font-size:1.62rem;letter-spacing:-.035em;margin:0}
.photo-copy p{margin:5px 0 0;color:rgba(255,255,255,.74);font-size:.9rem}


/* Rooms */
.rooms{background:#fbf8f2}
.rooms-heading{display:flex;flex-direction:column;gap:12px}
.desktop-link{display:none}
.master-room-card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(23,20,15,.06)}
.master-gallery{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#e7dfd3}
.master-gallery img{height:145px;object-fit:cover}
.master-gallery .master-main{grid-column:1/-1;height:280px}
.master-copy{padding:26px 22px 28px}
.room-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;color:var(--gold-dark);margin-bottom:8px}
.room-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.room-title-row h3{font-family:var(--brand-font);font-weight:400;font-size:1.92rem;letter-spacing:-.04em;margin:0}
.size-pill{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f0e3c8;color:#79591d;font-size:.75rem;font-weight:700;white-space:nowrap}
.master-copy>p{color:var(--muted);margin:10px 0 20px}
.room-choices{display:grid;gap:8px}
.room-choices>div{padding:12px 13px;border:1px solid #e9e0d2;border-radius:14px;background:#fbf8f3}
.room-choices strong,.room-choices span{display:block}
.room-choices strong{font-size:.9rem}
.room-choices span{font-size:.79rem;color:var(--muted);margin-top:2px}
.promo-card{margin:18px 0;padding:17px;border-radius:18px;background:linear-gradient(135deg,#1c1812,#2b2419);color:#fff;box-shadow:0 14px 28px rgba(25,20,13,.16)}
.promo-card span,.promo-card strong,.promo-card small{display:block}
.promo-card span{font-size:.58rem;letter-spacing:.18em;font-weight:700;color:var(--gold-light);margin-bottom:5px}
.promo-card strong{font-family:var(--brand-font);font-size:1.12rem;font-weight:400;letter-spacing:-.025em}
.promo-card small{margin-top:5px;color:rgba(255,255,255,.65);font-size:.75rem}
.room-cta{width:100%}
.suite-grid{display:grid;gap:16px;margin-top:18px}
.suite-card{background:#fff;border-radius:26px;overflow:hidden;border:1px solid rgba(23,20,15,.06);box-shadow:var(--shadow-soft)}
.suite-image-wrap{position:relative}
.suite-image-wrap img{aspect-ratio:4/3;object-fit:cover}
.suite-image-wrap>span{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--ink)}
.suite-copy{padding:22px}
.suite-kicker{font-size:.58rem;font-weight:700;letter-spacing:.16em;color:var(--gold-dark);margin:0 0 4px}
.suite-copy h3{font-family:var(--brand-font);font-size:1.72rem;font-weight:400;letter-spacing:-.035em;margin:0}
.suite-copy>p:not(.suite-kicker){margin:9px 0 14px;color:var(--muted);font-size:.9rem}
.suite-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.suite-copy li{position:relative;padding-left:20px;color:#625a4e;font-size:.86rem}
.suite-copy li::before{content:"✓";position:absolute;left:0;color:var(--gold-dark);font-weight:700}


/* Dining */
.dining{padding:0;background:#1b1712;color:#fff}
.dining-media{min-height:440px}
.dining-media img{height:100%;object-fit:cover}
.dining-panel{padding:64px 0}
.dining-inner{width:min(560px,calc(100% - 40px));margin-inline:auto}
.dining h2{margin:0;font-size:clamp(2.4rem,9vw,4rem)}
.dining-lead{margin:16px 0 28px;color:rgba(255,255,255,.62)}
.schedule{border-top:1px solid var(--dark-line)}
.schedule div{display:grid;gap:3px;padding:16px 0;border-bottom:1px solid var(--dark-line)}
.schedule span{color:rgba(255,255,255,.58);font-size:.86rem}
.schedule strong{font-size:1rem;font-weight:700}


/* Essentials */
.essentials{background:var(--paper)}
.essentials-grid{display:grid;gap:11px}
.essentials-grid article{background:#fff;border-radius:20px;padding:20px;border:1px solid rgba(23,20,15,.07);box-shadow:0 8px 24px rgba(23,20,15,.04)}
.essential-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#efe2c8;color:#78581c;font-weight:700;font-size:.9rem}
.essentials-grid h3{font-size:1rem;margin:11px 0 5px}
.essentials-grid p{margin:0;color:var(--muted);font-size:.88rem}
.policies{margin-top:16px;border-radius:20px;background:#eae1d4;border:1px solid rgba(23,20,15,.06);padding:0 18px}
.policies summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-weight:700;cursor:pointer;list-style:none}
.policies summary::-webkit-details-marker{display:none}
.policies summary span{color:var(--gold-dark);font-size:1.3rem}
.policies-content{padding:0 0 18px;color:var(--muted);font-size:.88rem}
.policies-content p{margin:8px 0}


/* Final CTA */
.final-cta{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;color:#fff}
.final-cta>img{position:absolute;inset:0;height:100%;object-fit:cover}
.final-cta-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.76))}
.final-cta-content{position:relative;z-index:2;text-align:center;padding:80px 0}
.final-cta h2{font-size:clamp(2.4rem,9vw,4.8rem);margin:0 auto 28px;max-width:760px}


/* Footer */
.footer{background:#13100c;color:#fff;padding:38px 0 92px}
.footer-grid{display:grid;gap:12px;text-align:center;justify-items:center}
.footer-brand{background:transparent}.footer-brand .brand-logo{width:205px;filter:none}
.footer p{margin:0;color:#948a7c;font-size:.8rem}
.footer>a{color:var(--gold-light);font-size:.82rem}
.mobile-book{position:fixed;z-index:100;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#19140a;padding:15px 19px;border-radius:999px;font-weight:700;box-shadow:0 16px 40px rgba(0,0,0,.28)}
.mobile-book i{font-style:normal;font-size:1.1rem}

@media (min-width:760px){
  .shell{width:min(var(--max),calc(100% - 72px))}
  .shell-narrow{width:min(var(--narrow),calc(100% - 72px))}
  .site-header{padding:0 36px}
  .brand-logo{width:auto;height:58px;max-width:190px}
  .site-header.scrolled .brand-logo{height:46px;max-width:160px}
  .menu-toggle{display:none}
  .main-nav{position:static;display:flex;flex-direction:row;align-items:center;gap:2px;background:none;border:0;box-shadow:none;padding:0}
  .main-nav a{padding:10px 12px;font-size:.82rem}
  .main-nav .nav-cta{margin:0 0 0 7px;padding:10px 18px}
  .hero-content{padding-bottom:112px}
  .hero-actions{flex-direction:row}
  .btn{min-width:170px}
  .booking-card{grid-template-columns:1fr auto;padding:23px 26px}
  .booking-card>a{min-width:200px}
  .quick-info{padding-top:56px;display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}
  .quick-info article{min-width:0}
  .section{padding:112px 0}
  .intro-grid{grid-template-columns:.92fr 1.08fr;gap:70px}
  .intro-copy{padding-right:10px}
  .intro-actions{flex-direction:row;gap:28px;align-items:center}
  .photo-grid{grid-template-columns:1.16fr .92fr .92fr;grid-auto-rows:390px}
  .photo-card{min-height:0}
  .rooms-heading{flex-direction:row;align-items:end;justify-content:space-between}
  .desktop-link{display:inline-flex}
  .master-room-card{display:grid;grid-template-columns:1.18fr .82fr}
  .master-gallery{grid-template-columns:repeat(3,1fr)}
  .master-gallery .master-main{grid-column:1/-1;height:430px}
  .master-gallery img{height:190px}
  .master-copy{padding:40px}
  .room-choices{grid-template-columns:1fr 1fr}
  .room-cta{width:auto}
  .suite-grid{grid-template-columns:1fr 1fr;margin-top:20px}
  .dining{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px}
  .dining-media{min-height:100%}
  .dining-panel{display:grid;align-items:center;padding:0}
  .essentials-grid{grid-template-columns:repeat(4,1fr)}
  .footer{padding-bottom:38px}
  .footer-grid{grid-template-columns:1fr auto 1fr;align-items:center;text-align:left;justify-items:start}
  .footer-grid p{justify-self:center}
  .footer-grid>a{justify-self:end}
  .mobile-book{display:none}
}

@media (min-width:1100px){
  .hero{min-height:96vh}
  .hero-content>p{font-size:1.08rem}
  .master-copy{padding:48px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-video{display:none}
  .hero{background:url('assets/hero-poster.jpg') center/cover no-repeat}
  .photo-card img,.btn{transition:none}
}


/* V6 — conteúdo ampliado */
.heading-copy{max-width:720px;color:var(--muted);margin:14px 0 0}
.hotel-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 8px}
.hotel-stats>div{border:1px solid var(--line);background:rgba(255,255,255,.58);border-radius:16px;padding:14px 10px}
.hotel-stats strong{display:block;font-size:1.45rem;font-weight:400;letter-spacing:-.04em}
.hotel-stats span{display:block;margin-top:2px;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.facility-strip{display:grid;gap:10px;margin-top:16px}
.facility-strip article{display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:18px;padding:16px}
.facility-strip article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--gold-dark);font-size:1.1rem;flex:0 0 auto;box-shadow:0 6px 20px rgba(25,18,9,.06)}
.facility-strip strong,.facility-strip small{display:block}
.facility-strip strong{font-size:.92rem}
.facility-strip small{margin-top:2px;color:var(--muted);font-size:.76rem}

.amenity-chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 4px}
.amenity-chips span{border:1px solid #e6dccd;background:#f8f3eb;color:#5f574b;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:700}
.suite-link{display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:#74551d;font-size:.82rem;font-weight:700;border-bottom:1px solid rgba(116,85,29,.28);padding-bottom:2px}

.gastro-showcase{background:#f0e7da}
.gastro-heading{display:grid;gap:18px}
.gastro-heading>p{margin:0;color:var(--muted);max-width:680px}
.gastro-grid{display:grid;gap:14px}
.gastro-card{overflow:hidden;background:#fff;border-radius:24px;box-shadow:var(--shadow-soft);border:1px solid rgba(23,20,15,.06)}
.gastro-card img{aspect-ratio:4/3;object-fit:cover}
.gastro-card-copy{padding:20px}
.gastro-card-copy>span{display:block;color:var(--gold-dark);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}
.gastro-card-copy h3{font-size:1.3rem;font-weight:400;letter-spacing:-.03em;margin:0}
.gastro-card-copy p{margin:7px 0 0;color:var(--muted);font-size:.85rem}

.gallery-section{background:#18140f;color:#fff}
.gallery-heading{display:grid;gap:14px}
.gallery-heading .eyebrow{color:var(--gold-light)}
.gallery-heading>p{margin:0;color:rgba(255,255,255,.58);max-width:560px}
.gallery-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 20px;scrollbar-width:none}
.gallery-filters::-webkit-scrollbar{display:none}
.gallery-filter{white-space:nowrap;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;border-radius:999px;padding:10px 14px;font-size:.76rem;font-weight:700;cursor:pointer}
.gallery-filter.active{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#1a140a;border-color:transparent}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:7px}
.gallery-item{display:block;padding:0;border:0;border-radius:14px;overflow:hidden;background:#2a251e;cursor:zoom-in;min-width:0}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .25s ease}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item.wide{grid-column:1/-1}
.gallery-item.tall{grid-row:span 2}
.gallery-item[hidden]{display:none}

.lightbox{position:fixed;z-index:200;inset:0;background:rgba(5,4,3,.92);display:none;align-items:center;justify-content:center;padding:22px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,100%);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.lightbox-close{position:absolute;right:18px;top:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}

.location-card{margin-top:16px;background:#fff;border:1px solid rgba(23,20,15,.07);box-shadow:var(--shadow-soft);border-radius:24px;padding:24px;display:grid;gap:20px;align-items:center}
.location-card h3{font-size:1.5rem;font-weight:400;letter-spacing:-.035em;margin:0}
.location-card p:not(.eyebrow){color:var(--muted);margin:9px 0}
.location-card>div>strong{font-size:.82rem;color:#554d42}
.location-card .btn{width:100%}

@media (min-width:760px){
  .hotel-stats{max-width:600px;gap:12px}
  .hotel-stats>div{padding:17px 16px}
  .facility-strip{grid-template-columns:repeat(4,1fr)}
  .gastro-heading{grid-template-columns:1fr .82fr;align-items:end}
  .gastro-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-heading{grid-template-columns:1fr .72fr;align-items:end}
  .gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:9px}
  .gallery-item.wide{grid-column:span 2}
  .location-card{grid-template-columns:1fr auto;padding:30px}
  .location-card .btn{width:auto;min-width:150px}
}

@media (min-width:1100px){
  .gastro-grid{grid-template-columns:repeat(4,1fr)}
  .gastro-card img{aspect-ratio:5/4}
  .gallery-grid{grid-auto-rows:220px}
}


/* V7 — rodapé, contatos e atendimento online */
.line-icon,.footer-icon,.social-icon,.essential-icon svg{display:grid;place-items:center}
.line-icon svg,.footer-icon svg,.social-icon svg,.essential-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.facility-strip article>span.line-icon{display:grid;place-items:center}
.essential-icon svg{width:21px;height:21px}
.essential-icon.pet-mark{font-size:.62rem;letter-spacing:.06em;font-weight:800}

.footer{background:#111724;color:#fff;padding:56px 0 94px}
.footer-main{display:grid;gap:42px}
.footer-identity{max-width:420px}
.footer-brand{display:inline-flex;background:transparent;margin-bottom:18px}
.footer-brand .brand-logo{width:230px;height:auto;max-width:100%;filter:none}
.footer-identity>p{margin:0;color:#9da6b6;line-height:1.7;font-size:.86rem;max-width:360px}
.footer-title{margin:0 0 18px;color:#cba662;font-weight:700;font-size:1rem;letter-spacing:.01em}
.footer-contact{display:grid;align-content:start;gap:13px}
.footer-contact-row{display:flex;align-items:flex-start;gap:11px;color:#f3f5f8;font-size:.86rem;line-height:1.55;transition:color .2s ease}
.footer-contact-row:hover{color:#d9bc7d}
.footer-icon{width:24px;height:24px;flex:0 0 24px;color:#cba662;margin-top:1px}
.footer-icon svg{width:18px;height:18px}
.footer-connect{align-content:start}
.footer-note{margin:-8px 0 17px;color:#9da6b6;font-size:.8rem;line-height:1.55}
.footer-socials{display:grid;gap:10px}
.social-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:15px;color:#fff;background:rgba(255,255,255,.035);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.social-link:hover{background:rgba(255,255,255,.07);border-color:rgba(203,166,98,.4);transform:translateY(-1px)}
.social-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;color:#d2ae69;background:rgba(203,166,98,.09)}
.social-icon svg{width:19px;height:19px}
.social-link strong,.social-link small{display:block}
.social-link strong{font-size:.83rem;font-weight:700}
.social-link small{margin-top:2px;color:#9da6b6;font-size:.7rem}
.footer-online{display:flex;align-items:center;gap:10px;margin-top:16px;color:#e8ebf0;font-size:.78rem}
.footer-online strong,.footer-online small{display:block}
.footer-online small{margin-top:2px;color:#8f99a9;font-size:.68rem}
.status-dot{width:8px;height:8px;border-radius:50%;background:#cba662;box-shadow:0 0 0 4px rgba(203,166,98,.1);flex:0 0 auto}
.footer-bottom{display:flex;flex-direction:column;gap:10px;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);color:#7f8999;font-size:.72rem}
.footer-bottom a{color:#cba662;font-weight:700}

@media (min-width:760px){
  .footer{padding:70px 0 42px}
  .footer-main{grid-template-columns:1.15fr .95fr 1fr;gap:64px;align-items:start}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
}

@media (max-width:759px){
  /* Deixa espaço visual para o botão flutuante do atendimento sem sacrificar o CTA de reserva. */
  .footer{padding-bottom:112px}
  .footer-brand .brand-logo{width:210px}
}


/* Motor de reservas Omnibees | Destaque editorial sem interferir no widget externo. */
.integrated-booking {
  position: relative;
  z-index: 5;
  margin-top: -30px;
  padding: 0 0 42px;
  background: linear-gradient(180deg, #eee6d8 0%, var(--paper) 100%);
}

/* Quadro claramente distinto da pagina, mas seguindo a identidade da marca. */
.integrated-booking-inner {
  padding: 0;
  background: #fff;
  border: 1px solid rgba(159, 118, 44, .35);
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(33, 24, 13, .18), 0 6px 18px rgba(33, 24, 13, .08);
  /* Nunca usar overflow: hidden; calendarios do widget podem sair da area. */
}

/* Chamada de ação clara no topo, sem cobrir a pesquisa. */
.integrated-booking-heading {
  position: relative;
  padding: 25px 32px 24px;
  margin: 0;
  text-align: left;
  color: #fff;
  background: linear-gradient(105deg, #211b15 0%, #342819 72%, #42331f 100%);
  border-top: 4px solid #d4ad63;
  border-radius: 23px 23px 0 0;
}
.integrated-booking-heading .mini-label {
  display: block;
  width: fit-content;
  color: #edc87c;
  font-weight: 700;
  letter-spacing: .17em;
  font-size: .7rem;
  margin: 0 0 7px;
}
.integrated-booking-heading h2 {
  font-family: var(--brand-font);
  font-weight: 500;
  font-size: clamp(1.65rem, 2.6vw, 2.25rem);
  line-height: 1.17;
  letter-spacing: -.025em;
  margin: 0 0 8px;
  color: #fff;
}
.integrated-booking-heading p {
  max-width: 840px;
  color: #eadfce;
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}
.integrated-booking-form {
  max-width: 100%;
  padding: 24px 30px 6px;
  background: #fff;
}
#otabuilder-widget { width: 100%; min-height: 78px; color: var(--muted); }
.booking-alternative {
  margin: 0;
  padding: 13px 26px 22px;
  color: #706656;
  text-align: center;
  font-size: .78rem;
  background: #fff;
  border-radius: 0 0 23px 23px;
}
.booking-alternative a {
  color: #8b601b;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Mantem visiveis os calendarios suspensos, sem alterar componentes Omnibees. */
@media (min-width: 768px) {
  .integrated-booking { margin-top: -46px; }
}
@media (max-width: 767px) {
  .integrated-booking { margin-top: -22px; padding-bottom: 28px; }
  .integrated-booking-heading { padding: 24px 22px; text-align: center; }
  .integrated-booking-heading .mini-label { margin: 0 auto 7px; }
  .integrated-booking-heading p { font-size: .85rem; }
  .integrated-booking-form { padding: 20px 16px 5px; }
  .booking-alternative { padding: 13px 16px 21px; }
}


/* V9: galeria independente e carrosséis acessíveis, mobile first */
.photo-slider{position:relative;isolation:isolate;width:100%;min-width:0;overflow:hidden;background:#e9e5de}
.slide-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.slide-track::-webkit-scrollbar{display:none}
.slide-img{scroll-snap-align:start;flex:0 0 100%;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden}
.slide-img img{width:100%;height:100%;object-fit:cover;display:block}
.master-room-card .photo-slider{min-height:290px;height:100%;border-radius:12px 0 0 12px}
.suite-card .photo-slider{height:250px}
.gastro-card .photo-slider{height:240px}
.photo-slider .slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(17,20,26,.48);color:white;font-size:17px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(7px)}
.photo-slider .slide-arrow.previous{left:12px}.photo-slider .slide-arrow.next{right:12px}
.photo-slider .slide-arrow:disabled{opacity:.24;cursor:default}
.photo-slider .slide-progress{position:absolute;bottom:12px;right:12px;z-index:2;background:rgba(17,20,26,.6);color:white;padding:5px 10px;border-radius:20px;font-size:11px;letter-spacing:.09em}
.gallery-full-link{margin:3px 0 23px}.gallery-full-link .btn{display:inline-flex}
.full-gallery-page{padding:132px 0 78px;background:#f8f6f3}.full-gallery-page h1{font-family:var(--brand-font);font-weight:400;font-size:clamp(2.1rem,5vw,4rem);letter-spacing:-.04em;margin:14px 0 18px}.full-gallery-intro{max-width:700px;line-height:1.75;color:var(--muted)}
.full-gallery-jump{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 44px}.full-gallery-jump a{padding:10px 17px;border:1px solid #d8d1c8;border-radius:30px;font-size:13px;color:var(--ink);text-decoration:none}
.full-gallery-section{scroll-margin-top:100px;margin-bottom:60px}.full-gallery-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #dcd5cb;margin-bottom:20px}.full-gallery-head h2{font-size:clamp(1.25rem,3vw,1.9rem);font-weight:500}.full-gallery-head span{color:var(--muted);font-size:12px}
.full-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.full-gallery-grid .gallery-item{aspect-ratio:4 / 3;border:0;padding:0;cursor:zoom-in;overflow:hidden;border-radius:8px}.full-gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.full-gallery-grid .gallery-item:hover img{transform:scale(1.03)}
.full-gallery-cta{text-align:center;padding:35px 0 12px}.full-gallery-cta h2{font-weight:400;margin-bottom:20px}.simple-footer{background:#111827;color:white;padding:28px 0}.simple-footer .shell{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px}.simple-footer a{color:white}
@media(min-width:700px){.full-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}}@media(min-width:1050px){.full-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.master-room-card .photo-slider{min-height:260px;border-radius:10px}.gastro-card .photo-slider{height:205px}.photo-slider .slide-arrow{width:31px;height:31px}.full-gallery-page{padding-top:116px}}


.more-galleries{margin-top:60px}.more-gallery-filter{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}.more-gallery-filter a{border:1px solid #d9d1c4;border-radius:100px;padding:9px 15px;color:#3a3329;font-size:.8rem;text-decoration:none}.more-gallery-filter a:hover{background:#eee6d9}.expanded-photo{position:relative;overflow:hidden;border-radius:14px}.expanded-photo img{width:100%;height:240px;object-fit:cover;display:block}.expanded-caption{display:block;font-size:.75rem;text-align:left;padding:10px 8px 12px;color:#74695b}.expanded-photo button{border:0;background:transparent;cursor:zoom-in;width:100%;padding:0}.expanded-photo img{transition:transform .2s}.expanded-photo button:hover img{transform:scale(1.025)}.full-gallery-grid.extra{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:15px}@media(max-width:600px){.full-gallery-grid.extra{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.expanded-photo img{height:150px}.expanded-caption{font-size:.68rem;padding:7px 4px}}


/* Ajustes de enquadramento da V12: não cortar a cama das suítes. */
.suite-card .photo-slider {height: 320px; background:#e7e1d8;}
.suite-card .slide-track, .suite-card .slide-img {height:100%;}
.suite-card .slide-img img {object-fit:contain; object-position:center center;}
@media (max-width:767px) { .suite-card .photo-slider {height:270px;} }


/* V13: ajustes exclusivos na seção Apartamentos Master. */
.master-room-card .master-media-column{min-width:0;background:#fff;display:flex;flex-direction:column}
.master-room-card .master-media-column .photo-slider{height:clamp(290px,31vw,440px);min-height:0;border-radius:0;flex:none}
.master-room-card .master-media-column .slide-track{height:100%}
.master-room-card .master-media-column .slide-img{height:100%}
.master-room-card .master-media-column .slide-progress{bottom:16px;right:16px}
.master-room-card .master-offer{padding:22px 26px 32px;background:#fff}
.master-room-card .master-offer .promo-card{margin:0 0 16px}
.master-room-card .master-offer .room-cta{display:inline-flex;justify-content:center;align-items:center;width:auto}
@media(max-width:767px){
 .master-room-card .master-media-column .photo-slider{height:clamp(250px,66vw,350px);min-height:0;border-radius:0}
 .master-room-card .master-offer{padding:20px 22px 24px}
 .master-room-card .master-offer .room-cta{width:100%}
}



/* V15 - atualização de imagem, galeria e experiências, mantendo identidade da V14 */
.child-policy{padding:13px 15px;border:1px solid #e6d6b6;border-left:3px solid #b28a41;background:#fbf8ef;border-radius:12px;font-size:.82rem;line-height:1.6;color:#695944;margin:16px 0 18px}
.gastro-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.gastro-card{min-width:0}.gastro-card .photo-slider{height:220px}
@media(min-width:620px){.gastro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.gastro-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gastro-card .photo-slider{height:193px}.gastro-card-copy{padding:16px}.gastro-card-copy h3{font-size:1.15rem}}
.romantic-teaser{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:22px 0 0;border-radius:26px;overflow:hidden;background:#242018;color:white;box-shadow:var(--shadow-soft)}
.romantic-teaser-image{min-height:290px}.romantic-teaser-image img{height:100%;width:100%;object-fit:cover}.romantic-teaser-copy{padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.romantic-teaser-copy h3{font-family:var(--brand-font);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:5px 0 0}.romantic-teaser-copy p:not(.suite-kicker){color:#e4dbca;max-width:400px;margin:14px 0 25px}.romantic-teaser-copy .btn{background:#d4ad63;color:#211b10}
.rom-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;color:white;background-image:var(--rom-bg);background-size:cover;background-position:center 45%}.rom-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,10,8,.83),rgba(13,10,8,.15)),linear-gradient(0deg,rgba(13,10,8,.5),transparent)}.rom-hero-content{position:relative;z-index:1;padding:180px 0 90px}.rom-hero h1,.rom-section h2,.rom-gallery-section h2,.rom-important h2{font-family:var(--brand-font);font-weight:400;line-height:1.08;letter-spacing:-.04em}.rom-hero h1{font-size:clamp(2.7rem,6vw,5rem);max-width:760px;margin:12px 0}.rom-hero-content>p:not(.eyebrow){max-width:550px;color:#f3ede2;line-height:1.7;margin:22px 0 28px}.rom-section{padding:90px 0;background:#faf7f2}.rom-section h2,.rom-gallery-section h2,.rom-important h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:10px 0 16px}.rom-intro{max-width:700px;color:#6d645a;line-height:1.7;margin:0 0 35px}.rom-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rom-package{background:white;border:1px solid #ece4d5;border-radius:24px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow-soft)}.rom-package-number{color:#a88238;letter-spacing:.14em;font-weight:700;font-size:.75rem}.rom-package h3{font-family:var(--brand-font);font-weight:400;font-size:1.8rem;letter-spacing:-.03em;margin:15px 0 8px}.rom-package>strong{font-size:1.35rem;color:#735420}.rom-package p{color:#6e665b;line-height:1.65;flex:1}.rom-package-link{color:#8a6125;font-weight:700}.rom-price-note{font-size:.82rem;color:#665e54;margin:24px 0 0}.rom-gallery-section{padding:88px 0;background:#221b16;color:#fff}.rom-gallery-section .eyebrow{color:#d6ac61}.rom-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:30px}.rom-photo-grid .rom-photo{padding:0;background:none;border:0;border-radius:16px;overflow:hidden;aspect-ratio:1/1;cursor:zoom-in}.rom-photo-grid .rom-photo:first-child{grid-column:span 2;grid-row:span 2}.rom-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.rom-photo:hover img{transform:scale(1.05)}.rom-important{padding:95px 0;background:#f8f5ef}.rom-important-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px}.rom-important-copy p{color:#685e52;line-height:1.8;border-bottom:1px solid #e3dbce;padding:0 0 15px}.rom-important-copy .btn{margin-top:20px}.romantic-page .site-header.scrolled{background:#19150f}
@media(max-width:750px){.romantic-teaser{grid-template-columns:1fr}.romantic-teaser-image{height:240px;min-height:0}.romantic-teaser-copy{padding:26px}.rom-packages{grid-template-columns:1fr}.rom-important-layout{grid-template-columns:1fr}.rom-photo-grid{grid-template-columns:repeat(2,1fr)}.rom-hero-content{padding-top:160px}.rom-section,.rom-gallery-section,.rom-important{padding:64px 0}}
/* Reservas: valorizar o letreiro da fachada e preservar leitura */
.final-cta>img{object-position:center 52%}.final-cta-shade{background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.36))}

/* V15.1: o título não deve esconder o letreiro CONTINENTAL INN na foto real. */
@media (min-width:1101px){
 .final-cta{min-height:660px;display:flex;align-items:flex-end;justify-content:flex-start}
 .final-cta>img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
 .final-cta-shade{background:linear-gradient(90deg,rgba(10,10,10,.83) 0%,rgba(10,10,10,.69) 29%,rgba(10,10,10,.32) 43%,rgba(10,10,10,.02) 65%,rgba(10,10,10,.02) 100%)}
 .final-cta-content{width:min(1180px,calc(100% - 40px));max-width:none;text-align:left;padding:0 0 64px}
 .final-cta-content h2{font-size:clamp(2.5rem,3.35vw,3.35rem);max-width:505px;line-height:1.13;letter-spacing:-.045em;margin:10px 0 25px}
 .final-cta-content .btn{display:inline-flex}
}
@media (max-width:1100px){
 .final-cta{display:flex;flex-direction:column;min-height:0;background:#221d17}
 .final-cta>img{position:relative;inset:auto;object-fit:contain;object-position:center;width:100%;height:auto}
 .final-cta-shade{display:none}
 .final-cta-content{padding:36px 0 48px;text-align:center}
 .final-cta-content h2{font-size:clamp(2rem,4.3vw,3.2rem);max-width:700px;margin:8px auto 24px}
}

/* V15.2 - título do à la carte longo sem cortar e mídia do jantar compatível com a grade. */
.gastro-card-copy h3{overflow-wrap:anywhere}


/* CONTINENTAL INN V16 — Campanhas modulares. Estilos isolados para preservar V15.5. */
:root{--v16-ink:#1b1815;--v16-muted:#756f68;--v16-cream:#f6f3ee;--v16-gold:#d6b26c;--v16-line:#e5ded3}
.v16-page{background:var(--v16-cream);color:var(--v16-ink)}
.v16-page main{overflow:hidden}
.v16-page .site-header{position:relative;top:auto;z-index:30;background:#1b1815}
.v16-page h1,.v16-page h2,.v16-page h3,.v16-home-offers h2{font-family:inherit;letter-spacing:-.045em;font-weight:400}
.v16-page h2{line-height:1.08;font-size:clamp(2.2rem,4.5vw,4.5rem)}
.v16-page p{line-height:1.7}
.v16-kicker{display:block;font-size:.65rem;letter-spacing:.23em;font-weight:700;color:#a87b33;margin-bottom:1.4rem}
.v16-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;text-decoration:none!important;background:#231e18;border:1px solid #231e18;color:#fff!important;border-radius:100px;padding:1rem 1.45rem;font-size:.9rem;font-weight:650;transition:transform .25s,background .25s,color .25s}
.v16-button:hover{transform:translateY(-3px);background:#42352a}
.v16-button-gold{background:var(--v16-gold);border-color:var(--v16-gold);color:#16130f!important}
.v16-button-gold:hover{background:#e8cb8c}
.v16-home-offers{padding:4.2rem 0;background:#211d19;color:white;isolation:isolate}
.v16-home-offers-inner{display:grid;grid-template-columns:.9fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.v16-home-offers .v16-kicker{color:#d5ae68}
.v16-home-offers h2{font-size:clamp(2rem,3.2vw,3.45rem);line-height:1.12;margin:0 0 1rem;color:#fff}
.v16-home-offers p{color:#d1c8bc;max-width:35rem;line-height:1.65;margin:0 0 1.6rem}
.v16-home-offers .v16-button{background:#d6b26c;color:#211a14!important;border-color:#d6b26c}
.v16-home-offers-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.v16-home-mini{display:flex;min-height:190px;flex-direction:column;justify-content:flex-end;gap:.75rem;color:#fff!important;padding:1.3rem;border:1px solid #665846;border-radius:14px;text-decoration:none!important;background:linear-gradient(150deg,#111,#493623);transition:transform .25s}
.v16-home-mini:hover{transform:translateY(-4px)}
.v16-home-mini span{font-size:.62rem;letter-spacing:.12em;color:#e2c58d}.v16-home-mini strong{font-size:clamp(1.15rem,1.7vw,1.8rem);line-height:1.05;font-weight:500}.v16-home-mini small{font-size:.7rem;color:#e8ddd0;line-height:1.4}
.v16-mini-christmas{background:linear-gradient(145deg,#543624,#7e4436)}.v16-mini-newyear{background:linear-gradient(145deg,#282521,#645641)}
.v16-offers-top{padding:clamp(4rem,8vw,9rem) 0 5rem;background:#ede7de}
.v16-heading-split{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:end}
.v16-heading-split h1{font-size:clamp(4rem,8.5vw,9rem);line-height:.99;margin:0;letter-spacing:-.075em}
.v16-heading-split h1 em,.v16-black-final em{font-style:normal;color:#a58452}
.v16-heading-split p{max-width:27rem;font-size:1.08rem;color:#665e55;margin:0 0 .6rem}
.v16-offer-grid-section{padding:2.5rem 0 7rem}
.v16-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.v16-offer-card{display:block;text-decoration:none!important;color:inherit!important;background:#fff;border:1px solid #e9e3da;border-radius:20px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.v16-offer-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #30261c15}
.v16-offer-card.v16-featured{grid-column:span 2;display:grid;grid-template-columns:1.18fr .82fr}
.v16-offer-card-image{min-height:290px;overflow:hidden}.v16-featured .v16-offer-card-image{min-height:430px}
.v16-offer-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.v16-offer-card:hover img{transform:scale(1.035)}
.v16-offer-card-body{padding:clamp(1.5rem,3vw,3.2rem);display:flex;flex-direction:column}.v16-offer-card-body h2{font-size:clamp(2rem,3.7vw,3.7rem);margin:0 0 1rem}.v16-offer-card-body p{color:#756f68;margin:0 0 2rem;max-width:33rem}.v16-card-bottom{border-top:1px solid #e8e1d9;display:flex;justify-content:space-between;align-items:center;padding-top:1.1rem;margin-top:auto;font-size:.72rem;letter-spacing:.08em;color:#866943}.v16-card-bottom span:last-child{font-size:1.4rem}
.v16-quiet-cta{padding:4rem 0;background:#ded4c7}.v16-quiet-inner{display:flex;justify-content:space-between;gap:2rem;align-items:center}.v16-quiet-inner h2{margin:0;font-size:clamp(2rem,4vw,4rem)}
/* Black Friday: clean editorial art direction and original Camila photos */
.v16-black{background:#141311;color:#fff}.v16-black .site-header{border-bottom:1px solid #37312b}
.v16-black-hero{min-height:750px;position:relative;background:#10100f;color:#fff;display:flex;align-items:center}
.v16-black-hero-photo{position:absolute;inset:0 0 0 39%;overflow:hidden}.v16-black-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% center;display:block}
.v16-black-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0f0f0f 0%,#111 34%,#111e 58%,transparent 100%)}
.v16-black-hero-content{position:relative;z-index:1;width:100%;padding-top:5.5rem;padding-bottom:5.5rem}
.v16-black-copy{width:min(600px,58%)}.v16-black-overline{display:block;letter-spacing:.18em;font-size:.68rem;color:#d7bb86;margin-bottom:2.1rem}
.v16-black-title{font-size:clamp(4.9rem,9.3vw,10rem);font-weight:850;line-height:.82;letter-spacing:-.09em}.v16-black-title>span{display:block}.v16-black-period{color:var(--v16-gold)}
.v16-black-discount{margin-top:2.15rem;display:flex;align-items:baseline;gap:1rem;color:#d6b26c}.v16-black-discount strong{font-size:clamp(5.5rem,11vw,11rem);line-height:.9;font-weight:650;letter-spacing:-.1em}.v16-black-discount strong span{font-size:.4em;vertical-align:top;margin-left:.13em}.v16-black-discount>span{font-size:clamp(2rem,3.7vw,3.5rem);font-weight:500;letter-spacing:-.08em}
.v16-black-intro{font-size:1.22rem;max-width:26rem;color:#eee6de}.v16-black-years{letter-spacing:.13em;font-size:.76rem;color:#ddd0bd;margin:1.3rem 0 2rem}.v16-black-years b{color:#d6b26c}
.v16-black-info{background:#f0ece6;color:#241e1b;padding:clamp(5rem,9vw,9rem) 0}.v16-black-info-layout{display:grid;grid-template-columns:1fr .85fr;gap:clamp(3rem,8vw,8rem)}.v16-black-info h2{margin:0 0 1.5rem}.v16-black-info p{color:#6a625c;max-width:35rem}.v16-black-facts{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.v16-black-facts div{border-top:1px solid #c9bdab;padding-top:1.1rem}.v16-black-facts small{display:block;font-size:.7rem;color:#8e7349;letter-spacing:.1em;margin-bottom:.8rem}.v16-black-facts strong{font-size:1.25rem;font-weight:500}
.v16-black-gallery{background:#e6e0d7;color:#1f1b17;padding:6rem 0}.v16-section-head{max-width:700px;margin-bottom:2.5rem}.v16-section-head h2{margin:0 0 1rem}.v16-section-head p{color:#756f68;margin:0}
.v16-black-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.v16-black-photos figure{margin:0}.v16-black-photos img{width:100%;height:480px;object-fit:cover;border-radius:15px;display:block}.v16-black-photos figcaption{font-size:.88rem;color:#625a52;margin-top:1rem}
.v16-black-final{text-align:center;padding:7rem 1rem 8rem;background:#161512;color:#fff}.v16-black-final h2{font-size:clamp(3rem,7vw,7rem);margin:0 0 1.4rem}.v16-black-final p{max-width:580px;margin:0 auto 2rem;color:#c9c3b8}.v16-black-final .v16-legal{font-size:.78rem;margin-top:2.5rem;color:#918a7e}
/* Natal and Réveillon */
.v16-event-hero{position:relative;min-height:650px;color:white;background:#231b18;display:flex;align-items:center}
.v16-event-hero-image,.v16-event-hero-dark{position:absolute;inset:0}.v16-event-hero-image img{height:100%;width:100%;object-fit:cover;display:block}
.v16-event-hero-dark{background:linear-gradient(90deg,#1a1413eb 0%,#1a1413c9 38%,#1a141338 100%)}
.v16-event-hero-reveillon .v16-event-hero-dark{background:linear-gradient(90deg,#10100feb 0%,#141312b8 47%,#1a141331 100%)}
.v16-event-hero-copy{position:relative;z-index:1;width:100%;padding:7rem 0}.v16-event-hero .v16-kicker{color:#f4d7a2}
.v16-event-hero h1{line-height:.89;font-size:clamp(5rem,10vw,10rem);margin:0 0 2rem;max-width:890px;letter-spacing:-.075em}.v16-event-hero h1 span{display:block}.v16-event-hero h1 em{font-style:normal;color:#e2bd7e}.v16-event-hero-copy>p{max-width:500px;font-size:1.2rem;color:#eee6dc}
.v16-event-summary{display:flex;flex-wrap:wrap;gap:1.5rem;margin:2.1rem 0}.v16-event-summary span{font-size:.82rem;letter-spacing:.03em;padding:0 0 .6rem;border-bottom:1px solid #ffffff7a}
.v16-event-intro{padding:7rem 0;background:#eee8e0}.v16-event-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:6rem}.v16-event-intro h2{margin:0 0 1.4rem}.v16-event-intro p{max-width:30rem;color:#70665c}.v16-event-perks div{display:grid;grid-template-columns:5.5rem 1fr;padding:1.6rem 0;border-bottom:1px solid #d0c6ba;gap:1rem}.v16-event-perks b{font-size:1.3rem;font-weight:550;color:#9e7f49}.v16-event-perks span{color:#514a43}
.v16-event-booking{padding:0 0 6rem;background:#eee8e0}.v16-event-booking-card{border:1px solid #d5c7b1;border-radius:19px;padding:clamp(2rem,4vw,4rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;background:#fffaf2}.v16-event-booking-card h2{font-size:clamp(2.1rem,3.2vw,3.6rem);margin:0}.v16-event-booking-card p{color:#675f55;margin:0 0 1rem}.v16-text-link{color:#846536;text-underline-offset:5px}
.v16-event-experience{padding:6rem 0;background:#e3d9cc}.v16-events-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:230px;gap:.85rem}.v16-events-gallery figure{grid-column:span 2;overflow:hidden;margin:0;border-radius:12px}.v16-events-gallery figure:nth-child(1){grid-column:span 3;grid-row:span 2}.v16-events-gallery figure:nth-child(2){grid-column:span 3;grid-row:span 2}.v16-events-gallery img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .35s}.v16-events-gallery figure:hover img{transform:scale(1.035)}
.v16-event-details{padding:6.5rem 0;background:#f7f4ef}.v16-event-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.v16-event-detail-grid article{border-top:1px solid #c5b9a8;padding-top:1.4rem}.v16-detail-icon{color:#b89255;font-size:1.5rem}.v16-event-detail-grid h3{font-size:1.5rem;margin:.9rem 0}.v16-event-detail-grid p{color:#706963;font-size:.94rem}
.v16-event-menu{padding:6.5rem 0;background:#ede6db}.v16-event-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.v16-event-menu-grid article{background:#fffdf9;padding:clamp(1.6rem,3vw,3rem);border:1px solid #e2d9cf;border-radius:14px}.v16-event-menu-grid h3{margin:0 0 1.5rem;font-size:1.7rem}.v16-event-menu-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.v16-event-menu-grid li{padding-bottom:.65rem;border-bottom:1px solid #efe8dc;color:#63594f}
.v16-event-tickets{padding:7rem 0;background:#1e1b18;color:#f7f3e9}.v16-event-ticket-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem)}.v16-event-tickets h2{margin:0 0 1.5rem}.v16-event-tickets p{color:#c9c2b8}.v16-ticket-list{margin-top:2.5rem}.v16-ticket{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 0;border-top:1px solid #645b4e}.v16-ticket span{font-size:1.2rem}.v16-ticket small{display:block;color:#b7a998;margin-top:.3rem;font-size:.8rem}.v16-ticket strong{font-size:1.6rem;font-weight:500;color:#e5be7d}.v16-event-policies{border:1px solid #6d5e4c;padding:2.3rem;border-radius:14px;align-self:start}.v16-event-policies h3{font-size:1.5rem;font-weight:500;margin:0 0 1.1rem}.v16-event-policies p{font-size:.94rem}.v16-event-policies hr{border:0;border-top:1px solid #665949;margin:1.7rem 0}
@media(max-width:1000px){.v16-home-offers-inner,.v16-heading-split,.v16-black-info-layout,.v16-event-intro-grid,.v16-event-ticket-layout{grid-template-columns:1fr;gap:2rem}.v16-home-offers-cards{max-width:920px}.v16-black-hero-photo{inset:0 0 0 30%}.v16-black-copy{width:65%}.v16-event-hero{min-height:580px}.v16-event-booking-card{grid-template-columns:1fr;gap:1.4rem}}
@media(max-width:680px){.v16-home-offers{padding:3.5rem 0}.v16-home-offers-cards{grid-template-columns:1fr 1fr}.v16-home-mini{min-height:155px}.v16-home-mini:first-child{grid-column:span 2}.v16-offers-top{padding:4rem 0}.v16-heading-split h1{font-size:clamp(3.5rem,13vw,5.5rem)}.v16-offer-grid{grid-template-columns:1fr}.v16-offer-card.v16-featured{grid-column:span 1;display:block}.v16-offer-card-image,.v16-featured .v16-offer-card-image{min-height:270px;height:270px}.v16-quiet-inner{flex-direction:column;align-items:flex-start}.v16-black-hero{min-height:760px;align-items:flex-end}.v16-black-hero-photo{inset:0 0 25% 0}.v16-black-hero-photo img{object-position:center top}.v16-black-hero:after{background:linear-gradient(0deg,#111 0%,#111 30%,#1119 55%,#1111 100%)}.v16-black-hero-content{padding:16rem 0 3rem}.v16-black-copy{width:100%}.v16-black-title{font-size:clamp(4rem,16vw,6.6rem)}.v16-black-discount{margin-top:1.3rem}.v16-black-discount strong{font-size:clamp(5rem,18vw,7rem)}.v16-black-intro{font-size:1.05rem}.v16-black-years{font-size:.64rem}.v16-black-info,.v16-black-gallery{padding:4rem 0}.v16-black-facts{gap:1.3rem}.v16-black-facts strong{font-size:1.02rem}.v16-black-photos{grid-template-columns:1fr}.v16-black-photos img{height:320px}.v16-black-final{padding:5rem 0}.v16-event-hero{min-height:620px;align-items:end}.v16-event-hero-image img{object-position:center}.v16-event-hero-dark{background:linear-gradient(0deg,#1a1413 0%,#1a1413c9 55%,#1a141333 100%)!important}.v16-event-hero-copy{padding:16rem 0 3rem}.v16-event-hero h1{font-size:clamp(4.2rem,16vw,6.4rem)}.v16-event-summary{gap:.7rem}.v16-event-summary span{font-size:.7rem}.v16-event-intro,.v16-event-experience,.v16-event-details,.v16-event-menu,.v16-event-tickets{padding:4rem 0}.v16-event-booking{padding-bottom:3.5rem}.v16-events-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:155px}.v16-events-gallery figure,.v16-events-gallery figure:nth-child(1),.v16-events-gallery figure:nth-child(2){grid-column:span 1;grid-row:span 1}.v16-events-gallery figure:first-child{grid-column:span 2;grid-row:span 2}.v16-event-detail-grid,.v16-event-menu-grid{grid-template-columns:1fr}.v16-event-policies{padding:1.5rem}.v16-ticket strong{font-size:1.25rem}}

.v16-brand-row{display:flex;gap:1.3rem;align-items:center;margin-bottom:2rem}.v16-brand-row img{width:114px;height:auto;object-fit:contain}.v16-brand-row .v16-black-overline{margin:0;max-width:180px;line-height:1.6}@media(max-width:680px){.v16-brand-row img{width:95px}.v16-brand-row{margin-bottom:1.1rem}}


/* Continental Inn V16.1 — Black Friday editorial + campanhas sazonais. */
html,body{max-width:100%}
.v16-page{overflow-x:clip}
.v16-page main{overflow-x:clip}
.v16-page .shell,.v161-black-ribbon .shell{min-width:0}
.v16-page a,.v161-black-ribbon a{overflow-wrap:break-word}
.v16-page h1,.v16-page h2,.v16-page h3{overflow-wrap:normal;word-break:normal}

/* Faixa exclusiva na home: sem cards concorrendo com Black Friday. */
.v161-black-ribbon{position:relative;background:#070707;color:#fff;padding:clamp(1.35rem,3.7vw,3.2rem) 0;border-top:1px solid #3e3423;border-bottom:1px solid #413726}
.v161-black-ribbon:before{position:absolute;content:"";top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#a27f45 35%,#eed398 55%,transparent)}
.v161-black-ribbon-inner{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;align-items:center;gap:clamp(1.4rem,4vw,4rem)}
.v161-black-ribbon .v161-ribbon-logo{width:min(100%,190px);height:auto;object-fit:contain}
.v161-ribbon-message{min-width:0}.v161-ribbon-kicker{display:block;letter-spacing:.2em;font-size:.73rem;font-weight:700;color:#d4ae71;margin-bottom:.6rem}
.v161-ribbon-message h2{color:#fff;font-family:var(--brand-font);font-size:clamp(1.85rem,3.25vw,3.2rem);letter-spacing:-.045em;font-weight:700;line-height:1.1;margin:0}
.v161-ribbon-message h2 span{font-size:.43em;letter-spacing:0;font-weight:400;color:#ddd4c5;display:inline;vertical-align:middle}
.v161-ribbon-message p{margin:.7rem 0 0;color:#a9a4a0;font-size:.86rem;line-height:1.5}
.v161-ribbon-link{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;text-align:center;padding:1rem 1.35rem;border:1px solid #bc975b;border-radius:100px;color:#f9e7c5!important;text-decoration:none!important;font-size:.82rem;font-weight:700;white-space:nowrap;transition:background .25s,color .25s}
.v161-ribbon-link:hover{background:#c9a566;color:#090909!important}
.v161-chevron,.bf-cta-chevron{display:inline-block;width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);flex:0 0 auto}
@media(max-width:880px){.v161-black-ribbon-inner{grid-template-columns:110px minmax(0,1fr);gap:1rem}.v161-ribbon-link{grid-column:2;justify-self:start}}
@media(max-width:520px){.v161-black-ribbon{padding:1.75rem 0}.v161-black-ribbon-inner{grid-template-columns:90px minmax(0,1fr);gap:.7rem 1.15rem}.v161-ribbon-kicker{font-size:.55rem;letter-spacing:.13em}.v161-ribbon-message h2{font-size:1.85rem}.v161-ribbon-message h2 span{display:block;font-size:.46em;margin-top:.3rem}.v161-ribbon-message p{font-size:.77rem}.v161-ribbon-link{grid-column:1/-1;justify-self:stretch;padding:.85rem 1rem;margin-top:.4rem}}

/* Única logo oficial, em boa resolução e com transparência preservada. */
.v161-black{background:#080808;color:#fff}
.v161-black .site-header{background:#090909;border-bottom:1px solid #39322c}
.v161-black main{background:#080808;color:#fff}
.bf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bf-hero{position:relative;background:radial-gradient(ellipse at 66% 2%,rgba(164,127,64,.12),transparent 38%),#080808;padding:clamp(3rem,6vw,6.5rem) 0 0}
.bf-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.83fr);align-items:center;gap:clamp(1.75rem,5vw,5rem);min-height:610px}
.bf-hero-left{min-width:0;position:relative;z-index:2;padding-bottom:2rem}
.bf-eyebrow{display:block;color:#c4a373;font-size:.73rem;letter-spacing:.25em;font-weight:700;line-height:1.5}
.bf-original-logo{display:block;width:min(90%,390px);max-height:305px;object-fit:contain;object-position:left center;height:auto;margin:1.25rem 0 0 -9px}
.bf-tagline{font-size:clamp(.95rem,1.4vw,1.18rem);line-height:1.7;color:#d9d3ca;max-width:420px;margin:0 0 1.3rem}
.bf-price{display:flex;align-items:baseline;gap:1.2rem;color:#d6b36f;margin:0 0 .8rem;line-height:.82;font-family:var(--brand-font);font-weight:800}
.bf-price strong{font-size:clamp(6.2rem,12vw,11.3rem);line-height:.9;letter-spacing:-.1em;white-space:nowrap;font-weight:800}
.bf-price strong span{display:inline-block;font-size:.35em;vertical-align:top;margin:.15em 0 0 .14em;letter-spacing:-.07em}
.bf-price .bf-off{font-size:clamp(1.9rem,4.5vw,4.25rem);letter-spacing:-.07em;color:#f4ece0}
.bf-years{font-size:.79rem!important;letter-spacing:.12em;color:#c9bfae!important;margin:.5rem 0 2.25rem;max-width:100%}
.bf-years strong{color:#eccb8d;letter-spacing:.08em}
.bf-hero-actions{display:flex;gap:1.35rem;align-items:center;flex-wrap:wrap}
.bf-cta{background:#d8b574;color:#090909!important;display:inline-flex;gap:2.4rem;align-items:center;justify-content:space-between;padding:1.05rem 1.45rem;border-radius:100px;font-size:.9rem;font-weight:800;text-decoration:none!important;transition:background .25s,transform .25s;max-width:100%}
.bf-cta:hover{background:#f1d59a;transform:translateY(-2px)}
.bf-underlink{color:#d6c4a9!important;text-decoration:underline!important;text-underline-offset:5px;font-size:.82rem}
.bf-hero-image{margin:0;position:relative;align-self:stretch;min-height:580px;overflow:hidden;border-radius:220px 220px 8px 8px;isolation:isolate;background:#1c1a16}
.bf-hero-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}
.bf-hero-image img{width:100%;height:100%;max-height:700px;object-fit:cover;object-position:43% center}
.bf-hero-image figcaption{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;right:1.5rem;color:#f3efe9;font-size:.63rem;letter-spacing:.2em}
.bf-hero-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid #6d5939;margin-top:1.3rem;padding-top:1.3rem;padding-bottom:1.5rem;font-size:.7rem;letter-spacing:.18em;color:#bdaf9a}
.bf-terms{background:#0e0e0e;color:#fff;padding:clamp(4.5rem,8vw,8rem) 0;border-top:1px solid #24211b}
.bf-terms-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,8rem);align-items:start}
.bf-terms h2,.bf-stay h2,.bf-final h2{color:#fff;font-family:var(--brand-font);font-weight:400;font-size:clamp(2.6rem,4.8vw,5.5rem);line-height:1.12;letter-spacing:-.055em;margin:1.2rem 0 1.5rem}
.bf-terms h2 em,.bf-final h2 em{font-style:normal;color:#cfad70}
.bf-terms p{font-size:1.05rem;line-height:1.8;color:#bfb8af;max-width:540px}
.bf-terms-list{border-top:1px solid #4c3f2c}
.bf-terms-list>div{display:grid;grid-template-columns:34px 1fr;gap:1.15rem;border-bottom:1px solid #3d3832;padding:1.4rem 0;min-width:0}
.bf-terms-list>div>span{font-size:.78rem;color:#b99760}.bf-terms-list small{display:block;color:#999189;letter-spacing:.18em;font-size:.64rem;margin-bottom:.35rem}
.bf-terms-list strong{display:block;font-size:clamp(1rem,1.75vw,1.4rem);font-weight:500;color:#efe9df}
.bf-stay{background:#070707;color:#fff;padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid #24211b}
.bf-stay-heading{margin-bottom:2rem}.bf-stay-heading h2{margin:.7rem 0 0}
.bf-stay-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.bf-stay-photos figure{margin:0;min-width:0}.bf-stay-photos figure img{width:100%;height:clamp(250px,35vw,440px);object-fit:cover;border-radius:6px}
.bf-stay-photos figcaption{font-size:.86rem;color:#c3bdb6;margin-top:.8rem}
.bf-final{background:radial-gradient(ellipse at 50% 15%,#231b10,#080808 70%);padding:clamp(5rem,10vw,9rem) 0;text-align:center;border-top:1px solid #30271b}
.bf-final h2{font-size:clamp(2.8rem,7vw,7.3rem);margin:1rem auto 1.4rem;max-width:900px}
.bf-final p{margin:0 auto 2rem;max-width:560px;color:#c7bfb4;line-height:1.7}
.bf-final .bf-cta{margin:0 auto}
.bf-final small{display:block;max-width:590px;margin:2rem auto 0;color:#8c8479;font-size:.72rem;line-height:1.6}
@media(max-width:850px){.bf-hero-grid{grid-template-columns:1fr 1fr;gap:1rem}.bf-original-logo{width:min(95%,360px)}.bf-hero-image{min-height:500px}.bf-price strong{font-size:clamp(5rem,13vw,8.8rem)}}
@media(max-width:650px){
 .bf-hero{padding:2rem 0 0}.bf-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.7rem;min-height:0}
 .bf-hero-left{padding-bottom:0}.bf-eyebrow{font-size:.61rem;letter-spacing:.17em}
 .bf-original-logo{width:min(78%,285px);margin:1.15rem 0 .5rem -4px;max-height:210px}
 .bf-tagline{font-size:.95rem;margin:0 0 1.3rem;max-width:315px}
 .bf-price{gap:.6rem;margin:0 0 .8rem}.bf-price strong{font-size:clamp(5.5rem,24vw,7.8rem);letter-spacing:-.1em}.bf-price .bf-off{font-size:clamp(2.05rem,9vw,2.6rem)}
 .bf-years{font-size:.66rem!important;letter-spacing:.08em;margin:.25rem 0 1.6rem;line-height:1.6}
 .bf-hero-actions{gap:1rem}.bf-cta{width:100%;justify-content:space-between;font-size:.84rem;gap:.75rem}.bf-underlink{font-size:.8rem}
 .bf-hero-image{min-height:0;max-height:370px;height:330px;border-radius:8px 8px 4px 4px}.bf-hero-image img{height:100%;object-position:center 35%}.bf-hero-image figcaption{font-size:.55rem;bottom:1rem}
 .bf-hero-bottom{margin-top:1.5rem;gap:.5rem}.bf-hero-bottom span{font-size:.59rem;letter-spacing:.09em}
 .bf-terms-grid{grid-template-columns:1fr;gap:1.2rem}.bf-terms{padding:4rem 0}.bf-terms h2,.bf-stay h2{font-size:clamp(2.4rem,10vw,3.7rem)}.bf-terms p{font-size:.95rem}
 .bf-terms-list>div{padding:1.1rem 0}.bf-stay{padding:4rem 0}.bf-stay-photos{grid-template-columns:1fr;gap:1.8rem}.bf-stay-photos figure img{height:280px}.bf-final{padding:5rem 0}.bf-final h2{font-size:clamp(2.55rem,11vw,4.4rem)}
}

/* Página de ofertas: o primeiro card ganha uma composição editorial de marca. */
.v161-offer-black-image{position:relative;background:#080808;isolation:isolate}
.v161-offer-black-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070707 0%,rgba(5,5,5,.6) 48%,transparent 100%);pointer-events:none}
.v16-offer-card .v161-offer-person{height:100%;width:100%;object-fit:cover;object-position:64% center}
.v16-offer-card .v161-offer-logo{position:absolute;left:7%;top:11%;width:min(43%,240px);height:auto;object-fit:contain;z-index:1}
.v16-featured .v16-offer-card-body{background:#121110;color:#fff}
.v16-featured .v16-offer-card-body .v16-kicker{color:#d8b476}
.v16-featured .v16-offer-card-body h2{color:#f1cf8d;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:650;letter-spacing:-.06em}
.v16-featured .v16-offer-card-body p{color:#d8d1c6}
.v16-featured .v16-card-bottom{border-color:#4b4136;color:#d7b47d}
.v16-card-bottom span:last-child{font-size:.72rem!important;letter-spacing:.08em}
.v16-card-bottom span:last-child:after{content:"";display:inline-block;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);margin-left:.75rem;vertical-align:middle}
@media(max-width:680px){.v161-offer-black-image .v161-offer-logo{width:32%;top:9%;left:5%}.v16-featured .v16-offer-card-body h2{font-size:3rem}}

/* Identidade de fim de ano. Artes sutis em CSS, nunca emojis. */
.v16-event-hero{isolation:isolate}.v16-event-hero-image{z-index:-2}.v16-event-hero-dark{z-index:-1}.v16-event-hero-copy{z-index:2}
.v161-seasonal-ornament{position:relative;width:130px;height:18px;margin:0 0 1.5rem;opacity:.95}
.v161-seasonal-ornament:before{content:"";position:absolute;top:8px;left:0;right:0;border-top:1px solid #d2ae78}
.v161-seasonal-ornament:after{content:"";position:absolute;top:3px;left:61px;width:10px;height:10px;transform:rotate(45deg);border:1px solid #e2bc7d;background:#231b18}
.v16-event-hero h1{font-size:clamp(5rem,9vw,9rem);letter-spacing:-.055em;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98}
.v16-event-hero h1 em{font-style:italic;font-size:.86em;color:#f0cc8e;font-weight:400}
.v16-event-summary span{border-color:rgba(232,194,131,.6)}
.v161-detail-line{display:block;width:36px;height:2px;background:linear-gradient(90deg,#a5834c,#ebd3a4);margin:.1rem 0 1.4rem}
.v16-event-detail-grid h3{margin:.3rem 0 .9rem}
.v16-event-hero .v16-button{white-space:normal;text-align:center}
/* Natal: vinho, verde profundo e filigranas douradas. */
.v16-natal .v16-event-hero{background:#180f10}
.v16-natal .v16-event-hero-dark{background:linear-gradient(90deg,rgba(22,5,11,.96) 0%,rgba(30,8,11,.80) 48%,rgba(22,7,8,.14) 100%)}
.v16-natal .v16-event-hero:before{content:"";position:absolute;z-index:1;pointer-events:none;inset:13px;border:1px solid rgba(215,171,99,.33);border-radius:2px}
.v16-natal .v16-event-hero:after{content:"";position:absolute;z-index:1;pointer-events:none;top:0;left:0;right:0;height:7px;background:linear-gradient(90deg,transparent,#b88b4d 45%,transparent)}
.v16-natal .v16-event-hero h1{color:#fffcf6}.v16-natal .v16-event-hero h1 em{color:#e6b278}
.v16-natal .v16-event-intro{background:#f3eee5}.v16-natal .v16-event-experience{background:#e9e0d5}
.v16-natal .v16-event-intro h2:after{content:"";display:block;margin-top:1.5rem;width:72px;height:2px;background:#a26a54}
.v16-natal .v16-event-tickets{background:#1b211b}.v16-natal .v16-event-tickets .v16-kicker{color:#dfbd8c}
.v16-natal .v16-event-menu{background:#e7eade}
.v16-natal .v16-event-menu-grid article{background:#faf9f3;border-color:#d1d7c7}
.v16-natal .v16-event-menu-grid h3{color:#6e352a;font-family:Georgia,serif;font-size:1.65rem}
.v16-natal .v16-event-menu .v16-section-head:before{content:"";display:block;width:90px;height:1px;background:#a0774b;margin-bottom:1.3rem}
/* Réveillon: meia-noite, ouro suave, raios desenhados discretamente. */
.v16-reveillon .v16-event-hero{background:#0c131a}
.v16-reveillon .v16-event-hero-dark{background:linear-gradient(90deg,rgba(8,15,26,.96) 0%,rgba(10,17,27,.83) 48%,rgba(7,10,16,.2) 100%)}
.v16-reveillon .v16-event-hero:before{content:"";position:absolute;z-index:1;pointer-events:none;right:5%;top:9%;width:240px;height:240px;opacity:.35;background:repeating-conic-gradient(from 0deg,rgba(235,201,139,.95) 0deg 1deg,transparent 1deg 15deg);-webkit-mask-image:radial-gradient(circle,transparent 0 38%,#000 39% 46%,transparent 48%);mask-image:radial-gradient(circle,transparent 0 38%,#000 39% 46%,transparent 48%)}
.v16-reveillon .v16-event-hero h1 span{color:#fff}.v16-reveillon .v16-event-hero h1 em{color:#edca88;font-size:1.08em;font-style:normal;letter-spacing:-.04em}
.v16-reveillon .v16-event-intro,.v16-reveillon .v16-event-booking{background:#ecedeb}
.v16-reveillon .v16-event-experience{background:#dfded9}
.v16-reveillon .v16-event-menu{background:#e5e6e2}
.v16-reveillon .v16-event-menu-grid article{background:#fafbf9;border:1px solid #d6d6ce}
.v16-reveillon .v16-event-menu-grid h3{color:#82633b;font-family:Georgia,serif}
.v16-reveillon .v16-event-tickets{background:#0e1722}
.v16-reveillon .v16-event-booking-card{background:#fefefd;border-color:#c7c5bd;border-left:4px solid #b6955b}
.v16-reveillon .v16-event-booking-card h2{font-size:clamp(2rem,3.5vw,3.5rem)}
@media(max-width:680px){
 .v16-event-hero{min-height:590px}.v16-event-hero h1{font-size:clamp(3.65rem,14vw,5.4rem);line-height:1.04;letter-spacing:-.055em}
 .v16-event-hero h1 em{font-size:.9em}.v16-event-hero-copy{padding:12rem 0 3rem}
 .v16-event-hero-copy>p{font-size:1.05rem}.v16-event-summary{gap:.5rem 1rem}
 .v16-event-summary span{font-size:.73rem;padding-bottom:.35rem}
 .v16-event-booking-card p{font-size:.93rem;line-height:1.8}
 .v16-reveillon .v16-event-hero:before{width:130px;height:130px;top:3%;right:8%;opacity:.22}
 .v16-natal .v16-event-hero:before{inset:8px}
 .v16-event-tickets .v16-ticket-list .v16-ticket span{font-size:1rem}
 .v16-event-tickets .v16-ticket-list .v16-ticket strong{font-size:1.2rem;white-space:nowrap}
 .v16-heading-split h1{font-size:clamp(2.8rem,12vw,4.6rem)}
 .v16-quiet-inner .v16-button{max-width:100%;white-space:normal}
}
@media(max-width:370px){.bf-price strong{font-size:5.3rem}.bf-price .bf-off{font-size:1.8rem}.v161-ribbon-message h2{font-size:1.52rem}.v16-event-hero h1{font-size:3.65rem}}
/* Ornamentos vetoriais originais de baixa transferência, com contraste sutil. */
.v16-natal .v16-event-hero:after{z-index:1;top:0;right:0;left:auto;width:min(34vw,350px);height:min(30vw,300px);background:url('assets/v161-ramo-natal.svg') center/contain no-repeat;opacity:.62;pointer-events:none}
.v16-reveillon .v16-event-hero:before{z-index:1;right:4%;top:5%;width:min(34vw,360px);height:min(31vw,320px);background:url('assets/v161-brilhos-reveillon.svg') center/contain no-repeat;-webkit-mask-image:none;mask-image:none;opacity:.6;pointer-events:none}
@media(max-width:680px){.v16-natal .v16-event-hero:after{width:155px;height:145px;opacity:.55}.v16-reveillon .v16-event-hero:before{width:140px;height:130px;opacity:.5;right:2%;top:3%}}

/* V16.1 QA: prevent hero text from touching the mobile screen edge.
   The previous `.v16-event-hero-copy {width:100%}` overrode `.shell`. */
.v16-event-hero .v16-event-hero-copy.shell{
  width:min(var(--max),calc(100% - 40px));
  margin-inline:auto;
}
@media (min-width:1000px){
  .v16-event-hero .v16-event-hero-copy.shell{width:min(var(--max),calc(100% - 72px))}
}
/* Rodapé consistente com a identidade integralmente preta da campanha. */
.v161-black .simple-footer{background:#080808;color:#e4ded6;border-top:1px solid #312a22}



/* V16.2 | Pesquisa de hospedagem em cada campanha. Mesma integração da home.
   Nunca definir overflow:hidden neste bloco: o calendário do motor precisa abrir fora dos campos. */
.campaign-booking{position:relative;padding:clamp(2.2rem,6vw,5rem) 0 5rem;scroll-margin-top:76px;}
.campaign-booking-frame{--campaign-surface:#fffaf7;--campaign-ink:#2b211c;--campaign-muted:#71655f;--campaign-line:#c59c5e;--campaign-link:#76511f;--campaign-input:#fff;
  min-width:0;position:relative;border:1px solid var(--campaign-line);border-radius:22px;
  background:var(--campaign-surface);color:var(--campaign-ink);
  box-shadow:0 20px 48px rgba(12,9,8,.11);}
.campaign-booking-lead{padding:clamp(1.4rem,3vw,2.6rem) clamp(1.2rem,3.7vw,3rem) clamp(1.2rem,2.8vw,2rem);border-bottom:1px solid var(--campaign-line);}
.campaign-booking-kicker{display:block;color:var(--campaign-muted);font-size:.66rem;font-weight:700;letter-spacing:.2em;margin-bottom:.85rem;}
.campaign-booking-lead h2{color:var(--campaign-ink);font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.13;letter-spacing:-.035em;font-weight:500;margin:0 0 .85rem;max-width:800px;}
.campaign-booking-lead p{max-width:850px;color:var(--campaign-muted);font-size:clamp(.91rem,1.2vw,1.03rem);line-height:1.65;margin:0 0 .65rem;}
.campaign-booking-lead .campaign-booking-note{margin:1.15rem 0 0;padding:1rem 1.15rem;
 border-left:3px solid var(--campaign-line);background:rgba(125,104,77,.09);border-radius:0 9px 9px 0;}
.campaign-booking-note strong{color:var(--campaign-ink);font-weight:700;}
.campaign-booking-search{padding:clamp(1.2rem,2.4vw,2rem) clamp(1rem,3.7vw,3rem) .3rem;min-width:0;position:relative;z-index:1;}
.campaign-booking #otabuilder-widget{min-height:90px;width:100%;color:var(--campaign-ink);max-width:100%;}
.campaign-booking #otabuilder-widget iframe{max-width:100%;}
.campaign-booking-fallback{padding:1.2rem 1.2rem 1.6rem;color:var(--campaign-muted);font-size:.79rem;text-align:center;line-height:1.55;margin:0;}
.campaign-booking-fallback a{color:var(--campaign-link);text-decoration:underline;text-underline-offset:3px;font-weight:700;}
/* Black: painel inteiramente preto, com contraste claro e acento champagne. */
.campaign-booking--black{background:#080808;color:#fff;border-top:1px solid #29241e;}
.campaign-booking--black .campaign-booking-frame{--campaign-surface:#0e0e0e;--campaign-ink:#fbf7ef;--campaign-muted:#c7beb1;--campaign-line:#9f834f;--campaign-link:#ead098;--campaign-input:#161616;box-shadow:0 20px 60px #0008;}
.campaign-booking--black .campaign-booking-kicker{color:#d6b873;}
.campaign-booking--black .campaign-booking-note{background:#1b1915;}
.campaign-booking--black .campaign-booking-search{background:#0e0e0e;border-radius:0 0 20px 20px;}
/* Light DOM do formulário externo, quando o provedor o permite. Não alterar popups/calendários do provedor. */
.campaign-booking--black #otabuilder-widget input:not([type=checkbox]):not([type=radio]),
.campaign-booking--black #otabuilder-widget select{
 background:var(--campaign-input)!important;color:#fff!important;border-color:#6b5940!important;}
.campaign-booking--black #otabuilder-widget input::placeholder{color:#ddd0bf!important;opacity:1;}
.campaign-booking--black #otabuilder-widget label{color:#f4eee4;}
.campaign-booking--black #otabuilder-widget button[type=submit]{background:#d9b777!important;color:#0f0e0d!important;border:0!important;font-weight:700;}
/* Natal: vermelho vinho com frisos dourados, porém campos legíveis e claros. */
.v16-natal .v16-event-booking{background:#efe5de;}
.v16-natal .campaign-booking-frame{--campaign-surface:#651f2b;--campaign-ink:#fff9f4;--campaign-muted:#f0d8d3;--campaign-line:#d6a66a;--campaign-link:#ffe1aa;box-shadow:0 22px 50px #3b141526;}
.v16-natal .campaign-booking-kicker{color:#f9d9a5;}
.v16-natal .campaign-booking-note{background:#752c39;}
.v16-natal .campaign-booking-search{background:#fffaf6;border-radius:0 0 20px 20px;color:#352321;padding-bottom:1.1rem;}
.v16-natal .campaign-booking #otabuilder-widget{color:#44322d;}
.v16-natal .campaign-booking-fallback{color:#f2ddd1;}
/* Réveillon: ouro acetinado, letras escuras e formulário bem definido. */
.v16-reveillon .v16-event-booking{background:#ebe7df;}
.v16-reveillon .campaign-booking-frame{--campaign-surface:#d5ae6d;--campaign-ink:#211b14;--campaign-muted:#493a27;--campaign-line:#80623e;--campaign-link:#32220f;box-shadow:0 22px 50px #6d573126;}
.v16-reveillon .campaign-booking-lead{background:linear-gradient(120deg,#e7ca91 0%,#d1a75f 100%);border-radius:21px 21px 0 0;}
.v16-reveillon .campaign-booking-note{background:#f0daae;}
.v16-reveillon .campaign-booking-search{background:#fffbf4;border-radius:0 0 20px 20px;padding-bottom:1.1rem;}
.v16-reveillon .campaign-booking #otabuilder-widget{color:#352a1d;}
@media(max-width:767px){
 .campaign-booking{padding-top:1.2rem;padding-bottom:3rem;scroll-margin-top:80px;}
 .campaign-booking-frame{border-radius:17px;}
 .campaign-booking-lead{padding:1.4rem 1.25rem;}
 .campaign-booking-lead h2{font-size:clamp(1.7rem,7vw,2.25rem);}
 .campaign-booking-search{padding:1.15rem .85rem 0;}
 .campaign-booking-lead .campaign-booking-note{padding:.8rem .9rem;font-size:.85rem;}
 .campaign-booking-fallback{padding:1rem 1.15rem 1.3rem;font-size:.78rem;}
 .v16-event-booking .campaign-booking-frame{margin-top:1.6rem;}
 .v16-reveillon .campaign-booking-lead{border-radius:16px 16px 0 0;}
}
@media(prefers-reduced-motion:reduce){.campaign-booking *{scroll-behavior:auto;}}

/* Espaço entre as regras de hospedagem e o motor de reservas nas páginas festivas. */
.v16-event-booking > .shell + .shell{margin-top:clamp(1.5rem,3.3vw,2.9rem);}
