/* The contact block and footer form one shared ending on every page. */
.floating-contact.is-obscured{visibility:hidden;pointer-events:none}
.contacts.section{background:#e7e9df;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(48px,8vw,120px);padding-top:80px;padding-bottom:80px;border-top:1px solid #253b3020}
.contacts .contact-heading{align-self:center}
.contacts .contact-heading h2{font-size:clamp(58px,5.4vw,80px);line-height:1.02;letter-spacing:-.025em}
.contacts .contact-heading h2 em{color:#52624b}
.contacts .contact-heading>p:last-child{max-width:390px;margin-top:28px;font-size:16px;line-height:1.8;color:#52604c}
.contacts .contact-details{border-left:1px solid #253b3033;padding:8px 0 8px clamp(32px,4vw,64px);margin:0;min-width:0}
.contacts .contact-person{font-size:30px;line-height:1.2}
.contacts .contact-person span{font-size:12px;line-height:1.7;margin-top:8px;color:#52604c}
.contacts .contact-phone{display:inline-block;font-family:var(--serif);font-size:clamp(32px,3vw,46px);line-height:1.2;letter-spacing:-.025em;margin:24px 0;transition:color .18s}
.contacts .contact-phone:hover{color:#6c754c}
.contacts .contact-links{display:flex;gap:12px;flex-wrap:wrap}
.contacts .contact-links a{width:auto;flex:0 1 auto;min-width:148px;min-height:52px;gap:12px;padding:12px 24px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:var(--cream);box-shadow:none;font-family:var(--sans);font-size:14px;font-weight:500;transition:background-color .18s,color .18s}
.contacts .contact-links a:last-child{background:transparent;color:var(--green);border-color:#253b3066}
.contacts .contact-links a:hover{background:#304a3c;color:var(--cream)}
.contact-links svg{width:22px;height:22px;flex:none}
.contacts .contact-small{font-size:13px;line-height:1.8;color:#52604c;margin-top:20px}
.site-footer{display:block;background:var(--green);color:var(--cream);padding:64px 7% 24px;text-align:center;border-top:1px solid #dec39640}
.footer-brand-block{display:flex;flex-direction:column;align-items:center;gap:20px}
.site-footer .brand.brand-logo{width:min(390px,100%)}
.footer-brand-block>p{font-size:13px;line-height:1.6;color:#c5cebd;letter-spacing:.04em}
.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 36px;margin-top:28px}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;position:relative;transition:color .18s}
.footer-nav a:hover,.footer-nav a[aria-current]{color:var(--gold)}
.footer-socials{display:flex;flex-direction:column;align-items:center;margin-top:24px}
.footer-socials .social-icons{justify-content:center;gap:12px}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid #dec39633;font-size:12px;line-height:1.6;color:#c5cebd}
.footer-bottom>span:first-child{text-align:left}
.footer-bottom>.back-top{justify-self:end;display:inline-flex;gap:16px;align-items:center;min-height:44px;font-size:13px;color:var(--gold)}
.footer-bottom>.back-top svg{width:24px;height:24px;transition:transform .18s}
.footer-bottom>.back-top:hover svg{transform:translateY(-3px)}
.site-footer a:focus-visible,.contacts a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.contacts a:focus-visible{outline-color:var(--green)}
.home-signoff{border-top:1px solid var(--line);padding-top:64px;padding-bottom:72px;margin-inline:7%;padding-inline:0}
@media(max-width:1000px){.contacts.section{gap:36px}.contacts .contact-details{padding-left:28px}.contacts .contact-heading h2{font-size:58px}.contacts .contact-links a{min-width:128px;padding-inline:18px}.contacts .contact-phone{font-size:34px}}
@media(max-width:700px){
 .contacts.section{display:block;padding:52px 6%}
 .contacts .contact-heading h2{font-size:52px;line-height:1.04}
 .contacts .contact-heading>p:last-child{font-size:15px;margin-top:24px}
 .contacts .contact-details{border-left:0;border-top:1px solid #253b3033;margin-top:32px;padding:28px 0 0}
 .contacts .contact-person{font-size:30px}.contacts .contact-phone{font-size:clamp(30px,8.7vw,38px);margin:24px 0}
 .contacts .contact-links{gap:12px}.contacts .contact-links a{flex:1;min-width:0;padding-inline:12px}
 .contacts .contact-small{margin-top:20px}
 .site-footer{padding:48px 6% 32px}
 .site-footer .brand.brand-logo{width:min(320px,100%)}
 .footer-brand-block{gap:16px}.footer-brand-block>p{font-size:12px;letter-spacing:0}
 .footer-nav{gap:4px 24px;margin-top:24px}.footer-nav a{font-size:14px}
 .footer-socials{margin-top:24px}.footer-socials .social-icons{gap:12px}
 .footer-bottom{grid-template-columns:1fr;gap:8px;margin-top:28px;padding-top:24px}
 .footer-bottom>span:first-child{text-align:center}.footer-bottom>.back-top{justify-self:center;margin-top:8px}
 .home-signoff{margin-inline:6%;padding-top:48px;padding-bottom:52px}
}
@media(prefers-reduced-motion:reduce){.contacts a,.site-footer a,.back-top svg{transition:none}}
