/* ECSONS Footer Studio — intentionally scoped to this component. */
.efs-footer {
  --efs-bg:#202224;--efs-text:#fff;--efs-muted:#c9cbcf;--efs-accent:#ff7416;--efs-chip:#2c2f32;--efs-line:#484b4e;--efs-logo-size:48px;
  box-sizing:border-box;width:100%;margin:0 auto;padding:0;border:0;border-radius:18px;
  background:var(--efs-bg);color:var(--efs-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:14px;font-weight:400;line-height:1.55;text-align:left;overflow:hidden;
}
.efs-footer *, .efs-footer *::before,.efs-footer *::after { box-sizing:border-box; }
.efs-footer [hidden] { display:none!important; }
.efs-footer .efs-inner { width:100%;max-width:1540px;margin:0 auto;padding:40px clamp(25px,5.5vw,60px) 22px; }
.efs-footer .efs-columns { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.05fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start; }
.efs-footer .efs-brand-header { display:flex;align-items:center;min-height:34px;gap:10px;margin-bottom:13px; }
.efs-footer .efs-brand-title { font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.035em;overflow-wrap:anywhere; }
.efs-footer .efs-brandmark { display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;position:relative;width:29px;height:29px;color:var(--efs-accent); }
.efs-footer .efs-brandmark:not(.efs-has-logo)::before { content:"";width:22px;height:24px;border:3px solid var(--efs-accent);border-radius:55% 45% 55% 45%;transform:rotate(27deg);position:absolute; }
.efs-footer .efs-brandmark-orbit { position:absolute;border-left:2px solid var(--efs-accent);border-radius:50%;width:17px;height:27px;transform:rotate(35deg); }
.efs-footer .efs-logo-img { display:block;width:100%;height:100%;object-fit:contain;max-width:100%; }
.efs-footer .efs-brandmark.efs-has-logo { width:var(--efs-logo-size);height:var(--efs-logo-size); }
.efs-footer .efs-tagline { max-width:330px;white-space:pre-line;font-size:13px;line-height:1.55;margin:0 0 25px;color:var(--efs-muted); }
.efs-footer .efs-nav { display:flex;flex-wrap:wrap;gap:7px;align-items:center; }
.efs-footer .efs-pill { display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 13px;border-radius:999px;background:var(--efs-chip);color:var(--efs-text);font-size:12px;line-height:1.3;text-decoration:none!important;white-space:normal;transition:opacity .16s,transform .16s; }
.efs-footer .efs-pill:hover { color:var(--efs-text);opacity:.8;transform:translateY(-1px); }
.efs-footer .efs-pill:focus-visible,.efs-footer .efs-contact-item:focus-visible,.efs-footer .efs-social:focus-visible,.efs-footer .efs-address-link:focus-visible { outline:2px solid var(--efs-accent);outline-offset:3px; }
.efs-footer .efs-contact-title { margin:0 0 17px;padding:2px 0 0;color:var(--efs-text);font:600 12px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.025em;text-transform:uppercase; }
.efs-footer .efs-contact-details { display:grid;gap:11px; }
.efs-footer .efs-contact-item { display:flex;align-items:flex-start;gap:11px;margin:0;min-height:17px;color:var(--efs-muted);font-size:12.5px;line-height:1.5;text-decoration:none!important;overflow-wrap:anywhere; }
.efs-footer .efs-contact-item svg { flex:0 0 17px;width:17px;height:17px;display:block;margin-top:1px; }
.efs-footer a.efs-contact-item:hover,.efs-footer .efs-address-link:hover { color:var(--efs-accent); }
.efs-footer .efs-address-link { color:inherit;text-decoration:none!important; }
.efs-footer .efs-socials { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px; }
.efs-footer .efs-social { display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:0 0 31px;border-radius:999px;background:var(--efs-accent);color:var(--efs-bg);text-decoration:none!important;transition:transform .16s,filter .16s; }
.efs-footer .efs-social:hover { color:var(--efs-bg);filter:brightness(1.13);transform:translateY(-2px); }
.efs-footer .efs-social-letter { font-size:16px;font-weight:800;line-height:1;letter-spacing:-.04em; }
.efs-footer .efs-social-linkedin .efs-social-letter { font-size:13px;letter-spacing:-.06em; }
.efs-footer .efs-social svg { width:17px;height:17px; }
.efs-footer .efs-photo { width:100%;aspect-ratio:1.25;min-height:140px;overflow:hidden;border-radius:12px;background:var(--efs-chip); }
.efs-footer .efs-photo-img { display:block;width:100%;height:100%;object-fit:cover;max-width:none;margin:0;border:0;border-radius:0; }
.efs-footer .efs-bottom { display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--efs-line);margin-top:36px;padding-top:15px;font-size:11.5px;line-height:1.5;color:var(--efs-muted); }
.efs-footer .efs-copy,.efs-footer .efs-rights { display:block;overflow-wrap:anywhere; }
@media(max-width:780px) {
 .efs-footer { border-radius:13px; }
 .efs-footer .efs-inner { padding:31px 28px 20px; }
 .efs-footer .efs-columns { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px; }
 .efs-footer .efs-photo { grid-column:1 / -1;aspect-ratio:2.3;min-height:155px;max-height:300px; }
 .efs-footer .efs-bottom { margin-top:27px; }
}
@media(max-width:550px) {
 .efs-footer .efs-inner { padding:26px 22px 19px; }
 .efs-footer .efs-columns { grid-template-columns:minmax(0,1fr);gap:26px; }
 .efs-footer .efs-brand-title { font-size:23px; }
 .efs-footer .efs-tagline { margin-bottom:17px;max-width:100%; }
 .efs-footer .efs-photo { grid-column:auto;aspect-ratio:1.8;min-height:160px;max-height:260px; }
 .efs-footer .efs-bottom { align-items:flex-start;flex-direction:column;gap:5px;margin-top:24px;font-size:11px; }
}
/* Mobile preview forces the real mobile layout even in a wide admin viewport. */
.efs-footer.efs-preview-mobile { border-radius:13px; }
.efs-footer.efs-preview-mobile .efs-inner { padding:26px 22px 19px; }
.efs-footer.efs-preview-mobile .efs-columns { grid-template-columns:minmax(0,1fr);gap:26px; }
.efs-footer.efs-preview-mobile .efs-tagline { max-width:100%;margin-bottom:17px; }
.efs-footer.efs-preview-mobile .efs-photo { grid-column:auto;aspect-ratio:1.8;min-height:160px;max-height:260px; }
.efs-footer.efs-preview-mobile .efs-bottom { align-items:flex-start;flex-direction:column;gap:5px;margin-top:24px; }
