/* ===== J&R Gasfitería — styles.css (v3 · toque SprintWeb) ===== */
:root{
  --navy:#0a2742; --navy-d:#06192c; --navy-2:#11375c;
  --azul:#1c7fc4; --azul-l:#eef4f9;
  --naranja:#E76925; --naranja-d:#cf5616; --naranja-l:#fdeee6;
  --tinta:#13212e; --gris:#5b6c79; --linea:#e7eaee;
  --bg:#ffffff; --bg-alt:#f5f6f8; --wa:#25d366; --wa-d:#1ebe5a;
  --ff-title:"Sora",system-ui,sans-serif;
  --ff-body:"Inter",system-ui,sans-serif;
  --radio:18px; --sombra:0 18px 50px -12px rgba(16,35,55,.18); --sombra-sm:0 6px 20px -8px rgba(16,35,55,.16);
  --bounce:cubic-bezier(.34,1.56,.64,1); --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--ff-body);color:var(--tinta);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92vw);margin-inline:auto}
.wrap--narrow{width:min(820px,92vw)}
[id]{scroll-margin-top:92px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--azul);color:#fff;padding:.7rem 1.1rem;border-radius:8px;z-index:1000}
.skip-link:focus{left:1rem;top:1rem}

/* ---- Botones ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--ff-title);font-weight:600;font-size:.98rem;letter-spacing:-.01em;padding:.82rem 1.5rem;border:none;border-radius:12px;cursor:pointer;transition:transform .16s var(--bounce),background .2s,box-shadow .25s,color .2s;white-space:nowrap}
.btn svg{width:1.15em;height:1.15em;flex:0 0 auto}
.btn:active{transform:scale(.95)}
.btn--lg{font-size:1.06rem;padding:.95rem 1.8rem;border-radius:14px}
.btn--block{width:100%}
.btn--primary{background:var(--naranja);color:#fff;box-shadow:0 10px 26px -8px rgba(231,105,37,.7)}
.btn--primary:hover{background:var(--naranja-d);transform:translateY(-2px);box-shadow:0 16px 34px -8px rgba(231,105,37,.75)}
.btn--wa{background:var(--wa);color:#06340f;box-shadow:0 10px 26px -8px rgba(37,211,102,.6)}
.btn--wa:hover{background:var(--wa-d);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.32);box-shadow:none}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,39,66,.9);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:saturate(1.4) blur(14px)}
.header__inner{display:flex;align-items:center;gap:1.5rem;padding:.65rem 0;justify-content:space-between}
.brand img{height:52px;width:auto}
.nav{display:flex;gap:1.7rem;margin-left:auto}
.nav a{font-family:var(--ff-title);font-weight:500;font-size:.96rem;color:#c4d2df;transition:color .2s}
.nav a:hover{color:#fff}
.header__cta{display:flex;gap:.55rem}
.nav__toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,.25);border-radius:11px;cursor:pointer;z-index:110}
.nav__toggle span{width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .2s}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav__drop{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--linea);box-shadow:var(--sombra);display:flex;flex-direction:column;padding:.4rem 0}
.nav__drop[hidden]{display:none}
.nav__drop a{font-family:var(--ff-title);font-weight:500;padding:.9rem 7vw;border-top:1px solid var(--linea)}
.nav__drop a:first-child{border-top:none}
.nav__drop a:last-child{color:var(--azul);font-weight:600}

/* ---- Hero ---- */
.hero{position:relative;color:#fff;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(6,21,36,.97) 0%,rgba(10,39,66,.92) 45%,rgba(17,55,92,.62) 100%)}
.hero__inner{padding:clamp(3.4rem,8.5vw,7rem) 0}
.badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(231,105,37,.18);border:1px solid rgba(231,105,37,.55);color:#ffd2b8;font-family:var(--ff-title);font-weight:600;font-size:.84rem;padding:.42rem .95rem;border-radius:999px;letter-spacing:.01em}
.badge .dot{width:9px;height:9px;border-radius:50%;background:var(--naranja);box-shadow:0 0 0 0 rgba(231,105,37,.6);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(231,105,37,.6)}70%{box-shadow:0 0 0 12px rgba(231,105,37,0)}100%{box-shadow:0 0 0 0 rgba(231,105,37,0)}}
.hero h1{font-family:var(--ff-title);font-weight:800;line-height:1.04;letter-spacing:-.025em;font-size:clamp(2.45rem,6vw,4.3rem);margin:1.2rem 0 0}
.hero h1 span{color:#ffc4a3;display:block;font-weight:700;font-size:.66em;letter-spacing:-.02em}
.hero__lead{max-width:50ch;font-size:clamp(1.06rem,1.6vw,1.22rem);margin:1.3rem 0 2rem;color:#dde6ee;line-height:1.6}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero__stats{display:flex;gap:2.6rem;list-style:none;margin-top:2.8rem;flex-wrap:wrap}
.hero__stats b{display:block;font-family:var(--ff-title);font-weight:800;font-size:2.5rem;color:#fff;line-height:1;letter-spacing:-.03em}
.hero__stats li:first-child b,.hero__stats li:nth-child(3) b{color:var(--naranja)}
.hero__stats span{font-size:.86rem;color:#bccbd8;margin-top:.2rem;display:block}

/* ---- Secciones ---- */
.section{padding:clamp(3.6rem,7.5vw,6rem) 0}
.section--alt{background:var(--bg-alt)}
.eyebrow{font-family:var(--ff-title);font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--naranja);font-size:.82rem}
.eyebrow--light{color:#ffc4a3}
.section__title{font-family:var(--ff-title);font-weight:800;letter-spacing:-.03em;line-height:1.08;font-size:clamp(1.95rem,4vw,3rem);margin:.55rem 0 1.7rem}
.section__lead{max-width:62ch;color:var(--gris);font-size:1.12rem;margin:-1rem 0 2.2rem}

/* ---- Grids ---- */
.grid{display:grid;gap:1.3rem}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--svc{grid-template-columns:repeat(4,minmax(0,1fr))}

.card{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.7rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.card__ic{width:54px;height:54px;display:grid;place-items:center;margin-bottom:1rem;background:var(--naranja-l);color:var(--navy);border-radius:15px;transition:background .3s,color .3s}
.card__ic svg{width:27px;height:27px}
.card:hover .card__ic{background:var(--navy);color:#fff}
.card h3{font-family:var(--ff-title);font-weight:700;letter-spacing:-.02em;font-size:1.24rem;margin-bottom:.4rem}
.card p{color:var(--gris);font-size:1rem}

.svc{position:relative;background:#fff;border:1px solid var(--linea);border-radius:16px;padding:1.55rem 1.5rem 1.6rem;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.svc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--naranja);transition:width .3s}
.svc:hover{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.svc:hover::before{width:6px}
.svc__ic{color:var(--naranja);margin-bottom:.75rem;line-height:0;transition:transform .3s var(--bounce)}
.svc__ic svg{width:36px;height:36px}
.svc:hover .svc__ic{transform:scale(1.12) rotate(-4deg)}
.svc h3{font-family:var(--ff-title);font-weight:700;letter-spacing:-.02em;font-size:1.2rem;color:var(--navy);margin-bottom:.5rem;line-height:1.15}
.svc p{color:var(--gris);font-size:.98rem}
.svc--urgent::before{background:var(--naranja)}
.svc--urgent{background:linear-gradient(180deg,#fff8f4,#fff)}
.svc--urgent h3{color:var(--naranja-d)}

.steps{margin-top:2.2rem}
.steps .step{position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:2.4rem 1.5rem 1.6rem;text-align:center}
.step__n{position:absolute;top:-24px;left:50%;transform:translateX(-50%);width:50px;height:50px;border-radius:15px;background:linear-gradient(150deg,var(--navy-2),var(--navy));color:#fff;font-family:var(--ff-title);font-weight:800;font-size:1.4rem;display:grid;place-items:center;box-shadow:0 10px 22px -8px rgba(10,39,66,.8)}
.step h3{font-family:var(--ff-title);font-weight:700;letter-spacing:-.02em;font-size:1.14rem;margin-bottom:.35rem}
.step p{color:var(--gris);font-size:.96rem}

/* ---- Comunas ---- */
.comunas{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}
.comunas li{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:.55rem 1.05rem;font-family:var(--ff-title);font-weight:500;font-size:.94rem;color:var(--gris);transition:background .25s,color .25s,border-color .25s,transform .2s}
.comunas li:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-2px)}

/* ---- Compromiso ---- */
.compromiso .pledge{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:1.4rem 1.5rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.compromiso .pledge:hover{transform:translateY(-4px);box-shadow:var(--sombra-sm);border-color:transparent}
.pledge h3{font-family:var(--ff-title);font-weight:700;letter-spacing:-.02em;font-size:1.14rem;color:var(--navy);margin-bottom:.25rem}
.pledge p{color:var(--gris);font-size:.97rem}

/* ---- FAQ ---- */
.faq{display:flex;flex-direction:column;gap:.75rem}
.faq__item{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:0 1.4rem;transition:box-shadow .25s,border-color .25s}
.faq__item[open]{box-shadow:var(--sombra-sm);border-color:transparent}
.faq__item summary{cursor:pointer;list-style:none;font-family:var(--ff-title);font-weight:600;font-size:1.1rem;letter-spacing:-.01em;padding:1.1rem 2rem 1.1rem 0;position:relative}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:.1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400;color:var(--naranja);transition:transform .25s}
.faq__item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq__item p{color:var(--gris);padding:0 0 1.15rem}

/* ---- CTA final + form ---- */
.cta-final{background:linear-gradient(125deg,var(--navy-d) 0%,var(--navy) 60%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;top:-30%;right:-10%;width:480px;height:480px;background:radial-gradient(circle,rgba(231,105,37,.22),transparent 70%);pointer-events:none}
.cta-final__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative}
.cta-final h2{font-family:var(--ff-title);font-weight:800;letter-spacing:-.03em;line-height:1.06;font-size:clamp(1.95rem,3.8vw,2.8rem);margin:.5rem 0 .85rem}
.cta-final__copy>p{color:#cfdded;font-size:1.1rem;max-width:46ch}
.cta-final__direct{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.4rem}
.cta-final__nap{list-style:none;display:flex;flex-direction:column;gap:.5rem;color:#cdddea;font-size:1.02rem}
.cta-final__nap a{border-bottom:1px solid rgba(255,255,255,.28)}
.cta-final__nap a:hover{color:#fff}

.form{background:#fff;color:var(--tinta);border-radius:22px;padding:1.9rem;box-shadow:0 30px 70px -20px rgba(0,0,0,.5)}
.form__head{font-family:var(--ff-title);font-weight:600;color:var(--naranja);text-align:center;font-size:.95rem;margin-bottom:1.2rem}
.form__row{margin-bottom:.9rem}
.form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.form label{display:block;font-family:var(--ff-title);font-weight:500;font-size:.86rem;color:var(--gris);margin-bottom:.05rem}
.form input,.form select,.form textarea{width:100%;margin-top:.35rem;padding:.78rem .9rem;border:1.5px solid var(--linea);border-radius:12px;font-family:var(--ff-body);font-size:1rem;color:var(--tinta);background:#fbfdff;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(10,39,66,.12)}
.form textarea{resize:vertical}
.form .btn{margin-top:.3rem}
.form__note{font-size:.82rem;color:var(--gris);text-align:center;margin-top:.75rem}
.form__status{text-align:center;font-weight:600;margin-top:.6rem}
.form__status.ok{color:var(--wa-d)} .form__status.err{color:#d63637}

/* ---- Footer ---- */
.footer{background:var(--navy-d);color:#9faebb;padding:3.2rem 0 1.5rem}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
.footer__brand img{height:48px;opacity:.97;margin-bottom:.9rem}
.footer__brand p{max-width:42ch;font-size:.95rem;line-height:1.6}
.footer__col h4{font-family:var(--ff-title);font-weight:600;color:#fff;margin-bottom:.8rem;font-size:1.02rem}
.footer__col a,.footer__col span{display:block;padding:.2rem 0;font-size:.95rem;transition:color .2s}
.footer__col a:hover{color:var(--naranja)}
.footer__legal{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:2.2rem;padding-top:1.3rem;font-size:.84rem;color:#76838f}

/* ---- Barra sticky móvil ---- */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:95;gap:1px;background:var(--linea);box-shadow:0 -8px 24px -6px rgba(0,0,0,.22)}
.mobile-bar__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-family:var(--ff-title);font-weight:600;font-size:1.02rem;color:#fff}
.mobile-bar__btn svg{width:1.2em;height:1.2em}
.mobile-bar__btn--call{background:var(--naranja)}
.mobile-bar__btn--wa{background:var(--wa);color:#06340f}

/* ---- Reveal ---- */
.anim-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.anim-ready .reveal.in{opacity:1;transform:none}

/* ---- Responsive ---- */
@media (max-width:980px){
  .grid--svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-final__grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16px;padding-bottom:60px}
  .nav,.header__cta{display:none}
  .nav__toggle{display:flex}
  .grid--3{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr;text-align:center}
  .footer__brand img,.footer__brand p{margin-inline:auto}
  .footer__legal{justify-content:center;text-align:center}
  .hero__inner{padding-bottom:2.8rem;text-align:center}
  .hero__stats{gap:1.4rem;justify-content:space-around}
  .hero__stats b{font-size:1.95rem}
  .comunas{justify-content:center}
  .mobile-bar{display:flex}
  .cta-final__direct,.hero__cta{flex-direction:column;align-items:center}
  .btn--lg{width:100%}
  /* Centrar títulos y párrafos en móvil (consistencia) */
  .eyebrow,.section__title,.section__lead,
  .hero h1,.hero__lead,
  .card,.card p,.svc,.svc p,.step,.step p,.pledge,.pledge p,
  .cta-final__copy,.cta-final__copy>p,.cta-final__nap,
  .faq__item summary{text-align:center}
  .cta-final__nap{align-items:center}
  .card__ic{margin-inline:auto}
  .svc::before{display:none}
  .faq__item summary{padding-left:2rem;padding-right:2rem}
}
@media (max-width:480px){
  .grid--svc,.grid--4{grid-template-columns:1fr}
  .form__row--2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .anim-ready .reveal{opacity:1;transform:none;transition:none}
}
