.mobile-menu-toggle{display:none}
@media(max-width:900px){
  html{scroll-padding-top:112px}
  body{padding-bottom:calc(28px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
  header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px max(16px,env(safe-area-inset-left));max-width:none}
  header .brand{display:block;min-width:0;max-width:none;font-size:16px}
  header .official-logo{display:block;width:138px;max-width:100%;height:auto}
  header .brand-descriptor{display:block;margin:3px 0 0;max-width:160px;font-size:10px;line-height:1.3;letter-spacing:0}
  header .header-right{display:flex;flex-direction:row;align-items:center;gap:8px}
  header .header-tools{position:static;display:block}
  header .lang-label{font-size:0}
  header .lang-label select{width:104px;max-width:104px;min-height:44px;margin:0;padding:8px 20px 8px 7px;font-size:16px;border-radius:4px}
  .mobile-menu-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);cursor:pointer}
  .menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:20px;height:2px;background:currentColor;position:relative}
  .menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;top:-6px}
  .menu-lines:after{top:6px}
  .mobile-menu-toggle[aria-expanded="true"] .menu-lines{background:transparent}
  .mobile-menu-toggle[aria-expanded="true"] .menu-lines:before{top:0;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] .menu-lines:after{top:0;transform:rotate(-45deg)}
  header #repsol-navigation{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px 20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #001e3714;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}
  header #repsol-navigation.is-open{display:flex}
  header #repsol-navigation a{display:flex;align-items:center;min-height:48px;width:100%;padding:12px 16px!important;border-radius:4px;font-size:16px;text-align:left;white-space:normal;line-height:1.4}
  header #audio-root{grid-column:1/-1;position:static;inset:auto;display:flex;justify-content:flex-end;max-width:none;width:100%;margin:0}
  header #audio-root .repsol-audio-toggle{min-height:44px;max-width:100%;font-size:13px;box-shadow:none;padding:8px 12px}
  .wrap{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  h1,h2,h3,.hero h1{letter-spacing:0;overflow-wrap:break-word}
  .hero h1{font-size:40px!important;line-height:1.12!important}
  .page-head h1{font-size:36px;line-height:1.15}
  h2{font-size:30px;line-height:1.2}
  .hero.hero-redesign{display:flex;flex-direction:column;gap:22px;padding-top:22px;padding-bottom:38px}
  .hero.hero-redesign>div:first-child{margin:0;padding:0;background:transparent;border-radius:0}
  .hero.hero-redesign .hero-image-wrap{width:100%;min-width:0}
  .hero.hero-redesign .hero-image-wrap .hero-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px}
  .hero.hero-redesign .hero-action-row{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin:0}
  .hero.hero-redesign .hero-action-row>div{margin:0;min-width:0}
  .hero.hero-redesign .hero-action-row a{width:100%;min-width:0;white-space:normal}
  .hero.hero-redesign .hero-meta-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:16px}
  .hero.hero-redesign .google-card,.hero.hero-redesign .hero-related{margin:0;min-width:0;max-width:100%}
  .hero.hero-redesign .hero-related .ame-related-card{max-width:100%}
  .grid,.editorial,.two-col,.office,.coverage-summary{grid-template-columns:minmax(0,1fr);gap:28px}
  .two-col>*,.grid>*,.editorial>*,.office>*{min-width:0}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;font-size:16px}
  input:not([type="checkbox"]):not([type="radio"]),select{min-height:48px}
  textarea{min-height:130px;resize:vertical}
  .prose{overflow-wrap:anywhere}
  .prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .site-button,.button,summary{min-height:48px;line-height:1.4;white-space:normal}
  .cta{max-width:calc(100% - 36px)}
  .cta .button{max-width:100%}
  .mobile-whatsapp{bottom:calc(16px + env(safe-area-inset-bottom))}
  .mobile-keyboard-open #mobile-contact{display:none}
}
@media(min-width:701px) and (max-width:900px){
  .news-latest .news-card{grid-template-columns:minmax(0,1fr)}
  .news-latest .news-card>img{height:auto;min-height:0;aspect-ratio:16/9}
  .hero .lede{font-size:18px}
}
@media(max-width:380px){
  header{gap:6px;padding-inline:12px}
  header .official-logo{width:124px}
  header .brand-descriptor{font-size:9px;max-width:140px}
  header .lang-label select{width:96px;max-width:96px}
  .hero h1,.page-head h1{font-size:34px!important}
  .heating-local{padding:20px 16px}
  .google-card{padding:16px 14px}
}
