/*==================================================
  CONTACTO.CSS  (contacto.html)
==================================================*/
.ct-hero{padding:clamp(130px,16vw,190px) 0 clamp(40px,5vw,70px)}
.ct-hero h1{max-width:900px;margin-bottom:1.5rem;font-size:clamp(2.8rem,6vw,5rem)}
.ct-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.25rem}
.ct-link{display:inline-flex;align-items:center;height:56px;padding:0 1.6rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:var(--color-white);transition:background-color .3s ease,color .3s ease}
.ct-link:hover{background:#fff;color:#000}
.ct-main{padding:clamp(30px,4vw,60px) 0 clamp(70px,8vw,110px)}
.ct-main .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:stretch}
.ct-info{display:grid;gap:1.75rem;margin:0;padding:0;list-style:none}
.ct-info li{display:grid;grid-template-columns:44px 1fr;gap:1rem;align-items:start;padding-bottom:1.75rem;border-bottom:1px solid rgba(255,255,255,.12)}
.ct-info li:last-child{border-bottom:0;padding-bottom:0}
.ct-info i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(185,145,93,.18);color:var(--color-primary);font-size:1.05rem}
.ct-info h3{margin-bottom:.35rem;font-size:1.4rem}
.ct-info p,.ct-info a{font-size:1rem;line-height:1.6;color:var(--color-text-light)}
.ct-info a:hover{color:var(--color-white)}
.ct-map{min-height:420px;border-radius:24px;overflow:hidden;background:var(--color-surface-light)}
.ct-map iframe{display:block;width:100%;height:100%;min-height:420px;border:0}
.ct-zones{padding:clamp(50px,6vw,90px) 0;border-top:1px solid rgba(255,255,255,.1)}
.ct-zones h2{max-width:780px;margin-bottom:1.25rem;font-size:clamp(1.9rem,3.6vw,3rem)}
.ct-zones>.container>p{max-width:760px;margin-bottom:2rem}
.ct-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2.5rem;padding:0;list-style:none}
.ct-chips li{padding:.55rem 1.1rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.93rem;color:var(--color-text)}
.ct-note{font-size:.85rem;color:var(--color-text-muted)}
.ct-end{padding:clamp(60px,7vw,100px) 0;text-align:center;border-top:1px solid rgba(255,255,255,.1)}
.ct-end h2{max-width:720px;margin:0 auto 1.25rem;font-size:clamp(2rem,4vw,3.2rem)}
.ct-end p{max-width:540px;margin:0 auto 2rem}
.ct-end .ct-actions{justify-content:center;margin-top:0}
@media (max-width:900px){.ct-main .container{grid-template-columns:1fr}.ct-map,.ct-map iframe{min-height:340px}}
