/* LÍVORA° — precision refinements | Mobile-first editorial quality */
:root{--refinement-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:86px}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid #9d7752;outline-offset:4px}
button,a{-webkit-tap-highlight-color:transparent}
img{height:auto}
.intro{transition-duration:.7s;will-change:transform}
.intro__film{animation-duration:1.55s}
.intro[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .intro,.intro *,.hero *,[data-reveal],.reveal,.gallery-frame,.ritual-line__main{animation:none!important;transition:none!important}
}
@media (max-width:780px){
 html{scroll-padding-top:70px}
 body{overflow-x:clip}
 .section-pad{padding-left:max(20px,5.25vw);padding-right:max(20px,5.25vw)}
 :where(p,blockquote,li){overflow-wrap:break-word}
 :where(.section-pad p,.footer p,.faq p,.space-story p){line-height:1.6}
 :where(.section-pad button,.section-pad a,.faq button,.mobile-nav a){touch-action:manipulation}
 .mobile-dock{
  position:fixed!important;
  left:auto!important;
  right:max(14px,env(safe-area-inset-right))!important;
  bottom:calc(16px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-width:calc(100vw - 28px)!important;
  padding:4px!important;
  gap:0!important;
  border-radius:3px!important;
  background:rgba(242,234,223,.96)!important;
  border:1px solid rgba(43,34,29,.26)!important;
  box-shadow:0 9px 25px rgba(30,24,20,.19)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:transform .38s var(--refinement-ease),opacity .3s ease!important;
  will-change:transform;
  z-index:65;
 }
 .mobile-dock button:first-child{display:none!important}
 .mobile-dock button{
  flex:1 1 auto!important;
  width:auto!important;
  min-height:44px!important;
  padding:11px 17px!important;
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  letter-spacing:.10em!important;
  font-weight:600!important;
  white-space:nowrap;
  border-radius:2px!important;
 }
 .mobile-dock:not(.visible){transform:translate3d(0,calc(140% + 30px),0)!important;pointer-events:none}
 .mobile-dock.visible{transform:translate3d(0,0,0)!important;pointer-events:auto}
 :where(.section-pad,.footer,.header,.hero) small{font-size:max(11px,1em)}
 .hero{min-height:600px}
 .hero__content{max-width:100%}
 .hero__content p{line-height:1.55}
 .header{max-width:100vw}
 :where(.faq input,.faq select,.faq button,.booking-shell input,.booking-shell select,.quiz button){
   font-size:max(16px,1em)
 }
 dialog{max-width:calc(100vw - 22px)}
 .footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
 .mobile-dock button{font-size:11px!important;padding-inline:12px!important}
 .section-pad{padding-left:18px;padding-right:18px}
 .hero__content h1{overflow-wrap:normal}
}
@media (min-width:781px){
 :where(.section-pad,.footer) p{line-height:1.55}
 .intro__top button:hover{opacity:.7}
}
