.contact-page{background:#fff}
.contact-hero{padding:72px 0 68px;background:linear-gradient(115deg,#24352f 0%,#1f3437 100%);color:#fff}
.contact-hero .container,.contact-content>.container{max-width:1180px}
.contact-eyebrow{display:block;margin-bottom:10px;color:#d2a058;font-size:12px;font-weight:800;letter-spacing:.14em}
.contact-hero h1{margin:0 0 14px;color:#fff;font-size:clamp(42px,6vw,68px);font-weight:500;line-height:1.05}
.contact-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.7}
.contact-content{padding:72px 0 84px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:34px;align-items:stretch}
.contact-info-panel,.contact-map-panel{min-width:0;border-radius:22px}
.contact-info-panel{padding:40px;border:1px solid #e9e4dd;background:#fff;box-shadow:0 22px 60px rgba(38,45,43,.07)}
.contact-kicker{display:block;margin-bottom:8px;color:#bd8b47;font-size:11px;font-weight:800;letter-spacing:.12em}
.contact-heading h2{margin:0 0 12px;color:#202825;font-size:clamp(28px,3vw,40px);line-height:1.18}
.contact-heading p{margin:0;color:#6d7470;line-height:1.7}
.contact-info-list{display:flex;flex-direction:column;gap:4px;margin-top:30px}
.contact-info-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #eeeae4}
.contact-info-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#f7efe3;color:#b98643;font-size:19px}
.contact-info-item span{display:block;margin-bottom:4px;color:#929894;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.contact-info-item a,.contact-info-item strong{display:inline-block;max-width:100%;color:#28312e;font-size:14px;font-weight:650;line-height:1.55;text-decoration:none;overflow-wrap:anywhere}
.contact-info-item a:hover{color:#b98643}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.contact-actions .btn{display:inline-flex;align-items:center;gap:7px}
.contact-social{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid #eeeae4}
.contact-social>span{color:#626a66;font-size:13px;font-weight:700}
.contact-social>div{display:flex;gap:8px}
.contact-social a{display:grid;width:42px;height:42px;place-items:center;border:1px solid #dfd8cf;border-radius:50%;color:#27312d;font-size:17px;text-decoration:none}
.contact-social a:hover{border-color:#c59552;color:#b98643}
.contact-map-panel{min-height:600px;overflow:hidden;background:#f2f0ec;box-shadow:0 22px 60px rgba(38,45,43,.07)}
.contact-map-panel iframe{display:block;width:100%;height:100%;min-height:600px;border:0}
.contact-map-empty{display:flex;min-height:600px;align-items:center;justify-content:center;flex-direction:column;padding:36px;text-align:center;color:#525c57}
.contact-map-empty>i{margin-bottom:14px;color:#c2924d;font-size:44px}
.contact-map-empty strong{margin-bottom:8px;color:#27312d;font-size:22px}
.contact-map-empty p{max-width:440px;margin:0 0 20px;line-height:1.7}
@media(max-width:991.98px){
  .contact-hero{padding:56px 0 52px}
  .contact-content{padding:48px 0 60px}
  .contact-layout{grid-template-columns:1fr}
  .contact-map-panel,.contact-map-panel iframe,.contact-map-empty{min-height:430px}
}
@media(max-width:575.98px){
  .contact-hero{padding:42px 0 40px}
  .contact-hero p{font-size:15px}
  .contact-content{padding:32px 0 44px}
  .contact-info-panel{padding:24px 20px;border-radius:17px}
  .contact-map-panel{border-radius:17px}
  .contact-map-panel,.contact-map-panel iframe,.contact-map-empty{min-height:340px}
  .contact-actions{flex-direction:column}
  .contact-actions .btn{justify-content:center;width:100%}
}

@media(max-width:767.98px){
  .contact-page{width:100%;max-width:100%;overflow:hidden}
  .contact-hero{padding:38px 0 34px}
  .contact-hero>.container,
  .contact-content>.container{padding-right:16px;padding-left:16px}
  .contact-hero h1{font-size:clamp(34px,11vw,46px)}
  .contact-hero p{font-size:14px;line-height:1.6}
  .contact-content{padding:26px 0 42px}
  .contact-layout{display:flex;flex-direction:column;gap:18px}
  .contact-info-panel{width:100%;max-width:100%;padding:22px 16px}
  .contact-heading h2{font-size:clamp(26px,8vw,34px)}
  .contact-heading p{font-size:14px;line-height:1.6}
  .contact-info-item{
    grid-template-columns:42px minmax(0,1fr);
    gap:11px;
    padding:13px 0;
  }
  .contact-info-icon{width:40px;height:40px;font-size:16px}
  .contact-info-item a,.contact-info-item strong{font-size:13px}
  .contact-social{align-items:flex-start;flex-direction:column}
  .contact-map-panel,
  .contact-map-panel iframe,
  .contact-map-empty{
    width:100%;
    min-height:320px!important;
    height:320px;
  }
  .contact-map-empty{padding:22px 16px}
}

