/* Mobile composition only; desktop keeps its existing grid and Hero. */
@media(max-width:767px){
  html{scroll-padding-top:88px}
  body{padding-bottom:env(safe-area-inset-bottom,0px)}
  .hero.hero--image{--type-h1:clamp(34px,9vw,40px);--mobile-hero-height:clamp(760px,calc(100svh - 38px),860px);min-height:var(--mobile-hero-height);padding:88px 0 48px;align-items:stretch;background:#091c30;--hero-overlay:linear-gradient(180deg,rgba(9,28,48,.97) 0%,rgba(9,28,48,.92) 24%,rgba(5,67,124,.72) 39%,rgba(9,28,48,.08) 53%,rgba(9,28,48,.08) 70%,rgba(9,28,48,.92) 84%,#091c30 100%)}
  .hero--image .hero-content{display:block;margin-block:0}
  .hero--image .hero-copy{display:grid;grid-template-areas:"label" "title" "lead" "scene" "actions" "benefits";grid-template-rows:auto auto auto minmax(180px,1fr) auto auto;min-height:calc(var(--mobile-hero-height) - 136px);align-items:start}
  .hero--image .hero-copy::after{content:"";grid-area:scene;pointer-events:none}
  .hero--image .eyebrow{grid-area:label;justify-self:start;max-width:300px;line-height:1.5}
  .hero--image h1{grid-area:title;max-width:340px;margin-block:16px 12px;text-shadow:0 1px 12px rgba(9,28,48,.18)}
  .hero--image h1 span{background:none;color:inherit}
  .hero--image h1 .hero-fiber{display:inline-block;color:#1faef5}
  .hero--image .hero-lead{grid-area:lead;font-size:15px;line-height:1.55;max-width:340px;color:#edf6ff}
  .hero--image .hero-actions{grid-area:actions;flex-direction:column;gap:10px;margin:18px 0 14px;max-width:430px}
  .hero--image .hero-actions .btn{width:100%;min-height:48px;padding:12px 16px;font-size:16px}
  .hero--image .hero-plans-cta{display:none}
  .hero--image .hero-mobile-cta{display:flex}
  .btn-primary{color:#091c30}
  .hero--image .hero-contract-cta{order:-1;background:#1faef5;border-color:#1faef5;color:#fff;box-shadow:0 8px 24px rgba(31,174,245,.18);text-shadow:0 1px 2px #05437c}
  .hero--image .hero-mobile-cta{background:rgba(9,28,48,.6);border-color:#1faef5;color:#f7fbff}
  .hero--image .hero-trust{grid-area:benefits;font-size:12px;gap:7px 12px;line-height:1.5;color:#dbeeff}
  .hero--image .hero-visual{display:none}
  .hero.hero--image::before{inset:0;width:auto;height:auto;background-image:var(--hero-mobile-image,url('../images/hero-gigared-mobile.webp'));background-size:cover;background-position:center 58%;background-repeat:no-repeat;mask-image:none}
  body[data-city="juliaca"] .hero.hero--image::before{background-position:57% 54%}
  .hero.hero--image::after{display:block;inset:0;width:auto;height:auto;filter:none;background:var(--hero-overlay),radial-gradient(ellipse at 5% 44%,rgba(31,174,245,.12),transparent 65%);z-index:1;pointer-events:none}
  html[data-theme="light"] .hero.hero--image{background:#eef8fe;--hero-overlay:linear-gradient(180deg,rgba(247,251,254,.99) 0%,rgba(240,249,255,.96) 24%,rgba(229,246,255,.81) 39%,rgba(240,249,255,.1) 53%,rgba(240,249,255,.04) 70%,rgba(238,248,254,.93) 84%,#eef8fe 100%)}
  html[data-theme="light"] .hero.hero--image::before{background-image:var(--hero-mobile-image,url('../images/hero-gigared-mobile.webp'))}
  html[data-theme="light"] .hero--image h1 span{background:none;color:inherit}
  html[data-theme="light"] .hero--image h1{text-shadow:none}
  html[data-theme="light"] .hero--image h1 .hero-fiber{color:#087ba9}
  html[data-theme="light"] .hero--image .hero-contract-cta{background:#1faef5;border-color:#1faef5;color:#fff}
  html[data-theme="light"] .hero--image .hero-mobile-cta{background:rgba(255,255,255,.72);border-color:#1faef5;color:#091c30}
  html[data-theme="light"] .hero--image .hero-lead,html[data-theme="light"] .hero--image .hero-trust{color:#29445d}
  .plans-section{margin-top:-24px;border-radius:28px 28px 0 0;z-index:3;background:#0b1c31;border-top:1px solid rgba(31,174,245,.22)}
  body:not([data-city]) main{display:flex;flex-direction:column}
  body:not([data-city]) main>.hero{order:0}
  body:not([data-city]) main>.plans-section{order:1}
  body:not([data-city]) main>.city-selector-section{order:2}
  body:not([data-city]) main>.coverage-section{order:3}
  body:not([data-city]) main>.contact-section{order:4}
  .nav{gap:12px}
  .menu-toggle{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}
  .menu-toggle i{display:none}
  .menu-toggle::before{content:"";width:22px;height:18px;background:linear-gradient(currentColor,currentColor) top/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) bottom/100% 2px no-repeat}
  .menu-toggle[aria-expanded="true"]::before{background:linear-gradient(45deg,transparent 45%,currentColor 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,currentColor 45% 55%,transparent 55%)}
  .theme-picker-toggle{min-width:44px;min-height:44px;display:grid;place-items:center}
  .theme-picker-toggle i{display:none}
  .theme-picker-toggle::before{content:"";width:19px;height:19px;border:2px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
  .nav-menu{left:14px;right:14px;padding:10px;gap:3px;max-height:calc(100dvh - 122px);overscroll-behavior:contain}
  .nav-menu a{padding:10px 12px}
  main>.section:not(.hero){padding-block:32px}
  .plans-section .section-heading,.puno-promos-v10 .section-heading{margin-bottom:18px}
  .plans-grid,body[data-city="puno"] .promo-v10-grid{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1px;overscroll-behavior-x:contain;padding:8px 1px 16px;scrollbar-width:none;max-width:100%;margin:0}
  .plans-grid::-webkit-scrollbar,body[data-city="puno"] .promo-v10-grid::-webkit-scrollbar{display:none}
  .plans-grid>.plan-card,body[data-city="puno"] .promo-v10-grid>.promo-v10-card{flex:0 0 86%;scroll-snap-align:start;scroll-snap-stop:normal;min-width:0}
  .plans-grid>.plan-card.reveal{opacity:1;transform:none}
  .plans-grid .plan-card,.plans-grid .plan-card.featured,.plans-grid .plan-card:hover,.plans-grid .plan-card.featured:hover{transform:none;padding:20px 18px}
  .plans-grid .plan-card{--type-plan-price:38px}
  .plan-card .plan-top{order:0;max-width:calc(100% - 95px)}
  .plan-card h3{order:1;margin:16px 0 6px;font-size:30px}
  .plan-card .price{order:2;margin:0 0 12px}
  .plan-card .plan-desc{order:3;font-size:14px;line-height:1.5;min-height:0;margin-bottom:12px}
  .plan-card ul{order:4;padding-top:12px;margin-bottom:16px;min-height:0}
  .plan-card li{font-size:13px;line-height:1.5;margin-block:7px}
  .plan-card .plan-btn{order:5;min-height:48px;font-size:14px}
  .plans-grid .plan-btn:hover{color:#091c30}
  .plan-card .popular{top:16px;right:12px;font-size:9px;padding:5px 7px}
  .mobile-carousel-indicator{display:flex;justify-content:center;align-items:center;gap:2px;min-height:44px;margin-top:2px}
  .mobile-carousel-indicator[hidden]{display:none}
  .mobile-carousel-dot{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;color:var(--muted);cursor:pointer}
  .mobile-carousel-dot::before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid currentColor}
  .mobile-carousel-dot[aria-current="true"]{color:var(--primary-2)}
  .mobile-carousel-dot[aria-current="true"]::before{background:currentColor;transform:scale(1.2)}
  html[data-theme="light"] .mobile-carousel-dot[aria-current="true"]{color:#086b9c}
  :is(.plans-grid,.promo-v10-grid):focus-visible{outline:2px solid #1faef5;outline-offset:2px}
  .mobile-carousel-dot:focus-visible{outline:2px solid #1faef5;outline-offset:-6px;border-radius:12px}
  .mobile-carousel-pause{min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:600 11px Inter,system-ui,sans-serif;cursor:pointer;margin-left:8px}
  .mobile-carousel-pause[hidden]{display:none}.mobile-carousel-pause:focus-visible{outline:2px solid #1faef5;outline-offset:2px}
  .carousel-reset{animation:carousel-reset .22s ease-out}@keyframes carousel-reset{from{opacity:.85}to{opacity:1}}
  @media(prefers-reduced-motion:reduce){.carousel-reset{animation:none}}
  body[data-city="puno"] .promo-v10-card{--type-promo-price:48px;padding:24px 18px;border-radius:22px}
  body[data-city="puno"] .promo-v10-card h3{margin-block:20px 12px;font-size:48px}
  body[data-city="puno"] .promo-v10-price{font-size:62px;letter-spacing:-3px}
  body[data-city="puno"] .promo-v10-period{font-size:16px}
  body[data-city="puno"] .promo-v10-regular{font-size:13px;padding-block:12px}
  body[data-city="puno"] .promo-v10-regular b{font-size:20px}
  body[data-city="puno"] .promo-v10-benefits{font-size:14px;line-height:1.6}
  body[data-city="puno"] .promo-v10-cta{min-height:48px;padding:13px;font-size:14px;color:#091c30}
  .gigared-public-map{height:300px;min-height:300px}
  .coverage-map-toolbar,.coverage-public-footer{padding:16px;gap:12px}
  .map-location-btn{min-height:44px}
  .leaflet-touch .leaflet-bar a{width:44px;height:44px;line-height:44px}
  .leaflet-control-attribution{max-width:calc(100vw - 48px);white-space:normal}
  .contact-layout,.contract-layout,.contract-form-grid,.form-row{grid-template-columns:1fr;gap:16px}
  .contract-form-grid label.full{grid-column:auto}
  .contact-form,.contract-form-area{padding:20px 16px}
  :is(.contact-form,.contract-form-grid,.location-row) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){min-height:46px;font-size:16px}
  .location-row{grid-template-columns:1fr;gap:10px}
  .location-row button{min-height:44px}
  .contract-actions{flex-direction:column;align-items:stretch;gap:12px}
  .contract-actions .btn,.contact-form .btn-full{min-height:48px;width:100%}
  .contract-summary{position:static}
  .contract-dialog{padding:24px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .contract-close{width:44px;height:44px}
  .whatsapp-float{width:48px;height:48px;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  :is(.whatsapp-float,.back-top).mobile-float-clear{visibility:hidden;pointer-events:none}
  .back-top{right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .footer{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  @media(prefers-reduced-motion:reduce){.plans-grid,.promo-v10-grid{scroll-behavior:auto}}
}
