/* ================================================================
   Tipografías autoalojadas (Unbounded + Space Grotesk, SIL OFL 1.1)
   ================================================================ */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/unbounded-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/unbounded-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/unbounded-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/unbounded-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/unbounded-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/unbounded-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/space-grotesk-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ================================================================
   DroneGranada — hoja de estilo principal
   Dirección: oscuro con el naranja del logotipo y geometría nazarí
   ================================================================ */

:root{
  --negro:#0b0b0c;
  --fondo:#0e0e10;
  --fondo-2:#141417;
  --superficie:#191a1d;
  --superficie-2:#212227;
  --linea:rgba(255,235,225,.10);
  --linea-fuerte:rgba(255,235,225,.19);

  --naranja:#fd7200;
  --naranja-claro:#ff8b28;
  --naranja-suave:rgba(253,114,0,.15);
  --ambar:#ffab5e;
  --ambar-suave:rgba(255,171,94,.13);

  --texto:#f3f0ed;
  --texto-2:#bdb8b3;
  --texto-3:#8f8a86;

  --radio:10px;
  --radio-s:6px;
  --radio-l:16px;
  --radio-btn:8px;
  --ancho:1200px;
  --ancho-texto:74ch;
  --sombra:0 18px 50px rgba(0,0,0,.55);
  --trans:.28s cubic-bezier(.4,0,.2,1);

  --display:"Unbounded","Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --sans:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

body{
  margin:0;background:var(--fondo);color:var(--texto);
  font-family:var(--sans);font-size:16.5px;line-height:1.7;
  font-weight:400;letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

h1,h2,h3,h4{margin:0 0 .55em;line-height:1.14;font-weight:600;letter-spacing:-.01em}
h1{font-family:var(--display);font-weight:600;font-size:clamp(1.85rem,4.4vw,3.25rem);line-height:1.1;letter-spacing:-.03em}
h2{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,2.9vw,2.2rem);line-height:1.16;letter-spacing:-.025em}
h3{font-family:var(--display);font-size:clamp(1rem,1.5vw,1.13rem);font-weight:500;letter-spacing:-.015em;line-height:1.3}
h4{font-family:var(--sans);font-size:.98rem;font-weight:700;letter-spacing:.02em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
strong{font-weight:700;color:#fff}
small{font-size:.86rem}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 22px}
.contenedor-estrecho{width:100%;max-width:860px;margin:0 auto;padding:0 22px}

/* ---------- geometría nazarí ---------- */
.nazari{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23fd7200' stroke-width='1' stroke-opacity='.30'%3E%3Cpath d='M60 6 74 20 94 20 94 40 108 54 94 68 94 88 74 88 60 102 46 88 26 88 26 68 12 54 26 40 26 20 46 20Z'/%3E%3Cpath d='M60 24 78 42 78 66 60 84 42 66 42 42Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:120px 120px;
}
.nazari--ambar{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffab5e' stroke-width='1' stroke-opacity='.22'%3E%3Cpath d='M60 6 74 20 94 20 94 40 108 54 94 68 94 88 74 88 60 102 46 88 26 88 26 68 12 54 26 40 26 20 46 20Z'/%3E%3Cpath d='M60 24 78 42 78 66 60 84 42 66 42 42Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- cabecera ---------- */
.cinta{background:var(--fondo-2);border-bottom:1px solid var(--linea);color:var(--texto-3);font-size:.76rem;letter-spacing:.04em}
.cinta .contenedor{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;text-align:center}
.cinta a{color:var(--naranja-claro);font-weight:600;border-bottom:1px solid rgba(255,139,40,.35)}
.cinta a:hover{border-bottom-color:var(--naranja-claro)}

.cabecera{position:sticky;top:0;z-index:80;background:rgba(14,14,16,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linea)}
.cabecera__fila{display:flex;align-items:center;gap:20px;min-height:82px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo__img{height:42px;width:auto;display:block}
.pie__logo .logo__img{height:46px}
@media (max-width:640px){.logo__img{height:30px}}

.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a,.nav button{
  display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border:0;background:none;
  font-size:.85rem;font-weight:500;color:var(--texto-2);border-radius:var(--radio-s);cursor:pointer;letter-spacing:.01em;
  transition:color var(--trans),background var(--trans);
}
.nav a:hover,.nav button:hover,.nav a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.06)}
.nav__flecha{width:10px;height:10px;transition:transform var(--trans)}
.nav__item{position:relative}
.nav__item[data-abierto="si"] .nav__flecha{transform:rotate(180deg)}

.mega{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);
  width:min(880px,88vw);background:var(--superficie);border:1px solid var(--linea-fuerte);
  border-radius:var(--radio-l);box-shadow:var(--sombra);padding:26px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
  opacity:0;visibility:hidden;transition:opacity var(--trans),transform var(--trans),visibility var(--trans);
}
.nav__item[data-abierto="si"] .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega h4{color:var(--ambar);font-family:var(--display);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px}
.mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mega ul a{display:block;padding:7px 10px;font-size:.9rem;font-weight:500;color:var(--texto-2);border-radius:8px}
.mega ul a:hover{color:#fff;background:var(--naranja-suave)}

.btn-menu{display:none;margin-left:auto;background:none;border:1px solid var(--linea-fuerte);border-radius:10px;padding:10px 12px;cursor:pointer}
.btn-menu span{display:block;width:19px;height:2px;background:var(--texto);margin:4px 0;transition:var(--trans)}

.movil{display:none;border-top:1px solid var(--linea);background:var(--fondo-2);max-height:78vh;overflow-y:auto;padding:12px 0 26px}
.movil[data-abierto="si"]{display:block}
.movil details{border-bottom:1px solid var(--linea)}
.movil summary{list-style:none;cursor:pointer;padding:15px 4px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.movil summary::-webkit-details-marker{display:none}
.movil summary::after{content:"+";color:var(--naranja-claro);font-size:1.4rem;line-height:1}
.movil details[open] summary::after{content:"–"}
.movil details ul{list-style:none;margin:0;padding:0 0 12px}
.movil details ul a{display:block;padding:9px 12px;color:var(--texto-2);font-size:.95rem}
.movil > a{display:block;padding:15px 4px;font-weight:700;border-bottom:1px solid var(--linea)}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 26px;border-radius:var(--radio-btn);font-weight:600;font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid transparent;background:transparent;cursor:pointer;transition:var(--trans);text-align:center;
}
.btn svg{width:17px;height:17px;flex-shrink:0}
.btn--principal{background:var(--naranja);color:#fff;box-shadow:0 8px 22px rgba(253,114,0,.26)}
.btn--principal:hover{background:var(--naranja-claro);transform:translateY(-2px);box-shadow:0 14px 32px rgba(253,114,0,.40)}
.btn--linea{border-color:var(--linea-fuerte);color:var(--texto)}
.btn--linea:hover{border-color:var(--ambar);color:#fff;background:var(--ambar-suave)}
.btn--wa{background:#1f8f4e;color:#fff}
.btn--wa:hover{background:#26a85c;transform:translateY(-2px)}
.btn--peq{padding:11px 18px;font-size:.76rem}
.btn-fila{display:flex;gap:13px;flex-wrap:wrap}

/* ---------- portada / cabeceras ---------- */
.hero{position:relative;min-height:min(90vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--negro)}
.hero__media{position:absolute;inset:0}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
  filter:saturate(1.02) contrast(1.06)}
.hero__video{opacity:0;transition:opacity 1.1s ease}
.hero__video[data-listo="si"]{opacity:1}
.hero__velo{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(11,11,12,.72) 0%,rgba(11,11,12,.42) 35%,rgba(11,11,12,.93) 100%),
  radial-gradient(80% 62% at 12% 88%,rgba(253,114,0,.34) 0%,transparent 68%)}
.hero__contenido{position:relative;z-index:2;padding-top:120px;padding-bottom:72px;width:100%}
.hero h1{max-width:17ch;margin-bottom:.35em;text-shadow:0 2px 26px rgba(0,0,0,.72)}
.hero__sub{font-size:clamp(1.02rem,2.1vw,1.24rem);color:var(--texto-2);max-width:58ch;margin-bottom:2em;text-shadow:0 1px 16px rgba(0,0,0,.7)}
.hero .btn-fila{margin-bottom:2.6em}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:600;
  font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;color:var(--ambar);margin-bottom:20px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--ambar);opacity:.7}

.tiras{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:22px}
.tiras div{flex:1 1 190px;padding:4px 20px 4px 0}
.tiras b{display:block;font-family:var(--display);font-weight:500;font-size:1.12rem;color:#fff;line-height:1.25;letter-spacing:-.02em}
.tiras span{font-size:.8rem;color:var(--texto-3);display:block;margin-top:4px}

/* cabecera interior */
.portadilla{position:relative;overflow:hidden;background:var(--fondo-2);border-bottom:1px solid var(--linea)}
.portadilla__media{position:absolute;inset:0}
.portadilla__media img{width:100%;height:100%;object-fit:cover;opacity:.6;filter:saturate(.85)}
.portadilla__velo{position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,11,12,.96) 0%,rgba(11,11,12,.86) 42%,rgba(11,11,12,.55) 100%),linear-gradient(180deg,rgba(11,11,12,.5),rgba(11,11,12,.85)),radial-gradient(70% 70% at 90% 12%,rgba(253,114,0,.26),transparent 62%)}
.portadilla__contenido{position:relative;z-index:2;padding-top:78px;padding-bottom:62px}
.portadilla h1{max-width:20ch;font-size:clamp(2rem,5vw,3.5rem)}
.portadilla__sub{font-size:1.08rem;color:var(--texto-2);max-width:62ch;margin-top:.4em}

.miga{font-size:.8rem;color:var(--texto-3);margin-bottom:20px}
.miga a{color:var(--texto-3)}
.miga a:hover{color:var(--ambar)}
.miga span{margin:0 7px;opacity:.5}

/* ---------- secciones ---------- */
.seccion{padding:88px 0;position:relative}
.seccion--fondo{background:var(--fondo-2)}
.seccion--negra{background:var(--negro)}
.seccion__cab{max-width:70ch;margin-bottom:46px}
.seccion__cab p{color:var(--texto-2);font-size:1.05rem}
.seccion__cab--centro{margin-left:auto;margin-right:auto;text-align:center}
.seccion__cab--centro .eyebrow{justify-content:center}

/* ---------- rejillas ---------- */
.rejilla{display:grid;gap:20px}
.rejilla--2{grid-template-columns:repeat(2,1fr)}
.rejilla--3{grid-template-columns:repeat(3,1fr)}
.rejilla--4{grid-template-columns:repeat(4,1fr)}

.tarjeta{
  position:relative;background:var(--superficie);border:1px solid var(--linea);
  border-radius:var(--radio);overflow:hidden;transition:var(--trans);display:flex;flex-direction:column;
}
.tarjeta::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--naranja);
  transform:scaleX(0);transform-origin:left;transition:transform var(--trans);z-index:3}
.tarjeta:hover{border-color:var(--linea-fuerte);transform:translateY(-4px);box-shadow:var(--sombra)}
.tarjeta:hover::after{transform:scaleX(1)}
.tarjeta__img{aspect-ratio:16/10;overflow:hidden;background:var(--negro)}
.tarjeta__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tarjeta:hover .tarjeta__img img{transform:scale(1.06)}
.tarjeta__cuerpo{padding:22px;display:flex;flex-direction:column;gap:9px;flex:1}
.tarjeta__cuerpo p{font-size:.94rem;color:var(--texto-2);margin:0}
.tarjeta__mas{margin-top:auto;padding-top:12px;font-size:.85rem;font-weight:700;color:var(--naranja-claro);display:inline-flex;align-items:center;gap:7px}
.tarjeta:hover .tarjeta__mas{gap:11px}
.tarjeta__etiqueta{
  position:absolute;top:13px;left:13px;z-index:2;background:rgba(11,11,12,.82);backdrop-filter:blur(6px);
  border:1px solid var(--linea-fuerte);border-radius:var(--radio-s);padding:5px 11px;font-size:.66rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ambar);
}

.icono{
  width:46px;height:46px;border-radius:12px;background:var(--naranja-suave);border:1px solid rgba(253,114,0,.26);
  display:flex;align-items:center;justify-content:center;color:var(--naranja-claro);margin-bottom:4px;
}
.icono svg{width:22px;height:22px}

/* tarjeta de flota */
.flota-tarjeta .tarjeta__img{aspect-ratio:4/3;background:linear-gradient(160deg,#1d1e22,#111114);display:flex;align-items:center;justify-content:center;padding:16px}
.flota-tarjeta .tarjeta__img img{object-fit:contain;width:100%;height:100%}

/* listas */
.lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.lista li{position:relative;padding-left:28px;color:var(--texto-2);font-size:.97rem}
.lista li::before{
  content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;transform:rotate(45deg);
  background:var(--naranja);border-radius:2px;
}
.lista--ambar li::before{background:var(--ambar)}

.chips{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}
.chips a,.chips span{
  display:inline-block;padding:8px 14px;border:1px solid var(--linea-fuerte);border-radius:var(--radio-s);
  font-size:.82rem;color:var(--texto-2);transition:var(--trans);letter-spacing:.01em;
}
.chips a:hover{border-color:var(--naranja);color:#fff;background:var(--naranja-suave)}

/* ---------- bandas con vídeo ---------- */
.banda{position:relative;overflow:hidden;background:var(--negro)}
.banda__media{position:absolute;inset:0}
.banda__media video,.banda__media img{width:100%;height:100%;object-fit:cover;opacity:.4}
.banda__velo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.95) 0%,rgba(11,11,12,.72) 55%,rgba(253,114,0,.26) 100%)}
.banda__contenido{position:relative;z-index:2;padding:92px 0;max-width:60ch}
.banda__contenido p{color:var(--texto-2)}

/* ---------- dos columnas ---------- */
.duo{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.duo--inv .duo__media{order:-1}
.duo__media img{border-radius:var(--radio);width:100%}
.duo__media{position:relative}
.duo__media::after{content:"";position:absolute;inset:0;border-radius:var(--radio);box-shadow:inset 0 0 0 1px var(--linea-fuerte)}


/* ---------- panel de zona (sustituye a la foto mientras no la haya) ---------- */
.panel-zona{position:relative;overflow:hidden;border-radius:var(--radio);
  background:linear-gradient(150deg,#1c1d21,#111114);border:1px solid var(--linea);
  aspect-ratio:16/10;display:flex;align-items:flex-end}
.panel-zona__cuerpo{position:relative;z-index:2;padding:26px}
.panel-zona__eti{display:block;font-family:var(--display);font-size:.62rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.18em;color:var(--ambar);margin-bottom:10px}
.panel-zona__nombre{display:block;font-family:var(--display);font-weight:600;
  font-size:clamp(1.1rem,1.9vw,1.5rem);color:#fff;line-height:1.16;letter-spacing:-.025em}
.panel-zona__pie{display:block;margin-top:9px;font-size:.78rem;color:var(--texto-3)}
.tarjeta--zona .panel-zona{border:0;border-radius:0}
.tarjeta--zona .panel-zona__cuerpo{padding:22px}

/* ---------- retrato de empresa ---------- */
.duo__media--retrato img{max-height:560px;width:auto;margin:0 auto}
.duo__media--retrato::after{display:none}

/* ---------- texto largo ---------- */
.prosa{max-width:var(--ancho-texto)}
.prosa h2{margin-top:1.9em}
.prosa h2:first-child{margin-top:0}
.prosa h3{margin-top:1.7em;color:#fff}
.prosa p,.prosa li{color:var(--texto-2)}
.prosa ul,.prosa ol{padding-left:1.15em;margin:0 0 1.2em}
.prosa li{margin-bottom:.5em}
.prosa a{color:var(--naranja-claro);border-bottom:1px solid rgba(255,139,40,.35)}
.prosa a:hover{border-bottom-color:var(--naranja-claro)}
.prosa blockquote{
  margin:1.8em 0;padding:20px 26px;border-left:3px solid var(--ambar);background:var(--superficie);
  border-radius:0 var(--radio-s) var(--radio-s) 0;font-family:var(--display);font-weight:400;font-size:1.02rem;line-height:1.55;color:var(--texto)
}
.prosa table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.93rem}
.prosa th,.prosa td{padding:11px 14px;border-bottom:1px solid var(--linea);text-align:left}
.prosa th{color:var(--ambar);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--display)}
.prosa td{color:var(--texto-2)}

.tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:12px;max-width:var(--ancho-texto)}
.faq details{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);transition:var(--trans)}
.faq details[open]{border-color:var(--naranja)}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--naranja-claro);font-size:1.5rem;line-height:1;flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq .faq__r{padding:0 22px 20px;color:var(--texto-2);font-size:.97rem}


/* ---------- galerías de trabajos técnicos ---------- */
.tecgal{--tg-accent:var(--ambar);--tg-line:var(--linea);--tg-surf:var(--superficie);
  --tg-muted:var(--texto-2);--tg-r:var(--radio)}
.tecgal-head{max-width:62ch;margin:0 0 clamp(20px,3vw,32px)}
.tecgal-kicker{margin:0 0 8px;font-family:var(--display);font-weight:600;font-size:.66rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--tg-accent)}
.tecgal-head h2{margin:0 0 10px}
.tecgal-sub{margin:0;color:var(--tg-muted)}
.tecgal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.tecgal-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tecgal-grid--2 .tecgal-fig img{height:clamp(240px,30vw,380px)}
.tecgal-fig{margin:0;border:1px solid var(--tg-line);border-radius:var(--tg-r);overflow:hidden;
  background:var(--tg-surf);display:flex;flex-direction:column}
.tecgal-fig img{display:block;width:100%;height:clamp(200px,24vw,280px);object-fit:cover;object-position:center}
.tecgal-fig--contain img{object-fit:contain;padding:10px;background:transparent}
.tecgal-cap{padding:12px 14px 14px;font-size:.82rem;line-height:1.5;color:var(--tg-muted)}
@media (max-width:1024px){.tecgal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .tecgal-grid,.tecgal-grid--2{grid-template-columns:1fr}
  .tecgal-fig img{height:auto;aspect-ratio:4/3}
  .tecgal-fig--contain img{aspect-ratio:1/1}
}

/* ---------- CTA ---------- */
.cta{position:relative;overflow:hidden;background:linear-gradient(135deg,#2a1405,#131316 62%);border-top:1px solid var(--linea)}
.cta__contenido{position:relative;z-index:2;padding-top:82px;padding-bottom:82px;text-align:center}
.cta__contenido p{color:var(--texto-2);max-width:56ch;margin:0 auto 2em;font-size:1.05rem}
.cta .btn-fila{justify-content:center}

/* ---------- formulario ---------- */
.form{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
.form .campo--ancho{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:7px}
.campo label{font-size:.83rem;font-weight:700;color:var(--texto-2);letter-spacing:.02em}
.campo input,.campo select,.campo textarea{
  background:var(--superficie);border:1px solid var(--linea-fuerte);border-radius:var(--radio-s);
  padding:13px 15px;color:var(--texto);font:inherit;font-size:.95rem;transition:var(--trans);width:100%;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px var(--naranja-suave)}
.campo textarea{min-height:130px;resize:vertical}
.campo--check{flex-direction:row;align-items:flex-start;gap:11px}
.campo--check input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--naranja)}
.campo--check label{font-weight:400;font-size:.85rem;color:var(--texto-3);line-height:1.5}
.campo--check a{color:var(--naranja-claro);text-decoration:underline}

/* ---------- pie ---------- */
.pie{background:var(--negro);border-top:1px solid var(--linea);padding:72px 0 0;font-size:.92rem}
.pie__rejilla{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:52px}
.pie h4{color:var(--ambar);font-family:var(--display);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:16px}
.pie ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.pie a{color:var(--texto-3);transition:color var(--trans)}
.pie a:hover{color:#fff}
.pie__intro p{color:var(--texto-3);font-size:.92rem;max-width:36ch}
.pie__logo{margin-bottom:18px}
.pie__logo svg{height:34px;width:auto}
.pie__contacto{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.pie__contacto a{color:var(--texto-2);font-weight:600}
.pie__legal{border-top:1px solid var(--linea);padding:22px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--texto-3);font-size:.83rem}
.pie__legal ul{flex-direction:row;gap:18px;flex-wrap:wrap}

/* ---------- flotante whatsapp ---------- */
.wa-flota{
  position:fixed;right:18px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:#1f8f4e;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.45);transition:var(--trans)
}
.wa-flota:hover{transform:scale(1.08)}
.wa-flota svg{width:28px;height:28px;fill:#fff}

/* ---------- cookies ---------- */
.cookies{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:90;background:var(--superficie);
  border:1px solid var(--linea-fuerte);border-radius:var(--radio);padding:20px 22px;box-shadow:var(--sombra);
  display:none;gap:18px;align-items:center;flex-wrap:wrap;max-width:820px;margin:0 auto;
}
.cookies[data-ver="si"]{display:flex}
.cookies p{font-size:.87rem;color:var(--texto-2);flex:1 1 320px;margin:0}
.cookies a{color:var(--naranja-claro);text-decoration:underline}


/* ================================================================
   Configurador de proyecto (/app/)
   ================================================================ */
.app{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.app__panel{position:sticky;top:110px;background:var(--superficie);border:1px solid var(--linea);
  border-radius:var(--radio);padding:24px}
.app__panel h3{margin-bottom:16px}
.app__resumen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.app__resumen li{display:flex;flex-direction:column;gap:3px;padding-bottom:12px;
  border-bottom:1px solid var(--linea);font-size:.86rem}
.app__resumen li:last-child{border-bottom:0;padding-bottom:0}
.app__resumen b{font-family:var(--display);font-size:.6rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.16em;color:var(--ambar)}
.app__resumen span{color:var(--texto-2)}
.app__resumen span:empty::before{content:"Sin elegir";color:var(--texto-3);opacity:.7}

.pasos{display:flex;gap:6px;margin-bottom:34px;flex-wrap:wrap}
.paso-chip{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--linea);
  border-radius:var(--radio-s);font-size:.76rem;color:var(--texto-3);background:var(--superficie);
  font-family:var(--display);letter-spacing:.04em}
.paso-chip[data-estado="activo"]{border-color:var(--naranja);color:#fff;background:var(--naranja-suave)}
.paso-chip[data-estado="hecho"]{color:var(--texto-2);border-color:var(--linea-fuerte)}
.paso-chip i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  background:var(--superficie-2);font-size:.7rem;color:var(--texto-2)}
.paso-chip[data-estado="activo"] i{background:var(--naranja);color:#fff}

.app__paso{display:none}
.app__paso[data-activo="si"]{display:block;animation:aparece .3s ease}
@keyframes aparece{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.opciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:8px}
.opcion{position:relative;display:flex;flex-direction:column;gap:5px;padding:16px 18px;cursor:pointer;
  background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio-s);
  transition:var(--trans);text-align:left;width:100%}
.opcion:hover{border-color:var(--linea-fuerte);background:var(--superficie-2)}
.opcion[aria-pressed="true"]{border-color:var(--naranja);background:var(--naranja-suave)}
.opcion strong{font-family:var(--display);font-weight:500;font-size:.92rem;color:var(--texto);letter-spacing:-.01em}
.opcion span{font-size:.8rem;color:var(--texto-3);line-height:1.45}
.opcion[aria-pressed="true"]::after{content:"";position:absolute;top:12px;right:12px;width:9px;height:9px;
  border-radius:50%;background:var(--naranja)}

.app__nav{display:flex;gap:12px;justify-content:space-between;margin-top:34px;
  padding-top:24px;border-top:1px solid var(--linea);flex-wrap:wrap}
.app__mapa{height:340px;border-radius:var(--radio);overflow:hidden;border:1px solid var(--linea-fuerte);
  background:var(--superficie);margin-top:6px}
.app__mapa-aviso{padding:20px;color:var(--texto-3);font-size:.88rem}
.app__coords{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:.82rem;color:var(--texto-3)}
.app__aviso{margin-top:14px;padding:14px 16px;border-left:2px solid var(--ambar);
  background:var(--superficie);border-radius:0 var(--radio-s) var(--radio-s) 0;
  font-size:.85rem;color:var(--texto-2)}
.leaflet-container{background:#111}

@media (max-width:960px){
  .app{grid-template-columns:1fr}
  .app__panel{position:static;order:2}
}
@media (max-width:640px){
  .opciones{grid-template-columns:1fr}
  .app__nav .btn{width:100%}
  .pasos{gap:4px}
  .paso-chip{font-size:.68rem;padding:7px 10px}
}

/* ---------- utilidades ---------- */
.centro{text-align:center}
.oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.saltar{position:absolute;left:-999px;top:0;background:var(--naranja);color:#fff;padding:12px 18px;z-index:200;border-radius:0 0 8px 0}
.saltar:focus{left:0}
:focus-visible{outline:2px solid var(--ambar);outline-offset:3px;border-radius:4px}
.mt-l{margin-top:44px}
.mt-m{margin-top:28px}

/* ================================================================
   RESPONSIVE — en móvil todo va a una sola columna
   ================================================================ */
@media (max-width:1024px){
  .nav{display:none}
  .btn-menu{display:block}
  .rejilla--4{grid-template-columns:repeat(2,1fr)}
  .pie__rejilla{grid-template-columns:repeat(2,1fr);gap:34px}
  .duo{gap:34px}
}
@media (max-width:860px){
  .duo{grid-template-columns:1fr}
  .duo--inv .duo__media{order:0}
  .rejilla--3{grid-template-columns:repeat(2,1fr)}
  .seccion{padding:64px 0}
  .banda__contenido{padding:64px 0}
}
@media (max-width:640px){
  body{font-size:16px}
  .contenedor,.contenedor-estrecho{padding:0 18px}
  .rejilla--2,.rejilla--3,.rejilla--4{grid-template-columns:1fr}
  .pie__rejilla{grid-template-columns:1fr;gap:30px}
  .form{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero__velo{background:
    linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,.3) 30%,rgba(11,11,12,.92) 100%),
    radial-gradient(90% 45% at 6% 92%,rgba(253,114,0,.24) 0%,transparent 62%)}
  .hero__contenido{padding-top:96px;padding-bottom:56px}
  .hero h1{max-width:none}
  .btn{width:100%}
  .btn-fila{flex-direction:column;width:100%}
  .btn-fila .btn{width:100%}
  .tiras div{flex:1 1 100%;padding:8px 0}
  .portadilla__contenido{padding-top:58px;padding-bottom:48px}
  .seccion{padding:56px 0}
  .cta__contenido{padding-top:60px;padding-bottom:60px}
  .pie__legal{flex-direction:column;gap:12px}
  .pie__legal ul{flex-direction:column;gap:9px}
}
