.contact{
 background:var(--color-text);color:var(--color-base);padding-top:64px
}
.contact-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.contact-intro{min-width:0}
.contact h2{margin-top:36px;font-size:36px;line-height:46px}
.contact .actions{margin-top:56px;gap:16px}
.contact .button{min-width:0;flex:1;padding-inline:18px;gap:16px;font-size:16px}
.contact .button-primary{background:var(--color-base);color:var(--color-text)}
.contact .button-secondary{border-color:var(--color-structure)}
.contact-links{display:grid;gap:24px;min-width:0;padding-top:32px}
.contact-module{
 --contact-accent:var(--color-accent);
 position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:16px;
 min-height:150px;padding:28px 24px;border:1px solid color-mix(in srgb,var(--contact-accent) 35%,var(--color-text));border-radius:2px;
 background:color-mix(in srgb,var(--contact-accent) 4%,var(--color-text));
 transition:border-color 250ms ease-out,background-color 250ms ease-out
}
.contact-email{--contact-accent:var(--color-mark)}
.contact-module::before,.contact-module::after{content:'';position:absolute;width:20px;height:20px;border:2px solid var(--contact-accent);opacity:.75;pointer-events:none;transition:opacity 250ms ease-out}
.contact-module::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
.contact-module::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
.contact-module small{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:14px;line-height:20px}
.contact-service-marker{display:block;width:7px;height:7px;flex:none;background:var(--contact-accent)}
.contact-address{font-size:clamp(20px,1.8vw,26px);line-height:1.4;overflow-wrap:anywhere;min-width:0}
.contact-module .icon{justify-self:center;transition:transform 250ms ease-out,color 250ms ease-out}
.contact-module:focus-visible{outline:2px solid var(--color-base);outline-offset:7px}
.contact .site-footer{margin-top:88px;border-top-color:color-mix(in srgb,var(--color-structure) 45%,var(--color-text))}
@media(hover:hover) and (pointer:fine){
 .contact-module:hover{border-color:var(--contact-accent);background:color-mix(in srgb,var(--contact-accent) 7%,var(--color-text))}
 .contact-module:hover::before,.contact-module:hover::after{opacity:1}
 .contact-module:hover .icon{color:var(--contact-accent)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .contact-module:hover .icon{transform:translate(5px,-5px) scale(1.05)}
}
@media(min-width:768px) and (max-width:1199px){
 .contact-layout{grid-template-columns:1fr 1fr;gap:32px}
 .contact h2{font-size:28px;line-height:38px}
 .contact .actions{margin-top:32px;flex-direction:column;align-items:stretch}
 .contact-module{padding:24px 20px;min-height:144px;gap:12px}
 .contact-address{font-size:20px}
}
@media(max-width:767px){
 .contact{padding-top:40px}
 .contact-layout{grid-template-columns:1fr;gap:40px}
 .contact h2{font-size:28px;line-height:36px;margin-top:32px}
 .contact .actions{margin-top:32px}
 .contact-links{padding-top:0;gap:24px}
 .contact-module{padding:24px 20px;min-height:136px;gap:12px}
 .contact-address{font-size:18px}
 .contact .site-footer{margin-top:48px}
}
@media(prefers-reduced-motion:reduce){
 .contact-module,.contact-module::before,.contact-module::after,.contact-module .icon{transition:none;transform:none}
}
