.hero{position:relative;padding:150px 0 0;overflow:hidden;background:radial-gradient(800px 500px at 85% 20%,rgba(255,214,0,.07),transparent 60%),var(--bk)}
.photo{position:absolute;top:0;right:0;width:60%;height:560px;background:url(../assets/images/hero-contacto.jpg) right top/cover no-repeat;animation:zoom 22s ease-in-out infinite alternate}
.photo-wrap{position:absolute;top:0;right:0;width:60%;height:560px;overflow:hidden}
.photo-wrap::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bk) 0,rgba(10,10,10,.55) 35%,transparent 70%),linear-gradient(0deg,var(--bk) 0,transparent 40%)}
.photo{width:100%;height:100%}
@keyframes zoom{to{transform:scale(1.08)}}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(2rem,5vw,4rem);align-items:end}
.hero h1{font-size:clamp(2.8rem,6.2vw,4.8rem);line-height:.98;margin-bottom:1.5rem}
.hero h1 .y{display:block}
.lead{font-size:1.25rem;line-height:1.5;color:#d6d6d6;max-width:30ch}
.items{list-style:none;margin:2.6rem 0 3rem;padding:0;display:grid;gap:1.8rem}
.items li{display:flex;gap:1.3rem;align-items:center}
.ico{flex:none;width:66px;height:66px;border-radius:50%;border:2px solid var(--yl);display:grid;place-items:center;box-shadow:0 0 0 5px rgba(255,214,0,.08);transition:background .3s,transform .3s var(--ease)}
.ico svg{width:30px;height:30px;stroke:var(--yl);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.items li:hover .ico{background:var(--yl);transform:scale(1.08) rotate(-6deg)}.items li:hover .ico svg{stroke:var(--bk)}
.items b{display:block;font-weight:500;font-size:1.1rem}
.items .v{display:block;font-size:1.3rem;font-weight:500}a.v:hover{color:var(--yl)}
.items small{display:block;color:var(--g2);font-size:.98rem}
form{background:rgba(14,14,14,.94);border:1px solid #2a2a2a;border-radius:6px;padding:1.9rem 1.9rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;margin-bottom:3.2rem;scroll-margin-top:100px}
.fld{display:flex;flex-direction:column;gap:.55rem}.fld.full{grid-column:1/-1}
label{font:700 .8rem/1 var(--hd);letter-spacing:.2em;text-transform:uppercase}
input,textarea{font:inherit;font-size:1rem;color:var(--wh);background:#1d1d1d;border:1px solid #2c2c2c;border-bottom:2px solid #333;border-radius:2px;padding:.85rem 1rem;width:100%;transition:border-color .25s,background .25s,box-shadow .25s}
input::placeholder,textarea::placeholder{color:#7d7d7d}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--yl);background:#232323;box-shadow:0 8px 20px -12px rgba(255,214,0,.5)}
input.bad,textarea.bad{border-color:#ff5a4f}
textarea{min-height:100px;resize:vertical}
form .btn{grid-column:1/-1;width:100%;padding:1.25rem}
#msg{grid-column:1/-1;color:var(--yl);min-height:1.3em;font-size:.95rem}
.loc{padding:3.2rem 0 3.4rem}
.loc h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.9rem}
.loc .lead{max-width:56ch;font-size:1.15rem;color:var(--g2)}
.map{position:relative;margin-top:1.8rem;height:clamp(260px,34vw,300px);border:1px solid #2f2f2f;overflow:hidden;background:#131313}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) grayscale(.45) contrast(.95)}
.mapfake{position:absolute;inset:0;background:
linear-gradient(115deg,transparent 46%,#2b2b2b 46% 47.5%,transparent 47.5%),
linear-gradient(25deg,transparent 60%,#262626 60% 61.5%,transparent 61.5%),
repeating-linear-gradient(0deg,#1a1a1a 0 1px,transparent 1px 46px),repeating-linear-gradient(90deg,#1a1a1a 0 1px,transparent 1px 58px),#161616}
.pin{position:absolute;left:46%;top:46%;display:flex;align-items:center;gap:.5rem;font-size:.9rem;transform:translate(-14px,-34px)}
.pin svg{width:28px;height:36px;fill:#ea4335;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px)}}
.mcard{position:absolute;z-index:2;top:12px;left:12px;background:rgba(18,18,18,.96);border:1px solid #333;padding:.9rem 1rem;display:flex;gap:1.4rem;align-items:flex-start;max-width:calc(100% - 24px)}
.mcard b{display:block;font-weight:600}.mcard span{font-size:.85rem;color:var(--g2)}
.mcard a{font-size:.85rem;color:#7fb2ff;white-space:nowrap}.mcard a:hover{text-decoration:underline}
@media (max-width:980px){
.hero{padding-top:120px}.hero .wrap{grid-template-columns:1fr;align-items:start}
.photo-wrap{width:100%;height:420px}.photo-wrap::before{background:linear-gradient(0deg,var(--bk) 0,rgba(10,10,10,.7) 60%,rgba(10,10,10,.5))}
.items{margin-bottom:1.2rem}.lead{max-width:44ch}}
@media (max-width:620px){form{grid-template-columns:1fr;padding:1.4rem}.ico{width:56px;height:56px}.mcard{flex-direction:column;gap:.5rem}}
