/* Shared shop-style footer; colors inherit each site's existing palette. */
.site-footer.ecosystem-footer {
  padding:0; border-top:1px solid var(--ink-line); background:var(--washi);
  color:var(--ink); text-align:left; letter-spacing:.025em;
}
.ecosystem-footer a { color:inherit; text-decoration:none; }
.ecosystem-footer a:hover { color:var(--aka); }
.ecosystem-footer .footer-service-strip { padding:30px var(--studio-gutter); background:var(--washi-2); }
.ecosystem-footer .footer-service-inner {
  max-width:var(--studio-width); margin:0 auto; display:grid;
  grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr)); align-items:center; gap:24px;
}
.ecosystem-footer .footer-service-intro h2 { margin:0 0 14px; font:500 clamp(20px,1.65vw,25px)/1.65 var(--font-heading); letter-spacing:.035em; }
.ecosystem-footer .footer-service-intro p { margin:0; font:400 13px/1.85 var(--font-ui); color:var(--ink-dim); }
.ecosystem-footer .footer-service-card { display:grid; grid-template-columns:40% minmax(0,1fr); align-self:stretch; min-height:120px; background:var(--paper); transition:box-shadow .2s; }
.ecosystem-footer .footer-service-card:hover { box-shadow:inset 0 0 0 1px var(--aka-line); }
.ecosystem-footer .footer-service-card img { width:100%; height:100%; min-height:120px; object-fit:cover; }
.ecosystem-footer .footer-service-card > div { padding:18px 14px; align-self:center; font-family:var(--font-heading); }
.ecosystem-footer .footer-service-card p { margin:0; font-size:14px; line-height:1.75; }
.ecosystem-footer .footer-service-card div > span { display:flex; align-items:center; gap:8px; color:var(--aka); margin-top:14px; font-size:14px; line-height:1.6; }
.ecosystem-footer .footer-main { max-width:calc(var(--studio-width) + 2 * var(--studio-gutter)); margin:auto; padding:30px var(--studio-gutter) 32px; display:flex; align-items:center; flex-wrap:wrap; gap:24px 28px; }
.ecosystem-footer .footer-brand { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.ecosystem-footer .footer-brand img { display:block; width:75px; height:auto; }
.ecosystem-footer .footer-brand > span { font:500 18px/1.6 var(--font-heading); }
.ecosystem-footer .footer-brand small { display:block; margin-top:3px; font:10px/1.6 Georgia,serif; letter-spacing:.06em; color:inherit; }
.ecosystem-footer nav { display:flex; flex-wrap:wrap; gap:10px 20px; font:400 13px/1.8 var(--font-ui); }
.ecosystem-footer .footer-details { flex:1 1 340px; margin-left:auto; max-width:42%; text-align:right; }
.ecosystem-footer .footer-details nav { justify-content:flex-end; font-size:11px; gap:6px 14px; }
.ecosystem-footer .footer-details > small { display:block; margin-top:12px; font:400 11px/1.8 var(--font-ui); letter-spacing:.025em; color:var(--ink-dim); }
@media(max-width:1100px) {
  .ecosystem-footer .footer-service-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ecosystem-footer .footer-service-intro { grid-column:1/-1; }
  .ecosystem-footer .footer-details { flex-basis:100%; max-width:none; margin:0; text-align:left; }
  .ecosystem-footer .footer-details nav { justify-content:flex-start; }
}
@media(max-width:600px) {
  .ecosystem-footer .footer-service-strip { padding-block:26px; }
  .ecosystem-footer .footer-service-inner { gap:14px; }
  .ecosystem-footer .footer-service-intro h2 { font-size:21px; }
  .ecosystem-footer .footer-service-intro p { font-size:12px; }
  .ecosystem-footer .footer-service-card { grid-template-columns:1fr; }
  .ecosystem-footer .footer-service-card img { height:108px; min-height:0; }
  .ecosystem-footer .footer-service-card > div { padding:14px 12px; }
  .ecosystem-footer .footer-service-card p,.ecosystem-footer .footer-service-card div > span { font-size:12px; }
  .ecosystem-footer .footer-service-card div > span { margin-top:10px; gap:5px; }
  .ecosystem-footer .footer-main { padding-block:28px; gap:22px; }
  .ecosystem-footer .footer-services { width:100%; gap:10px 18px; font-size:12px; }
}
