.bc{font-size:12px;color:var(--t2);padding:14px 0 6px}
.bc b{color:var(--t);font-weight:500}
.sec{margin-bottom:34px}
.sec h2{font-size:24px;color:var(--p);margin-bottom:12px}
.cta2{background:var(--p);border-radius:24px;color:#fff;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:46px 0 0}
.cta2 h2{font-size:28px}
.cta2 p{opacity:.85;font-size:15px}
@media(max-width:700px){
.cta2{flex-direction:column;align-items:flex-start;padding:26px;border-radius:18px}
}
.ch{background:var(--alt);border-radius:0 0 32px 32px;padding:40px 0 48px}
.ch h1{font-size:40px;margin:8px 0 10px}
.ch p{color:var(--t2);max-width:560px}
.chan{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-28px}
.chan a{background:#fff;border-radius:16px;box-shadow:var(--sh);padding:20px;display:flex;gap:14px;align-items:flex-start}
.chan b{display:block;font-size:15px}
.chan small{display:block;color:var(--t2);font-size:13px}
.chan em{font-style:normal;font-weight:600;color:var(--s);font-size:14px}
.chan .w{background:var(--p);color:#fff}
.chan .w small{color:rgba(255,255,255,.8)}
.chan .w em{color:var(--a)}
.chan .w .ico{stroke:#fff}
.cg{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;margin-top:48px;align-items:start}
.form{border:1px solid var(--b);border-radius:18px;padding:28px}
.form h2{font-size:22px;color:var(--p);margin-bottom:4px}
.form>p{color:var(--t2);font-size:14px;margin-bottom:18px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fi{margin-bottom:14px}
.fi label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.fi label i{font-style:normal;font-weight:400;color:var(--t2)}
.fi span{display:block;border:1px solid var(--b);border-radius:12px;padding:11px 14px;font-size:14px;color:#9aa49e}
.fi .ta{height:96px}
.form .btn{width:100%;justify-content:center}
.form .mc{font-size:12px;color:var(--t2);text-align:center;margin-top:10px}
.side h3{font-size:16px;color:var(--p);margin-bottom:10px}
.side .blk{border-bottom:1px solid var(--b);padding:0 0 20px;margin-bottom:20px;font-size:14px}
.side li{list-style:none;margin-bottom:6px;color:var(--t2)}
.side li b{color:var(--t);font-weight:600}
.mapc{height:180px;border-radius:14px;background:var(--alt);border:1px solid var(--b);position:relative;margin-top:10px}
.mapc i{position:absolute;left:48%;top:42%;width:14px;height:14px;border-radius:50%;background:var(--cta);box-shadow:0 0 0 5px rgba(245,138,31,.25)}
.mapc small{position:absolute;left:12px;bottom:8px;font-size:11px;color:var(--t2)}
.so2{display:flex;gap:8px}
.so2 span{width:36px;height:36px;border-radius:50%;border:1px solid var(--b);display:block}
@media(max-width:700px){
.ch{padding:28px 0 46px;border-radius:0 0 22px 22px}
.ch h1{font-size:30px}
.chan,.cg,.fr{grid-template-columns:1fr}
.chan{gap:12px}
.form{padding:20px}
}
.faq details{border-bottom:1px solid var(--b);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--s);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--t2);font-size:14px;margin-top:8px}
.faq summary:focus-visible{outline:2px solid var(--cta-btn);outline-offset:4px}

/* --- responsive v1.2 --- */
@media(max-width:900px){.cg{grid-template-columns:minmax(0,1fr)}.chan{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.chan{grid-template-columns:1fr}}
@media(max-width:900px){.cta2{flex-direction:column;align-items:flex-start}}
/* nosotros v2.4 */
.ns-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}
.ns-two h2,.ns-sec>h2{font-size:24px;color:var(--p);margin-bottom:12px}
.ns-dl{margin:0;display:grid;gap:0;border:1px solid var(--b);border-radius:14px;overflow:hidden}
.ns-dl div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;padding:10px 14px;border-bottom:1px solid var(--b);font-size:14px}
.ns-dl div:last-child{border-bottom:0}
.ns-dl dt{color:var(--t2)}.ns-dl dd{margin:0;font-weight:600}
.ns-map{margin-top:14px}
.ns-ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ns-ul li{background:var(--alt);border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.5;color:var(--t2)}
.ns-ul b{color:var(--p)}
.ns-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ns-why>div{border:1px solid var(--b);border-radius:16px;padding:18px;background:#fff}
.ns-why h3{font-size:16px;color:var(--p);margin-bottom:6px}
.ns-why p{font-size:14px;color:var(--t2);line-height:1.5}
.ns-why a{color:var(--s);font-weight:600}
.ns-rt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ns-rt>div{background:var(--alt);border-radius:16px;padding:18px 20px}
.ns-rt b{display:block;font-size:30px;color:var(--a)}
.ns-rt span{display:block;font-weight:700;color:var(--p)}
.ns-rt small{color:var(--t2)}
.ns-n{font-size:13px;color:var(--t2);margin-top:10px}
#por-que-reservar{scroll-margin-top:96px}
@media(max-width:1024px){.ns-why{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.ns-two,.ns-rt{grid-template-columns:1fr}.ns-dl div{grid-template-columns:1fr;gap:2px}}
@media(max-width:560px){.ns-why{grid-template-columns:1fr}}

/* formulario funcional v3.0 (prefijo cf-) */
.fi input,.fi select,.fi textarea{display:block;width:100%;border:1.5px solid var(--b);border-radius:12px;padding:11px 14px;font:inherit;font-size:15px;color:var(--t);background:#fff}
.fi textarea{resize:vertical;min-height:96px}
.fi input::placeholder,.fi textarea::placeholder{color:#9aa49e}
.fi input:focus,.fi select:focus,.fi textarea:focus{outline:2px solid var(--s);outline-offset:1px;border-color:var(--s)}
.fi [aria-invalid="true"]{border-color:#C0392B;background:#FFF6F5}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-ac{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--t2);margin:2px 0 14px;cursor:pointer}
.cf-ac input{width:18px;height:18px;margin-top:2px;accent-color:var(--cta-btn);flex-shrink:0}
.cf-ac a{color:var(--s);font-weight:600}
.cf-err{background:#FFF6F5;border:1px solid #E8B4AE;color:#8E2A1E;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:12px}
.cf-err ul{margin:4px 0 0 18px}
.cf-wa{width:100%;justify-content:center;margin-top:10px;background:#fff;border:1.5px solid #25D366;color:#1a7f43;font-weight:700}
.form .btn[disabled]{opacity:.6;cursor:wait}
.cf-ok h2{color:var(--p)}.cf-ok p{font-size:15px;margin-top:6px}
.cf-ok[hidden],.cf-err[hidden],#cf[hidden]{display:none!important}
.cf-map{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:0 16px;border:1.5px solid var(--b);border-radius:999px;color:var(--p);font-weight:700;font-size:14px;text-decoration:none}
.cf-map:hover{border-color:var(--s)}
