body { min-height:100vh; display:flex; flex-direction:column; }
.site-header { width:100%; }
.contact-main { flex:1; width:90%; max-width:1296px; margin:0 auto; padding:62px 0 76px; }
.contact-heading h1 { font:400 clamp(39px,4vw,56px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.04em; margin:0; max-width:none; }
.contact-heading p { font-size:14px; line-height:1.7; color:var(--muted); margin-top:18px; }
.contact-layout { display:grid; grid-template-columns:minmax(300px,.95fr) minmax(0,1.65fr); grid-template-areas:'direct galleries'; column-gap:clamp(55px,7vw,100px); margin-top:54px; align-items:start; }
.contact-direct { grid-area:direct; min-width:0; }
.contact-label { font:400 12px/1.6 Arial,Helvetica,sans-serif; color:var(--muted); margin:0 0 17px; }
.contact-email { display:inline-block; font-size:clamp(22px,2.2vw,29px); line-height:1.5; letter-spacing:-.025em; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; overflow-wrap:anywhere; }
.contact-phones { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-top:14px; font-size:16px; line-height:1.7; font-variant-numeric:tabular-nums; }
.contact-phones a { display:inline-flex; align-items:center; min-height:36px; }
.contact-instagram { display:flex; align-items:baseline; gap:24px; width:fit-content; font-size:14px; line-height:1.7; min-height:44px; margin-top:8px; padding:7px 0; }
.contact-instagram .social-name { color:var(--muted); font-size:12px; }
.contact-instagram .social-profile { border-bottom:1px solid var(--line); }
.contact-main a:hover { color:var(--accent); text-decoration-color:var(--accent); }
.contact-galleries { grid-area:galleries; min-width:0; }
.contact-galleries>h2 { font:400 12px/1.6 Arial,Helvetica,sans-serif; color:var(--muted); margin:0 0 17px; }
.gallery-contacts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.gallery-contact { min-width:0; }
.gallery-contact h3 { font:400 24px/1.25 Georgia,'Times New Roman',serif; letter-spacing:-.02em; margin:0 0 5px; }
.gallery-city { font-size:12px; color:var(--muted); line-height:1.7; margin:0 0 17px; }
.gallery-contact address { font-style:normal; font-size:14px; line-height:1.75; }
.gallery-contact address p { margin:0 0 6px; }
.gallery-contact address a { display:inline-block; min-height:35px; padding:4px 0; overflow-wrap:anywhere; }
.gallery-email { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.site-header nav>.contact-link[aria-current=page] { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1000px) {
 .contact-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:'direct' 'galleries'; row-gap:36px; }
 .contact-galleries { border-top:1px solid var(--line); padding-top:28px; }
 .gallery-contacts { gap:30px; }
}
@media(max-width:760px) {
 .contact-main { width:88%; padding:36px 0 48px; }
 .contact-heading h1 { font-size:39px; }
 .contact-heading p { font-size:13px; max-width:32ch; margin-top:15px; }
 .contact-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:'direct' 'galleries'; gap:33px; margin-top:34px; }
 .contact-email { font-size:23px; }
 .contact-instagram { gap:20px; margin-top:8px; }
 .contact-phones a { min-height:44px; }
 .contact-galleries { padding-top:26px; }
 .contact-galleries>h2 { font-size:12px; margin-bottom:25px; }
 .gallery-contacts { grid-template-columns:minmax(0,1fr); gap:29px; }
 .gallery-contact h3 { font-size:25px; }
 .gallery-contact+.gallery-contact { border-top:1px solid var(--line); padding-top:27px; }
 .gallery-contact address a { min-height:44px; padding:8px 0; }
 .gallery-city { margin-bottom:12px; }
}
