#offices,#contact,#referrals,#solutions{scroll-margin-top:100px}
.offices{padding:76px 0;background:#fff}.offices h2,.contact h2{font-size:clamp(31px,3vw,42px);line-height:1.16;letter-spacing:-.035em;color:#163746;margin:15px 0 8px}.office-intro{color:var(--muted);max-width:720px}.office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:27px}.office-card{border:1px solid var(--line);border-top:4px solid var(--green);padding:26px;background:#fff}.office-label{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.14em}.office-card h3{font-size:23px;margin:10px 0 15px;color:var(--navy)}.office-card address{font-style:normal;line-height:1.75;color:#3e5662;min-height:128px}.office-card a{color:var(--green);font-weight:700;text-underline-offset:4px}.office-note{color:var(--muted);font-size:14px;margin:18px 0 0}.contact{background:#eaf1f1;padding:77px 0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:62px;align-items:start}.contact-grid>div:first-child>p{max-width:480px;color:var(--muted)}.contact .panel{box-shadow:0 16px 36px #173f4812}.contact textarea{font:inherit;border:1px solid #afc5ce;border-radius:3px;padding:11px;width:100%;resize:vertical;min-height:130px;color:#17374a}.contact textarea:focus{outline:3px solid #9edcf4}.contact .btn{margin-top:4px}.contact .note{font-size:13px}.contact .direct-contact{margin-top:30px}
@media(max-width:900px){.office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr;gap:28px}}
@media(max-width:680px){.offices,.contact{padding:52px 0}.office-grid{grid-template-columns:1fr}.office-card{padding:20px}.office-card address{min-height:0;margin-bottom:18px}}
