.contact{position:relative;overflow:hidden;background:var(--cream);color:var(--night);padding:clamp(3.5rem,6vw,5rem) 0 clamp(6.5rem,12vw,9.5rem)}
.contact .wrap{position:relative;z-index:2}
.contact-frieze{position:absolute;left:0;right:0;bottom:0;z-index:0;pointer-events:none;line-height:0}
.contact-frieze img{display:block;width:100%;height:auto}
.contact-head{text-align:center;max-width:700px;margin:0 auto clamp(2rem,3.5vw,2.8rem)}
.contact .eyebrow{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--rust);margin-bottom:1rem}
.contact h2{font-family:'Yeseva One',serif;font-weight:400;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:.05em;color:var(--forest)}
.contact-sub{font-family:'Yeseva One',serif;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--soft);margin-top:1rem;line-height:1.5}
.map-frame{max-width:1080px;margin:0 auto;border:1px solid #e3dccd;box-shadow:0 34px 64px -38px rgba(31,31,31,.32);overflow:hidden;border-radius:3px;background:var(--cream)}
.gmap{display:block;width:100%;height:clamp(360px,52vh,520px);border:0}
.zpulse{transform-box:fill-box;transform-origin:center;animation:zmapPulse 2.8s ease-out infinite}
@keyframes zmapPulse{0%{transform:scale(.5);opacity:.45}100%{transform:scale(2.3);opacity:0}}
.contact-info{max-width:980px;margin:clamp(2.6rem,5vw,3.6rem) auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.ci-block h4{font-family:'Montserrat',sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:.6rem;font-weight:700}
.ci-block p{font-family:'Yeseva One',serif;font-size:1.18rem;line-height:1.4;color:var(--forest)}
.ci-block a{color:var(--forest)}.ci-block a:hover{color:var(--rust)}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:clamp(2.4rem,4vw,3.2rem)}
.contact-social{display:flex;align-items:center;gap:1rem;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--forest)}
.contact-social a:hover{color:var(--rust)}.contact-social span{color:var(--rust)}
.site-footer{background:var(--night);color:var(--cream);margin-top:clamp(4.5rem,9vw,7rem);border-top:2px solid var(--rust);padding:clamp(2.8rem,5vw,4rem) 0 2rem}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.8rem}
.foot-logo{display:flex;align-items:center;gap:.6rem;color:var(--cream)}
.foot-logo img{height:38px}
.foot-logo span{display:flex;flex-direction:column;line-height:1.05}
.foot-logo i{font-style:normal;font-family:'Montserrat',sans-serif;font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:#d6cab6}
.foot-logo b{font-family:'Yeseva One',serif;font-weight:400;letter-spacing:.16em;font-size:1.05rem}
.foot-nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.foot-nav a{font-family:'Yeseva One',serif;font-size:1.05rem;color:var(--cream);opacity:.9}
.foot-nav a:hover{color:var(--gold)}
.foot-copy{font-family:'Montserrat',sans-serif;font-size:.66rem;letter-spacing:.06em;line-height:1.7;color:rgba(246,244,240,.6);text-align:right}
@media(max-width:760px){.contact-info{grid-template-columns:repeat(2,1fr)}.foot-in{flex-direction:column;text-align:center}.foot-copy{text-align:center}}

.contact-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(2.2rem,4.5vw,4rem);align-items:stretch;max-width:1160px;margin:0 auto}
.contact-info{text-align:left;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;max-width:none;margin:0}
.contact-info .ci-block h4{margin-bottom:.4rem}
.contact-info .ci-block p{font-size:1.22rem}
.ci-social{display:flex;align-items:center;gap:1rem;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--forest)}
.ci-social a:hover{color:var(--rust)}.ci-social span{color:var(--rust)}
.contact-info .btn-more{align-self:flex-start;margin-top:.4rem}
.contact-grid .map-frame{max-width:none;margin:0;height:100%;min-height:360px}
.gmap{height:100%;min-height:360px}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}.contact-info{text-align:center;align-items:center}.contact-info .btn-more{align-self:center}.gmap{min-height:340px}}

.contact-info{background:var(--forest);color:var(--cream);padding:clamp(1.5rem,2.8vw,2.3rem);border-radius:3px;display:flex;flex-direction:column;gap:0;justify-content:center;box-shadow:0 30px 60px -36px rgba(31,31,31,.42)}
.ci-row{display:flex;gap:1.05rem;align-items:flex-start;padding:.92rem 0;border-bottom:1px solid rgba(246,244,240,.14)}
.ci-row:first-child{padding-top:0}
.ci-ico{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(236,200,154,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
.ci-ico svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ci-row h4{font-family:'Montserrat',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;font-weight:700}
.ci-row p{font-family:'Yeseva One',serif;font-size:1.28rem;line-height:1.35;color:var(--cream)}
.ci-row a{color:var(--cream)}.ci-row a:hover{color:var(--gold)}
.ci-foot{padding-top:1.4rem;display:flex;flex-direction:column;gap:1.15rem}
.ci-social-label{display:block;font-family:'Montserrat',sans-serif;font-size:.56rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.85rem}
.ci-social{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.ci-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(236,200,154,.32);border-radius:50%;color:rgba(246,244,240,.85);transition:background .3s,border-color .3s,color .3s,transform .3s}
.ci-social a svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ci-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--night);transform:translateY(-3px)}
.btn-ghost{align-self:flex-start;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--night);background:var(--gold);padding:.95rem 1.9rem;border:1px solid var(--gold);transition:.3s}
.btn-ghost:hover{background:transparent;color:var(--gold)}
.contact-grid .map-frame{border:none;border-radius:3px;box-shadow:0 30px 60px -36px rgba(31,31,31,.42)}
@media(max-width:820px){.contact-info{align-items:stretch;text-align:left}.btn-ghost{align-self:flex-start}}
