/* Iteration 2: layout and interaction fixes, additive to the verified base CSS. */
.polished-hero{padding:1.75rem 1rem 2rem}
.polished-hero .hero-logo{width:150px;height:auto;margin:0 auto 1.25rem}
.polished-hero h1{font-size:2.5rem;line-height:1.2;font-weight:700;color:#111827;margin:0 0 1rem}
.polished-hero h1 span{color:#b91c1c}
.hero-intro{font-size:1.125rem;line-height:1.65;color:#4b5563;max-width:650px;margin:0 auto 1.5rem}
.polished-hero .hero-buttons{margin:0 auto 1rem;gap:.75rem}
.hero-buttons i{margin-right:.5rem}
.polished-hero .google-proof{margin:1rem auto}
.hero-contact-note{font-size:.875rem;line-height:1.65;max-width:620px;margin:1rem auto 0;color:#4b5563}
.hero-hours{font-size:.8125rem;color:#4b5563;margin-top:.75rem}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gallery-item{display:block;border-radius:6px;overflow:hidden}
.gallery-thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;height:auto}
.gallery-more{margin-top:1rem}
.gallery-more summary{cursor:pointer;padding:.85rem 1rem;border:1px solid #cbd5e1;border-radius:.5rem;text-align:center;font-weight:600;background:#fff;color:#1f2937;min-height:44px}
.gallery-more summary span{font-weight:400}
.gallery-more[open] summary{margin-bottom:1rem}
.gallery-item:focus-visible,summary:focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}
#lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:4.5rem 4rem 2rem;border:0;background:#111827;color:white;overflow:hidden}
#lightbox::backdrop{background:rgba(0,0,0,.9)}
#lightbox[open]{display:flex;align-items:center;justify-content:center}
#lightbox figure{margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;max-width:100%;max-height:100%}
#lightbox #lb-img{max-height:calc(100dvh - 9rem);max-width:100%;width:auto;height:auto;object-fit:contain;background:none!important;border:0!important;border-radius:4px}
#gallery-caption{font-size:.875rem;text-align:center;margin-top:.75rem;color:#fff}
#lightbox button{position:absolute;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid #94a3b8;border-radius:50%;background:#111827;color:white;font-size:2rem;line-height:1;cursor:pointer}
#lb-close{right:1rem;top:1rem}#lb-prev{left:.75rem;top:50%}#lb-next{right:.75rem;top:50%}
#lightbox button:focus-visible{outline:3px solid #facc15;outline-offset:4px}
body.gallery-open{overflow:hidden}
#form-messages{padding:0;margin-top:1rem;line-height:1.6;white-space:pre-line}
#form-messages:not(:empty){padding:.85rem;border-radius:.5rem}
#form-messages[data-state="sending"]{background:#eff6ff;color:#1e40af;border:1px solid #93c5fd}
#form-messages[data-state="success"]{background:#f0fdf4;color:#166534;border:1px solid #86efac}
#form-messages[data-state="error"]{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}
#contact-form button:disabled{opacity:.7;cursor:wait;transform:none}
.skip-link{position:fixed;top:.5rem;left:.5rem;padding:.75rem 1rem;background:white;color:#111827;z-index:10000;transform:translateY(-200%);border:2px solid #1d4ed8;border-radius:.5rem}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.polished-hero{padding:1.25rem 0 1.5rem}.polished-hero .hero-logo{width:96px;margin-bottom:.875rem}.polished-hero h1{font-size:1.875rem;line-height:1.2}.hero-intro{font-size:1rem;line-height:1.55;margin-bottom:1.125rem}.polished-hero .hero-buttons{gap:.625rem}.polished-hero .google-proof{font-size:.875rem;margin:.875rem auto}.hero-contact-note{font-size:.8125rem;margin-top:.875rem}.hero-hours{font-size:.75rem}#lightbox{padding:4.5rem 3.5rem 2rem}#lightbox button{min-width:44px;min-height:44px}#lb-prev{left:.25rem}#lb-next{right:.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Brighter brand accents and Google-like golden review stars. */
:root{--primary:#d7192d;--primary-hover:#b91224}
.polished-hero{background:linear-gradient(135deg,#fff 30%,#fff7ed 100%)}
.polished-hero h1 span{color:#d7192d}
.google-proof span,.review-stars{color:#fbbc04;text-shadow:0 1px 0 #b77900}
.review-stars{font-size:1.4rem;letter-spacing:3px}
.google-proof>a{display:inline-block;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:.4rem .85rem;text-decoration:none;color:#1f2937}
.google-proof>a:hover{background:#fef3c7}
#opiniones{background:linear-gradient(180deg,#fff 0%,#fffbeb 100%)}
#opiniones figure{background:#fff;border-color:#f5d89a;border-top:3px solid #fbbc04;box-shadow:0 3px 12px rgba(146,64,14,.05)}
#opiniones figcaption a{color:#1558c0;text-decoration:underline;text-underline-offset:3px}
#opiniones figcaption a:hover{color:#174ea6}
#opiniones .cta-secondary{background:#1558c0;color:#fff}
#opiniones .cta-secondary:hover{background:#174ea6}
#contenido>section.bg-red-600{background:linear-gradient(120deg,#26354a,#1f2937)!important}
#contenido>section.bg-red-600 .cta-button.bg-white{color:#243247;background:#fff}
#contenido>section.bg-red-600 .cta-button.bg-white:hover{background:#f1f5f9;color:#1f2937}
.cta-whatsapp{background-color:#12843b!important}
.cta-whatsapp:hover{background-color:#106d32!important}
.service-card{border-top:3px solid #f87171}
.service-card>div:first-child{color:#dc2626}

.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
