
:root{--pink:#D6428F;--pink-dark:#b72f76;--ink:#17171a;--muted:#64646b;--soft:#f7f5f7;--line:#e8e4e8;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand img{width:112px}.navlinks{display:flex;gap:24px;align-items:center;font-weight:700;font-size:.94rem}.navlinks a:hover{color:var(--pink)}.cta{background:var(--pink);color:#fff;padding:12px 18px;border-radius:999px}.cta:hover{background:var(--pink-dark)}
.hero{background:linear-gradient(120deg,#fff 0%,#fff 55%,#f9eaf2 100%);padding:76px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.eyebrow{color:var(--pink);font-weight:850;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem}.eyebrow:before{content:"";display:inline-block;width:26px;height:3px;background:var(--pink);vertical-align:middle;margin-right:9px;border-radius:3px}h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:.98;letter-spacing:-.055em;margin:18px 0}h1 span{color:var(--pink)}.lead{font-size:1.16rem;color:var(--muted);max-width:690px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:14px 20px;border-radius:12px;font-weight:850;display:inline-flex}.primary{background:var(--pink);color:#fff}.dark{background:var(--ink);color:#fff}.visual{height:440px;border-radius:28px;overflow:hidden;position:relative;background:#222}.visual img{width:100%;height:100%;object-fit:cover}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5))}
section{padding:82px 0}.head{max-width:760px;margin-bottom:34px}.head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 13px}.head p{color:var(--muted);font-size:1.04rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:20px;padding:25px;background:#fff}.card h3{margin:10px 0 7px;font-size:1.3rem}.card p{color:var(--muted);margin:0}.number{color:var(--pink);font-weight:900;font-size:.78rem;letter-spacing:.1em}
.soft{background:var(--soft)}.two{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.list{display:grid;gap:12px}.item{padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:750}.item:before{content:"✓";color:var(--pink);font-weight:900;margin-right:10px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.step{padding:22px;border-radius:18px;background:var(--ink);color:#fff}.step strong{display:block;color:#fff;margin-bottom:8px}.step p{margin:0;color:#c7c7cb;font-size:.92rem}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#eee}.gallery img{width:100%;height:280px;object-fit:cover}.gallery figcaption{padding:13px 15px;font-weight:750;background:#fff}
.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:15px;padding:17px 19px;background:#fff}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted);margin-bottom:0}
.contact{background:var(--ink);color:#fff}.contact .head p{color:#c8c8cc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-box{border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:27px}.contact-box a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-weight:800}.contact-box p{color:#c8c8cc}
footer{background:#101013;color:#bbb;padding:28px 0;font-size:.85rem}.footer{display:flex;justify-content:space-between;gap:25px}.footer img{width:100px;filter:brightness(0) invert(1)}
.float{position:fixed;right:18px;bottom:18px;background:var(--pink);color:#fff;padding:13px 17px;border-radius:999px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:30}
@media(max-width:850px){.hero-grid,.two,.contact-grid{grid-template-columns:1fr}.cards,.gallery{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.navlinks a:not(.cta){display:none}}
@media(max-width:600px){.container{width:calc(100% - 28px)}.nav{height:68px}.brand img{width:100px}.hero{padding:55px 0}.visual{height:320px}section{padding:62px 0}.cards,.gallery,.process{grid-template-columns:1fr}.footer{display:grid}.gallery img{height:250px}}

footer a{color:inherit}footer a:hover{color:#fff}.legal a:hover{color:#fff}

.area-servicio-local .local-area{max-width:920px}.area-servicio-local .local-area p{margin:0 0 12px;color:#4f5969;line-height:1.75}.area-faq{padding:72px 0}.area-faq .cards{align-items:stretch}.municipios-seo{padding-bottom:72px}


/* SEO / UX: breadcrumbs */
.breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem;color:#777;padding-top:18px;padding-bottom:4px}
.breadcrumbs a{color:#555;text-decoration:none}
.breadcrumbs a:hover{color:#D6428F}
.breadcrumbs span:last-child{color:#777}

/* V17 - SEO comercial: contenido visible integrado en el diseño existente */
.seo-comercial .head{max-width:900px}
.seo-comercial .cards{margin-top:24px}
.seo-comercial .card h3{margin-bottom:10px}
.seo-comercial .card p{margin-bottom:0}

/* V18 · casos reales y enlaces internos */
.cases{background:#fff}.case-study{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:center;padding:34px 0;border-top:1px solid var(--line)}.case-study:first-of-type{border-top:0}.case-media img{width:100%;max-height:430px;object-fit:cover;border-radius:22px}.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.case-pair img{width:100%;height:310px;object-fit:cover;border-radius:18px}.case-content h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.08;letter-spacing:-.035em;margin:10px 0 16px}.case-content p{color:var(--muted);margin:0 0 12px}.case-content strong{color:var(--ink)}.text-link{display:inline-block;color:var(--pink);font-weight:850;margin:8px 18px 0 0}.related-services .card h3 a{color:inherit}.related-services .card h3 a:hover{color:var(--pink)}
@media (max-width:900px){.case-study{grid-template-columns:1fr}.case-pair img{height:240px}}
@media (max-width:560px){.case-pair{grid-template-columns:1fr}.case-pair img{height:260px}}
