/*
  style.css — Reparhogar Barcelona
  Opción E: HTML con utilidades estilo Tailwind + CSS externo local.
  Sin Bootstrap, sin CDN y con JS mínimo para menú móvil y FAQ.
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.55;color:#212529;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}ul,ol{list-style:none}img,picture,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font-family:inherit}summary{list-style:none}summary::-webkit-details-marker{display:none}
:root{--rh-blue:#0d4f8c;--rh-blue-dk:#083468;--rh-blue-lt:#1565a8;--rh-accent:#e8a800;--rh-accent-d:#c89300;--rh-accent-dk:#946600;--rh-green:#198754;--rh-green-d:#1a7a3c;--rh-wa:#0f7a32;--rh-wa-d:#0b5f27;--rh-text:#1a1a2e;--rh-muted:#666;--rh-border:#dde2e8;--rh-bg-alt:#f8f9fa;--rh-soft:#f0f4f8;--rh-accent-soft:#fff8df}
/* Layout */
.container-rh{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.bottom-4{bottom:1rem}.right-4{right:1rem}.z-100{z-index:100}.z-90{z-index:90}.w-full{width:100%}.w-1\/3{width:33.333333%}.w-6{width:1.5rem}.w-burger{width:22px}.w-\[58px\]{width:58px}.h-0\.5{height:2px}.h-6{height:1.5rem}.h-\[175px\]{height:175px}.h-\[58px\]{height:58px}.h-auto{height:auto}.h-full{height:100%}.max-w-full{max-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-\[760px\]{max-width:760px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.gap-px{gap:1px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-\[5px\]{gap:5px}.gap-x-1{column-gap:.25rem}.gap-x-6{column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.cursor-pointer{cursor:pointer}.whitespace-nowrap{white-space:nowrap}
.grid-services{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.grid-porque,.grid-test{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-contact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.layout-interior{grid-template-columns:minmax(0,1fr) 300px}
/* Spacing */
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-12{margin-bottom:3rem}.ml-1{margin-left:.25rem}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-11{padding-top:2.75rem;padding-bottom:2.75rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pl-6{padding-left:1.5rem}
/* Typography */
.text-left{text-align:left}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-hero{font-size:clamp(1.5rem,4.5vw,2.4rem)}.text-display{font-size:clamp(3rem,10vw,5rem)}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.01em}.tracking-wide{letter-spacing:.04em}.tracking-\[2px\]{letter-spacing:2px}.leading-none{line-height:1}.leading-tight{line-height:1.2}.leading-snug{line-height:1.45}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.7}.leading-loose{line-height:1.8}.underline{text-decoration:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.list-disc{list-style:disc}.list-decimal{list-style:decimal}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}
/* Colors */
.bg-white{background:#fff}.bg-transparent{background:transparent}.bg-neutral-200{background:#e5e5e5}.bg-rh-blue{background:var(--rh-blue)}.bg-rh-blue-dk{background:var(--rh-blue-dk)}.bg-rh-bg-alt{background:var(--rh-bg-alt)}.bg-rh-soft{background:var(--rh-soft)}.bg-rh-accent{background:var(--rh-accent)}.bg-rh-accent-soft{background:var(--rh-accent-soft)}.bg-rh-wa{background:var(--rh-wa)}.bg-rh-gradient{background:linear-gradient(140deg,var(--rh-blue-dk) 0%,var(--rh-blue) 100%)}.text-white{color:#fff}.text-white-80{color:rgba(255,255,255,.8)}.text-black{color:#000}.text-neutral-600{color:#555}.text-neutral-700{color:#333}.text-neutral-900{color:#111827}.text-slate-700{color:#334155}.text-rh-blue{color:var(--rh-blue)}.text-rh-blue-dk{color:var(--rh-blue-dk)}.text-rh-accent{color:var(--rh-accent)}.text-rh-accent-dk{color:var(--rh-accent-dk)}.text-rh-muted{color:var(--rh-muted)}.text-rh-text{color:var(--rh-text)}.text-rh-green-dark{color:var(--rh-green-d)}
/* Borders, radius, shadows */
.border{border-width:1px;border-style:solid}.border-0{border:0}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.border-l-4{border-left-width:4px;border-left-style:solid}.border-transparent{border-color:transparent}.border-rh-border{border-color:var(--rh-border)}.border-rh-accent{border-color:var(--rh-accent)}.border-rh-blue{border-color:var(--rh-blue)}.border-rh-wa{border-color:var(--rh-wa)}.border-neutral-900{border-color:#111827}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-rh{box-shadow:0 2px 8px rgba(0,0,0,.09)}.shadow-rh-hover{box-shadow:0 8px 24px rgba(0,0,0,.13)}.shadow-header{box-shadow:0 2px 8px rgba(0,0,0,.28)}.shadow-wa{box-shadow:0 4px 14px rgba(0,0,0,.25)}.divide-y>*+*{border-top-width:1px;border-top-style:solid}.divide-rh-border>*+*{border-color:var(--rh-border)}
/* Effects */
.transition{transition:all .18s ease}.group:hover .group-hover\:scale-105{transform:scale(1.04)}.hover-lift:hover{transform:translateY(-2px)}.hover\:-translate-y-1:hover{transform:translateY(-4px)}.hover\:scale-110:hover{transform:scale(1.08)}.hover\:shadow-rh-hover:hover{box-shadow:0 8px 24px rgba(0,0,0,.13)}.hover\:bg-rh-accent-d:hover{background:var(--rh-accent-d)}.hover\:bg-rh-wa-d:hover{background:var(--rh-wa-d)}.hover\:bg-rh-blue-lt:hover{background:var(--rh-blue-lt)}.hover\:bg-rh-bg-alt:hover{background:var(--rh-bg-alt)}.hover\:bg-rh-blue-05:hover{background:rgba(13,79,140,.05)}.hover\:bg-white-15:hover{background:rgba(255,255,255,.16)}.hover\:text-white:hover{color:#fff}.hover\:text-rh-blue:hover{color:var(--rh-blue)}.hover\:text-rh-blue-lt:hover{color:var(--rh-blue-lt)}.hover\:underline:hover{text-decoration:underline}
/* State/hooks */
.sr-skip{position:absolute;top:-100%;left:1rem;background:var(--rh-blue);color:#fff;padding:.4rem 1rem;border-radius:.3rem;font-weight:700;z-index:9999;transition:top .15s}.sr-skip:focus{top:.5rem}.nav-link[aria-current="page"]{background:rgba(255,255,255,.16);color:#fff;border-bottom:2px solid var(--rh-accent);padding-bottom:.18rem}.js-faq-btn[aria-expanded="true"] span{background:var(--rh-accent);color:#000}dd[hidden]{display:none!important}.check-item::before{content:"✓ ";color:var(--rh-green);font-weight:700}.bg-rh-soft .container-rh{display:flex;flex-direction:column;gap:.6rem}.sitemap-level{margin-left:0}.sitemap-level ul{margin-left:1rem}.sitemap-level a{color:var(--rh-blue);text-decoration:none}.sitemap-level a:hover{text-decoration:underline}
.prose-rh h2:first-child{margin-top:0}.prose-rh table{width:100%;border-collapse:collapse;margin:1rem 0}.prose-rh th,.prose-rh td{border:1px solid var(--rh-border);padding:.5rem;text-align:left}.prose-rh th{background:var(--rh-soft)}.prose-rh img{border-radius:.5rem}.prose-rh p:last-child{margin-bottom:0}.bg-rh-gradient .container-rh{display:flex;flex-direction:column;gap:.6rem}.bg-rh-gradient .mx-auto{align-items:center}
@media (max-width:768px){.js-burger{display:flex}.js-nav{display:none;width:100%;order:3;flex-direction:column;align-items:stretch;background:rgba(0,0,0,.14);border-radius:.5rem;padding:.5rem}.js-nav.is-open{display:flex}.js-nav .nav-link{display:block;padding:.55rem .75rem}.layout-interior{grid-template-columns:1fr}.container-rh{padding-left:1rem;padding-right:1rem}.grid-services{grid-template-columns:1fr}.text-hero{font-size:1.55rem}.py-11{padding-top:2rem;padding-bottom:2rem}.px-5{padding-left:1rem;padding-right:1rem}.sticky{position:sticky}.bottom-4{bottom:.75rem}.right-4{right:.75rem}}
@media (max-width:480px){.inline-flex.whitespace-nowrap{white-space:normal}.h-\[175px\]{height:165px}.w-\[58px\]{width:54px}.h-\[58px\]{height:54px}.text-xl{font-size:1.125rem}}

/* Contacto: tarjetas con fondo como el diseño original */
.contact-card-tel{border:2px solid var(--rh-accent);background:#fffbea}
.contact-card-wa{border:2px solid var(--rh-wa);background:#f0fff4}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rh-accent);outline-offset:3px}
