/* site-footer component — GENERATED by tools/make-fixtures.py --emit-components
   from the same source ranges as widgets/site-footer/fixture.html
   (../../site/css/shared-responsive.css + ../../site/css/blocks-responsive.css + build/css/responsive.css via fixtures.config.json). Byte-identical rules are
   the contract: edit the stage-2 source and regenerate, never this file. */
/* Frame 202: a centred column with gap 30 — logo 362×102 · contact rows (gap 14) · credit svg 213×18 · legal
   line (Montserrat 300 16 then 15, cap-trimmed). 80 above and below at 1600; half that on a phone. */
.site-footer { padding: var(--gap-section) 0; background: var(--c-white); }
.footer { display: flex; flex-direction: column; align-items: center; }
.footer__logo-link { display: block; width: min(362px, 100%); }   /* the link carries the width: a percentage on the img inside a shrink-to-fit link resolved to its 724px natural size */
.footer__logo { width: 100%; height: auto; }   /* the 724×204 cut carries the 362:102 */
.footer__contact { margin-top: var(--gap-30); display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--c-bronze); font-weight: 300; }
.footer__row { display: flex; align-items: center; min-height: 44px; padding: 7px 0; margin: -7px 0; }   /* a 44px tap target that occupies 30px of flow (sweep: ≥44 below 1024; the fluid 27px line made 31+14 read 41) */
.footer__row--phone { gap: 11px; }
.footer__row--mail { gap: 13px; }
.footer__icon { flex: none; }
.footer__credit { margin-top: var(--gap-30); }
.footer__credit img { width: 213px; aspect-ratio: 213 / 18; }   /* the design's box; the composed svg's own bounds round to 18.23 */
.footer__legal { margin-top: var(--gap-30); width: min(416px, 100%); min-height: 14px; text-align: center;   /* 416, not the design's 413: 3px of slack so a renderer with fractionally wider metrics cannot wrap the run (see the 1600 rule). The text is centred, so its midpoint — and every glyph — stays where the design has it. */ font-weight: 300; font-size: 16px; line-height: 29px; letter-spacing: 0; color: var(--c-gold);
  text-box-trim: trim-both; text-box-edge: cap alphabetic;
  /* min-height is a MEASURED renderer difference: Figma's leadingTrim CAP_HEIGHT box for this run is 13.8,
     Chrome's text-box-trim cap box 11.20. A floor, so a second line still grows it. */ }
.footer__legal-small { font-size: 15px; letter-spacing: 0; }
@media (min-width: 1600px) {
  .site-footer { padding: 80px 0; }   /* the band's 80 above and below (460 = 80 + 300 + 80) */
  .footer__contact, .footer__credit, .footer__legal { margin-top: 30px; }
  .footer__row { min-height: 0; padding: 0; margin: 0; }   /* the touch-target device is gone above 1024; the row is one 31px line */
  /* NOT width: 413px. That is the design's box, and it is also the exact advance of this run in Chrome
     (measured on the live page: box 413.00, text 412.94 — 0.06px of slack). Any renderer whose metrics are
     a hair wider wraps it, and Safari does: QA saw "Reserved" alone on a second line, left-aligned, while
     everything around it is centred. Same family as the trailing-track rule — never size a box to the exact
     text advance. fit-content + nowrap cannot wrap; centred keeps the run's midpoint where the design has it. */
  .footer__legal { width: auto; text-align: center; white-space: nowrap; }
}
