/* Mobile composition, preserving the approved desktop above 767px. */
@media(max-width:767px){
  body{min-width:320px}
  .stage{padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));min-height:100svh;justify-content:center}
  .glass{height:calc(100svh - 54px);min-height:480px;max-height:none;border-radius:24px}
  header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:12px 20px 0;flex:0 0 auto}
  .brand{grid-column:1;grid-row:1;margin:0;justify-self:start}
  .logo-crop{width:40px;height:59px}
  .logo-crop img{width:125px;height:125px;left:-44px;top:-37px}
  .languages{grid-column:2;grid-row:1;justify-self:end;margin:0;gap:2px}
  .languages button{min-width:40px;min-height:44px;font-size:12px;padding:10px 4px}
  header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:6px;padding:0;min-width:0}
  nav a{display:grid;place-items:center;text-align:center;font-size:10.5px;line-height:1.3;letter-spacing:.025em;padding:8px 2px;min-height:44px;min-width:0;white-space:normal;overflow-wrap:normal}
  nav a:before{inset:4px 0;border-radius:12px}
  nav a:after{left:12px;right:12px;bottom:5px}
  .content{padding:22px 22px 24px;min-height:0!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto}
  .page{max-width:100%;margin-block:auto;overflow-wrap:break-word}
  .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.14em;margin-bottom:18px;gap:7px}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 90px;grid-template-rows:auto auto;gap:18px 14px;min-height:0}
  .hero-copy{display:contents}
  .hero-copy h1{grid-column:1;grid-row:1;font-size:clamp(27px,7vw,36px);line-height:1.13;letter-spacing:-.04em;margin:0;align-self:center;overflow-wrap:normal}
  .hero-copy h1 br{display:none}
  .hero-copy h1 br:after{content:' '}
  .hero-copy .intro{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.7;margin:0;color:#183b2b}
  .hero-logo{grid-column:2;grid-row:1;position:relative;align-self:stretch;justify-self:stretch;width:auto;height:auto;min-height:145px;filter:none}
  #inicio .actions{margin-top:22px;display:grid;grid-template-columns:1fr;gap:10px}
  .button{min-height:46px;padding:13px 18px;line-height:1.4;font-size:12px;width:100%;gap:14px}
  h2{font-size:clamp(28px,7.6vw,36px);line-height:1.15;margin-bottom:20px}
  .intro{font-size:14px;line-height:1.75;margin-bottom:24px}
  .service-details{grid-template-columns:1fr;gap:22px;margin:22px 0}
  .service-details h3{font-size:17px;margin-bottom:8px}
  .service-details p{font-size:14px;max-width:none;line-height:1.7}
  .text-link{font-size:13px;line-height:1.6;padding-block:9px;min-height:44px}
  .contact-layout{grid-template-columns:1fr;gap:20px}
  #contacto h2{font-size:30px}
  #contacto .intro{font-size:14px;line-height:1.7;margin-bottom:0}
  .contact-form{gap:15px;padding-bottom:4px}
  .form-row{grid-template-columns:1fr;gap:15px}
  .contact-form label{font-size:13px;gap:7px}
  .contact-form input,.contact-form textarea{font-size:16px;min-height:46px;padding:12px;border-radius:12px;scroll-margin-block:20px}
  .contact-form textarea{min-height:132px;resize:vertical}
  .contact-form .button{justify-self:stretch;width:100%}
  .form-note,.form-privacy{font-size:11px;line-height:1.7}
  .panel-footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 18px;padding:10px 0;flex:0 0 auto}
  .service-label{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:54px;min-width:0;padding:0!important;font-size:10px;line-height:1.4;text-align:center;overflow-wrap:anywhere}
  .service-label+.service-label{border-left:1px solid #264e3629}
  .footer-service-icon{width:22px;height:22px;flex:0 0 22px}
  .outside-footer{font-size:8px;line-height:1.5;letter-spacing:0;gap:10px;padding:10px 2px 0;align-items:start}
  .outside-footer>span:last-child{text-align:right;max-width:62%}
  .scenery img{object-position:58% center}
}
@media(min-width:540px) and (max-width:767px){
  .content{padding:26px 32px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 140px;gap:22px}
  .hero-copy h1{font-size:36px}
  .hero-logo{min-height:205px}
  .form-row{grid-template-columns:1fr 1fr}
  #inicio .actions{grid-template-columns:1fr 1fr}
  .service-details{grid-template-columns:1fr 1fr}
}
@media(max-width:359px){
  header{padding-inline:16px}
  .content{padding-inline:18px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 74px;column-gap:10px}
  .hero-copy h1{font-size:27px}
  .hero-logo{min-height:128px}
  nav a{font-size:9.5px;letter-spacing:0}
}
