/* V5.8 — integrated right-side contact, compact editorial CTA */
.contact {
  padding-top:clamp(48px,5vw,74px);
  padding-bottom:clamp(54px,5.2vw,78px);
}
.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(0,.92fr);
  gap:clamp(36px,5.5vw,100px);
  align-items:center;
}
.contact-heading,.contact-side{min-width:0}
.contact h2 {
  font-size:clamp(68px,7.25vw,136px);
  line-height:.99;
  letter-spacing:-.083em;
  font-weight:600;
  margin:0;
}
.contact h2 em{font-size:1.01em}
.contact-message {
  font-size:clamp(16px,1.32vw,20px);
  line-height:1.72;
  color:#494640;
  margin:0 0 clamp(30px,3vw,52px);
  max-width:490px;
}
.contact-get-in-touch {
  border-top:1px solid rgba(0,0,0,.25);
  padding-top:24px;
}
.contact-get-in-touch h3 {
  margin:0 0 18px;
  font-size:clamp(36px,3.8vw,58px);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.065em;
}
.contact-get-in-touch h3 span {
  color:var(--accent);
  display:inline-block;
  margin-left:12px;
  font-size:.6em;
  vertical-align:10%;
}
.contact-channel {
  display:grid;
  grid-template-columns:75px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(0,0,0,.22);
  transition:color .25s ease;
}
.contact-channel:hover,
.contact-channel:focus-visible {color:#c3453b}
.contact-channel-name {
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  color:#5a554d;
}
.contact-channel-detail {
  font-size:clamp(14px,1.16vw,18px);
  font-weight:500;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
.contact-channel-arrow {
  font-size:20px;
  color:var(--accent);
  transition:transform .25s ease;
}
.contact-channel:hover .contact-channel-arrow,
.contact-channel:focus-visible .contact-channel-arrow {transform:translate(3px,-3px)}
@media(max-width:1080px){
 .contact-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(22px,3vw,45px)}
 .contact h2{font-size:clamp(64px,7.2vw,82px)}
 .contact-channel{grid-template-columns:70px minmax(0,1fr) auto;gap:10px}
}
@media(max-width:780px){
 .contact{padding-top:47px;padding-bottom:55px}
 .contact-layout{grid-template-columns:1fr;gap:32px;align-items:start}
 .contact h2{font-size:clamp(57px,10.9vw,92px);line-height:.98}
 .contact-message{font-size:16px;margin-bottom:24px;max-width:580px}
 .contact-get-in-touch{padding-top:22px}
 .contact-get-in-touch h3{font-size:clamp(38px,7.5vw,52px)}
 .contact-channel-detail{font-size:16px}
}
@media(max-width:430px){
 .contact h2{font-size:clamp(50px,11.2vw,64px)}
 .contact-channel{grid-template-columns:1fr auto;gap:4px 10px}
 .contact-channel-name{grid-column:1;grid-row:1}
 .contact-channel-detail{grid-column:1;grid-row:2;font-size:15px}
 .contact-channel-arrow{grid-column:2;grid-row:1 / span 2}
}
