/* Contact: one heading, a details column and a clearly separated form. */
.consultation .consultation-heading{max-width:760px;margin-bottom:36px}
.consultation .consultation-heading .eyebrow{margin-bottom:12px}
.consultation .consultation-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.5}
.consultation .consultation-heading h2 br{display:none}
.consultation .consultation-heading h2 span::before{content:' '}
.consultation .consultation-heading>p:last-child{max-width:640px;color:#526357;font-size:15px;line-height:1.9;margin-top:12px}
.consultation .consultation-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:start}
.consultation .consultation-copy{min-width:0;padding:0}
.consultation .contact-channels.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px}
.consultation .contact-channel{align-items:flex-start;padding:16px 12px;gap:10px;height:100%}
.consultation .contact-channel-icon{width:32px;height:32px;border-radius:9px;margin-top:3px}
.consultation .contact-channel-label{margin-bottom:0;font-size:11px}
.consultation .contact-channel a{display:flex;align-items:center;min-height:40px;font-size:13px;line-height:1.6}
.consultation .contact-office{margin:0;padding:22px;background:#fff;border:1px solid #d7e0d4;border-radius:14px}
.consultation .office-copy h3{font-size:18px}
.consultation .office-address{gap:10px;margin:10px 0 18px;align-items:center}
.consultation .office-address svg{width:20px;height:20px}
.consultation .office-address strong{font-size:13px;line-height:1.7;font-weight:500}
.consultation .office-map{border-color:#d7e0d4;border-radius:10px}
.consultation .office-map iframe{height:265px}
.consultation .map-external{padding:10px 14px;align-items:center}
.consultation #consultation-form{min-width:0;padding:28px;border:1px solid #d7e0d4;border-radius:14px;box-shadow:0 12px 36px #003f3208;background:#fff}
.consultation .form-head{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e8ece4}
.consultation .form-head h3{font-size:22px}
.consultation .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.consultation .form-grid>label{min-width:0}
.consultation input:not([type="checkbox"]),.consultation select,.consultation textarea{width:100%;min-width:0}
.consultation .form-note{font-size:12px;line-height:1.8;margin-block:12px 18px}
.consultation .form-submit{width:100%;justify-content:space-between;min-height:50px}

/* Footer: brand, navigation and direct contact, then a compact newsletter. */
.site-footer{padding-top:44px}
.site-footer .footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.1fr);grid-template-areas:'brand services links contact';gap:32px;padding-block:0 36px;align-items:start}
.site-footer .footer-brand{grid-area:brand;min-width:0}
.site-footer .footer-services{grid-area:services;min-width:0}
.site-footer .footer-links{grid-area:links;min-width:0}
.site-footer .footer-contact{grid-area:contact;min-width:0}
.site-footer .footer-brand>p{margin-top:14px;font-size:12px;line-height:1.9;max-width:310px}
.site-footer .social-links{margin-top:18px;gap:8px;flex-wrap:wrap}
.site-footer .footer-column h3,.site-footer .footer-contact h3{margin:8px 0 16px;font-size:16px;font-weight:700;line-height:1.5;color:#fff}
.site-footer .footer-column a{padding-block:7px;font-size:13px;line-height:1.75;min-height:38px}
.footer-contact-details{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.footer-contact-details li{display:flex;align-items:center;gap:10px;min-width:0;color:#dbe7df;font-size:12px;line-height:1.8}
.footer-contact-details svg{width:18px;height:18px;flex-shrink:0;color:#e6c381}
.footer-contact-details a{display:flex;align-items:center;min-height:36px;min-width:0;overflow-wrap:anywhere}
.footer-contact-details bdi{overflow-wrap:anywhere}
.site-footer .footer-contact .footer-consult{margin:16px 0 0;padding:12px 0 0;border-bottom:0;border-top:1px solid #ffffff26;min-height:44px;gap:14px;font-size:12px;line-height:1.7}
.site-footer .newsletter-panel{margin:0 0 24px;padding:20px 24px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center}
.site-footer .newsletter-copy{min-width:0}
.site-footer .newsletter-copy>div{min-width:0}
.site-footer .newsletter-copy h2{font-size:21px}
.site-footer .newsletter-form{max-width:none}
.site-footer .newsletter-field input{min-width:0}
.site-footer .newsletter-form .consent-label{margin-top:9px;line-height:1.7}
.site-footer .footer-bottom{padding-block:18px 28px;gap:12px 24px;align-items:center}
@media(min-width:851px) and (max-width:1100px){
    .consultation .contact-channels.contact-cards{grid-template-columns:1fr;gap:10px}
    .consultation .consultation-grid{gap:24px}
    .consultation #consultation-form{padding:24px}
}
@media(max-width:1100px){
    .site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'brand contact' 'services links';gap:30px 48px}
}
@media(max-width:850px){
    .consultation .consultation-grid{grid-template-columns:1fr;gap:24px}
    .consultation .consultation-heading{margin-bottom:26px}
    .site-footer .newsletter-panel{grid-template-columns:1fr;gap:16px}
}
@media(max-width:760px){
    .site-footer{padding-top:32px}
    .site-footer .footer-main{grid-template-areas:'brand brand' 'services links' 'contact contact';gap:28px 20px;padding-bottom:28px;text-align:center}
    .site-footer .footer-brand>p{max-width:340px;margin-inline:auto}
    .site-footer .footer-column h3,.site-footer .footer-contact h3{margin-top:0;margin-bottom:12px}
    .site-footer .footer-contact{border-top:1px solid #ffffff26;padding-top:24px}
    .footer-contact-details{justify-items:center;gap:6px}
    .footer-contact-details li{justify-content:center}
    .site-footer .footer-contact .footer-consult{border-top:0;margin:10px auto 0;padding-top:8px}
    .site-footer .newsletter-panel{padding:18px;margin-bottom:20px;gap:14px}
    .site-footer .newsletter-copy{justify-content:center}
    .site-footer .newsletter-copy h2{font-size:20px}
    .site-footer .footer-bottom{padding-bottom:88px;text-align:center;justify-content:center}
    .consultation .contact-office{padding:18px}
    .consultation .office-map iframe{height:230px}
}
@media(max-width:480px){
    .consultation .contact-channels.contact-cards{grid-template-columns:1fr;gap:10px}
    .consultation .contact-channel{padding:12px 16px;align-items:center}
    .consultation .contact-channel a{min-height:36px;font-size:14px}
    .consultation #consultation-form{padding:22px 18px}
    .consultation .form-grid{grid-template-columns:1fr}
    .consultation .consultation-heading>p:last-child{font-size:14px}
    .site-footer .footer-main{column-gap:16px}
    .site-footer .footer-column a{font-size:12px;min-height:44px}
}
