:root{--office-card-bg:rgba(255,255,255,0.03);--office-card-border:rgba(189,191,212,0.06);--office-title-color:var(--gen-white);--office-text-color:var(--gen-body-color);}section.offices{padding:3rem 0;} .office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start;} .office-card{background:var(--office-card-bg);border:1px solid var(--office-card-border);padding:1rem;border-radius:0.75rem;min-height:120px;display:flex;flex-direction:column;gap:0.5rem} .office-flag{width:24px;height:16px;display:inline-block;margin-right:0.5rem;vertical-align:middle} .office-title{font-family:var(--gen-body-font-family);font-weight:600;color:var(--office-title-color);margin:0;font-size:1rem} .office-address,.office-contact,.office-hours{color:var(--gen-light-text-emphasis);font-size:0.875rem;margin:0} .office-contact a{color:var(--gen-link-color);text-decoration:none} .office-contact a:focus,.office-contact a:hover{color:var(--gen-link-hover-color);text-decoration:underline} .map-container{margin-top:1.25rem;border-radius:0.5rem;overflow:hidden;border:1px solid var(--office-card-border)} @media (max-width:991.98px){ .office-grid{grid-template-columns:1fr} } .office-cta{margin-top:auto;font-size:0.875rem} .office-cta a{color:var(--gen-link-color);text-decoration:none} .office-cta a:hover{color:var(--gen-link-hover-color);text-decoration:underline} .office-card:focus-within{box-shadow:0 0 0 var(--gen-focus-ring-width) var(--gen-focus-ring-color);outline:none}