/*
Theme Name: PaoSEO Cantabria
Theme URI: https://paoseo.com/
Author: Paola Andrea Quijano Fuenmayor
Author URI: https://paoseo.com/
Description: Tema completo de PaoSEO con páginas WordPress reales, arquitectura local por municipios, recursos visuales, SEO técnico, sitemap, schema y Contact Form 7.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: paoseo
License: Proprietary
*/

:root{
  --crema:#FFFFFF;
  --crema-2:#F0F0F0;
  --oliva:#23281B;        /* tinta / secciones oscuras */
  --oliva-2:#2E3524;
  --oliva-suave:#5D6551;
  --lima:#C6F542;         /* acento verde ácido */
  --lima-osc:#9FCC1F;
  --blanco:#FFFFFF;
  --linea:#DDDDDD;
  --g-azul:#1a56cf; --g-gris:#5f6f75; /* simulador SERP */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Instrument Sans',system-ui,sans-serif;
  color:var(--oliva); background:var(--crema);
  font-size:17px; line-height:1.65;
}
.display{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:.94}
h2{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(2rem,4.2vw,3.4rem); line-height:.98; letter-spacing:.01em}
h3{font-size:1.12rem; font-weight:700}
h2 .lima{color:var(--lima-osc)}
a{color:var(--oliva)}
img{max-width:100%; display:block}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px}
.eyebrow{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.74rem; letter-spacing:.2em; text-transform:uppercase;
  display:inline-block; margin-bottom:18px; color:var(--oliva-suave);
}
section{padding:96px 0}
.btn{
  display:inline-block; text-decoration:none; font-weight:700; font-size:1rem;
  padding:16px 34px; border-radius:999px; transition:transform .18s, box-shadow .18s, background .18s;
}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--lima-osc); outline-offset:3px}
.btn.lima{background:var(--lima); color:var(--oliva); box-shadow:0 12px 28px -14px rgba(159,204,31,.8)}
.btn.lima:hover{background:#D3FA5F}
.btn.oscuro{background:var(--oliva); color:var(--lima)}
.btn.oscuro:hover{background:#171B11}
.btn.borde{background:transparent; border:2px solid var(--oliva); color:var(--oliva)}
.btn.borde:hover{background:var(--oliva); color:var(--lima)}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.94); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linea);
}
.nav{display:flex; align-items:center; justify-content:space-between; height:68px}
.logo{font-family:'Anton',sans-serif; font-size:1.35rem; color:var(--oliva); text-decoration:none; letter-spacing:.02em}
.logo span{color:var(--lima-osc)}
.nav ul{display:flex; gap:26px; list-style:none}
.nav ul a{color:var(--oliva-suave); text-decoration:none; font-size:.93rem; font-weight:600}
.nav ul a:hover{color:var(--oliva)}
.nav .btn{padding:10px 22px; font-size:.87rem}
@media(max-width:880px){.nav ul{display:none}}

/* ---------- HERO estilo póster ---------- */
.hero{padding:70px 0 90px; position:relative; overflow:hidden; text-align:center; background:var(--lima)}
.hero-top{
  display:flex; justify-content:space-between; align-items:center; max-width:980px; margin:0 auto 8px;
  font-family:ui-monospace,Menlo,monospace; font-size:.9rem; color:#55651C; letter-spacing:.1em;
}
.hero-top .anio{font-family:'Anton',sans-serif; font-size:1.5rem; color:#55651C}
.hero-top .centro{font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; max-width:22rem}
.hero h1{margin:6px 0 0}
.hero h1 .fila{display:block; font-size:clamp(3.2rem,11.5vw,9.2rem); color:var(--oliva)}
.hero h1 .fila.tono{color:#9BD41E}          /* tono sobre tono lima, guiño Filmsupply */
.hero h1 .fila.acento{color:var(--oliva); position:relative; display:inline-block}
.hero h1 .fila.acento::after{               /* trazo de brocha naranja (ref. SOSDigital) */
  content:""; display:block; height:clamp(6px,1.1vw,12px); width:72%;
  margin:10px auto 0; background:#F27B21; border-radius:999px;
  transform:rotate(-1.4deg) skewX(-14deg);
}
.hero .lead{max-width:34rem; margin:30px auto 34px; font-size:1.12rem; color:#3F4A22}
.hero .acciones{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; align-items:center}
.hero .mini{font-size:.85rem; color:#4A5620; width:100%; margin-top:10px}

/* escena: dueña de negocio + tarjetas UI flotantes */
.escena{
  position:relative; max-width:920px; margin:64px auto 0;
}
.escena .foto{
  width:min(430px,80%); margin:0 auto; border-radius:24px; overflow:hidden;
  box-shadow:0 44px 84px -38px rgba(35,40,27,.65);
  aspect-ratio:4/5; background:var(--crema-2);
}
.escena .foto img{width:100%; height:100%; object-fit:cover}
.tarjeta{
  position:absolute; background:var(--blanco); border-radius:16px; padding:14px 16px;
  box-shadow:0 22px 44px -20px rgba(35,40,27,.4); text-align:left;
  animation:flota 5s ease-in-out infinite;
}
.tarjeta.busca{
  top:6%; left:0; width:290px; font-family:arial,sans-serif; font-size:.9rem; color:#202124;
  display:flex; align-items:center; gap:10px; border-radius:999px; padding:12px 18px;
}
#consulta{white-space:nowrap; overflow:hidden}
.cursor{display:inline-block; width:1px; height:1.05em; background:#202124; vertical-align:text-bottom; animation:parpadeo 1s steps(1) infinite}
@keyframes parpadeo{50%{opacity:0}}
.tarjeta.gbp{top:38%; left:2%; width:250px; animation-delay:1.2s}
.tarjeta.gbp .nombre{font-weight:700; font-size:.98rem}
.tarjeta.gbp .stars{color:#f8af00; font-size:.82rem; letter-spacing:1px}
.tarjeta.gbp .stars span{color:#6b7280; letter-spacing:0}
.tarjeta.gbp .estado{font-size:.8rem; margin-top:2px}
.tarjeta.gbp .estado b{color:#0a7a2f; font-weight:600}
.tarjeta.mapa{top:10%; right:0; width:210px; padding:0; overflow:hidden; animation-delay:.6s}
.tarjeta.mapa .plano{
  height:96px; position:relative;
  background:
    linear-gradient(90deg, transparent 46%, #fff 46%, #fff 54%, transparent 54%),
    linear-gradient(0deg, transparent 40%, #fff 40%, #fff 48%, transparent 48%),
    #DCE8CF;
}
.tarjeta.mapa .pin{
  position:absolute; top:26px; left:50%; transform:translateX(-50%);
  width:26px; height:26px; background:var(--lima-osc); border-radius:50% 50% 50% 0;
  transform:translateX(-50%) rotate(-45deg); border:3px solid var(--oliva);
}
.tarjeta.mapa .datos{padding:12px 14px}
.tarjeta.mapa .nombre{font-weight:700; font-size:.95rem}
.tarjeta.mapa .estado{font-size:.78rem; color:#6b7280}
.tarjeta.pos{bottom:8%; right:3%; background:var(--lima); animation-delay:2s}
.tarjeta.pos .num{font-family:'Anton',sans-serif; font-size:2rem; line-height:1}
.tarjeta.pos .txt{font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:760px){
  .tarjeta.busca{width:230px; left:-6px}
  .tarjeta.gbp{left:-6px; width:210px}
  .tarjeta.mapa{right:-6px; width:170px}
  .hero-top .anio{display:none}
}

/* ---------- Marquee ---------- */
.marquee{
  background:var(--oliva); overflow:hidden; padding:16px 0; white-space:nowrap;
}
.marquee .pista{display:inline-block; animation:desliza 26s linear infinite}
.marquee span{
  font-family:'Anton',sans-serif; text-transform:uppercase; font-size:1rem; color:var(--crema); margin:0 24px; letter-spacing:.05em;
}
.marquee span b{color:var(--lima); font-weight:400; margin-right:24px}
@keyframes desliza{to{transform:translateX(-50%)}}

/* ---------- Municipios ---------- */
.municipios .intro{max-width:42rem; margin-top:20px; color:var(--oliva-suave); font-size:1.05rem}
.grid-pueblos{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin-top:52px}
.pueblo{
  background:var(--blanco); border-radius:18px; padding:26px 20px 22px;
  text-decoration:none; color:var(--oliva); position:relative; overflow:hidden;
  transition:transform .2s, box-shadow .2s; border:1px solid var(--linea);
}
.pueblo::after{
  content:""; position:absolute; inset:auto 0 0 0; height:4px; background:var(--lima);
  transform:scaleX(0); transform-origin:left; transition:transform .25s;
}
.pueblo:hover{transform:translateY(-5px); box-shadow:0 24px 44px -26px rgba(35,40,27,.45)}
.pueblo:hover::after{transform:scaleX(1)}
.pueblo h3{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:1.2rem; margin-bottom:8px}
.pueblo p{font-size:.85rem; color:var(--oliva-suave)}
.pueblo .km{
  display:block; margin-top:16px; font-family:ui-monospace,Menlo,monospace;
  font-size:.66rem; letter-spacing:.12em; color:var(--lima-osc); font-weight:700;
}
@media(max-width:940px){.grid-pueblos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid-pueblos{grid-template-columns:1fr}}

/* ---------- Servicios ---------- */
.modelos{background:var(--crema-2)}
.modelos .grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:52px}
.plan{
  border-radius:24px; padding:42px 38px; display:flex; flex-direction:column;
  background:var(--blanco); border:1px solid var(--linea);
  transition:transform .2s, box-shadow .2s;
}
.plan:hover{transform:translateY(-4px); box-shadow:0 28px 52px -30px rgba(35,40,27,.4)}
.plan.destacado{background:var(--oliva); color:var(--crema); border:none; position:relative}
.plan.destacado h3, .plan.destacado .precio{color:var(--blanco)}
.plan.destacado .para{color:#B9BFA9}
.plan.destacado li{color:#D6DBC8}
.plan .tag{
  position:absolute; top:-14px; left:38px; background:var(--lima); color:var(--oliva);
  font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:6px 14px; border-radius:999px;
}
.plan h3{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:1.4rem}
.plan .precio{font-family:'Anton',sans-serif; font-size:2.6rem; margin:16px 0 4px}
.plan .precio small{font-size:.95rem; font-family:'Instrument Sans',sans-serif; font-weight:600; opacity:.6}
.plan .para{font-size:.92rem; color:var(--oliva-suave); margin-bottom:22px}
.plan ul{list-style:none; margin:0 0 30px; flex:1}
.plan li{padding:7px 0 7px 30px; position:relative; font-size:.95rem}
.plan li::before{content:"→"; position:absolute; left:0; color:var(--lima-osc); font-weight:700}
.plan.destacado li::before{color:var(--lima)}
.nota-seo{margin-top:30px; font-size:.93rem; color:var(--oliva-suave)}
@media(max-width:860px){.modelos .grid{grid-template-columns:1fr}}

/* ---------- Sección "más que posiciones" (ref. imagen 4) ---------- */
.beneficios{background:var(--oliva); color:var(--crema); text-align:center; overflow:hidden}
.beneficios .eyebrow{color:var(--lima)}
.beneficios h2{color:var(--blanco); font-size:clamp(2.4rem,6vw,4.6rem); max-width:60rem; margin:0 auto}
.beneficios h2 em{font-style:normal; color:var(--lima)}
.beneficios .sub{color:#B9BFA9; margin:20px auto 0; max-width:30rem}
.mesa{position:relative; max-width:860px; margin:60px auto 0}
.mesa .foto{
  border-radius:24px; overflow:hidden; aspect-ratio:16/10; background:var(--oliva-2);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8);
}
.mesa .foto img{width:100%; height:100%; object-fit:cover}
.burbuja{
  position:absolute; background:var(--blanco); color:var(--oliva); border-radius:16px;
  padding:14px 18px; text-align:left; display:flex; gap:12px; align-items:center;
  box-shadow:0 24px 48px -22px rgba(0,0,0,.6); max-width:220px;
  animation:flota 5.5s ease-in-out infinite;
}
.burbuja .ico{
  flex:none; width:38px; height:38px; border-radius:12px; background:var(--lima);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.burbuja b{display:block; font-size:.92rem; line-height:1.3}
.burbuja.b1{top:-6%; left:-4%}
.burbuja.b2{top:38%; left:-7%; animation-delay:1.1s}
.burbuja.b3{top:-8%; right:-4%; animation-delay:.5s}
.burbuja.b4{top:44%; right:-7%; animation-delay:1.7s}
@media(max-width:820px){
  .burbuja{position:static; margin:12px auto 0; max-width:320px}
  .mesa .flotantes{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px}
  .mesa .flotantes .burbuja{margin:0; animation:none}
}

/* ---------- Proceso ---------- */
.pasos{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:56px}
.paso{background:var(--blanco); border:1px solid var(--linea); border-radius:20px; padding:30px 26px}
.paso .num{
  font-family:'Anton',sans-serif; font-size:2.4rem; color:var(--lima-osc);
  display:block; margin-bottom:12px; line-height:1;
}
.paso h3{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; margin-bottom:10px; font-size:1.15rem}
.paso p{font-size:.9rem; color:var(--oliva-suave)}
@media(max-width:860px){.pasos{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pasos{grid-template-columns:1fr}}

/* ---------- Sobre ---------- */
.sobre{background:var(--crema-2)}
.sobre .wrap{display:grid; grid-template-columns:.9fr 1.3fr; gap:70px; align-items:center}
.retrato{
  aspect-ratio:4/5; border-radius:24px; position:relative; overflow:hidden;
  background:var(--oliva); display:flex; align-items:flex-end; padding:26px;
}
.retrato::before{
  content:"PAO"; position:absolute; top:-18px; right:-10px;
  font-family:'Anton',sans-serif; font-size:7.5rem; color:var(--lima); opacity:.92; line-height:1;
}
.retrato span{font-family:ui-monospace,Menlo,monospace; font-size:.7rem; letter-spacing:.16em; color:#B9BFA9; text-transform:uppercase}
.sobre p{margin-bottom:16px; color:var(--oliva-suave)}
.sobre p b{color:var(--oliva)}
.datos{display:flex; gap:44px; margin-top:30px}
.dato .cifra{font-family:'Anton',sans-serif; font-size:2.4rem; color:var(--lima-osc)}
.dato .texto{font-size:.82rem; color:var(--oliva-suave)}
@media(max-width:860px){.sobre .wrap{grid-template-columns:1fr}.retrato{max-width:340px}}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--linea); padding:24px 0}
.faq summary{
  font-weight:700; font-size:1.1rem; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; gap:16px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; color:var(--lima-osc); font-size:1.5rem; line-height:1; font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:14px; color:var(--oliva-suave); max-width:46rem}

/* ---------- CTA final ---------- */
.cta-final{background:var(--oliva); text-align:center; color:var(--crema)}
.cta-final .eyebrow{color:var(--lima)}
.cta-final h2{font-size:clamp(2.4rem,6vw,4.6rem); color:var(--lima)}
.cta-final p{max-width:34rem; margin:22px auto 36px; color:#B9BFA9}
.cta-final .whats{display:block; margin-top:20px; font-size:.95rem; color:#B9BFA9}
.cta-final .whats a{color:var(--lima); font-weight:700}

/* ---------- Footer ---------- */
footer{background:var(--oliva); color:#B9BFA9; padding:60px 0 40px; font-size:.9rem}
footer .wrap{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px}
footer h4{color:var(--blanco); font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:1rem; margin-bottom:16px; letter-spacing:.04em}
footer ul{list-style:none}
footer li{margin:8px 0}
footer a{color:#B9BFA9; text-decoration:none}
footer a:hover{color:var(--lima)}
footer .legal{grid-column:1/-1; border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:24px; font-size:.8rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px}
@media(max-width:860px){footer .wrap{grid-template-columns:1fr}}

@media (prefers-reduced-motion: reduce){
  *{animation:none!important; transition:none!important; scroll-behavior:auto}
}
/* ================= PÁGINAS INTERNAS ================= */
.migas{padding:18px 24px 0; font-size:.82rem; color:var(--oliva-suave)}
.migas a{color:var(--oliva-suave); text-decoration:none}
.migas a:hover{color:var(--oliva)}
.migas b{color:var(--lima-osc); font-weight:400; margin:0 4px}
.migas span{color:var(--oliva); font-weight:600}

.hero-int{padding:64px 0 76px; background:var(--crema)}
.hero-int h1{margin:4px 0 0}
.hero-int h1.display{font-size:clamp(2.6rem,7.5vw,5.6rem); color:var(--oliva); line-height:.96}
.hero-int .lima-txt{color:var(--lima-osc)}
.hero-int .lead{max-width:36rem; margin:24px 0 30px; font-size:1.1rem; color:var(--oliva-suave)}
.hero-int .acciones{display:flex; gap:14px; flex-wrap:wrap}
.chips{display:flex; gap:10px; flex-wrap:wrap; margin-top:26px}
.chip{
  background:var(--lima); color:var(--oliva); border-radius:999px;
  font-size:.8rem; font-weight:700; padding:8px 16px; letter-spacing:.02em;
}

.franja-geo{background:var(--oliva); color:var(--crema); padding:34px 0}
.franja-geo p{max-width:56rem; font-size:1rem; line-height:1.7; color:#D6DBC8}

.clara{background:var(--crema-2)}
.prosa p{margin-bottom:18px; color:#3F4A2E; max-width:52rem}
.prosa p b{color:var(--oliva)}
.prosa a{color:var(--oliva); font-weight:600; text-decoration-color:var(--lima-osc); text-decoration-thickness:2px}
.prosa h2{margin-bottom:26px}

.cols-form{display:grid; grid-template-columns:1.4fr .9fr; gap:44px; align-items:start}
@media(max-width:860px){.cols-form{grid-template-columns:1fr}}
.formulario{background:var(--blanco); border:1px solid var(--linea); border-radius:24px; padding:38px 34px}
.formulario label{display:block; font-weight:600; font-size:.92rem; margin-bottom:18px}
.formulario input, .formulario select, .formulario textarea{
  display:block; width:100%; margin-top:8px; font:inherit; color:var(--oliva);
  background:var(--crema); border:1.5px solid var(--linea); border-radius:12px; padding:13px 16px;
}
.formulario input:focus, .formulario select:focus, .formulario textarea:focus{
  outline:none; border-color:var(--lima-osc); box-shadow:0 0 0 3px rgba(198,245,66,.4);
}
.formulario .fila-2{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:560px){.formulario .fila-2{grid-template-columns:1fr}}
.formulario .check{display:flex; gap:12px; align-items:flex-start; font-weight:400; font-size:.85rem; color:var(--oliva-suave)}
.formulario .check input{width:auto; margin-top:3px}
.formulario button{width:100%; border:none; cursor:pointer; font-family:inherit}

.lateral{display:flex; flex-direction:column; gap:18px}
.wa-box{background:var(--blanco); border:1px solid var(--linea); border-radius:20px; padding:26px 24px}
.wa-box h3{font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:1.05rem; margin-bottom:10px}
.wa-box p{font-size:.92rem; color:var(--oliva-suave)}
.wa-box .btn{margin-top:14px; font-size:.9rem; padding:12px 24px}

/* =========================================================
   PAOSEO · AMPLIACIÓN VISUAL + ARQUITECTURA SEO (julio 2026)
   ========================================================= */

/* Navegación jerarquizada */
.nav-desktop > ul{align-items:center; gap:22px}
.nav-desktop li{position:relative}
.nav-desktop .has-sub > a::after{content:"⌄"; margin-left:5px; font-size:.75em}
.submenu{
  position:absolute; top:calc(100% + 15px); left:-18px; min-width:245px;
  display:grid; gap:2px; padding:12px; border:1px solid var(--linea);
  border-radius:17px; background:rgba(255,255,255,.98);
  box-shadow:0 24px 50px -24px rgba(35,40,27,.45);
  opacity:0; visibility:hidden; transform:translateY(7px);
  transition:opacity .18s, transform .18s, visibility .18s;
}
.submenu::before{content:""; position:absolute; left:0; right:0; top:-18px; height:20px}
.submenu a{display:block; padding:9px 11px; border-radius:9px; white-space:nowrap}
.submenu a:hover{background:var(--crema)}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1; visibility:visible; transform:none}
.nav a[aria-current="page"]{color:var(--oliva); text-decoration:underline; text-decoration-color:var(--lima-osc); text-decoration-thickness:3px; text-underline-offset:6px}
.mobile-menu{display:none; position:relative}
.mobile-menu summary{list-style:none; cursor:pointer; padding:9px 14px; border:1px solid var(--oliva); border-radius:999px; font-size:.87rem; font-weight:700}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-panel{
  position:absolute; right:0; top:48px; width:min(330px,calc(100vw - 32px)); max-height:calc(100vh - 90px); overflow:auto;
  padding:20px; border-radius:18px; background:var(--blanco); border:1px solid var(--linea); box-shadow:0 30px 60px -26px rgba(35,40,27,.5);
  display:grid; gap:5px;
}
.mobile-panel strong{font-family:'Anton',sans-serif; text-transform:uppercase; letter-spacing:.04em; margin:10px 8px 2px}
.mobile-panel a{padding:9px 10px; border-radius:9px; text-decoration:none; color:var(--oliva-suave); font-weight:600}
.mobile-panel a:hover{background:var(--crema)}
.mobile-panel .mobile-cta{background:var(--lima); color:var(--oliva); text-align:center; margin-top:12px}
@media(max-width:1030px){
  .nav-desktop,.nav-cta{display:none}
  .mobile-menu{display:block}
}

/* Home: H1 exacto + claim comercial */
.hero .seo-home-h1 .fila{font-size:clamp(3.2rem,10.5vw,8.5rem)}
.hero-claim{font-family:'Anton',sans-serif; text-transform:uppercase; font-size:clamp(1.35rem,2.6vw,2.15rem); line-height:1.05; margin:26px auto 0; color:#55651C}

/* Galería visual de portada */
.home-gallery{padding:34px 0 90px; background:var(--crema)}
.gallery-grid{display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:1fr 1fr; gap:18px}
.gallery-grid figure{position:relative; overflow:hidden; min-height:260px; border-radius:24px; background:var(--crema-2)}
.gallery-grid .gallery-wide{grid-row:1/3; min-height:540px}
.gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .45s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption,.hero-media figcaption{
  position:absolute; left:14px; right:14px; bottom:14px; padding:10px 13px;
  background:rgba(35,40,27,.84); color:var(--crema); border-radius:12px; font-size:.78rem; line-height:1.35;
  backdrop-filter:blur(7px)
}
@media(max-width:760px){
  .gallery-grid{grid-template-columns:1fr; grid-template-rows:auto}
  .gallery-grid .gallery-wide{grid-row:auto; min-height:360px}
  .gallery-grid figure{min-height:280px}
}

/* Heroes interiores con fotografía */
.hero-int{padding:58px 0 68px}
.hero-int-grid{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.78fr); gap:58px; align-items:center}
.hero-copy{min-width:0}
.hero-int h1.display{font-size:clamp(2.6rem,5.9vw,5.25rem); max-width:760px}
.hero-int h1 .lima-txt{display:block; margin-top:.05em}
.hero-media{position:relative; margin:0; border-radius:28px; overflow:hidden; aspect-ratio:4/5; background:var(--crema-2); box-shadow:0 34px 68px -38px rgba(35,40,27,.55)}
.hero-media::before{content:""; position:absolute; inset:18px; border:2px solid rgba(198,245,66,.9); border-radius:19px; z-index:1; pointer-events:none}
.hero-media img{width:100%; height:100%; object-fit:cover}
@media(max-width:880px){
  .hero-int-grid{grid-template-columns:1fr; gap:34px}
  .hero-media{aspect-ratio:16/10; max-height:500px}
}

/* Navegación por anchors: rastreable y útil */
.anchor-nav{position:sticky; top:68px; z-index:45; background:rgba(255,255,255,.93); border-block:1px solid var(--linea); backdrop-filter:blur(10px)}
.anchor-links{min-height:54px; display:flex; gap:19px; align-items:center; overflow-x:auto; white-space:nowrap; scrollbar-width:none}
.anchor-links::-webkit-scrollbar{display:none}
.anchor-links span{font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; color:var(--oliva-suave); font-weight:700}
.anchor-links a{font-size:.85rem; text-decoration:none; font-weight:650; color:var(--oliva)}
.anchor-links a:hover{color:var(--lima-osc)}
.anchor-links .anchor-wa{margin-left:auto; padding:6px 13px; border-radius:999px; background:var(--lima)}
@media(max-width:680px){.anchor-links span{display:none}.anchor-links .anchor-wa{margin-left:0}}

/* Bloque visual editorial, inspirado en la plantilla de reformas */
.visual-story{background:var(--crema-2)}
.visual-story-grid{display:grid; grid-template-columns:minmax(330px,.92fr) minmax(0,1.08fr); gap:64px; align-items:center}
.story-media{margin:0; min-height:480px; border-radius:28px; overflow:hidden; box-shadow:0 30px 62px -38px rgba(35,40,27,.55)}
.story-media img{width:100%; height:100%; min-height:480px; object-fit:cover}
.story-copy p{max-width:43rem; margin:24px 0; color:var(--oliva-suave)}
.check-list{list-style:none; display:grid; gap:12px; margin:0 0 28px}
.check-list li{position:relative; padding-left:30px}
.check-list li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--lima-osc); font-weight:800}
.text-link{display:inline-block; font-weight:750; text-decoration-color:var(--lima-osc); text-decoration-thickness:3px; text-underline-offset:5px}
@media(max-width:850px){
  .visual-story-grid{grid-template-columns:1fr; gap:36px}
  .story-media,.story-media img{min-height:340px}
}

/* Fotos sustituyen placeholders de portada */
.mesa .foto img,.retrato img{width:100%; height:100%; object-fit:cover}
.retrato{overflow:hidden}

/* WhatsApp circular, vibrante y siempre visible */
.whatsapp-float{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:70;
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:50%;
  background:#ff2aa3;
  color:#fff;
  text-decoration:none;
  font-size:0;
  box-shadow:0 22px 46px -18px rgba(255,42,163,.72),0 0 0 8px rgba(255,42,163,.12);
  border:1px solid rgba(255,255,255,.42);
  animation:paoseo-whatsapp-vibe 2.2s ease-in-out infinite;
}
.whatsapp-float::before{
  content:"✆";
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);background:#ff1493}
.whatsapp-float:focus-visible{outline:3px solid rgba(255,255,255,.7);outline-offset:4px}
@keyframes paoseo-whatsapp-vibe{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  4%{transform:translate3d(-1px,0,0) rotate(-3deg)}
  8%{transform:translate3d(1px,0,0) rotate(3deg)}
  12%{transform:translate3d(-1px,0,0) rotate(-3deg)}
  16%{transform:translate3d(1px,0,0) rotate(3deg)}
  20%{transform:translate3d(0,0,0) scale(1.04)}
}
@media(max-width:560px){.whatsapp-float{right:12px;bottom:12px;width:62px;height:62px}}

/* Footer ampliado */
footer .footer-grid{grid-template-columns:1.25fr .8fr .8fr .9fr}
.footer-contacto{margin-top:14px}
@media(max-width:980px){footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){footer .footer-grid{grid-template-columns:1fr}}

/* Ajustes de lectura y anclas */
section[id]{scroll-margin-top:135px}
.faq[id],.cta-final[id]{scroll-margin-top:135px}
@media(max-width:640px){section{padding:72px 0}.hero-int{padding:42px 0 52px}.anchor-nav{top:68px}}


/* ---------- Rutas internas y mapa del sitio ---------- */
.seo-rutas{background:var(--crema-2);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.seo-rutas h2{max-width:760px}
.seo-rutas-intro{max-width:720px;margin-top:18px;color:var(--oliva-suave)}
.seo-rutas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}
.seo-ruta-card{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:22px 24px;background:var(--blanco);border:1px solid var(--linea);border-radius:16px;text-decoration:none;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s}
.seo-ruta-card b{font-size:1.35rem;color:var(--lima-osc)}
.seo-ruta-card:hover{transform:translateY(-4px);border-color:var(--lima-osc);box-shadow:0 22px 40px -28px rgba(35,40,27,.5)}
.sitemap-hero{padding:72px 0 52px;background:var(--oliva);color:var(--crema)}
.sitemap-hero .eyebrow{color:var(--lima)}
.sitemap-hero h1{font-family:'Anton',sans-serif;font-size:clamp(3rem,8vw,6.5rem);font-weight:400;text-transform:uppercase;line-height:.92;max-width:920px}
.sitemap-hero p{max-width:720px;margin-top:24px;color:#cbd1be}
.sitemap-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:44px}
.sitemap-group{background:var(--blanco);border:1px solid var(--linea);border-radius:22px;padding:30px}
.sitemap-group h2{font-size:1.8rem;margin-bottom:18px}
.sitemap-group ul{list-style:none;display:grid;gap:10px}
.sitemap-group a{display:flex;justify-content:space-between;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--linea);font-weight:650}
.sitemap-group a::after{content:'→';color:var(--lima-osc)}
.sitemap-tech{margin-top:36px;padding:24px;border-radius:18px;background:var(--lima);font-weight:650}
.sitemap-tech a{font-weight:800}
@media(max-width:860px){.seo-rutas-grid{grid-template-columns:1fr 1fr}.sitemap-groups{grid-template-columns:1fr}}
@media(max-width:560px){.seo-rutas-grid{grid-template-columns:1fr}}


/* ---------- Contact Form 7 ---------- */
.paoseo-cf7-wrap .wpcf7{margin:0}
.paoseo-cf7-wrap .wpcf7-form-control-wrap{display:block;margin-top:7px}
.paoseo-cf7-wrap .wpcf7-not-valid-tip{margin-top:6px;color:#9b2c2c;font-size:.82rem;font-weight:600}
.paoseo-cf7-wrap .wpcf7-response-output{margin:18px 0 0!important;padding:14px 16px!important;border-radius:12px;font-size:.92rem}
.paoseo-cf7-wrap .wpcf7-spinner{display:block;margin:12px auto 0}
.paoseo-cf7-wrap .wpcf7-list-item{margin:0}
.paoseo-cf7-wrap .formulario .check .wpcf7-form-control-wrap{display:inline;margin:0}
.paoseo-cf7-wrap .formulario .check input{margin-top:5px}
.paoseo-cf7-fallback{background:var(--blanco);border:1px solid var(--linea);border-radius:24px;padding:38px 34px}

/* =========================================================
   PAOSEO 1.6 · AJUSTE EDITORIAL DE MARCA
   Inspiración: composición de agencia, alto contraste y ritmo
   visual. El contenido y la arquitectura SEO se conservan.
   ========================================================= */
:root{
  --crema:#F6F3EB;
  --crema-2:#ECE8DE;
  --oliva:#0B0D0A;
  --oliva-2:#151914;
  --oliva-suave:#5C6258;
  --lima:#D9F000;
  --lima-osc:#B8D000;
  --azul-marca:#202A4E;
  --blanco:#FFFFFF;
  --linea:#DCD7CB;
}
body{background:var(--crema);color:var(--oliva)}
.wrap{max-width:1240px}
section{padding:104px 0}
.eyebrow{font-size:.68rem;font-weight:750;color:var(--oliva-suave)}
h2{font-size:clamp(2.45rem,4.7vw,4.25rem);line-height:.9}

/* Marca gráfica real */
header{border-top:3px solid var(--lima);background:rgba(246,243,235,.96);box-shadow:0 10px 35px -32px rgba(11,13,10,.65)}
.nav{height:76px;gap:20px}
.logo--image{display:inline-flex;align-items:center;flex:0 0 auto;width:104px;height:62px;text-decoration:none;overflow:visible}
.logo--image img{display:block;width:auto;height:58px;max-width:104px;object-fit:contain;object-position:left center}
.nav-desktop{margin-left:auto}
.nav-desktop > ul{gap:5px;padding:5px;border:1px solid rgba(11,13,10,.1);border-radius:999px;background:rgba(255,255,255,.68)}
.nav-desktop > ul > li > a{display:block;padding:9px 12px;border-radius:999px;font-size:.78rem;line-height:1;white-space:nowrap}
.nav-desktop > ul > li > a:hover{background:var(--lima);color:var(--oliva)}
.nav .nav-cta{background:var(--oliva);color:var(--blanco);box-shadow:none;padding:11px 20px}
.nav .nav-cta:hover{background:var(--azul-marca);color:var(--blanco)}
.submenu{top:calc(100% + 17px);border-radius:14px;border-color:rgba(11,13,10,.1);box-shadow:0 28px 64px -30px rgba(11,13,10,.55)}
.submenu a{font-size:.82rem!important}
.mobile-menu summary{background:var(--oliva);color:var(--blanco);border-color:var(--oliva)}

/* Hero principal: composición editorial en dos columnas */
.hero{min-height:720px;padding:72px 0 56px;text-align:left;background:
  radial-gradient(circle at 76% 42%,rgba(217,240,0,.16),transparent 31%),
  linear-gradient(115deg,#090B09 0%,#10150D 72%,#17200E 100%);color:var(--blanco)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:84px 100%;opacity:.22;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);grid-template-areas:
  "top top"
  "title media"
  "claim media"
  "lead media"
  "actions media";
  column-gap:58px;align-items:center}
.hero-top{grid-area:top;width:100%;max-width:none;margin:0 0 34px;color:#9FA995}
.hero-top .anio,.hero-top .centro{color:#AAB39F}
.hero h1{grid-area:title;margin:0;max-width:710px}
.hero h1 .fila,.hero .seo-home-h1 .fila{font-size:clamp(3.4rem,7.8vw,7.25rem);line-height:.86;color:var(--blanco);letter-spacing:-.01em}
.hero h1 .fila.tono{color:var(--blanco)}
.hero h1 .fila.acento{color:var(--lima)}
.hero h1 .fila.acento::after{display:none}
.hero-claim{grid-area:claim;margin:24px 0 0;color:var(--blanco);font-size:clamp(1.12rem,2vw,1.65rem);letter-spacing:.01em}
.hero .lead{grid-area:lead;max-width:37rem;margin:20px 0 30px;color:#C6CCBF;font-size:1rem;line-height:1.72}
.hero .acciones{grid-area:actions;justify-content:flex-start}
.hero .mini{color:#9FA995;text-align:left}
.hero .btn.oscuro{background:var(--lima);color:var(--oliva)}
.hero .btn.oscuro:hover{background:#E5F83E}
.hero .btn.borde{border-color:rgba(255,255,255,.6);color:var(--blanco)}
.hero .btn.borde:hover{background:var(--blanco);color:var(--oliva)}
.hero .escena{grid-area:media;width:100%;max-width:540px;margin:0 0 0 auto;align-self:end}
.hero .escena::before{content:"";position:absolute;inset:11% 7% 4%;border-radius:48% 48% 18px 18px;background:radial-gradient(circle at 50% 30%,rgba(217,240,0,.23),transparent 66%);filter:blur(8px)}
.hero .escena .foto{position:relative;width:100%;max-width:500px;margin:0 0 0 auto;aspect-ratio:4/4.7;border:1px solid rgba(255,255,255,.12);border-radius:26px 26px 4px 4px;box-shadow:0 44px 90px -42px rgba(0,0,0,.9)}
.hero .escena .foto img{filter:saturate(.82) contrast(1.06)}
.hero .tarjeta{border:1px solid rgba(11,13,10,.08);box-shadow:0 20px 48px -22px rgba(0,0,0,.72)}
.hero .tarjeta.busca{top:10%;left:-5%;width:245px}
.hero .tarjeta.gbp{top:47%;left:-7%;width:222px}
.hero .tarjeta.mapa{top:18%;right:-4%;width:185px}
.hero .tarjeta.pos{right:-1%;bottom:9%}

/* Hero de servicios y municipios */
.hero-int{position:relative;overflow:hidden;padding:82px 0 76px;background:
  radial-gradient(circle at 82% 40%,rgba(217,240,0,.15),transparent 31%),
  linear-gradient(115deg,#090B09,#11160E 74%,#17200E);color:var(--blanco)}
.hero-int::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:84px 100%;opacity:.2;pointer-events:none}
.hero-int .wrap{position:relative;z-index:1}
.hero-int-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);gap:64px}
.hero-int .eyebrow{color:var(--lima)}
.hero-int h1.display{color:var(--blanco);font-size:clamp(3.15rem,6.3vw,6.1rem);line-height:.88;letter-spacing:-.01em}
.hero-int .lima-txt{color:var(--lima)}
.hero-int .lead{color:#C4CBBE;line-height:1.72;font-size:1.02rem}
.hero-int .btn.oscuro{background:var(--lima);color:var(--oliva)}
.hero-int .btn.borde{border-color:rgba(255,255,255,.62);color:var(--blanco)}
.hero-int .btn.borde:hover{background:var(--blanco);color:var(--oliva)}
.hero-int .chip{background:transparent;color:#DDE2D7;border:1px solid rgba(255,255,255,.24)}
.hero-media{border-radius:18px;aspect-ratio:4/4.7;border:1px solid rgba(255,255,255,.12);box-shadow:0 45px 92px -44px rgba(0,0,0,.95)}
.hero-media::before{inset:12px;border-width:1px;border-color:rgba(217,240,0,.72);border-radius:11px}
.hero-media figcaption{left:12px;right:12px;bottom:12px;background:rgba(9,11,9,.88);border:1px solid rgba(255,255,255,.1)}
.migas{padding-top:14px;padding-bottom:14px;background:var(--crema);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}

/* Barra de navegación dentro de la página */
.anchor-nav{top:76px;background:rgba(246,243,235,.96)}
.anchor-links{min-height:58px}
.anchor-links .anchor-wa{background:var(--oliva);color:var(--blanco)}

/* Bloques oscuros y tarjetas como en la referencia */
.franja-geo{padding:27px 0;background:#111510;border-top:1px solid rgba(255,255,255,.08)}
.franja-geo p{color:#BFC6B8;font-size:.9rem}
.franja-geo + section#servicios{background:var(--oliva);color:var(--blanco)}
.franja-geo + section#servicios .eyebrow{color:var(--lima)}
.franja-geo + section#servicios h2{max-width:900px;color:var(--blanco)}
.franja-geo + section#servicios .paso{background:#151815;color:var(--blanco);border-color:#2A2E28;border-radius:12px;box-shadow:none}
.franja-geo + section#servicios .paso h3,.franja-geo + section#servicios .paso a{color:var(--blanco)}
.franja-geo + section#servicios .paso p{color:#AEB6A8}
.franja-geo + section#servicios .paso:nth-child(2){background:var(--lima);color:var(--oliva);border-color:var(--lima)}
.franja-geo + section#servicios .paso:nth-child(2) h3,
.franja-geo + section#servicios .paso:nth-child(2) a,
.franja-geo + section#servicios .paso:nth-child(2) p{color:var(--oliva)}
.franja-geo + section#servicios .paso:nth-child(2) .num{color:var(--oliva)}
.pasos{gap:12px}
.paso{border-radius:14px;padding:30px 27px}
.paso .num{font-size:1.1rem;letter-spacing:.08em}
.paso h3{font-size:1.08rem}

/* Secciones claras más limpias */
.clara{background:var(--crema)}
.visual-story{background:var(--blanco)}
.visual-story-grid{gap:76px}
.story-media{border-radius:15px}
.story-copy h2{max-width:670px}
.check-list li::before{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--oliva);color:var(--lima);font-size:.7rem;top:.2em}
.faq{background:var(--crema)}
.faq details{padding:22px 0}
.faq summary{font-size:1rem}
.seo-ruta-card,.pueblo,.plan,.formulario,.wa-box{border-radius:12px}
.seo-ruta-card:hover,.pueblo:hover,.plan:hover{transform:translateY(-3px)}

/* Contacto final a dos tonos */
section#presupuesto,.cta-final{position:relative;background:
  radial-gradient(circle at 15% 50%,rgba(217,240,0,.11),transparent 30%),
  var(--oliva);color:var(--blanco)}
section#presupuesto .eyebrow,.cta-final .eyebrow{color:var(--lima)}
section#presupuesto h2,.cta-final h2{color:var(--blanco)}
section#presupuesto > .wrap > p,.cta-final p{color:#BFC6B8}
section#presupuesto .formulario{background:var(--crema);color:var(--oliva);border:0;box-shadow:0 32px 78px -42px rgba(0,0,0,.9)}
section#presupuesto .wa-box{background:#151815;color:var(--blanco);border-color:#2B3028}
section#presupuesto .wa-box h3{color:var(--blanco)}
section#presupuesto .wa-box p{color:#AEB6A8}

/* Footer de agencia */
footer{padding-top:70px;background:#F0EDE5;color:var(--oliva);border-top:1px solid var(--linea)}
footer .wrap{gap:36px}
.footer-logo{display:inline-flex;width:138px;max-height:78px;margin-bottom:16px}
.footer-logo img{width:100%;height:auto;object-fit:contain}
footer h4{color:var(--oliva);font-size:.9rem}
footer p,footer a{color:#5D6259}
footer a:hover{color:var(--oliva)}
footer .legal{border-top-color:var(--linea);color:#73786F}
.whatsapp-float{background:var(--oliva);color:var(--blanco);border-color:rgba(255,255,255,.12)}
.whatsapp-float::before{background:var(--lima);color:var(--oliva)}

@media(max-width:1030px){
  .logo--image{width:96px;height:58px}.logo--image img{height:54px;max-width:96px}
  .hero .wrap{grid-template-columns:1fr 420px;column-gap:30px}
  .hero .tarjeta.busca,.hero .tarjeta.gbp{left:-2%}
  .hero .tarjeta.mapa,.hero .tarjeta.pos{right:-2%}
}
@media(max-width:880px){
  section{padding:82px 0}
  .hero{min-height:auto;padding:60px 0 66px}
  .hero .wrap{display:block}
  .hero-top{margin-bottom:28px}
  .hero h1{max-width:760px}
  .hero .escena{max-width:560px;margin:52px auto 0}
  .hero-int{padding:62px 0}
  .hero-int-grid{grid-template-columns:1fr;gap:38px}
  .hero-media{max-width:640px;aspect-ratio:16/10}
}
@media(max-width:620px){
  .wrap{padding-inline:19px}
  .nav{height:69px}
  .logo--image{width:82px;height:52px}.logo--image img{height:49px;max-width:82px}
  .anchor-nav{top:69px}
  .hero{padding-top:45px}
  .hero-top{font-size:.68rem}.hero-top .centro{font-size:.63rem;letter-spacing:.12em}
  .hero h1 .fila,.hero .seo-home-h1 .fila{font-size:clamp(3rem,18vw,5rem)}
  .hero .escena{margin-top:40px}
  .hero .tarjeta{transform:scale(.86)}
  .hero .tarjeta.busca{left:-8%;top:4%}
  .hero .tarjeta.gbp{left:-9%;top:49%}
  .hero .tarjeta.mapa{right:-7%;top:16%}
  .hero .tarjeta.pos{right:-4%;bottom:5%}
  .hero-int h1.display{font-size:clamp(2.8rem,15vw,4.5rem)}
  .footer-logo{width:118px}
}


/* V1.8.1 SAFE · cambios visuales sin paneles PHP adicionales */
.hero-claim,
.home-gallery figcaption,
.cta-final .eyebrow,
section#presupuesto .eyebrow{
  font-family:'Allura',cursive;
  text-transform:none;
  letter-spacing:0;
}
.hero-claim{
  font-size:clamp(2rem,3.3vw,3.25rem)!important;
  line-height:1;
  color:var(--lima)!important;
}
.marquee{
  min-height:92px;
  padding:22px 0;
  display:flex;
  align-items:center;
}
.marquee .pista{display:flex;align-items:center}
.marquee span{
  font-size:clamp(1.4rem,2.1vw,2rem);
  line-height:1;
  margin:0 34px;
  letter-spacing:.04em;
}
.marquee span b{margin-right:30px}
@media(min-width:881px){
  .hero .wrap{grid-template-areas:
    "top top"
    "media title"
    "media claim"
    "media lead"
    "media actions";
  }
  .hero h1,.hero .hero-claim,.hero .lead,.hero .acciones,.hero .mini{text-align:right}
  .hero h1,.hero .hero-claim,.hero .lead{margin-left:auto}
  .hero .acciones{justify-content:flex-end}
  .hero .mini{width:auto}
  .hero .escena{margin:0 auto 0 0}
  .hero .escena .foto{margin:0 auto 0 0}
}
@media(max-width:620px){
  .marquee{min-height:76px;padding:16px 0}
  .marquee span{font-size:1.1rem;margin:0 18px}
}


/* V2.0 · Arquitectura local por intención */
.submenu-zonas--servicios{
  width:min(560px,92vw);
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:3px 18px;
  max-height:70vh;
  overflow:auto;
}
.submenu-zonas--servicios .submenu-title{
  display:block;
  padding:10px 11px 5px;
  color:var(--oliva-suave);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.submenu-zonas--servicios .submenu-title:nth-of-type(2){grid-column:2;grid-row:1}
.submenu-zonas--servicios .submenu-title:nth-of-type(1)~a:nth-of-type(-n+7){grid-column:1}
.submenu-zonas--servicios .submenu-title:nth-of-type(2)~a:nth-of-type(n+8){grid-column:2}
.pueblo--dual{display:flex;flex-direction:column}
.pueblo--dual .pueblo-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
.pueblo--dual .pueblo-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:var(--oliva);
  color:var(--blanco);
  text-decoration:none;
  font-size:.76rem;
  font-weight:800;
}
.pueblo--dual .pueblo-links a:last-child{background:var(--lima);color:var(--oliva)}
.faq details p{max-width:900px}
footer .footer-grid{grid-template-columns:1.15fr .78fr .78fr 1.15fr}
footer .footer-grid>div:last-of-type ul{font-size:.82rem}
/* Mantener el CTA flotante fucsia por encima de reglas antiguas del footer */
.whatsapp-float{background:#ff2aa3!important;color:#fff!important;border-color:rgba(255,255,255,.42)!important}
.whatsapp-float::before{background:rgba(255,255,255,.16)!important;color:#fff!important}
@media(max-width:880px){
  .submenu-zonas--servicios{display:block;width:auto}
  .grid-pueblos[style*="repeat(3"]{grid-template-columns:1fr!important}
}


/* =========================================================
   V2.1 · RESPONSIVE GLOBAL + CAPTACIÓN INLINE
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.paoseo-imported-page main{min-width:0;overflow:clip}
.paoseo-imported-page .wrap{width:min(100%,1180px)}
.paoseo-imported-page img,
.paoseo-imported-page svg,
.paoseo-imported-page video,
.paoseo-imported-page iframe{max-width:100%;height:auto}
.paoseo-imported-page h1,
.paoseo-imported-page h2,
.paoseo-imported-page h3,
.paoseo-imported-page p,
.paoseo-imported-page li{overflow-wrap:break-word}
.paoseo-imported-page input,
.paoseo-imported-page select,
.paoseo-imported-page textarea,
.paoseo-imported-page button{min-width:0;max-width:100%}

/* Formulario final de captación */
.lead-capture{
  position:relative;
  padding:104px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 14%,rgba(198,245,66,.18),transparent 28%),
    radial-gradient(circle at 92% 90%,rgba(255,42,163,.14),transparent 26%),
    #111510;
  color:#fff;
}
.lead-capture::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:90px 100%;
}
.lead-capture-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:clamp(42px,7vw,92px);
  align-items:start;
}
.lead-capture .eyebrow{color:var(--lima)}
.lead-capture h2{
  max-width:720px;
  color:#fff;
  font-size:clamp(2.5rem,5.4vw,5rem);
  line-height:.94;
}
.lead-capture-intro{
  max-width:620px;
  margin:25px 0 0;
  color:#c7cec0;
  font-size:1.04rem;
  line-height:1.75;
}
.lead-capture-benefits{
  display:grid;
  gap:13px;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}
.lead-capture-benefits li{
  position:relative;
  padding-left:30px;
  color:#e3e7df;
  font-size:.94rem;
}
.lead-capture-benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.05em;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:var(--lima);
  color:var(--oliva);
  font-size:.72rem;
  font-weight:900;
}
.lead-capture-direct{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16);
}
.lead-capture-direct span{color:#9fa89a;font-size:.82rem}
.lead-capture-direct a{color:var(--lima);font-weight:800;text-underline-offset:4px}
.lead-capture-form{
  min-width:0;
  padding:clamp(24px,3.5vw,42px);
  border-radius:22px;
  background:#fff;
  color:var(--oliva);
  box-shadow:0 42px 95px -48px rgba(0,0,0,.95);
}
.lead-capture-form-head{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}
.lead-capture-form-head strong{font-family:'Anton',sans-serif;font-size:1.55rem;font-weight:400;text-transform:uppercase}
.lead-capture-form-head span{color:var(--oliva-suave);font-size:.82rem}
.lead-capture-form .formulario{padding:0;border:0;border-radius:0;background:transparent}
.lead-capture-form .formulario label{margin-bottom:15px}
.lead-capture-form .formulario input,
.lead-capture-form .formulario select,
.lead-capture-form .formulario textarea{
  background:#f0f0f0;
  border-color:#d8d8d8;
}
.lead-capture-form .wpcf7-form-control-wrap{display:block;min-width:0}
.lead-capture-form .wpcf7-submit{width:100%;min-height:54px;border:0;cursor:pointer}
.lead-capture-form .wpcf7-spinner{display:block;margin:12px auto 0}
.lead-capture-form .wpcf7-response-output{margin:18px 0 0!important;border-radius:10px}
.lead-capture-form .paoseo-cf7-fallback{padding:22px;border-radius:14px;background:#f0f0f0}

/* Correcciones responsive acumuladas */
@media(max-width:1030px){
  .lead-capture-grid{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:38px}
  .nav{gap:12px}
  .mobile-menu{z-index:90}
}
@media(max-width:880px){
  .lead-capture{padding:84px 0}
  .lead-capture-grid{grid-template-columns:1fr}
  .lead-capture-copy{max-width:720px}
  .lead-capture-form{width:100%;max-width:760px}
  .hero-int-grid,
  .visual-story-grid,
  .cols-form,
  .sobre .wrap{grid-template-columns:minmax(0,1fr)!important}
  .hero-int .hero-media{order:2;width:100%;max-width:none;min-height:0;aspect-ratio:16/10}
  .hero-int .hero-media img{min-height:0}
  .datos{flex-wrap:wrap;gap:22px 34px}
  footer .legal{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
  .paoseo-imported-page main [style*="grid-template-columns"],
  .paoseo-imported-page .grid[style],
  .paoseo-imported-page .pasos[style],
  .paoseo-imported-page .grid-pueblos[style]{grid-template-columns:minmax(0,1fr)!important}
  .paoseo-imported-page .pasos,
  .paoseo-imported-page .grid-pueblos,
  .paoseo-imported-page .modelos .grid,
  .paoseo-imported-page .seo-rutas-grid{grid-template-columns:minmax(0,1fr)!important}
  .story-media,.story-media img{min-height:280px}
  .gallery-grid .gallery-wide{min-height:300px}
  .gallery-grid figure{min-height:240px}
  .anchor-links{padding-right:8px}
  .anchor-links a{flex:0 0 auto}
  .plan{padding:32px 24px}
  .paso{padding:26px 22px}
}
@media(max-width:620px){
  body{font-size:16px}
  section{padding:68px 0}
  .wrap{padding-inline:17px}
  .lead-capture{padding:70px 0}
  .lead-capture h2{font-size:clamp(2.3rem,12vw,3.65rem)}
  .lead-capture-form{padding:24px 18px;border-radius:16px}
  .lead-capture-form .formulario .fila-2{grid-template-columns:minmax(0,1fr)}
  .lead-capture-form .formulario input,
  .lead-capture-form .formulario select,
  .lead-capture-form .formulario textarea{font-size:16px}
  .hero .acciones,.hero-int .acciones{display:grid;grid-template-columns:1fr;width:100%}
  .hero .acciones .btn,.hero-int .acciones .btn{width:100%;text-align:center;padding-inline:20px}
  .hero-int{padding:44px 0 54px}
  .hero-int .hero-media{aspect-ratio:4/3;border-radius:16px}
  .hero-int .hero-media::before{inset:9px;border-radius:10px}
  .hero-int h1.display{font-size:clamp(2.55rem,13.8vw,4rem);overflow-wrap:anywhere}
  .hero .escena{width:100%;max-width:100%}
  .hero .escena .foto{width:100%;max-width:420px}
  .hero .tarjeta.mapa,.hero .tarjeta.pos{display:none}
  .hero .tarjeta.busca{left:4%;right:4%;top:5%;width:auto;max-width:none}
  .hero .tarjeta.gbp{left:4%;bottom:5%;top:auto;width:min(230px,78%)}
  .home-gallery{padding-bottom:68px}
  .migas{padding-inline:17px}
  .anchor-nav{top:69px}
  .anchor-links{gap:14px}
  .anchor-links a{font-size:.8rem}
  .faq summary{font-size:1rem}
  .footer-grid{gap:30px!important}
  .whatsapp-float{right:12px;bottom:12px}
}
@media(max-width:380px){
  .logo--image{width:76px}
  .mobile-menu summary{padding:8px 12px;font-size:.8rem}
  .mobile-panel{right:-2px;width:calc(100vw - 20px)}
  .hero h1 .fila,.hero .seo-home-h1 .fila{font-size:clamp(2.7rem,18vw,3.9rem)}
}
