/* Responsive navigation and comfortable touch controls. */
.menu-toggle,.site-header nav .nav-mobile-only{display:none}
.menu-toggle{width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#ffffff08;color:white;position:relative;order:3}
.menu-toggle span{position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:transform .2s,top .2s;top:17px}
.menu-toggle span+span{top:24px}
.menu-open .menu-toggle span{top:21px;transform:rotate(45deg)}
.menu-open .menu-toggle span+span{transform:rotate(-45deg)}
.site-header .header-actions{order:2}
.site-header.menu-open{background:#080b0f}
@media(max-width:950px){
  .site-header{gap:14px}
  .site-header .brand{margin-right:auto;min-height:44px;align-items:center}
  .menu-toggle{display:block}
  .header-actions .login-link{display:none}
  .header-actions .demo-link{min-height:44px;display:flex;align-items:center;justify-content:center}
  .site-header nav{display:none}
  .site-header.menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:12px var(--gutter) 24px;background:#080b0ff7;border-bottom:1px solid #ffffff25;max-height:calc(100svh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  .site-header.menu-open nav a,.site-header.menu-open nav a[href="#asistencia"]{display:flex;align-items:center;justify-content:space-between;min-height:48px;flex-shrink:0;font-size:17px;font-weight:500;border-bottom:1px solid #ffffff12;padding:10px 0}
  .site-header.menu-open nav .nav-login{margin-top:10px;color:#ff84ad;border:0}
  .format-controls button,.motion-toggle{min-height:44px}
  .format-controls{row-gap:8px}
  .city-timeline button,.cinematic-lab .cinema-controls button{min-height:44px}
  .text-link{min-height:44px;display:inline-flex;align-items:center}
  .footer-top nav{gap:4px 24px}
  .footer-top nav a,.footer-bottom a{min-height:44px;display:flex;align-items:center}
  .contact-direct>a{min-height:44px}
  #demo-form .interest-options span{min-height:44px;display:flex;align-items:center}
  #copy-request{min-height:44px}
  .section[tabindex="-1"]:focus{outline:none}
}
@media(max-width:600px){
  .site-header{gap:10px}
  .site-header.menu-open nav{max-height:calc(100svh - 78px);max-height:calc(100dvh - 78px)}
  .site-header.is-scrolled.menu-open nav{max-height:calc(100svh - 70px);max-height:calc(100dvh - 70px)}
  .cinematic-lab .cinema-controls{gap:6px 16px}
  .cinematic-lab .simulation-footer{padding-bottom:14px}
  .demo-caption{flex-wrap:wrap}
  .format-controls{display:grid;grid-template-columns:1fr 1fr}
  .format-controls button{padding-inline:8px}
  .contact-panel h3{overflow-wrap:break-word}
}
@media(max-width:760px){
  .screen-stage{height:clamp(240px,65vw,420px)}
  .screen-stage[data-format="wide"]{height:clamp(210px,55vw,340px)}
  .screen-stage[data-format="portrait"]{height:clamp(340px,90vw,480px)}
  .screen-stage[data-format="panoramic"]{height:clamp(170px,40vw,260px)}
}
@media(max-width:360px){
  .site-header .brand img{width:86px}
  .header-actions .demo-link{padding-inline:12px}
}
@media(hover:none){
  .button:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
