:root{
  --blue:#004d9f;
  --blue2:#003c7e;
  --deep:#002b5b;
  --yellow:#ffca05;
  --red:#e10d1b;
  --green:#168c2b;
  --ink:#1c2a40;
  --muted:#5e6d80;
  --soft:#f6f8fb;
  --white:#fff;
  --line:#dfe5ec;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
.container{width:min(1180px,92%);margin:auto}

.header{background:#fff}
.header-inner{
  display:grid;
  grid-template-columns:390px 250px 1fr;
  align-items:center;
  gap:28px;
  min-height:126px;
}
.brand-block img{display:block;width:100%;height:auto}
.slogan{border-left:2px solid var(--yellow);padding-left:28px;color:var(--blue2)}
.slogan strong{font-size:22px;line-height:1.15}
.slogan span{display:block;margin-top:14px;width:78px;height:4px;background:var(--yellow)}
.header-contact{
  display:grid;grid-template-columns:repeat(3,auto);justify-content:end;gap:20px;
  font-size:13px;color:var(--blue2);font-weight:700
}

.main-nav{background:linear-gradient(90deg,var(--blue2),var(--blue))}
.nav-inner{display:flex;align-items:stretch;overflow-x:auto}
.nav-inner a{
  color:#fff;text-decoration:none;padding:17px 20px;white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.10);font-size:14px
}
.nav-inner a:hover,.nav-inner a.active{background:var(--yellow);color:#111}

.hero{position:relative;background:linear-gradient(100deg,#062e58 0%,#0b3d6e 44%,#0c4d89 100%);color:#fff;overflow:hidden}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 72% 24%,rgba(255,202,5,.14),transparent 18%),
    linear-gradient(90deg,rgba(0,25,56,.55),rgba(0,25,56,.05) 52%,rgba(0,0,0,.10));
}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;min-height:470px}
.hero-copy{padding:58px 0 48px}
.hero-copy h1{font-size:clamp(42px,5.2vw,66px);line-height:.99;margin:0 0 20px;font-weight:800}
.hero-copy h1 span{color:var(--yellow)}
.hero-copy h1 em{font-style:normal;color:var(--red)}
.hero-copy p{font-size:18px;max-width:600px;color:#f4f7fb}
.cta{display:inline-flex;align-items:center;gap:16px;background:var(--yellow);color:#111;text-decoration:none;padding:14px 22px;border-radius:30px;font-weight:800;margin-top:8px}

.hero-visual{position:relative;min-height:470px}
.pipe{position:absolute;background:#e1b10a;border:6px solid #c79b00;box-shadow:inset 0 0 8px rgba(255,255,255,.3)}
.pipe-v{width:38px;height:82%;left:25%;top:0;border-radius:8px}
.pipe-h{height:38px;width:90%;left:12%;bottom:16%;border-radius:8px}
.meter{
  position:absolute;left:29%;top:28%;width:130px;height:160px;border-radius:8px;
  background:linear-gradient(#d9dee2,#a9b0b5);border:8px solid #7f878b;
  box-shadow:0 12px 24px rgba(0,0,0,.25)
}
.worker{
  position:absolute;right:8%;bottom:0;width:250px;height:375px;
  background:linear-gradient(#213c60 0 40%,#18314f 40%);border-radius:120px 120px 20px 20px;
  box-shadow:0 20px 40px rgba(0,0,0,.3)
}
.helmet{
  position:absolute;top:-10px;left:48px;width:155px;height:85px;border-radius:80px 80px 20px 20px;
  background:#f5f5f2;color:var(--blue);font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;
  border-bottom:8px solid #d9d9d4
}
.body{
  position:absolute;bottom:62px;left:40px;width:170px;height:95px;
  display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:900;
  color:var(--yellow);letter-spacing:-2px
}
.hero-note{position:absolute;right:0;top:42%;font-size:17px;line-height:1.65}
.hero-note span{display:block;width:48px;height:4px;background:var(--yellow);margin-bottom:14px}

.principles{background:#fff}
.principles-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.principles article{text-align:center;padding:25px 20px;border-right:1px solid var(--line)}
.principles article:last-child{border-right:0}
.icon{width:54px;height:54px;margin:auto;border:3px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:25px;font-weight:900}
.icon.blue{color:var(--blue)}
.icon.yellow{color:#e5ad00}
.icon.red{color:var(--red)}
.icon.green{color:var(--green)}
.principles h3{color:var(--blue2);margin:10px 0 4px}
.principles p{margin:0;color:var(--muted);font-size:14px}

.section{padding:74px 0}
.soft{background:var(--soft)}
.eyebrow{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.13em;color:var(--blue)}
.eyebrow.light{color:var(--yellow)}
.section h2{font-size:clamp(30px,4vw,44px);line-height:1.13;color:var(--blue2);margin:8px 0 20px}
.center-title{text-align:center;max-width:900px;margin-left:auto!important;margin-right:auto!important}

.intro-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:28px;align-items:stretch}
.visual-card{
  position:relative;min-height:330px;border-radius:6px;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 67%,#35aef0 0 4%,#1768b2 8%,#0b2f55 18%,transparent 30%),
    linear-gradient(135deg,#3b2b20,#171717 55%,#080808);
}
.flame{position:absolute;left:12%;right:12%;bottom:25%;height:38px;border-radius:50%;background:radial-gradient(ellipse,#7be1ff 0 20%,#1188e5 40%,transparent 67%);filter:blur(1px)}
.visual-text{position:absolute;left:30px;bottom:28px;color:#fff;font-size:22px;font-weight:800;line-height:1.08;border-bottom:4px solid var(--yellow);padding-bottom:14px}
.text-card{padding:20px 0}
.secondary-btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:13px 20px;border-radius:7px;font-weight:700;margin-top:10px}
.onac-card{background:#eef4fb;border-radius:8px;padding:28px}
.onac-icon{font-size:48px;color:var(--blue)}
.onac-card h3{font-size:24px;line-height:1.1;color:var(--blue2);margin:8px 0 16px}
.onac-card p{color:#41506a}
.onac-line{width:70px;height:4px;background:var(--yellow);margin-top:20px}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.service{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 8px 18px rgba(3,41,83,.05)}
.service span{font-size:40px;font-weight:900;color:#e4e9ef}
.service h3{color:var(--blue2);font-size:22px;margin:4px 0 8px}
.service p{color:var(--muted)}

.scope-section{background:linear-gradient(105deg,var(--deep),var(--blue2));color:#fff}
.scope-section h2{color:#fff}
.scope-section blockquote{font-size:clamp(22px,3vw,31px);font-weight:700;line-height:1.35;margin:24px 0;border-left:6px solid var(--yellow);padding-left:24px}
.scope-note{color:#c6d4e5}

.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.policy-grid div{border:1px solid var(--line);padding:22px;border-radius:8px}
.policy-grid strong{display:block;color:var(--blue2);font-size:17px}
.policy-grid span{display:block;color:var(--muted);font-size:13px;margin-top:4px}

.complaints{background:var(--blue2);color:#fff}
.complaints h2{color:#fff}
.complaints p{color:#e7eef7}
.complaint-box{background:#fff;color:var(--ink);padding:28px;border-radius:10px}
.complaint-box p{color:var(--muted)}

.contact-section{background:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-card{border-left:5px solid var(--yellow);padding:8px 0 8px 24px}
.contact-card div{margin:10px 0;color:var(--blue2)}

.closing-band{background:linear-gradient(90deg,var(--blue2) 0 34%,#101921 34% 68%,var(--yellow) 68%);color:#fff}
.closing-grid{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:150px;align-items:center;gap:22px}
.closing-grid>div{padding:22px;font-size:20px}
.closing-grid>div:last-child{color:var(--blue2);font-size:23px}
.burner{height:80px!important;border-radius:50%;background:radial-gradient(ellipse,#6fe2ff 0 10%,#168be2 22%,#0a3762 42%,#080b0e 56%,transparent 60%)}

footer{background:#003a75;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:40px;padding:30px 0}
.footer-logo img{width:100%;max-width:330px}
.footer-grid h4{margin:0 0 10px}
.footer-grid a,.footer-grid span{display:block;color:#e4eef8;text-decoration:none;font-size:14px;margin:5px 0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.25);background:#002f61}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:12px}

@media(max-width:980px){
  .header-inner{grid-template-columns:1fr;gap:10px;padding:18px 0}
  .brand-block img{max-width:480px}
  .slogan{border-left:0;border-top:2px solid var(--yellow);padding:14px 0 0}
  .header-contact{justify-content:start;grid-template-columns:1fr 1fr}
  .hero-inner,.split,.contact-grid{grid-template-columns:1fr}
  .hero-visual{min-height:380px}
  .principles-grid{grid-template-columns:1fr 1fr}
  .intro-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .closing-grid{grid-template-columns:1fr}
  .closing-band{background:var(--blue2)}
  .closing-grid>div:last-child{background:var(--yellow);color:var(--blue2)}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .header-contact{grid-template-columns:1fr}
  .principles-grid{grid-template-columns:1fr}
  .principles article{border-right:0;border-bottom:1px solid var(--line)}
  .hero-copy h1{font-size:42px}
  .worker{right:0;transform:scale(.85);transform-origin:bottom right}
  .hero-note{display:none}
  .policy-grid{grid-template-columns:1fr}
  .footer-bottom-inner{flex-direction:column}
}


/* ===== Agenda de revisión ===== */
.booking-section{
  background:
    linear-gradient(115deg,rgba(0,45,94,.98),rgba(0,77,159,.96)),
    radial-gradient(circle at 80% 20%,rgba(255,202,5,.15),transparent 30%);
  color:#fff;
}
.booking-section h2{color:#fff}
.booking-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:54px;
  align-items:center;
}
.booking-copy p{font-size:19px;color:#edf4fb;max-width:680px}
.booking-btn{
  display:inline-block;
  margin-top:12px;
  background:var(--yellow);
  color:#101010;
  padding:15px 24px;
  border-radius:30px;
  text-decoration:none;
  font-weight:900;
}
.booking-copy small{
  display:block;
  margin-top:14px;
  max-width:650px;
  color:#c7d7ea;
}
.qr-card{
  background:#fff;
  color:var(--ink);
  border-radius:16px;
  padding:28px;
  text-align:center;
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.qr-card h3{color:var(--blue2);font-size:25px;margin:16px 0 4px}
.qr-card p{color:var(--muted);font-size:14px;margin-bottom:0}
.qr-placeholder{
  width:190px;
  height:190px;
  margin:auto;
  border:10px solid #fff;
  outline:3px solid var(--blue2);
  background:#fff;
  padding:12px;
}
.qr-grid{
  height:100%;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-template-rows:repeat(5,1fr);
  gap:5px;
}
.qr-grid span{background:var(--blue2)}
.qr-grid span:nth-child(2n){background:#fff}
.qr-grid span:nth-child(3n){background:var(--yellow)}
.qr-grid span:nth-child(7),
.qr-grid span:nth-child(13),
.qr-grid span:nth-child(19){background:var(--red)}

/* ===== Significado del logo ===== */
.identity-section{background:#fff}
.identity-intro{
  max-width:820px;
  color:var(--muted);
  font-size:18px;
}
.identity-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:34px;
}
.identity-card{
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px 22px;
  background:#fff;
  position:relative;
  overflow:hidden;
}
.identity-card:after{
  content:"";
  position:absolute;
  left:0;bottom:0;width:100%;height:5px;
  background:linear-gradient(90deg,var(--blue) 0 45%,var(--green) 45% 70%,var(--yellow) 70% 85%,var(--red) 85%);
}
.identity-symbol{
  width:66px;height:66px;border-radius:50%;
  display:grid;place-items:center;
  font-size:34px;font-weight:900;
  margin-bottom:18px;
  background:#f3f6f9;
}
.flame-symbol{color:var(--blue)}
.check-symbol{color:var(--green)}
.pipe-symbol{color:#5b626a;font-family:monospace}
.g-symbol{color:var(--blue2);font-size:38px}
.identity-card h3{color:var(--blue2);font-size:21px;margin:0 0 8px}
.identity-card p{color:var(--muted);font-size:14px;margin:0}

@media(max-width:980px){
  .booking-grid{grid-template-columns:1fr}
  .identity-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .identity-grid{grid-template-columns:1fr}
}


.qr-real {
  display: block;
  width: 220px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 18px;
  background: #fff;
  padding: 10px;
  border-radius: 12px;
}


/* ===== Quejas, Apelaciones y Peticiones ===== */
.complaints-intro{max-width:980px;font-size:17px}
.complaint-form-wrap{display:grid;grid-template-columns:.8fr 1.7fr;gap:28px;margin-top:34px;align-items:start}
.complaint-notes,.qap-form{background:#fff;color:var(--ink);border-radius:12px;padding:28px}
.complaint-notes h3{margin-top:0;color:var(--blue2)}
.complaint-notes p{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.qap-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--blue2);font-size:14px}
.qap-form label span{font-weight:400;color:var(--muted)}
.qap-form input,.qap-form select,.qap-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd7df;border-radius:7px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}
.qap-form textarea{resize:vertical}
.qap-form .full{grid-column:1/-1}
.qap-form .consent{flex-direction:row;align-items:flex-start;margin:22px 0;color:var(--ink);font-weight:500}
.qap-form .consent input{width:auto;margin-top:3px}
.qap-submit{border:0;cursor:pointer}
.qap-status{margin:16px 0 0!important;font-weight:700}
.qap-status.pending{color:#7a5200;background:#fff4cc;border:1px solid #e6c75d;padding:12px;border-radius:7px}
.backend-note{font-size:12px!important;color:#6c7782!important;margin-top:16px!important}
@media(max-width:980px){.complaint-form-wrap{grid-template-columns:1fr}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.qap-form .full{grid-column:auto}.complaint-notes,.qap-form{padding:20px}}

/* ===== Consolidación institucional v0.5 ===== */
.header-contact a{color:var(--blue2);text-decoration:none}
.lead-text,.section-intro{max-width:1000px;color:var(--muted);font-size:17px}
.center-copy{text-align:center;margin:0 auto}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
.mv-card,.values-grid article,.policy-detail-grid article,.norm-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 8px 18px rgba(3,41,83,.05)}
.mv-card p,.values-grid p,.policy-detail-grid p,.norm-grid p{color:var(--muted);margin-bottom:0}
.values-title{color:var(--blue2);font-size:28px;margin:42px 0 18px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.values-grid h4{color:var(--blue2);font-size:19px;margin:0 0 8px}
.compact-onac{margin-top:30px}
.two-services{grid-template-columns:1fr 1fr}
.formal-scope{margin-top:32px;background:linear-gradient(105deg,var(--deep),var(--blue2));color:#fff;border-radius:12px;padding:28px}
.formal-scope h3{margin-top:0;color:var(--yellow);font-size:22px}
.formal-scope blockquote{font-size:21px;font-weight:700;line-height:1.45;margin:0;border-left:5px solid var(--yellow);padding-left:20px}
.center-action{text-align:center;margin-top:28px}
.price-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0;max-width:620px}
.price-row div{border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:15px 18px;background:rgba(255,255,255,.08)}
.price-row strong,.price-row span{display:block}.price-row span{color:var(--yellow);font-size:22px;font-weight:900;margin-top:3px}
.policy-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.policy-detail-grid h3{color:var(--blue2);margin-top:0}
.type-a-note{margin-top:22px;border-left:5px solid var(--yellow);background:#f6f8fb;padding:20px 22px;color:var(--ink)}
.norm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.norm-grid h3{color:var(--blue2);margin-top:0}
.norm-note{margin-top:24px;color:var(--muted);font-size:14px}
.contact-card a{color:var(--blue2);text-decoration:none;overflow-wrap:anywhere}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.outline-btn{background:#fff;color:var(--blue);border:2px solid var(--blue)}
.footer-logo strong{display:block;margin-top:12px;color:var(--yellow);letter-spacing:.04em}
.footer-grid a{overflow-wrap:anywhere}
@media(max-width:980px){.mv-grid,.policy-detail-grid,.norm-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr 1fr}.two-services{grid-template-columns:1fr}}
@media(max-width:620px){.values-grid,.price-row{grid-template-columns:1fr}}


/* ===== Ajustes de navegación y visibilidad v0.6 ===== */
html{scroll-behavior:smooth;scroll-padding-top:74px}
.main-nav{position:sticky;top:0;z-index:900;box-shadow:0 3px 12px rgba(0,0,0,.16)}
.quick-actions-fixed{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1100;
  display:flex;
  gap:10px;
  align-items:center;
}
.quick-actions-fixed a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 17px;
  border-radius:9px;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  border:2px solid #fff;
}
.quick-home{background:var(--blue);color:#fff}
.quick-book{background:var(--green);color:#fff}
.quick-actions-fixed a:hover{transform:translateY(-1px)}
.footer-logo{
  background:#fff;
  border-radius:12px;
  padding:18px;
  align-self:start;
}
.footer-logo img{
  display:block;
  width:100%;
  max-width:330px;
  margin:0 auto;
}
.footer-logo strong{
  text-align:center;
  color:var(--blue2);
  margin-top:12px;
}
@media(max-width:720px){
  .quick-actions-fixed{left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:.75fr 1.25fr}
  .quick-actions-fixed a{padding:0 10px;font-size:14px}
  body{padding-bottom:74px}
}

/* ===== v0.8: línea visual fotográfica aprobada ===== */
body{background:#fff}
.header{box-shadow:0 2px 12px rgba(0,43,91,.08)}
.header-inner{min-height:112px}
.main-nav{position:sticky;top:0;z-index:1000;box-shadow:0 4px 12px rgba(0,30,70,.16)}
.nav-inner a{font-weight:700}

.hero-photo{
  min-height:560px;
  background-image:url('assets/hero-inspeccion-clean.jpg');
  background-size:cover;
  background-position:center right;
}
.hero-photo .hero-overlay{
  background:linear-gradient(90deg,rgba(0,35,75,.98) 0%,rgba(0,49,99,.93) 36%,rgba(0,49,99,.42) 57%,rgba(0,32,68,.12) 100%);
}
.hero-photo-inner{grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);min-height:560px;align-items:center}
.hero-photo .hero-copy{padding:58px 0 54px;max-width:660px}
.hero-kicker{display:inline-block;color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:15px}
.hero-photo .hero-copy h1{font-size:clamp(42px,5vw,64px);text-shadow:0 2px 14px rgba(0,0,0,.28)}
.hero-photo .hero-copy p{max-width:620px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.cta-outline{background:transparent;border:2px solid #fff;color:#fff}
.cta-outline:hover{background:#fff;color:var(--blue2)}
.hero-trust-panel{justify-self:end;background:rgba(0,47,95,.78);backdrop-filter:blur(4px);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 30px rgba(0,0,0,.24);min-width:270px}
.hero-trust-panel div{display:flex;gap:14px;align-items:center;padding:11px 4px;color:#fff;font-weight:800}
.hero-trust-panel strong{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--yellow);border-radius:50%;color:var(--yellow);font-size:20px}

.visual-showcase{padding:18px 0 42px;background:#f5f8fc}
.visual-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.visual-tile{display:grid;grid-template-columns:46% 54%;min-height:200px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(0,44,91,.09);border:1px solid #e6edf5}
.visual-tile img{width:100%;height:100%;object-fit:cover}
.visual-tile>div{padding:22px 20px;display:flex;flex-direction:column;justify-content:center}
.visual-tile h3{color:var(--blue2);font-size:21px;line-height:1.12;margin:0 0 8px}
.visual-tile p{color:var(--muted);font-size:14px;margin:0 0 13px}
.visual-tile a{color:var(--blue);font-weight:800;text-decoration:none}

.section-photo-feature{position:relative;margin:34px 0 42px;border-radius:18px;overflow:hidden;height:350px;box-shadow:0 14px 34px rgba(0,40,85,.13)}
.section-photo-feature img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.section-photo-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,42,91,.10),rgba(0,42,91,.06) 50%,rgba(0,42,91,.72))}
.section-photo-caption{position:absolute;z-index:2;right:30px;bottom:30px;max-width:420px;color:#fff;text-align:right}
.section-photo-caption strong{display:block;font-size:26px;line-height:1.1;margin-bottom:8px}
.section-photo-caption span{font-size:15px}

.two-services{grid-template-columns:repeat(2,1fr)!important;max-width:950px;margin-left:auto;margin-right:auto}
.service-photo{padding:0;overflow:hidden}
.service-photo>img{width:100%;height:240px;object-fit:cover;display:block}
.service-photo .service-body{padding:26px 28px 30px}
.service-photo .service-body span{font-size:32px;color:var(--yellow);background:var(--blue2);padding:5px 10px;border-radius:8px;display:inline-block;line-height:1}

.booking-section{position:relative;overflow:hidden}
.booking-section:after{content:"";position:absolute;inset:0 0 0 55%;background:url('assets/gas-llama.jpg') center/cover no-repeat;opacity:.18;mix-blend-mode:screen;pointer-events:none}
.booking-grid{position:relative;z-index:1}

.policy-visual{display:grid;grid-template-columns:42% 58%;min-height:250px;margin:30px 0;border-radius:16px;overflow:hidden;background:var(--deep);box-shadow:0 12px 30px rgba(0,43,91,.12)}
.policy-visual img{width:100%;height:100%;object-fit:cover}
.policy-visual>div{padding:32px;color:#fff;display:flex;flex-direction:column;justify-content:center}
.policy-visual strong{font-size:27px;line-height:1.15;margin-bottom:10px}
.policy-visual span{color:var(--yellow);font-weight:800}

.closing-band{background:linear-gradient(90deg,var(--blue2) 0 34%,#09131d 34% 68%,var(--yellow) 68%)}
.closing-photo{height:150px!important;padding:0!important;overflow:hidden}
.closing-photo img{width:100%;height:100%;object-fit:cover;display:block}
.footer-logo{background:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.footer-logo strong{color:var(--blue2);margin-top:8px}
.footer-logo img{max-width:420px}

@media(max-width:980px){
  .hero-photo-inner{grid-template-columns:1fr;min-height:auto}
  .hero-photo .hero-copy{padding-top:50px}
  .hero-trust-panel{justify-self:start;margin-bottom:42px;display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%}
  .visual-showcase-grid{grid-template-columns:1fr}
  .visual-tile{grid-template-columns:38% 62%}
  .two-services{grid-template-columns:1fr!important}
  .policy-visual{grid-template-columns:1fr}
  .policy-visual img{height:250px}
  .booking-section:after{inset:45% 0 0 0}
}
@media(max-width:620px){
  .hero-photo{background-position:68% center}
  .hero-photo .hero-overlay{background:rgba(0,45,94,.86)}
  .hero-trust-panel{grid-template-columns:1fr}
  .visual-tile{grid-template-columns:1fr}
  .visual-tile img{height:210px}
  .section-photo-feature{height:310px}
  .section-photo-caption{left:22px;right:22px;text-align:left}
  .closing-grid{gap:0}
  .closing-photo{height:180px!important}
}

/* ===== v0.9: correcciones visuales aprobadas ===== */
.header-inner{grid-template-columns:390px 1fr;gap:38px;min-height:126px}
.header-info{display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.header-info .slogan{border-left:0;padding-left:0;white-space:nowrap}
.header-info .slogan strong{display:block;font-size:25px;line-height:1.1;white-space:nowrap}
.header-info .slogan span{margin-top:10px}
.header-info .header-contact{display:flex;align-items:center;justify-content:flex-start;gap:28px;white-space:nowrap;font-size:14px}
.hero-photo{background-image:url('assets/hero-inspeccion-v09.jpg')}
.closing-band{background:linear-gradient(90deg,var(--blue2) 0 34%,#09131d 34% 68%,var(--yellow) 68%)}
.closing-grid{gap:0}
.closing-photo{height:150px!important;padding:0!important;overflow:hidden;background:#09131d}
.closing-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.08)}
.closing-grid>div:last-child{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px 34px;color:var(--blue2);font-size:24px;line-height:1.2}
@media(max-width:980px){
 .header-inner{grid-template-columns:1fr;padding:18px 0}
 .header-info{gap:12px}
 .header-info .slogan strong{white-space:normal}
 .header-info .header-contact{display:flex;flex-wrap:wrap;gap:10px 22px;white-space:normal}
}
@media(max-width:620px){
 .header-info .slogan strong{font-size:21px}
 .header-info .header-contact{display:grid;grid-template-columns:1fr;gap:6px}
 .closing-photo{height:190px!important}
}

/* ===== v1.0: ajustes visuales aprobados 11/09/2026 ===== */
.policy-family{grid-template-columns:58% 42%;min-height:300px;background:#083b75}
.policy-family img{width:100%;height:100%;object-fit:cover;object-position:center}
.policy-family>div{padding:34px 36px;background:#083b75}
.policy-family strong{font-size:29px}

.closing-band{background:var(--blue2)}
.closing-grid{display:grid;grid-template-columns:32% 36% 32%;gap:0;align-items:stretch;max-width:none;width:100%;padding:0}
.closing-grid>div:first-child{background:var(--blue2);color:#fff;display:flex;align-items:center;justify-content:center;padding:26px 34px;text-align:left;font-size:22px;line-height:1.25}
.closing-photo{height:188px!important;padding:0!important;overflow:hidden;background:transparent}
.closing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.18)}
.closing-grid>div:last-child{background:var(--yellow);color:var(--blue2);display:flex;align-items:center;justify-content:center;text-align:center;padding:28px 42px;font-size:27px;line-height:1.18}

@media(max-width:980px){
 .policy-family{grid-template-columns:1fr}
 .policy-family img{height:320px}
 .closing-grid{grid-template-columns:1fr}
 .closing-grid>div:first-child,.closing-grid>div:last-child{min-height:120px;text-align:center}
 .closing-photo{height:250px!important}
}

/* ===== v1.1: correcciones finales aprobadas ===== */
.hero-photo{background-image:url('assets/hero-inspeccion-final.jpg')}
.policy-family img{object-position:center center}
/* La fotografía familiar no contiene el texto manuscrito "Hogares más seguros". */

/* HERO APROBADO FINAL - imagen exacta validada por GCIG */
.hero-approved-image{background:#073c72;padding:0;overflow:hidden}
.hero-approved-wrap{position:relative;width:100%;max-width:none;margin:0 auto;line-height:0}
.hero-approved-wrap>img{display:block;width:100%;height:auto;object-fit:cover}
.hero-hotspot{position:absolute;display:block;z-index:5;border-radius:999px}
.hero-hotspot-agenda{left:2.8%;top:85.4%;width:17.7%;height:9.5%}
.hero-hotspot-servicios{left:21.2%;top:85.4%;width:18.7%;height:9.5%}
@media(max-width:700px){
 .hero-approved-wrap{min-width:900px;transform-origin:top left}
 .hero-approved-image{overflow-x:auto}
}

/* Agenda aprobada - composición visual exacta con enlaces funcionales */
.agenda-approved-section{padding:0;background:#0b4c87;overflow:hidden}
.agenda-approved-wrap{position:relative;width:100%;max-width:1971px;margin:0 auto;line-height:0}
.agenda-approved-wrap>img{display:block;width:100%;height:auto}
.agenda-hotspot{position:absolute;display:block;z-index:4;border-radius:999px}
.agenda-hotspot-button{left:4.3%;top:68.5%;width:22.2%;height:9.0%}
.agenda-hotspot-qr{left:77.5%;top:22.5%;width:12.0%;height:29.0%;border-radius:6px}
.agenda-hotspot:focus-visible{outline:4px solid #fff;outline-offset:3px}
@media(max-width:760px){
  .agenda-approved-wrap{min-width:760px;left:50%;transform:translateX(-50%)}
}


/* Video informativo de revisión periódica */
.video-revision-section{background:#fff}
.video-revision-wrap{max-width:960px;aspect-ratio:640/368;margin:28px auto 0;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 18px 45px rgba(5,48,91,.18)}
.video-revision-wrap video{display:block;width:100%;height:100%;object-fit:contain;background:#000}

/* GCIG v24: compensación de la barra de navegación fija al ir a una sección. */
main section[id]{scroll-margin-top:96px;}

/* ===== Nuestro logo - diseño aprobado ===== */
.logo-showcase{background:#fff;scroll-margin-top:96px}
.logo-hero{position:relative;min-height:320px;overflow:hidden;background:#073e79}
.logo-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.logo-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,54,105,.98) 0%,rgba(2,64,122,.92) 38%,rgba(2,54,105,.28) 68%,rgba(2,44,87,.25) 100%)}
.logo-hero-content{position:relative;z-index:2;color:#fff;padding-top:44px;padding-bottom:44px}
.logo-kicker{display:block;color:#ffdd00;font-size:20px;font-weight:900;letter-spacing:.8px;margin-bottom:10px}
.logo-kicker:before{content:"";display:inline-block;width:38px;height:3px;background:#ffdd00;vertical-align:middle;margin-right:16px}
.logo-hero h2{color:#fff;font-size:46px;line-height:1.02;margin:0 0 18px;max-width:660px}
.logo-hero p{font-size:18px;line-height:1.5;max-width:620px;margin:0}
.logo-hero-note{position:absolute;right:0;top:42px;width:245px;padding:22px;border:1px solid rgba(255,255,255,.45);border-radius:20px;background:rgba(3,43,83,.55);font-size:19px;font-weight:800;line-height:1.25;backdrop-filter:blur(5px)}
.logo-meaning{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;padding-top:34px;padding-bottom:32px;align-items:center}
.logo-main{text-align:center}
.logo-main img{display:block;width:min(520px,100%);height:auto;margin:0 auto 8px;object-fit:contain}
.logo-main strong{display:block;color:#072c65;font-size:30px;line-height:1.12}
.logo-main span{display:block;width:220px;height:3px;background:#2e9c24;margin:16px auto 0}
.logo-cards{display:grid;gap:12px}
.logo-cards article{display:grid;grid-template-columns:110px 1fr;align-items:center;min-height:122px;padding:15px 24px;border:1px solid #dbe8f4;border-radius:18px;background:linear-gradient(90deg,#f5faff,#fff);box-shadow:0 8px 24px rgba(9,66,124,.05)}
.logo-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#fff;border-right:1px solid #8fb2d3;font-weight:900}
.logo-icon.flame{font-size:52px;color:#0871c9;transform:rotate(45deg)}
.logo-icon.check{font-size:68px;color:#45aa21}
.logo-icon.pipe{font-size:34px;color:#666;font-family:monospace}
.logo-icon.letter{font-size:60px;color:#073b7d}
.logo-cards h3{margin:0 0 5px;color:#063f92;font-size:22px}
.logo-cards p{margin:0;color:#17345e;font-size:17px;line-height:1.35}
.logo-commitment{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:24px;margin-bottom:34px;padding:24px 32px;border-radius:18px;background:linear-gradient(90deg,#eef7ff,#f8fbff);border:1px solid #e1edf8}
.commit-icon{font-size:58px;color:#0755a4;text-align:center;border-right:1px solid #8eb1d3}
.logo-commitment h3{margin:0 0 6px;color:#073f91;font-size:25px}
.logo-commitment p{margin:0;color:#17345e;font-size:16px;line-height:1.45}
@media(max-width:900px){
 .logo-hero-note{display:none}
 .logo-hero h2{font-size:38px}
 .logo-meaning{grid-template-columns:1fr;gap:28px}
 .logo-main img{width:min(430px,90%)}
}
@media(max-width:620px){
 .logo-hero{min-height:300px}
 .logo-hero-content{padding-top:34px;padding-bottom:34px}
 .logo-hero h2{font-size:32px}
 .logo-hero p{font-size:16px}
 .logo-cards article{grid-template-columns:78px 1fr;padding:12px 14px;min-height:105px}
 .logo-icon{width:62px;height:62px}
 .logo-icon.flame{font-size:40px}.logo-icon.check{font-size:50px}.logo-icon.letter{font-size:44px}.logo-icon.pipe{font-size:26px}
 .logo-cards h3{font-size:18px}.logo-cards p{font-size:14px}
 .logo-commitment{grid-template-columns:1fr;text-align:center;padding:22px}
 .commit-icon{border-right:0;border-bottom:1px solid #8eb1d3;padding-bottom:10px}
}

/* Nuestro logo: composición visual aprobada */
.identidad-aprobada{
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  overflow:hidden;
  scroll-margin-top:96px;
}
.identidad-aprobada img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
}

/* ===== v39: navegación superior sin barra horizontal ===== */
@media (min-width: 1001px){
  .topbar{
    overflow:visible !important;
  }
  .nav-wrap{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .nav-scroll{
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    scrollbar-width:none !important;
  }
  .nav-scroll::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
  }
  .nav{
    display:grid !important;
    grid-template-columns:repeat(10,minmax(0,1fr)) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
  }
  .nav a{
    min-width:0 !important;
    width:100% !important;
    padding:0 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.15 !important;
    font-size:clamp(11px,.84vw,15px) !important;
  }
}
/* En pantallas pequeñas se conserva el comportamiento responsive existente. */

/* ===== v40: corrección REAL del menú superior ===== */
/* La estructura real usa .main-nav > .container.nav-inner */
@media (min-width: 901px){
  .main-nav{
    width:100% !important;
    overflow:hidden !important;
  }

  .main-nav .container.nav-inner{
    display:grid !important;
    grid-template-columns:repeat(10, minmax(0,1fr)) !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .main-nav .nav-inner a{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:14px 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.15 !important;
    font-size:clamp(10px,.83vw,14px) !important;
  }

  .main-nav .nav-inner::-webkit-scrollbar{
    display:none !important;
    width:0 !important;
    height:0 !important;
  }
}

/* En pantallas pequeñas se permite acomodar las pestañas sin barra horizontal */
@media (max-width: 900px){
  .main-nav .container.nav-inner{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .main-nav .nav-inner a{
    min-width:0 !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

/* ===== v42: proporción de la sección Nuestro logo ===== */
.identidad-aprobada{
  padding:34px 20px 42px !important;
  background:#f5f7fa !important;
  box-sizing:border-box !important;
}
.identidad-aprobada img{
  width:min(100%, 1180px) !important;
  height:auto !important;
  margin:0 auto !important;
  border-radius:18px !important;
  box-shadow:0 14px 36px rgba(5,48,91,.12) !important;
}

@media (max-width:700px){
  .identidad-aprobada{
    padding:18px 10px 26px !important;
  }
  .identidad-aprobada img{
    width:100% !important;
    border-radius:12px !important;
  }
}

/* ===== v48: Opción 4 original, sin reinterpretaciones ===== */
.opcion4-v48{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:none !important;
  border:0 !important;
}
.opcion4-v48 img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
}

/* ===== v49: encabezado visual aprobado ===== */
.encabezado-v49{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  border:0 !important;
  overflow:hidden !important;
}
.encabezado-v49 img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
