/* Alameda Vitória Hotel. Todos os componentes são isolados em .alameda. */
body.alameda-page { margin: 0; background: #f7f5ef; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
.alameda { --navy:#303f69; --navy-dark:#243252; --gold:#d0ad68; --paper:#f7f5ef; --ink:#293653; --muted:#606575; --line:#d4d4ce; --blue:#dce7eb; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; font-size:16px; line-height:1.65; overflow:clip; }
.alameda *, .alameda *::before, .alameda *::after { box-sizing:border-box; }
.alameda h1,.alameda h2,.alameda h3,.alameda p,.alameda figure { margin:0; }
.alameda h1,.alameda h2,.alameda h3 { color:inherit; font-weight:400; }
.alameda h1,.alameda h2,.alameda h3,.alameda .av-hero-note p,.alameda .av-intro>p,.alameda .av-experience-gold>p,.alameda .av-experience-blue>p { font-family:'Italiana',Georgia,serif; }
.alameda h2 { font-size:clamp(46px,5.1vw,76px); line-height:1.04; letter-spacing:-.035em; }
.alameda em { font-family:Georgia,serif; font-weight:400; font-size:.92em; }
.alameda a { color:inherit; text-decoration:none; }
.alameda img { display:block; width:100%; height:auto; }
.alameda button,.alameda input,.alameda select { font:inherit; border-radius:0; }
.alameda button,.alameda a,.alameda input,.alameda select,.alameda summary { -webkit-tap-highlight-color:transparent; }
.alameda button { cursor:pointer; }
.alameda a:focus-visible,.alameda button:focus-visible,.alameda input:focus-visible,.alameda select:focus-visible,.alameda summary:focus-visible { outline:3px solid #bd8731; outline-offset:5px; }
.alameda address { font-style:normal; }
.alameda ::selection { background:var(--gold); color:var(--navy-dark); }
.alameda .av-container { width:min(1280px,calc(100% - 112px)); margin-inline:auto; }
.alameda .av-eyebrow { display:block; font-size:11px; font-weight:600; letter-spacing:.15em; line-height:1.6; }
.alameda .av-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:55px; padding:16px 25px; font-size:13px; font-weight:500; border:1px solid transparent; transition:background .2s,color .2s; }
.alameda .av-button>span { font-size:21px; line-height:1; }
.alameda .av-button-navy { color:#fff; background:var(--navy); }
.alameda .av-button-navy:hover { background:var(--navy-dark); }
.alameda .av-button-gold { color:var(--navy-dark); background:var(--gold); }
.alameda .av-button-gold:hover { background:#e1c38a; }
.alameda .av-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding-block:12px; border-bottom:1px solid currentColor; font-size:14px; }
.alameda .av-text-link span { font-size:23px; line-height:1; }
.alameda .av-circle-link { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border:1px solid currentColor; border-radius:50%; flex-shrink:0; font-size:25px; transition:background .2s,color .2s; }
.alameda .av-circle-link:hover { background:var(--gold); color:var(--navy); }
.alameda .av-skip { position:fixed; top:-120px; left:20px; z-index:100; background:white; color:var(--navy); padding:15px; }
.alameda .av-skip:focus { top:12px; }
.alameda .av-header { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:24px 56px; min-height:115px; background:var(--paper); }
.alameda .av-brand { width:193px; flex-shrink:0; }
.alameda .av-nav { display:flex; align-items:center; gap:32px; margin-left:auto; }
.alameda .av-nav a { font-size:13px; padding-block:12px; border-bottom:1px solid transparent; }
.alameda .av-nav a:hover { border-color:var(--navy); }
.alameda .av-menu-toggle { display:none; }
.alameda .av-header-book { font-size:12px; min-height:48px; padding:12px 18px; gap:20px; }
.alameda .av-hero { display:grid; grid-template-columns:46% 54%; min-height:610px; }
.alameda .av-hero-copy { display:flex; flex-direction:column; background:var(--navy); color:var(--paper); padding:49px 56px 46px; }
.alameda .av-hero-copy>.av-eyebrow { display:flex; align-items:center; gap:12px; color:#e2d0ab; }
.alameda .av-small-line { width:28px; height:1px; background:var(--gold); }
.alameda h1 { font-size:clamp(76px,7.9vw,124px); line-height:.98; letter-spacing:-.037em; margin:42px 0 36px; }
.alameda h1 em { color:var(--gold); }
.alameda .av-hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-top:auto; max-width:430px; }
.alameda .av-hero-bottom p { font-size:14px; line-height:1.7; color:#e6e7ef; }
.alameda .av-hero-bottom .av-circle-link { color:var(--gold); }
.alameda .av-hero-photo { position:relative; min-width:0; min-height:550px; background:var(--blue); }
.alameda .av-hero-photo>img { position:absolute; height:100%; object-fit:cover; object-position:62% center; }
.alameda .av-photo-caption { position:absolute; left:29px; top:31px; font-size:10px; font-weight:600; letter-spacing:.2em; color:var(--navy-dark); }
.alameda .av-hero-note { position:absolute; right:0; bottom:0; padding:29px 38px 27px; background:var(--gold); color:var(--navy-dark); min-width:305px; }
.alameda .av-note-number { font-size:12px; }
.alameda .av-hero-note p { font-size:35px; line-height:1.12; margin:18px 0 23px; }
.alameda .av-hero-note>span:last-child { font-size:9px; letter-spacing:.13em; font-weight:600; }
.alameda .av-booking { padding:33px 56px; display:flex; align-items:center; gap:42px; background:#e9e2d5; }
.alameda .av-booking-heading { flex:0 0 230px; }
.alameda .av-booking-heading .av-eyebrow { font-size:9px; margin-bottom:5px; }
.alameda .av-booking-heading h2 { font-size:29px; line-height:1.2; letter-spacing:-.02em; }
.alameda .av-booking-form { display:grid; grid-template-columns:1fr 1fr .85fr auto; align-items:center; gap:22px; width:100%; }
.alameda .av-field { min-width:0; border-bottom:1px solid #9c9b96; }
.alameda .av-field label { display:block; font-size:11px; color:#52576a; margin-bottom:4px; }
.alameda .av-field input,.alameda .av-field select { display:block; width:100%; min-height:32px; margin:0; border:0; padding:0 2px 4px 0; background:transparent; color:var(--ink); font-size:14px; outline-offset:3px; color-scheme:light; }
.alameda .av-booking .av-button { white-space:nowrap; gap:25px; }
.alameda .av-intro { display:grid; grid-template-columns:1fr 2.3fr 1fr; align-items:center; gap:45px; padding-block:95px; border-bottom:1px solid var(--line); }
.alameda .av-intro>.av-eyebrow { align-self:start; padding-top:9px; font-size:10px; max-width:120px; }
.alameda .av-intro>p { font-size:clamp(27px,2.6vw,40px); line-height:1.32; letter-spacing:-.02em; }
.alameda .av-intro>p>span { color:#777c8a; }
.alameda .av-intro-aside { justify-self:end; }
.alameda .av-brand-star { display:block; font-size:48px; line-height:1; color:#a47c3c; margin-bottom:21px; }
.alameda .av-intro-aside p { font-size:12px; color:var(--muted); line-height:1.85; }
.alameda .av-rooms { padding-block:95px 70px; }
.alameda .av-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:48px; }
.alameda .av-section-heading .av-eyebrow { margin-bottom:24px; }
.alameda .av-section-heading>p { color:var(--muted); font-size:14px; max-width:310px; margin-bottom:4px; }
.alameda .av-room-grid { display:grid; grid-template-columns:1.23fr 1fr; gap:55px; align-items:start; }
.alameda .av-room-image { display:block; position:relative; overflow:hidden; background:#d6d6cf; }
.alameda .av-room-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.alameda .av-room-image:hover img { transform:scale(1.035); }
.alameda .av-room-featured .av-room-image { aspect-ratio:1.33; }
.alameda .av-room-secondary { padding-top:80px; }
.alameda .av-room-secondary .av-room-image { aspect-ratio:1.48; }
.alameda .av-image-tag { position:absolute; left:0; bottom:0; padding:13px 19px; background:var(--gold); font-size:9px; font-weight:600; letter-spacing:.1em; }
.alameda .av-room-info { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:23px; }
.alameda .av-room-info .av-eyebrow { font-size:9px; letter-spacing:.09em; color:var(--muted); }
.alameda .av-room-info h3 { font-size:clamp(24px,2.6vw,36px); margin-top:6px; letter-spacing:-.03em; line-height:1.2; }
.alameda .av-room-info .av-circle-link { width:42px; height:42px; font-size:21px; border-color:#acb0ba; }
.alameda .av-other-rooms { margin-top:34px; font-size:12px; }
.alameda .av-accessibility-note { display:flex; align-items:center; gap:17px; margin-top:45px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); }
.alameda .av-accessibility-note>span { font-size:26px; color:var(--navy); }
.alameda .av-accessibility-note p { font-size:12px; }
.alameda .av-accessibility-note a { text-decoration:underline; text-underline-offset:4px; }
.alameda .av-experience { display:grid; grid-template-columns:1.15fr 1fr 1fr; grid-template-rows:340px 270px; }
.alameda .av-experience-main { grid-row:span 2; background:var(--navy); color:var(--paper); padding:62px 50px 55px 56px; display:flex; flex-direction:column; align-items:flex-start; }
.alameda .av-experience-main>.av-eyebrow { color:var(--gold); }
.alameda .av-experience-main h2 { font-size:clamp(46px,4.5vw,66px); margin-top:54px; }
.alameda .av-experience-main h2 em { color:var(--gold); }
.alameda .av-experience-description { font-size:14px; color:#dde1eb; margin-top:32px; max-width:300px; }
.alameda .av-experience-main .av-text-link { margin-top:auto; padding-top:34px; font-size:12px; gap:20px; }
.alameda .av-experience-photo { grid-column:span 2; position:relative; overflow:hidden; }
.alameda .av-experience-photo img { height:100%; object-fit:cover; }
.alameda .av-experience-photo>span { position:absolute; left:0; bottom:0; background:var(--paper); padding:12px 24px; font-size:9px; letter-spacing:.12em; }
.alameda .av-experience-gold,.alameda .av-experience-blue { padding:31px 36px; }
.alameda .av-experience-gold { background:var(--gold); }
.alameda .av-experience-blue { background:var(--blue); }
.alameda .av-experience-gold>.av-eyebrow,.alameda .av-experience-blue>.av-eyebrow { font-size:9px; }
.alameda .av-experience-gold>p,.alameda .av-experience-blue>p { font-size:37px; line-height:1.08; margin:19px 0 18px; }
.alameda .av-experience-gold>div,.alameda .av-experience-blue>div { font-size:12px; line-height:1.7; }
.alameda .av-experience-gold small { font-size:10px; }
.alameda .av-amenities { display:grid; grid-template-columns:1fr 1.5fr; gap:65px; padding-block:95px; }
.alameda .av-amenities h2 { font-size:36px; line-height:1.15; margin-top:21px; }
.alameda .av-amenities-list { display:grid; grid-template-columns:1fr 1fr; gap:32px 40px; }
.alameda .av-amenities-list>div { position:relative; border-top:1px solid var(--line); padding:19px 0 0 32px; }
.alameda .av-amenity-index { position:absolute; top:23px; left:0; font-size:10px; color:#937338; }
.alameda .av-amenities-list h3 { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500; }
.alameda .av-amenities-list p { font-size:12px; color:var(--muted); margin-top:7px; }
.alameda .av-location { display:grid; grid-template-columns:1fr 1fr; background:var(--blue); }
.alameda .av-location-photo { min-height:660px; position:relative; }
.alameda .av-location-photo>img { position:absolute; height:100%; object-fit:cover; object-position:32% center; }
.alameda .av-location-label { position:absolute; left:40px; bottom:40px; background:var(--paper); padding:25px 32px; display:flex; flex-direction:column; }
.alameda .av-location-label>span { font-size:9px; letter-spacing:.16em; }
.alameda .av-location-label strong { font-family:'Italiana',Georgia,serif; font-size:45px; line-height:1.4; font-weight:400; }
.alameda .av-location-copy { padding:67px clamp(36px,5vw,80px); }
.alameda .av-location-copy h2 { margin:31px 0 25px; font-size:clamp(48px,5vw,74px); }
.alameda .av-location-copy>p:not(.av-eyebrow) { font-size:14px; max-width:340px; }
.alameda .av-location-copy address { font-size:12px; margin:27px 0; padding-left:17px; border-left:1px solid #7f91a0; }
.alameda .av-location-copy .av-button { min-height:49px; font-size:12px; }
.alameda .av-faq { display:grid; grid-template-columns:1fr 1.6fr; gap:90px; padding-block:100px; }
.alameda .av-faq-heading h2 { margin:26px 0 23px; }
.alameda .av-faq-heading>p:not(.av-eyebrow) { font-size:13px; color:var(--muted); }
.alameda .av-faq-heading .av-text-link { margin-top:25px; font-size:12px; }
.alameda .av-faq-list { padding-top:39px; }
.alameda .av-faq-list details { border-top:1px solid var(--line); }
.alameda .av-faq-list details:last-child { border-bottom:1px solid var(--line); }
.alameda .av-faq-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:77px; padding:19px 0; font-size:14px; }
.alameda .av-faq-list summary::-webkit-details-marker { display:none; }
.alameda .av-faq-list summary>span { color:#96723c; font-size:25px; font-weight:400; line-height:1; transition:transform .2s; }
.alameda .av-faq-list details[open] summary>span { transform:rotate(45deg); }
.alameda .av-faq-list details>p { font-size:14px; color:var(--muted); padding:0 30px 24px 0; max-width:620px; }
.alameda .av-final-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--navy); color:var(--paper); padding:72px max(56px,calc((100vw - 1280px)/2)); }
.alameda .av-final-cta .av-eyebrow { color:var(--gold); }
.alameda .av-final-cta h2 { font-size:clamp(80px,9vw,134px); margin-top:26px; line-height:.98; }
.alameda .av-final-cta h2 em { color:var(--gold); }
.alameda .av-final-action { display:flex; flex-direction:column; align-items:center; gap:23px; margin-right:35px; }
.alameda .av-round-cta { width:210px; height:210px; padding:46px 35px; border:1px solid var(--gold); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--gold); transition:background .2s,color .2s; }
.alameda .av-round-cta>span:first-child { font-size:17px; line-height:1.5; }
.alameda .av-round-cta>span:last-child { font-size:38px; line-height:1.2; margin-top:15px; }
.alameda .av-round-cta:hover { background:var(--gold); color:var(--navy); }
.alameda .av-final-action>a:last-child { font-size:11px; color:#e0e3ed; }
.alameda .av-footer { padding:57px 56px 25px; }
.alameda .av-footer-main { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; align-items:start; padding-bottom:45px; }
.alameda .av-footer-brand { width:220px; }
.alameda .av-footer-main .av-eyebrow { font-size:9px; margin-bottom:17px; }
.alameda .av-footer-main address,.alameda .av-footer-main>div>a { font-size:12px; display:block; line-height:1.9; }
.alameda .av-footer-bottom { display:flex; justify-content:space-between; gap:25px; border-top:1px solid var(--line); padding-top:23px; font-size:10px; color:var(--muted); }
.alameda .av-footer-bottom>div { display:flex; gap:30px; }
.alameda .av-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.alameda .av-mobile-book { display:none; }
.alameda .av-reservation-dialog { padding:45px; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 40px); border:0; background:var(--paper); color:var(--ink); }
.alameda .av-reservation-dialog::backdrop { background:rgb(22 32 54 / 65%); backdrop-filter:blur(4px); }
.alameda .av-dialog-close { position:absolute; top:12px; right:15px; width:42px; height:42px; border:0; background:transparent; color:var(--navy); font-size:30px; }
.alameda .av-reservation-dialog h2 { font-size:58px; margin:22px 0; }
.alameda .av-reservation-dialog>p:not(.av-eyebrow) { font-size:14px; margin-bottom:20px; }
.alameda .av-reservation-summary { border-block:1px solid var(--line); padding-block:16px; font-weight:500; }
.alameda .av-reservation-dialog .av-button { width:100%; margin-bottom:15px; }
.alameda .av-reservation-dialog .av-text-link { width:100%; }
.alameda .av-dialog-phone { display:block; font-size:12px; margin-top:23px; text-align:center; }
@media(min-width:1600px) { .alameda .av-hero-copy { padding-left:max(56px,calc((100vw - 1380px)/2)); } .alameda .av-hero { min-height:730px; } }
@media(max-width:1150px) {
  .alameda .av-header { gap:25px; padding-inline:32px; }
  .alameda .av-brand { width:166px; }
  .alameda .av-nav { gap:20px; }
  .alameda .av-container { width:calc(100% - 64px); }
  .alameda .av-hero-copy { padding-inline:32px; }
  .alameda .av-hero { min-height:560px; }
  .alameda .av-hero-photo { min-height:560px; }
  .alameda h1 { font-size:clamp(72px,8.5vw,98px); }
  .alameda .av-booking { padding:29px 32px; gap:25px; }
  .alameda .av-booking-heading { flex-basis:190px; }
  .alameda .av-booking-heading h2 { font-size:25px; }
  .alameda .av-booking-form { gap:15px; }
  .alameda .av-booking .av-button { gap:15px; padding-inline:17px; font-size:12px; }
  .alameda .av-intro { gap:30px; grid-template-columns:.8fr 2.5fr 1fr; }
  .alameda .av-experience-main { padding-inline:32px; }
  .alameda .av-experience { grid-template-rows:300px 270px; }
  .alameda .av-experience-gold,.alameda .av-experience-blue { padding-inline:28px; }
  .alameda .av-experience-gold>p,.alameda .av-experience-blue>p { font-size:32px; }
  .alameda .av-amenities { gap:40px; }
  .alameda .av-faq { gap:60px; }
  .alameda .av-final-cta { padding-inline:40px; }
  .alameda .av-footer { padding-inline:32px; }
}
@media(max-width:900px) {
  .alameda .av-header { min-height:92px; padding-block:20px; position:relative; gap:20px; }
  .alameda .av-header-book { margin-left:auto; }
  .alameda .av-menu-toggle { order:3; display:flex; align-items:center; gap:13px; border:0; background:transparent; color:var(--navy); padding:12px 0 12px 12px; font-size:13px; }
  .alameda .av-menu-lines { display:block; width:21px; height:10px; border-block:1px solid currentColor; }
  .alameda .av-nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:20; margin:0; background:var(--paper); padding:15px 32px 25px; box-shadow:0 15px 20px rgb(36 50 82 / 10%); }
  .alameda .av-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .alameda .av-nav a { min-height:48px; border-bottom:1px solid var(--line); }
  .alameda .av-booking { flex-direction:column; align-items:stretch; gap:20px; }
  .alameda .av-booking-heading { flex-basis:auto; display:flex; align-items:center; justify-content:space-between; gap:15px; }
  .alameda .av-booking-heading .av-eyebrow { margin:0; }
  .alameda .av-intro { grid-template-columns:1fr 2.4fr; padding-block:70px; }
  .alameda .av-intro-aside { display:none; }
  .alameda .av-room-grid { gap:30px; }
  .alameda .av-room-info h3 { font-size:27px; }
  .alameda .av-room-secondary { padding-top:55px; }
  .alameda .av-experience { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; }
  .alameda .av-experience-main { grid-row:auto; min-height:490px; }
  .alameda .av-experience-photo { grid-column:auto; }
  .alameda .av-experience-photo>span { font-size:8px; padding-inline:15px; }
  .alameda .av-experience-gold,.alameda .av-experience-blue { padding:35px; }
  .alameda .av-experience-gold>p,.alameda .av-experience-blue>p { font-size:40px; }
  .alameda .av-experience-main h2 { font-size:49px; margin-top:37px; }
  .alameda .av-amenities { grid-template-columns:1fr; padding-block:70px; }
  .alameda .av-location-copy { padding:45px 30px; }
  .alameda .av-location-photo { min-height:610px; }
  .alameda .av-location-copy h2 { font-size:54px; }
  .alameda .av-faq { gap:40px; grid-template-columns:1fr 1.5fr; padding-block:75px; }
  .alameda .av-faq-list { padding-top:30px; }
  .alameda .av-final-action { margin-right:0; }
  .alameda .av-footer-main { grid-template-columns:1fr 1fr; gap:32px; }
  .alameda .av-footer-brand { grid-column:span 2; width:190px; }
}
@media(max-width:600px) {
  .alameda .av-container { width:calc(100% - 44px); }
  .alameda .av-header { min-height:90px; padding:20px 22px; }
  .alameda .av-brand { width:160px; }
  .alameda .av-header-book { display:none; }
  .alameda .av-menu-toggle { margin-left:auto; }
  .alameda .av-nav { padding-inline:22px; }
  .alameda .av-hero { grid-template-columns:1fr; }
  .alameda .av-hero-copy { padding:35px 26px 34px; }
  .alameda .av-hero-copy>.av-eyebrow { font-size:9px; }
  .alameda h1 { font-size:clamp(76px,19.5vw,112px); line-height:.96; margin:31px 0 29px; }
  .alameda .av-hero-bottom p { font-size:13px; }
  .alameda .av-hero-bottom { max-width:none; }
  .alameda .av-hero-photo { min-height:360px; }
  .alameda .av-hero-photo>img { object-position:60% center; }
  .alameda .av-photo-caption { top:22px; left:22px; font-size:9px; }
  .alameda .av-hero-note { min-width:0; width:210px; padding:20px 23px; }
  .alameda .av-hero-note p { font-size:28px; margin:9px 0 13px; }
  .alameda .av-note-number { font-size:10px; }
  .alameda .av-hero-note>span:last-child { font-size:8px; }
  .alameda .av-booking { padding:29px 22px 32px; gap:25px; scroll-margin-top:0; }
  .alameda .av-booking-heading { display:block; }
  .alameda .av-booking-heading .av-eyebrow { font-size:9px; }
  .alameda .av-booking-heading h2 { margin-top:9px; font-size:34px; }
  .alameda .av-booking-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px 18px; }
  .alameda .av-field input,.alameda .av-field select { font-size:16px; min-height:40px; max-width:100%; }
  .alameda .av-field label { font-size:12px; }
  .alameda .av-booking .av-button { padding-inline:15px; font-size:12px; gap:8px; min-height:56px; }
  .alameda .av-intro { grid-template-columns:1fr; gap:23px; padding-block:55px; }
  .alameda .av-intro>.av-eyebrow { max-width:none; padding:0; }
  .alameda .av-intro>p { font-size:30px; line-height:1.3; }
  .alameda .av-rooms { padding-block:57px 45px; }
  .alameda .av-section-heading { display:block; margin-bottom:29px; }
  .alameda .av-section-heading .av-eyebrow { margin-bottom:19px; }
  .alameda h2 { font-size:52px; }
  .alameda .av-section-heading>p { margin-top:23px; font-size:13px; }
  .alameda .av-room-grid { grid-template-columns:1fr; gap:38px; }
  .alameda .av-room-secondary { padding-top:0; }
  .alameda .av-room-featured .av-room-image { aspect-ratio:1.2; }
  .alameda .av-room-secondary .av-room-image { aspect-ratio:1.35; }
  .alameda .av-room-info { margin-top:20px; }
  .alameda .av-room-info h3 { font-size:28px; }
  .alameda .av-room-info .av-eyebrow { font-size:8px; }
  .alameda .av-other-rooms { margin-top:19px; }
  .alameda .av-accessibility-note { align-items:flex-start; margin-top:30px; }
  .alameda .av-accessibility-note p { font-size:12px; }
  .alameda .av-experience { grid-template-columns:1fr; }
  .alameda .av-experience-main { min-height:0; padding:42px 26px 38px; }
  .alameda .av-experience-main h2 { font-size:56px; margin-top:30px; }
  .alameda .av-experience-description { max-width:none; margin-top:24px; }
  .alameda .av-experience-main .av-text-link { padding-top:26px; font-size:13px; }
  .alameda .av-experience-photo { height:300px; }
  .alameda .av-experience-photo>span { font-size:8px; }
  .alameda .av-experience-gold,.alameda .av-experience-blue { padding:32px 26px; }
  .alameda .av-experience-gold>p,.alameda .av-experience-blue>p { font-size:43px; }
  .alameda .av-experience-gold>div,.alameda .av-experience-blue>div { font-size:13px; }
  .alameda .av-experience-gold small { font-size:12px; }
  .alameda .av-amenities { padding-block:56px; gap:34px; }
  .alameda .av-amenities h2 { font-size:38px; }
  .alameda .av-amenities-list { gap:27px 20px; }
  .alameda .av-amenities-list>div { padding-left:0; }
  .alameda .av-amenity-index { position:static; display:block; margin-bottom:9px; }
  .alameda .av-amenities-list h3 { font-size:14px; }
  .alameda .av-amenities-list p { font-size:12px; }
  .alameda .av-location { grid-template-columns:1fr; }
  .alameda .av-location-photo { min-height:370px; }
  .alameda .av-location-label { left:22px; bottom:22px; padding:19px 23px; }
  .alameda .av-location-label strong { font-size:35px; }
  .alameda .av-location-copy { padding:43px 26px; }
  .alameda .av-location-copy h2 { font-size:61px; margin-top:25px; }
  .alameda .av-location-copy>p:not(.av-eyebrow) { font-size:14px; }
  .alameda .av-location-copy address { font-size:13px; }
  .alameda .av-faq { grid-template-columns:1fr; gap:23px; padding-block:58px; }
  .alameda .av-faq-heading h2 { margin:20px 0; }
  .alameda .av-faq-heading h2 br { display:none; }
  .alameda .av-faq-heading h2 em { margin-left:.12em; }
  .alameda .av-faq-heading>p:not(.av-eyebrow) { font-size:14px; }
  .alameda .av-faq-heading .av-text-link { margin-top:14px; font-size:13px; }
  .alameda .av-faq-list { padding-top:0; }
  .alameda .av-faq-list summary { font-size:14px; min-height:72px; gap:18px; }
  .alameda .av-faq-list details>p { font-size:14px; }
  .alameda .av-final-cta { display:block; padding:47px 26px 43px; }
  .alameda .av-final-cta .av-eyebrow { font-size:9px; }
  .alameda .av-final-cta h2 { font-size:clamp(76px,19vw,110px); }
  .alameda .av-final-action { align-items:flex-start; margin-top:35px; gap:19px; }
  .alameda .av-round-cta { border-radius:0; width:100%; height:auto; flex-direction:row; justify-content:space-between; padding:20px 22px; text-align:left; }
  .alameda .av-round-cta>span:first-child { font-size:16px; }
  .alameda .av-round-cta>span:first-child br { display:none; }
  .alameda .av-round-cta>span:last-child { font-size:29px; margin:0; }
  .alameda .av-final-action>a:last-child { font-size:12px; }
  .alameda .av-footer { padding:42px 22px 90px; }
  .alameda .av-footer-main { grid-template-columns:1fr; gap:28px; padding-bottom:32px; }
  .alameda .av-footer-brand { grid-column:auto; width:190px; margin-bottom:4px; }
  .alameda .av-footer-main .av-eyebrow { font-size:10px; margin-bottom:10px; }
  .alameda .av-footer-main address,.alameda .av-footer-main>div>a { font-size:13px; overflow-wrap:anywhere; }
  .alameda .av-footer-bottom { flex-direction:column; gap:14px; font-size:10px; }
  .alameda .av-footer-bottom>div { flex-wrap:wrap; gap:12px 22px; }
  .alameda .av-mobile-book { display:flex; align-items:center; justify-content:space-between; position:fixed; bottom:0; left:0; right:0; z-index:30; background:var(--navy); color:white; border-top:1px solid #6c7896; min-height:59px; padding:16px 24px max(16px,env(safe-area-inset-bottom)); font-size:14px; transition:transform .2s; }
  .alameda .av-mobile-book>span { color:var(--gold); font-size:21px; }
  .alameda .av-mobile-book.is-hidden { transform:translateY(110%); pointer-events:none; }
  .alameda .av-reservation-dialog { padding:35px 24px; }
  .alameda .av-reservation-dialog h2 { font-size:50px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .alameda *, .alameda *::before,.alameda *::after { transition:none!important; animation:none!important; } }

/* Leitura confortável sem perder a hierarquia editorial. */
.alameda .av-eyebrow,.alameda .av-room-info .av-eyebrow,.alameda .av-hero-note>span:last-child,
.alameda .av-experience-gold>.av-eyebrow,.alameda .av-experience-blue>.av-eyebrow,
.alameda .av-footer-main .av-eyebrow,.alameda .av-booking-heading .av-eyebrow,
.alameda .av-final-cta .av-eyebrow,.alameda .av-location-label>span { font-size:11px; }
.alameda .av-nav a,.alameda .av-button,.alameda .av-field label,.alameda .av-field input,
.alameda .av-field select,.alameda .av-text-link,.alameda .av-booking .av-button { font-size:14px; }
.alameda .av-hero-bottom p,.alameda .av-section-heading>p,.alameda .av-experience-description,
.alameda .av-location-copy>p:not(.av-eyebrow),.alameda .av-faq-heading>p:not(.av-eyebrow),
.alameda .av-faq-list summary,.alameda .av-faq-list details>p,
.alameda .av-reservation-dialog>p:not(.av-eyebrow) { font-size:16px; }
.alameda .av-intro-aside p,.alameda .av-accessibility-note p,
.alameda .av-experience-gold>div,.alameda .av-experience-blue>div,
.alameda .av-amenities-list p,.alameda .av-location-copy address,
.alameda .av-footer-main address,.alameda .av-footer-main>div>a { font-size:14px; }
.alameda .av-experience-gold small,.alameda .av-footer-bottom,
.alameda .av-final-action>a:last-child,.alameda .av-dialog-phone { font-size:12px; }
.alameda .av-amenities-list h3 { font-size:16px; }
.alameda .av-experience { grid-template-rows:minmax(340px,auto) minmax(290px,auto); }
@media(min-width:601px) and (max-width:1050px) {
  .alameda .av-booking { flex-direction:column; align-items:stretch; }
  .alameda .av-booking-heading { flex-basis:auto; }
}
@media(max-width:1150px) { .alameda .av-header { gap:20px; } .alameda .av-nav { gap:17px; } .alameda .av-header-book { font-size:12px; } }
@media(max-width:900px) { .alameda .av-experience { grid-template-rows:auto auto; } }
@media(max-width:600px) {
  .alameda .av-booking .av-button { white-space:normal; line-height:1.4; }
  .alameda .av-field input,.alameda .av-field select { font-size:16px; }
  .alameda .av-footer-bottom>div { gap:14px 20px; }
  .alameda .av-hero-copy>.av-eyebrow { font-size:10px; }
}


/* Instagram: acesso no cabeçalho e convite no rodapé das duas páginas. */
.alameda .av-instagram { -webkit-tap-highlight-color:transparent; }
.alameda .av-instagram svg { display:block; flex-shrink:0; }
.alameda .av-instagram-top { display:inline-flex; justify-content:center; align-items:center; flex:0 0 44px; width:44px; height:44px; border:1px solid #b5b6b5; border-radius:12px; color:var(--navy); background:transparent; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.alameda .av-instagram-top:hover { background:var(--navy); border-color:var(--navy); color:var(--gold); transform:translateY(-2px); }
.alameda .av-footer-identity .av-footer-brand { display:block; }
.alameda .av-footer-main .av-instagram-footer { display:inline-flex; align-items:center; gap:12px; width:max-content; max-width:100%; padding:13px 15px; margin-top:25px; border:1px solid #d3ccb9; border-radius:14px; background:#efeadf; color:var(--navy); text-decoration:none; line-height:1.4; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.alameda .av-instagram-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:10px; color:var(--gold); background:var(--navy); }
.alameda .av-instagram-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.alameda .av-instagram-copy>span { font-size:9px; font-weight:500; letter-spacing:.11em; }
.alameda .av-instagram-copy>strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.alameda .av-instagram-arrow { font-size:21px; margin-left:4px; transition:transform .2s; }
.alameda .av-footer-main .av-instagram-footer:hover { background:var(--navy); color:var(--paper); border-color:var(--navy); transform:translateY(-2px); text-decoration:none; }
.alameda .av-instagram-footer:hover .av-instagram-icon { color:var(--navy); background:var(--gold); }
.alameda .av-instagram-footer:hover .av-instagram-arrow { color:var(--gold); transform:translate(2px,-2px); }
@media(min-width:901px) { .alameda .av-header { column-gap:25px; } }
@media(min-width:901px) and (max-width:1100px) { .alameda .av-header { column-gap:15px; } .alameda .av-nav { gap:14px; } }
@media(max-width:900px) {
  .alameda .av-instagram-top { margin-left:auto; }
  .alameda .av-header-book { margin-left:0; }
  .alameda .av-footer-identity { grid-column:span 2; }
}
@media(max-width:600px) {
  .alameda .av-header { column-gap:16px; }
  .alameda .av-menu-toggle { margin-left:0; padding-left:0; }
  .alameda .av-footer-identity { grid-column:auto; }
  .alameda .av-footer-main .av-instagram-footer { margin-top:22px; }
}
@media(max-width:370px) {
  .alameda .av-header { column-gap:12px; }
  .alameda .av-brand { width:145px; }
  .alameda .av-menu-toggle { width:42px; min-height:44px; padding:12px 10px; justify-content:center; }
  .alameda .av-menu-toggle>span:first-child { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .alameda .av-footer-main .av-instagram-footer { padding:12px; gap:9px; }
}

/* Compact first reservation step; the approved sections retain their styling. */
.alameda .av-booking {display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;padding:28px 40px;align-items:center}
.alameda .av-booking-heading {min-width:0}
.alameda .av-booking-heading h2 {font-size:28px;line-height:1.15}
.alameda .av-booking-form {grid-template-columns:minmax(125px,.95fr) minmax(125px,.95fr) minmax(155px,1.15fr) minmax(165px,1.25fr) auto;gap:18px;align-items:end;min-width:0}
.alameda .av-booking .av-field {min-width:0;padding-bottom:6px}
.alameda .av-booking .av-field label,.alameda .av-guest-label {display:block;font:500 11px/1.4 'DM Sans',sans-serif;margin-bottom:7px;color:var(--navy)}
.alameda .av-booking .av-field input,.alameda .av-booking .av-field select {box-sizing:border-box;min-width:0;width:100%;height:33px;min-height:33px;padding:0 0 0 0;border-radius:0;background:transparent;font:400 14px/1.4 'DM Sans',sans-serif;color:var(--navy)}
.alameda .av-booking .av-field select {padding-right:16px;text-overflow:ellipsis}
.alameda .av-booking-form>.av-button {min-height:50px;padding:13px 22px;white-space:nowrap}
.alameda .av-guests-picker {position:relative;min-width:0;border-bottom:1px solid #9fa3aa;padding-bottom:6px}
.alameda .av-guests-picker summary {list-style:none;cursor:pointer;min-width:0}
.alameda .av-guests-picker summary::-webkit-details-marker {display:none}
.alameda .av-guest-value {display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;min-height:33px}
.alameda [data-guest-summary] {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alameda .av-guests-picker summary:focus-visible,.alameda .av-guests-done:focus-visible {outline:2px solid var(--navy);outline-offset:4px}
.alameda .av-guest-panel {position:absolute;top:calc(100% + 14px);right:0;width:290px;padding:23px;background:var(--paper);box-shadow:0 12px 35px #19294326;border:1px solid var(--line);z-index:20}
.alameda .av-guest-panel label {display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;margin-bottom:14px}
.alameda .av-guest-panel input {width:75px;min-height:40px;padding:6px 8px;font:inherit;border:1px solid #9fa3aa;border-radius:0;background:#fff;color:var(--navy)}
.alameda .av-guest-panel p {font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 18px}
.alameda .av-guests-done {display:flex;justify-content:space-between;width:100%;padding:11px 15px;background:var(--navy);color:var(--paper);border:0;font:500 13px 'DM Sans',sans-serif;cursor:pointer}
@media(max-width:1250px){.alameda .av-booking{grid-template-columns:1fr;gap:20px;padding:25px 32px}.alameda .av-booking-heading{display:flex;align-items:center;gap:20px}.alameda .av-booking-heading .av-eyebrow{margin:0}.alameda .av-booking-form{gap:20px}}
@media(max-width:900px){.alameda .av-booking{padding:26px 22px;gap:22px}.alameda .av-booking-heading{display:block}.alameda .av-booking-heading .av-eyebrow{margin-bottom:6px}.alameda .av-booking-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.alameda .av-booking-form>.av-button{grid-column:1/-1;width:100%;justify-content:space-between}.alameda .av-guest-panel{width:min(290px,calc(100vw - 44px))}.alameda .av-booking .av-field input,.alameda .av-booking .av-field select,.alameda .av-guest-panel input{font-size:16px}.alameda .av-guest-value{font-size:13px}}

/* Shared navigation across all site pages. */
.alameda [hidden]{display:none!important}
.alameda .av-header{position:relative;z-index:30}
.alameda .av-nav-group{position:relative}
.alameda .av-nav-label{display:flex;align-items:center}
/* The label and chevron share one accessible disclosure button. */
.alameda .av-subnav-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:12px 6px;background:transparent;border:0;border-bottom:1px solid transparent;color:var(--navy);font-size:14px;font-weight:400;line-height:1.65;text-align:left}
.alameda .av-subnav-toggle:hover,.alameda .av-subnav-toggle[aria-expanded=true]{border-bottom-color:var(--navy);background:transparent;color:var(--navy)}
.alameda .av-subnav-toggle.is-current{color:#816025;border-bottom-color:#94723b}
.alameda .av-subnav-arrow{display:inline-block;flex-shrink:0;font-size:19px;line-height:1}
.alameda .av-subnav-toggle[aria-expanded=true] .av-subnav-arrow{transform:rotate(180deg)}
.alameda .av-subnav{position:absolute;left:-18px;top:100%;width:310px;max-width:calc(100vw - 44px);padding:12px 18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 30px #24325214;z-index:40}
.alameda .av-subnav a{display:block;font-size:12px;line-height:1.5;padding:13px 3px;min-height:44px;border-bottom:1px solid var(--line)}
.alameda .av-subnav a:last-child{border-bottom:0}
.alameda .av-nav a[aria-current=page]{color:#816025;border-bottom-color:#94723b}
.alameda .av-footer-links{display:flex;flex-wrap:wrap;gap:14px 28px;padding:25px 0;border-top:1px solid var(--line);font-size:12px}
.alameda .av-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.alameda .av-see-all{margin-top:38px}
.alameda textarea:focus-visible{outline:3px solid #bd8731;outline-offset:4px}
@media(min-width:1101px){.alameda .av-nav{gap:22px}.alameda .av-header{column-gap:22px}.alameda .av-brand{width:175px}.alameda .av-header-book{gap:14px}.alameda .av-nav a,.alameda .av-subnav-toggle{font-size:12px}}
@media(min-width:901px) and (max-width:1100px){.alameda .av-header{min-height:92px;padding-block:20px;gap:20px}.alameda .av-menu-toggle{order:3;display:flex;align-items:center;gap:13px;border:0;background:transparent;color:var(--navy);padding:12px 0 12px 12px;font-size:13px}.alameda .av-menu-lines{display:block;width:21px;height:10px;border-block:1px solid currentColor}.alameda .av-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:var(--paper);padding:15px 32px 25px;box-shadow:0 15px 20px #2432521a}.alameda .av-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.alameda .av-header-book{margin-left:auto}}
@media(max-width:1100px){.alameda .av-nav{max-height:calc(100dvh - 110px);overflow-y:auto}.alameda .av-nav>a,.alameda .av-nav-label{border-bottom:1px solid var(--line);min-height:48px}.alameda .av-subnav-toggle{min-height:52px;padding-inline:6px;border-bottom:0}.alameda .av-subnav{position:static;width:auto;max-width:none;margin:0;padding:0 0 8px 18px;border:0;box-shadow:none}.alameda .av-subnav a{font-size:13px}.alameda .av-nav-group{position:static}}
@media(max-width:680px){.alameda .av-footer-links{gap:16px 22px;font-size:11px}}

/* Comfortable touch targets for the compact stay selector. */
@media(max-width:1100px){.alameda .av-booking .av-field input,.alameda .av-booking .av-field select{height:44px;min-height:44px;font-size:16px}.alameda .av-guest-value{min-height:44px}.alameda .av-guest-panel input{min-height:44px;font-size:16px}}

/* Assinatura da agência: contraste para a marca branca e espaço para toque. */
.alameda .av-footer-bottom { align-items:center; flex-wrap:wrap; padding-right:72px; }
.alameda .av-footer-bottom>div { flex-wrap:wrap; }
.alameda .av-developer { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:47px; padding:12px 16px; border-radius:3px; background:var(--navy); color:#fff; white-space:nowrap; font-size:11px; line-height:1.4; }
.alameda .av-developer img { width:65px; height:23px; flex:0 0 65px; object-fit:contain; }
.alameda .av-developer:hover { background:#243252; }
@media(max-width:680px) { .alameda .av-footer-bottom { align-items:flex-start; padding-right:0; } .alameda .av-developer { margin-top:6px; } }
