/* Consistent small-screen controls and motion preferences. */
.leg-mais-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.legenda:focus-within{opacity:1!important;pointer-events:auto}
.sobreposto{overscroll-behavior:contain}
.porta.aberta{transform:scale(3)}
.porta.aberta svg.rede{filter:none;animation:none}
.caixa,.legpop-vidro{max-height:calc(100dvh - 36px);overflow-y:auto}
.legpop-p,.app-desc,.mani-chave,.vozes p,.mote-grelha p{font-size:1rem;line-height:1.65}
.legpop-p .app-cta{display:table;margin-top:24px}
.marca img{width:32px;height:32px;flex:none}
.banda-toggle{min-width:32px;min-height:28px}
.idiomas button{min-width:28px;min-height:28px}
body.dialogo-aberto{overflow:hidden!important}
@media(max-width:900px){
  .porta{overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain}
  .porta-grelha{position:relative;inset:auto;min-height:100svh;padding:110px 24px 158px;gap:26px;align-content:start}
  .porta-objeto{grid-column:1;grid-row:1;min-width:0;gap:12px}
  .porta svg.rede{width:min(62vw,270px);transform:none}
  .porta svg.rede-reflexo{display:none}
  .porta-texto{grid-column:1;grid-row:2;gap:24px;min-height:0;padding:0}
  .porta .frase{font-size:clamp(30px,7.5vw,44px)}
  .porta .frase-abre{font-size:12px;line-height:1.5;letter-spacing:.14em;margin-bottom:12px}
  .porta .legendas{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px;gap:8px;pointer-events:auto}
  .porta .legenda:last-child{grid-column:1/-1;justify-self:center}
  .porta .legenda{position:static!important;opacity:1;transform:none;max-width:none!important;text-align:left!important;width:auto;pointer-events:auto}
  .porta .legenda>.leg-eye,.porta .legenda>.leg-txt,.porta .legenda>.leg-mais,.porta .leg-fio{display:none}
  .porta .leg-mais-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:38px;padding:8px;margin:0;border:1px solid rgba(143,180,240,.25);border-radius:16px;background:rgba(16,26,50,.28);font:400 12px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:#D0DCEF;opacity:1}
  .porta .leg-mais-name{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .porta .leg-more{display:none}
  .porta .banda{position:fixed;bottom:46px}
  .porta .nome{top:22px}
  .idiomas{top:20px;left:auto;right:16px;transform:none}
  .espaco>.topo{padding-top:72px;background:linear-gradient(#16233f 65%,rgba(22,35,63,0))}
  .espaco .atrio{padding-top:140px}
  .topo .marca{font-size:16px;gap:6px}
  .topo .marca img{width:28px;height:28px}
  .topo .pill{white-space:nowrap;font-size:10px;letter-spacing:.05em;padding:8px 10px}
  .topo .lado{gap:6px}
  .caminhos{margin:0}
  .caminho.principal{max-width:100%}
  .pezinho{max-width:calc(100vw - 24px);left:12px;gap:10px;flex-wrap:wrap;border-radius:14px;font-family:var(--sans);font-size:11px;letter-spacing:0;text-transform:none}
  .mx,.mx-corpo{grid-template-columns:84px minmax(0,1fr) minmax(0,1fr)}
  .mx-cel{padding:14px 10px;min-width:0}
  .mx-nat{font-size:12px;padding:12px 6px}
  .mx-amb{font-size:12px;padding:12px 6px}
  .mx-t{font-size:14px;overflow-wrap:anywhere}
  .mx-s{font-size:12px}
  .sobreposto{padding:12px}
  .legpop-vidro{width:100%;padding:64px 24px 26px;max-height:calc(100dvh - 24px)}
  .legpop-t{font-size:24px}
  .bio-caixa,.mani-caixa,.app-caixa{max-height:calc(100dvh - 24px);width:100%}
  .pagina-legal .topo{padding-top:78px}
  .pagina-legal .legal{padding-top:148px;font-size:16px}
  .pagina-blog .topo{padding-top:74px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .blog-cab>* , .blog-lista li,.porta .nome,.porta-texto,.no,.legpop-corpo,.passo{opacity:1!important;transform:none!important;clip-path:none!important}
}
@media(max-width:720px){.mx,.mx-corpo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mx-amb{letter-spacing:.08em}.via{max-width:100%}.via button{padding:10px 14px}}

/* Booking actions: a warm yellow with dark, readable labels. */
.caminho.principal,.pill.q,.pagina-blog .pill.q,.app-cta.q,.cta-mini{
  background:linear-gradient(145deg,#FFE27A,#F4C84B);border-color:#F4C84B;color:#202637;
  box-shadow:0 4px 18px rgba(244,200,75,.16);
}
.caminho.principal b,.caminho.principal span{color:#202637}
.caminho.principal:hover,.pill.q:hover,.app-cta.q:hover{background:#FFE58A;border-color:#FFE58A;color:#202637}
/* Outside the animated entrance: fixed means the viewport, not its transformed parent. */
body>.banda{position:fixed;z-index:104;bottom:calc(46px + env(safe-area-inset-bottom,0px));visibility:hidden;pointer-events:none}
body.fechada>.banda{visibility:visible;pointer-events:auto}
@media(max-width:900px){
  .porta-grelha{padding-top:90px;padding-bottom:150px}
  .porta-texto{grid-row:1;gap:20px}
  .porta-objeto{grid-row:2}
  .porta-texto .cabeca{order:0}
  .porta-texto .caminhos{order:1}
  .porta-texto .frase{order:2}
  .caminho.principal{min-height:58px;width:100%;align-items:center;text-align:center}
  .caminhos-ops{width:100%}
  body>.banda{bottom:calc(62px + env(safe-area-inset-bottom,0px));height:52px}
  body>.banda.recolhida{height:0}
  .pezinho{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
}

/* Booking is attached to an existing blue sphere in the entrance symbol. */
.esfera-conversa{position:absolute;z-index:8;transform:translate(-50%,-50%);width:var(--diametro,44px);height:var(--diametro,44px);min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;overflow:visible}
.esfera-conversa span{position:absolute;top:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;color:#FFB877;font-size:14px;font-weight:600;line-height:1.4;text-shadow:0 2px 8px #152034}
.esfera-conversa:hover{background:rgba(172,207,239,.12);box-shadow:0 0 22px rgba(133,180,222,.25)}
.esfera-conversa:focus-visible{outline:2px solid #FFB877;outline-offset:5px}
@media(max-width:900px){.porta-objeto{grid-row:1}.porta-texto{grid-row:2}.porta-grelha{padding-top:94px}.porta-texto .frase{order:1}}

.esfera-conversa span{color:#EDF2F8}

.esfera-conversa span{visibility:hidden;opacity:0;background:#19354E;color:#EDF2F8;padding:6px 10px;border-radius:6px;text-shadow:none;pointer-events:none;transition:opacity .15s}
.esfera-conversa:focus-visible span{visibility:visible;opacity:1}
@media(hover:hover){.esfera-conversa:hover span{visibility:visible;opacity:1}}
