/* Contact details share the existing Northern Coatworks palette and type. */
.contact-page .contact-hero{min-height:720px;min-height:min(860px,94svh)}
.contact-page .contact-hero picture{position:absolute;inset:0;z-index:-3}
.contact-page .contact-hero .hero-image{filter:none;object-position:54% 53%}
.contact-page .contact-hero:before{background:linear-gradient(180deg,rgba(5,8,10,.58),rgba(5,8,10,.54) 60%,rgba(5,8,10,.8))}
.contact-page .contact-hero .hero-content{padding:110px 24px 90px}
.contact-page .contact-hero h1{font-size:clamp(4.5rem,10vw,9.5rem);line-height:1;margin:20px auto 26px}
.contact-page .contact-hero .hero-lead{max-width:510px;margin-bottom:30px}
.contact-page .contact-hero .brand-mark{margin-bottom:24px}
.contact-page .contact-hero .hero-number{display:block;width:fit-content;margin:16px auto 0;font-size:1.125rem;line-height:1.6;letter-spacing:.06em}
.contact-page .contact-hero .hero-number:hover{color:var(--yellow)}
.contact-page .contact-details{background:var(--blue);padding:clamp(75px,9vw,125px) 24px}
.contact-page .contact-details h2{font-size:clamp(2.8rem,6vw,6rem);line-height:1;margin:20px auto 60px;max-width:1000px}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px;max-width:1200px;margin:0 auto;text-align:center}
.contact-channels>div{min-width:0;border-top:1px solid rgba(255,255,255,.28);padding-top:27px}
.contact-channels h3{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.875rem;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px}
.contact-channels address{font-style:normal;font-size:1rem;line-height:1.85}
.contact-channels address strong{font-weight:600}
.contact-channels .contact-phone{display:table;font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.5;letter-spacing:.035em;padding:7px 0;margin:0 auto 8px;white-space:nowrap}
.contact-channels .contact-email{display:inline-block;max-width:100%;font-size:1rem;line-height:1.7;padding:10px 0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.contact-channels .contact-note{font-size:1rem;line-height:1.65;color:rgba(255,255,255,.82);max-width:300px;margin:16px auto 0}
.contact-channels .text-link{margin-top:18px;font-size:.875rem;letter-spacing:.12em;line-height:1.6;min-height:44px}
.contact-channels a:hover,.contact-channels a:focus-visible{color:var(--yellow)}
.contact-channels .map-button{margin-top:24px;max-width:100%;padding:16px 18px;font-size:.875rem;line-height:1.5;letter-spacing:.08em;text-align:center}
.contact-channels .map-button:hover,.contact-channels .map-button:focus-visible{color:var(--ink)}
.contact-social,.footer-social{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 28px}
.contact-social{margin-top:22px}
.contact-social a{display:inline-block;min-height:44px;padding:12px 0;font-size:.875rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.55)}
.contact-page .location-photo{margin:0;background:var(--blue)}
.contact-page .location-photo img{width:100%;height:clamp(360px,54vw,780px);object-fit:cover;object-position:50% 62%}
.contact-page .location-photo figcaption{margin:0;padding:24px;font-size:.875rem;letter-spacing:.13em;line-height:1.6}
.contact-page .nav-links a[aria-current="page"]{color:var(--yellow);opacity:1}
.contact-page .nav-links{gap:clamp(14px,2.3vw,38px)}
.contact-page .nav-links a{letter-spacing:.1em}
.contact-page .eyebrow,.contact-page .button{font-size:.875rem}
.contact-page footer{font-size:.8125rem}
.footer-social{margin:18px auto 0;letter-spacing:.1em}
.footer-social a{font-size:.875rem;line-height:1.5;padding:12px 0;min-height:44px;color:var(--paper)}
.footer-social a:hover,.footer-social a:focus-visible{color:var(--yellow)}
#contact .contact-inner{width:min(1200px,100%)}
#contact .contact-channels{margin-top:64px}
#contact .contact-channels .contact-note{font-size:1rem;margin:16px auto 0;line-height:1.65}
#contact .contact-page-link{display:table;margin:22px auto 0;padding:12px 0;min-height:44px;font-size:.875rem;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.55)}
#contact .contact-page-link:hover{color:var(--yellow)}
#contact .button{font-size:.875rem;letter-spacing:.12em}
@media(max-width:1000px){
  .contact-channels{grid-template-columns:1fr;max-width:570px;gap:40px}
  .contact-page .contact-details h2{margin-bottom:44px}
}
@media(max-width:800px){
  .contact-page .nav-links{gap:12px;padding:64px 16px 24px;overflow-y:auto}
  .contact-page .nav-links a{font-size:clamp(1.5rem,4svh,3rem);line-height:1.15;letter-spacing:.035em;padding:5px 15px}
  .contact-page .contact-hero{min-height:700px;min-height:94svh}
  .contact-page .contact-hero .hero-image{object-position:50% 51%}
}
@media(max-width:560px){
  .contact-page .contact-hero .hero-content{padding:100px 24px 84px}
  .contact-page .contact-hero h1{font-size:clamp(3.7rem,16vw,6rem)}
  .contact-page .contact-hero .hero-lead{font-size:1.0625rem;line-height:1.6}
  .contact-page .contact-hero .brand-mark{width:190px;height:88px}
  .contact-page .location-photo img{height:auto;object-fit:contain}
}
