:root {
  --bg: #f4efe5;
  --surface: #fffdf9;
  --surface-alt: #ede6d9;
  --ink: #11243d;
  --muted: #5b6777;
  --line: rgba(17, 36, 61, 0.12);
  --primary: #ea7b1f;
  --primary-deep: #c95c06;
  --navy: #11243d;
  --navy-2: #1a3458;
  --success: #14835f;
  --warm: #fff1df;
  --gold: #ffd500;
  --shadow: 0 18px 48px rgba(17, 36, 61, 0.12);
  --radius: 24px;
  --container: 1180px;
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;color:var(--ink);line-height:1.65;background:radial-gradient(circle at top right, rgba(234,123,31,.12), transparent 28%),linear-gradient(180deg,#fbf8f2 0%,var(--bg) 100%)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p,ul,h1,h2,h3,h4{margin-top:0}.container{width:min(calc(100% - 2rem),var(--container));margin:0 auto}
.skip-link,.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{width:auto;height:auto;clip:auto;padding:1rem;background:var(--navy);color:#fff;z-index:999}
.top-strip{background:var(--navy);color:#fff;font-size:.95rem}.top-strip .container{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;align-items:center;padding:.7rem 0}.top-strip strong{color:#ffd8b5}.top-strip a{text-decoration:underline;text-underline-offset:2px}
.site-header{position:sticky;top:0;z-index:90;background:rgba(251,248,242,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.topbar{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;min-height:86px}.brand img{width:300px;max-width:100%}
.site-nav{display:flex;justify-content:center;gap:1rem;font-weight:700}.site-nav a{padding:.7rem .95rem;border-radius:999px;color:var(--muted)}.site-nav a.active,.site-nav a:hover{background:rgba(17,36,61,.08);color:var(--ink)}
.header-actions{display:flex;gap:.8rem;align-items:center}.mini-action{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:800}.mini-action.whatsapp{background:var(--success);color:#fff;border-color:transparent}
.nav-toggle{display:none;background:transparent;border:0;padding:.4rem}.nav-toggle span{display:block;width:28px;height:3px;border-radius:999px;background:var(--navy);margin:5px 0}
.hero{padding:4.8rem 0 3.2rem}.page-hero{padding:4.2rem 0;background:linear-gradient(135deg, rgba(17,36,61,.96), rgba(31,55,90,.92)), url("images/Apertodo Cerrajeros - Llovizna.png") center/cover;color:#fff}.hero-grid,.split,.about-grid,.map-grid,.contact-grid,.process-grid,.review-grid,.promo-grid{display:grid;gap:2rem;align-items:center}.hero-grid{grid-template-columns:1.08fr .92fr}.page-hero .container{max-width:1000px}.page-hero h1,.hero h1{font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.03;margin-bottom:1rem}.lead{font-size:1.1rem;color:var(--muted)}.page-hero p{font-size:1.08rem;color:rgba(255,255,255,.88);max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:900;color:var(--primary)}
.hero-panel{background:linear-gradient(135deg,#fff,#fff6ec);padding:1rem;border-radius:32px;box-shadow:var(--shadow);border:1px solid var(--line)}.hero-panel img{border-radius:24px;aspect-ratio:4/5;object-fit:cover}.hero-badge{display:inline-flex;gap:.8rem;align-items:center;padding:.9rem 1rem;margin-top:1rem;background:var(--navy);color:#fff;border-radius:18px}.hero-badge small{display:block;color:rgba(255,255,255,.72)}
.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.8rem 0 1.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.95rem 1.5rem;border-radius:999px;font-weight:800;transition:transform .25s ease, box-shadow .25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(17,36,61,.14)}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy)}
.stat-row,.trust-grid,.services-grid,.feature-grid,.zone-grid,.footer-grid,.icon-grid{display:grid;gap:1.3rem}.stat-row{grid-template-columns:repeat(3,1fr);margin-top:1.4rem}.stat-card,.trust-card,.service-card,.feature-card,.zone-card,.contact-card,.info-panel,.faq-item,.cta-banner,.service-row,.review-shell,.nap-card,.process-step,.icon-box,.promo-copy,.promo-visual{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card,.trust-card,.feature-card,.zone-card,.icon-box{padding:1.45rem}.stat-card strong{display:block;font-size:1.5rem;color:var(--primary)}.section{padding:4.5rem 0}.section-soft{background:rgba(255,255,255,.45)}.section-dark{background:linear-gradient(135deg,var(--navy) 0%, var(--navy-2) 100%);color:#fff}.section-dark .eyebrow,.section-highlight .eyebrow{color:#ffd8b5}.section-dark .info-panel,.section-dark .nap-card,.section-dark .contact-card,.section-dark .cta-banner,.section-dark .review-shell,.section-dark .faq-item{color:var(--ink)!important;background:var(--surface)}.section-dark .info-panel *,.section-dark .nap-card *,.section-dark .contact-card *,.section-dark .cta-banner *,.section-dark .review-shell *,.section-dark .faq-item *{color:inherit}.section-heading{max-width:800px;margin-bottom:2rem}
.hero-points,.check-list,.contact-list{list-style:none;padding:0;margin:0}.hero-points li,.check-list li,.contact-list li{position:relative;padding-left:1.5rem;margin:.65rem 0}.hero-points li:before,.check-list li:before,.contact-list li:before{content:"";position:absolute;left:0;top:.72rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--primary)}
.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:1rem}.service-card img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem}.service-card h3{margin-bottom:.6rem}.service-card .text-link{font-weight:800;color:var(--primary-deep)}
.split{grid-template-columns:1.05fr .95fr}.info-panel,.contact-card,.nap-card{padding:2rem}.pill-list{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.3rem 0 1.8rem}.pill-list span{padding:.65rem 1rem;border-radius:999px;background:rgba(17,36,61,.08);font-weight:700}
.feature-grid{grid-template-columns:repeat(4,1fr)}.feature-card h3,.zone-card h3,.process-step h3{margin-bottom:.5rem}
.process-grid{grid-template-columns:repeat(4,1fr)}.process-step{padding:1.6rem}.process-step .step-number{display:inline-flex;width:2.6rem;height:2.6rem;border-radius:50%;align-items:center;justify-content:center;background:var(--warm);color:var(--primary-deep);font-weight:900;margin-bottom:1rem}
.review-grid{grid-template-columns:.95fr 1.05fr}.review-intro{padding-right:1rem}.review-shell{padding:2rem;background:linear-gradient(135deg,#fff,#fff4e8)}.review-widget{display:grid;gap:1rem}.review-brand{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;border-radius:18px;background:#f8f5ef;border:1px solid rgba(17,36,61,.08)}.review-brand-title{display:flex;gap:1rem;align-items:center}.review-brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.review-note{font-size:.92rem;color:var(--muted)}.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.review-card{padding:1.2rem;border-radius:18px;background:#fff;border:1px solid rgba(17,36,61,.1);min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.review-card .stars{color:var(--primary);font-size:1.1rem;letter-spacing:.08em}.review-card h4{margin:0 0 .5rem;font-size:1rem}.review-card p{margin:0;color:var(--muted)}.review-card.placeholder p{font-style:italic}.review-widget-foot{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.zone-grid{grid-template-columns:repeat(3,1fr)}.zone-card{padding:1.6rem}
.cta-banner{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:2rem;background:linear-gradient(135deg,#fff2e2,#fffdf8)}
.faq-list{display:grid;gap:1rem}.faq-item{padding:1.2rem 1.4rem}.faq-item summary{cursor:pointer;font-weight:800}.faq-item p{margin-top:1rem}
.map-grid,.contact-grid,.about-grid{grid-template-columns:.98fr 1.02fr}.map-frame{min-height:420px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.map-frame iframe{width:100%;height:100%;min-height:420px;border:0}
.icon-grid{grid-template-columns:repeat(3,1fr)}.icon-box{padding:1.5rem}.service-row{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;padding:1rem;align-items:center}.service-row img{width:100%;height:240px;object-fit:cover;border-radius:20px}
.contact-list.large li{padding-left:0}.contact-list.large li:before{display:none}.nap-card address{font-style:normal}.about-image{border-radius:var(--radius);box-shadow:var(--shadow)}
.form-card{background:var(--surface);padding:2rem;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form{display:grid;gap:1rem}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(17,36,61,.16);font:inherit;background:#fff}.contact-form textarea{min-height:150px;resize:vertical}.form-note{font-size:.95rem;color:var(--muted)}
.promo-grid{grid-template-columns:1fr 1fr}.promo-copy{padding:2rem;background:linear-gradient(135deg,#fff7ee,#fff)}.promo-copy p a{text-decoration:underline;text-underline-offset:2px}.promo-visual{position:relative;min-height:360px;padding:2rem;overflow:hidden;background:radial-gradient(circle at 60% 40%, #ffe25a 0%, #ffd400 42%, #f8c900 43%, #f8c900 100%)}.promo-key{position:absolute;left:28px;top:40px;width:170px;filter:drop-shadow(0 10px 18px rgba(17,36,61,.25))}.promo-circle{position:absolute;right:32px;top:34px;width:250px;height:250px;border-radius:50%;background:#ffdb00;box-shadow:0 20px 40px rgba(17,36,61,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.2rem}.promo-circle strong{font-size:4.4rem;line-height:.9;color:var(--navy)}.promo-circle span{font-size:2rem;font-weight:900;color:var(--navy);line-height:1}.promo-circle small{display:block;margin-top:.5rem;font-size:1.15rem;color:var(--navy);font-weight:700}.promo-mini-icons{position:absolute;left:34px;bottom:32px;display:grid;grid-template-columns:repeat(3,88px);gap:1rem}.mini-icon-card{background:rgba(255,255,255,.88);border-radius:24px;padding:1rem .7rem;text-align:center;box-shadow:0 10px 24px rgba(17,36,61,.18)}.mini-icon-card strong{display:block;font-size:2rem;line-height:1;color:var(--primary-deep)}.mini-icon-card span{display:block;margin-top:.45rem;font-size:.86rem;font-weight:800;color:var(--navy)}
.site-footer{padding:4rem 0 1rem;background:#0f1d33;color:rgba(255,255,255,.88)}.footer-grid{grid-template-columns:1.45fr 1fr 1fr 1fr;align-items:start}.footer-logo{width:235px;margin-bottom:1rem}.site-footer h3{color:#fff;font-size:1rem}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.7rem 0}.footer-bottom{margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:rgba(255,255,255,.68)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease, transform .6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1080px){.topbar{grid-template-columns:auto auto 1fr}.nav-toggle{display:inline-block;justify-self:end}.site-nav{position:absolute;top:calc(100% + 1px);left:1rem;right:1rem;display:none;flex-direction:column;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.site-nav.is-open{display:flex}.header-actions{display:none}.hero-grid,.split,.about-grid,.map-grid,.contact-grid,.process-grid,.review-grid,.promo-grid,.service-row,.footer-grid,.stat-row,.trust-grid,.services-grid,.feature-grid,.zone-grid,.icon-grid,.review-cards{grid-template-columns:1fr}.hero-panel{order:-1}.promo-visual{min-height:520px}.promo-circle{position:relative;right:auto;top:auto;margin-left:auto}.promo-mini-icons{position:relative;left:auto;bottom:auto;margin-top:1.5rem}}
@media (max-width:720px){.top-strip .container{padding:.8rem 0}.brand img{width:220px}.hero,.page-hero,.section{padding:3.5rem 0}.page-hero h1,.hero h1{font-size:clamp(2.2rem,11vw,3.2rem)}.cta-banner{flex-direction:column;align-items:flex-start}.map-frame,.map-frame iframe{min-height:320px}.promo-visual{min-height:470px}.promo-key{width:120px}.promo-circle{width:220px;height:220px}.promo-circle strong{font-size:3.6rem}.promo-circle span{font-size:1.7rem}.promo-mini-icons{grid-template-columns:repeat(3,1fr)}}


