/* Ajustes comunes para portada, áreas y páginas legales. */
html{scroll-padding-top:7rem}
img{max-width:100%}
main,section,article,form,footer,.wrap,.container{min-width:0}
h1,h2,h3,p,a,label{overflow-wrap:break-word}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #C4A962;outline-offset:4px}
.footer-links a,.drawer-contact-line{overflow-wrap:anywhere}
.drawer{visibility:hidden;overscroll-behavior:contain;padding-bottom:max(3rem,env(safe-area-inset-bottom))}
.drawer.open{visibility:visible}
.drawer-link{min-width:0;gap:1rem;line-height:1.2}
.drawer-nav{flex-shrink:0}
.menu-btn,.drawer-close-btn,.hero-dot,.c-btn{min-width:44px;min-height:44px}
.menu-btn{justify-content:center}
.cookie{visibility:hidden;max-height:85vh;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}
.cookie.show{visibility:visible}
.cookie-text{min-width:0;flex-basis:20rem}
.cookie-btns{min-width:0}
.c-btn{font-size:.75rem}
.cookie-row{gap:1rem}
.cookie-row input{flex-shrink:0}
.float-wa{bottom:max(1.25rem,env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right))}
body:has(.cookie.show) .float-wa{visibility:hidden}
.acc-panel:has(+ *){min-width:0}
.form-unavailable{margin:0 0 1.5rem;font-size:.9375rem;line-height:1.65}
.form-unavailable a{text-decoration:underline;text-underline-offset:.2em}
.f-row>*{min-width:0}
.f-input,.f-select,.f-textarea{box-sizing:border-box;max-width:100%}
/* El hero crece con el texto, incluso con zoom o en horizontal. */
body:has(#siteHeader) .hero{height:auto;min-height:100svh}
body:has(#siteHeader) .hero-content{padding-top:clamp(12rem,20vw,14rem)}
.hero-title,.hero-title.sm{overflow-wrap:anywhere}
.hero-content .btn-ghost{max-width:100%;white-space:normal;line-height:1.5}
.reveal,.reveal-left,.reveal-right{opacity:1;transform:none}
.reveal-img img{clip-path:none}
@media(max-width:800px){
  .hero-title.sm{font-size:clamp(2rem,8vw,3.5rem)}
  .hero-slogan{margin-bottom:1.75rem}
  .hero-eyebrow{margin-bottom:1.25rem;line-height:1.6}
  .hero-content .btn-ghost{padding:1rem 1.25rem}
  .drawer-link{font-size:clamp(1.4rem,6vw,2rem)}
  .drawer-top{margin-bottom:1.5rem}
  .hero-glass-a{pointer-events:none}
}
@media(max-width:480px){
  .header-inner{flex-wrap:wrap;gap:.75rem}
  body:has(.legal-page) .site-header{position:relative}
  body:has(.legal-page) .legal-page{padding-top:2.5rem}
  .header-inner .brand{min-width:0}
  .header-inner .brand-descriptor{font-size:.6rem}
  .header-inner .main-nav{width:100%}
  .header-inner .main-nav .btn{width:100%;white-space:normal}
  .site-header:has(.header-nav){gap:.75rem;padding:1rem;flex-wrap:wrap}
  .header-logo{max-width:150px;height:auto}
  .header-cta{display:inline-flex;align-items:center;min-height:44px}
  .cookie{gap:1rem;padding-inline:1rem}
  .cookie-btns{width:100%;gap:.5rem}
  .cookie-btns .c-btn{flex:1 1 7rem;padding:.65rem .75rem}
  .trust-strip{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-content .hero-eyebrow,.hero-content .hero-title,.hero-content .hero-slogan,.hero-content .btn-ghost{opacity:1;transform:none}
}
