/* V1.24.2: normalize text/icon alignment while preserving supplied SVG artwork. */
.fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px;object-fit:contain;vertical-align:initial}
.resource-action-copy{display:flex;align-items:center;gap:12px;min-width:0}
.resource-action-copy>span{display:block;min-width:0}
.resource-action-copy .resource-type-icon{display:block;width:34px;height:34px;flex:0 0 34px;object-fit:contain}
.fg-about-page .about-profile .resource-type-icon{width:18px;height:18px;flex:0 0 18px}
.contact-site,.fg-companies-page .portfolio-link{display:inline-flex;align-items:center;gap:7px}
.fg-contact-page .location-actions a,.fg-contact-page .map-open span,.footer-contact>a,.footer-map-link{display:inline-flex;align-items:center;gap:8px}
.fg-contact-page .location-actions .fg-link-icon,.fg-contact-page .map-open .fg-link-icon{width:18px;height:18px;flex-basis:18px}
.fg-contact-page .contact-card-actions .fg-link-icon{width:16px;height:16px;flex-basis:16px}
.fg-contact-page .contact-card-address{align-items:start}
.fg-contact-page .contact-card-address .contact-address-icon{display:block;width:18px;height:18px;flex:0 0 18px}
.footer-legal-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:clamp(12px,2vw,24px)}
.footer-legal-links a{display:inline-flex;align-items:center;gap:8px;min-height:28px;line-height:1.25;white-space:nowrap}
.footer-legal-links .fg-link-icon{display:block;width:16px;height:16px;flex-basis:16px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.footer-contact>a,.footer-map-link{line-height:1.45}
.fg-legal-page .legal-section .icon-link{display:inline-flex;align-items:center;gap:8px;line-height:1.4}
.fg-legal-page .legal-section .icon-link .fg-link-icon{width:16px;height:16px;flex-basis:16px}
.footer-legal-links a:focus-visible,.footer-contact>a:focus-visible,.footer-map-link:focus-visible,.fg-legal-page .legal-inline-link:focus-visible{outline:2px solid #947a4b;outline-offset:4px;border-radius:2px}
@media(max-width:700px){.footer-bottom{align-items:flex-start;flex-direction:column}.footer-legal-links{justify-content:flex-start;gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.fg-legal-page *{scroll-behavior:auto}}


/* V1.24.3: compact the shared three-part footer and keep utility icons aligned with labels. */
body .trading-footer .footer-top{grid-template-columns:minmax(0,1.15fr) minmax(140px,.7fr) minmax(270px,1fr);gap:clamp(24px,3vw,42px);align-items:start}
body .trading-footer .footer-contact>a:not(.footer-map-link){display:inline-flex;align-items:center;gap:8px;padding:4px 0;line-height:1.5}
body .trading-footer .footer-contact>a:not(.footer-map-link) .fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px}
body .trading-footer .footer-contact p{margin-bottom:8px}
body .trading-footer .footer-legal-links a:not(.footer-brand){display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:auto;padding:0;line-height:1.35;white-space:nowrap}
body .trading-footer .footer-legal-links .fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px}
@media(max-width:950px){body .trading-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 32px}}
@media(max-width:550px){body .trading-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}body .trading-footer .footer-intro,body .trading-footer .footer-contact{grid-column:1/-1}body .trading-footer .footer-legal-links{justify-content:flex-start;gap:10px 18px}}

.fg-contact-page .contact-site .fg-link-icon,.fg-companies-page .portfolio-link .fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px;object-fit:contain}

/* V1.24.4: contact map phone icon and compact, responsive footer rhythm. */
.fg-contact-page .location-phone{display:inline-flex;align-items:center;gap:8px}
.fg-contact-page .location-phone .fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px}
.fg-contact-page .contact-card-actions{align-items:center;gap:10px 18px}
.fg-contact-page .contact-card-actions .fg-location-link{display:inline-flex;align-items:center;gap:7px}
body .trading-footer .footer-top{grid-template-columns:minmax(0,1.08fr) minmax(140px,.62fr) minmax(280px,1fr);gap:clamp(24px,3vw,40px);padding-bottom:30px}
body .trading-footer .footer-brand{margin-bottom:14px}
body .trading-footer .footer-top h3{margin:5px 0 14px}
body .trading-footer .footer-intro{max-width:360px}
body .trading-footer .footer-contact>a:not(.footer-map-link){display:flex;align-items:center;width:fit-content;max-width:100%;margin:2px 0;padding:4px 0;line-height:1.45;overflow-wrap:anywhere}
body .trading-footer .footer-contact>a:not(.footer-map-link) .fg-link-icon{display:block;width:16px;height:16px;flex:0 0 16px}
body .trading-footer .footer-contact p{max-width:340px;margin:0 0 10px;line-height:1.55}
body .trading-footer .footer-links a:not(.footer-brand){width:fit-content;margin:5px 0;line-height:1.45}
body .trading-footer .footer-bottom{gap:16px;padding-block:16px}
@media(max-width:950px){
 body .trading-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 30px}
 body .trading-footer .footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px 18px}
 body .trading-footer .footer-contact h3,body .trading-footer .footer-contact p{grid-column:1/-1}
 body .trading-footer .footer-contact p{max-width:none;margin-bottom:0}
 body .trading-footer .footer-contact>a:not(.footer-map-link){margin:0}
}
@media(max-width:700px){
 body .trading-footer .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}
 body .trading-footer .footer-intro{grid-column:1/-1;max-width:440px}
 body .trading-footer .footer-links,body .trading-footer .footer-contact{grid-column:auto}
 body .trading-footer .footer-contact{display:block}
 body .trading-footer .footer-contact h3{margin-top:0}
 body .trading-footer .footer-contact p{margin-bottom:8px}
 body .trading-footer .footer-contact>a:not(.footer-map-link){width:100%;margin:2px 0}
 body .trading-footer .footer-bottom{align-items:flex-start;flex-direction:column}
 body .trading-footer .footer-legal-links{justify-content:flex-start;gap:10px 16px}
}
@media(max-width:400px){
 body .trading-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:20px}
 body .trading-footer .footer-intro,body .trading-footer .footer-links,body .trading-footer .footer-contact{grid-column:1}
 body .trading-footer .footer-contact{padding-top:0}
 body .trading-footer .footer-legal-links{gap:8px 14px}
}
