/* ==============================================
   LANDING DE CIUDAD — estilos específicos
   Hereda variables y componentes de styles.css
============================================== */

/* WRAP */
.land-wrap{min-height:100vh;background:var(--black);color:var(--white);font-family:var(--font-mono);position:relative;overflow-x:hidden}

/* TOPBAR */
.land-topbar{padding:25px 50px;border-bottom:1px solid var(--g800);display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,0.6);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}
.land-topbar-brand{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:4px;color:var(--green);text-shadow:0 0 8px var(--green-glow);text-decoration:none;text-transform:uppercase}
.land-topbar-brand i{font-style:normal;color:var(--g500);font-weight:400}
.land-topbar-cta{font-family:var(--font-mono);font-size:12px;color:var(--green);text-decoration:none;letter-spacing:2px;padding:10px 20px;border:1px solid var(--green);transition:all .25s;text-transform:uppercase}
.land-topbar-cta:hover{background:var(--green);color:#000;box-shadow:0 0 15px var(--green-glow)}

/* HERO */
.land-hero{padding:90px 50px 70px;max-width:1200px;margin:0 auto;border-bottom:1px solid var(--g800);position:relative;z-index:2}
.land-hero-meta{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:30px;align-items:center}
.land-hero-meta .land-pill{padding:5px 12px;border:1px solid var(--green);background:rgba(0,255,65,0.05);color:var(--green);text-shadow:0 0 6px var(--green-glow)}
.land-hero-meta .land-meta-line{flex:1;height:1px;background:var(--g700);max-width:120px}
.land-hero-meta .land-coord{color:var(--g500)}
.land-h1{font-family:var(--font-display);font-size:clamp(38px,6.5vw,84px);font-weight:900;line-height:1;letter-spacing:-2px;color:var(--white);text-wrap:balance;margin-bottom:30px}
.land-h1 .accent{color:var(--green);text-shadow:0 0 30px var(--green-glow),0 0 80px rgba(0,255,65,0.25)}
.land-h1 .underline{position:relative;display:inline-block}
.land-h1 .underline::after{content:'';position:absolute;left:0;right:0;bottom:8px;height:8px;background:rgba(0,255,65,0.18);z-index:-1}
.land-deck{font-family:var(--font-mono);font-size:18px;line-height:1.7;color:var(--g300);max-width:780px;text-wrap:pretty;margin-bottom:35px}
.land-deck strong{color:var(--white)}
.land-hero-ctas{display:flex;gap:18px;flex-wrap:wrap}
.land-btn-main{display:inline-block;padding:18px 36px;background:var(--green);color:#000;font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;transition:all .3s;box-shadow:3px 3px 0 var(--g700)}
.land-btn-main:hover{box-shadow:6px 6px 0 var(--g700),0 0 25px var(--green-glow);transform:translate(-2px,-2px)}
.land-btn-ghost{display:inline-block;padding:18px 30px;border:1px solid var(--g500);color:var(--g300);font-family:var(--font-mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:all .25s}
.land-btn-ghost:hover{border-color:var(--green);color:var(--green);text-shadow:0 0 6px var(--green-glow)}

/* SECTION GENERIC */
.land-section{padding:80px 50px;max-width:1200px;margin:0 auto;position:relative;z-index:2}
.land-section-label{font-family:var(--font-mono);font-size:12px;letter-spacing:3px;color:var(--green);text-shadow:0 0 6px var(--green-glow);text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:12px}
.land-section-label::before{content:'>';font-weight:700}
.land-section-title{font-family:var(--font-display);font-size:clamp(28px,4.5vw,52px);font-weight:900;line-height:1.1;letter-spacing:-1px;color:var(--white);text-wrap:balance;margin-bottom:25px}
.land-section-title .accent{color:var(--green);text-shadow:0 0 20px var(--green-glow)}
.land-section-lead{font-family:var(--font-mono);font-size:17px;line-height:1.7;color:var(--g300);max-width:780px;text-wrap:pretty;margin-bottom:40px}
.land-section-lead strong{color:var(--white)}

/* PROBLEMS */
.land-problems{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}
.land-problem{padding:28px;background:var(--g900);border:1px solid var(--g800);position:relative}
.land-problem-num{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;color:var(--green);text-shadow:0 0 6px var(--green-glow);margin-bottom:15px}
.land-problem h3{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--white);line-height:1.3;margin-bottom:12px}
.land-problem p{font-family:var(--font-mono);font-size:14px;line-height:1.7;color:var(--g300)}

/* SERVICES (resumido) */
.land-services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.land-service{padding:30px;background:var(--g900);border:1px solid var(--g800);transition:all .3s}
.land-service:hover{border-color:var(--green);background:rgba(0,255,65,0.03)}
.land-service-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;color:var(--green);text-shadow:0 0 6px var(--green-glow);margin-bottom:12px}
.land-service h3{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--white);line-height:1.2;margin-bottom:12px;letter-spacing:-0.5px}
.land-service p{font-family:var(--font-mono);font-size:14px;line-height:1.7;color:var(--g300)}

/* WHY (zonas/barrios) */
.land-zones{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}
.land-zones span{font-family:var(--font-mono);font-size:13px;color:var(--g300);padding:6px 14px;border:1px solid var(--g800);background:var(--g900)}

/* CASE BOX */
.land-case-box{padding:35px 40px;background:linear-gradient(135deg,rgba(0,255,65,0.05) 0%,var(--g900) 100%);border:1px solid var(--green);margin-top:40px}
.land-case-box .land-case-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;color:var(--green);text-shadow:0 0 6px var(--green-glow);margin-bottom:12px}
.land-case-box h3{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--white);margin-bottom:12px;line-height:1.3}
.land-case-box p{font-family:var(--font-mono);font-size:15px;line-height:1.7;color:var(--g300);margin-bottom:18px}
.land-case-box a{color:var(--green);text-decoration:none;font-family:var(--font-mono);font-size:13px;letter-spacing:1.5px;border-bottom:1px solid rgba(0,255,65,0.4);text-transform:uppercase}
.land-case-box a:hover{border-bottom-color:var(--green)}

/* FAQ */
.land-faq{margin-top:30px}
.land-faq details{margin-bottom:15px;background:var(--g900);border:1px solid var(--g800)}
.land-faq summary{padding:20px 25px;cursor:pointer;font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--white);list-style:none;display:flex;justify-content:space-between;align-items:center;transition:color .25s}
.land-faq summary::-webkit-details-marker{display:none}
.land-faq summary::after{content:'+';font-size:22px;color:var(--green);text-shadow:0 0 6px var(--green-glow);transition:transform .25s}
.land-faq details[open] summary::after{transform:rotate(45deg)}
.land-faq details[open] summary{color:var(--green)}
.land-faq .land-faq-a{padding:0 25px 22px;font-family:var(--font-mono);font-size:14px;line-height:1.75;color:var(--g300)}
.land-faq .land-faq-a strong{color:var(--white)}

/* CTA */
.land-cta{padding:80px 50px;max-width:1100px;margin:60px auto 0;background:linear-gradient(135deg,rgba(0,255,65,0.05) 0%,var(--g900) 100%);border:1px solid var(--green);text-align:center;position:relative;z-index:2}
.land-cta h2{font-family:var(--font-display);font-size:clamp(28px,4.5vw,48px);font-weight:900;line-height:1.15;letter-spacing:-0.8px;color:var(--white);margin-bottom:18px;text-wrap:balance}
.land-cta h2 .accent{color:var(--green);text-shadow:0 0 25px var(--green-glow)}
.land-cta p{font-family:var(--font-mono);font-size:16px;line-height:1.7;color:var(--g300);max-width:580px;margin:0 auto 32px}
.land-cta-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
.land-footer{padding:60px 50px 40px;border-top:1px solid var(--g800);text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--g500);letter-spacing:1px;margin-top:80px;position:relative;z-index:2}
.land-footer a{color:var(--green);text-decoration:none}
.land-footer-nav{margin-bottom:25px;display:flex;gap:25px;justify-content:center;flex-wrap:wrap}
.land-footer-nav a{color:var(--g300);text-decoration:none;font-size:12px}
.land-footer-nav a:hover{color:var(--green)}
.land-footer-cities{margin:25px 0;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:center}
.land-footer-cities a{font-family:var(--font-mono);font-size:12px;color:var(--g300);text-decoration:none;padding:4px 10px;border:1px solid var(--g800);background:var(--g900)}
.land-footer-cities a:hover{color:var(--green);border-color:var(--green)}

/* SCANLINES BG (subtle) */
.land-wrap::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(0,255,65,0.012) 2px,rgba(0,255,65,0.012) 3px);pointer-events:none;z-index:1}

/* RESPONSIVE */
@media(max-width:768px){
  .land-topbar{padding:18px 20px}
  .land-topbar-brand{font-size:11px;letter-spacing:2px}
  .land-topbar-cta{font-size:10px;padding:8px 14px}
  .land-hero{padding:50px 20px 50px}
  .land-deck{font-size:15px}
  .land-section{padding:50px 20px}
  .land-section-lead{font-size:15px}
  .land-problems{grid-template-columns:1fr;gap:14px}
  .land-services{grid-template-columns:1fr}
  .land-case-box{padding:25px 22px}
  .land-cta{padding:50px 22px;margin:30px 20px 0}
  .land-cta-row{flex-direction:column;align-items:stretch}
  .land-btn-main,.land-btn-ghost{width:100%;text-align:center}
  .land-footer{padding:35px 20px}
  .land-footer-nav{gap:15px;font-size:11px}
}
