/* ============================================================
   ALLY_MONDAY — SITE HEADER + SITE FOOTER
   ------------------------------------------------------------
   First-party presentation layer for this template's own
   partials/site_header.php and partials/site_footer.php.
   Structure and navigation logic live in those files and in the
   shared navigation engine — this file is PRESENTATION ONLY.

   ── ALLY IDENTITY ──────────────────────────────────────────
   NAVY + BLUE + WHITE + COOL NEUTRAL. Navy is the structure,
   white is the content, blue is the only accent, cool blue-grey
   carries muted text. There is deliberately NO terracotta/orange
   anywhere in the header or footer.

   WHY THIS FILE DEFINES ITS OWN PALETTE (§1a) INSTEAD OF
   RE-POINTING A GLOBAL TOKEN:
   this template's --mt-accent (00-tokens.css, #E85D2F terracotta)
   is the orange source. That token file IS template-scoped — it
   only loads for ally_monday, so editing it could not affect
   fable5 / AnuAi / engineering-one. But it is shared by every
   OTHER ally_monday module (Hero, Services, About, CTA, Programs,
   Projects, Process Flow, Testimonials, Trust Bar…), which are all
   outside this task's scope and legitimately still use terracotta.
   Re-valuing --mt-accent would silently restyle the whole site.
   So the Ally header/footer palette is established HERE, at the
   correct template-AND-component-scoped level, and this file makes
   ZERO references to --mt-accent. Nothing below can emit orange.

   ── HEADER vs FOOTER ───────────────────────────────────────
   They share the system but are deliberately not identical:
   HEADER = lighter navy, compact, tight rhythm, navigation-focused.
   FOOTER = deeper navy, generous spacing, layered surfaces,
   information-focused.

   ── STUDIO READINESS ───────────────────────────────────────
   §1a is the raw palette; §1b is the semantic layer every rule
   below actually reads. A future Studio presentation layer can
   restyle the header/footer by re-declaring any variable in §1 —
   colour, spacing, radius, shadow, CTA treatment — and never needs
   to touch a selector or the PHP structure. Values are chosen in
   exactly one place; no rule below §1 hardcodes a colour.
============================================================ */


/* ============================================================
   §1a  ALLY PALETTE — raw values, chosen once.
============================================================ */
body.tpl-nursery_template {
    /* PLUSFAB PALETTE (2026-10-01). The --ally-* variable NAMES are kept
       on purpose -- 103 existing rules across 10 module files read them --
       only the VALUES change: navy -> graphite, blue -> copper/steel.
       Renaming is a later, optional cleanup. */

    /* Graphite scale (was navy) — light (header) to deep (footer base) */
    --ally-navy-600: #2B3035;  /* graphite light: dropdown    */
    --ally-navy-700: #1E2226;  /* GRAPHITE (brand primary)    */
    --ally-navy-800: #1A1D21;  /* footer raised panels/chips  */
    --ally-navy-900: #131619;  /* DEEP GRAPHITE: footer, Hero */

    /* Accent (was blue, then copper) — PlusFab logo yellow (2026-10-06);
       steel for icons on dark */
    --ally-blue-300: #C5CBD0;  /* brushed steel: icons on dark          */
    --ally-blue-400: #1677E0;  /* accent blue (was logo yellow, 2026-10-14): markers, rules, fills */
    --ally-blue-500: #0F5DB8;  /* deep blue: accent TEXT on light (~6.5:1) */

    /* Neutrals */
    --ally-white:       #FFFFFF;
    --ally-grey-200:    #E1E4E7;  /* steel mist: near-white, CTA hover */
    --ally-grey-400:    #B9BFC5;  /* muted text on dark                */
    --ally-grey-500:    #8A939B;  /* stainless: subtle / legal text    */

    /* White transparencies — separators and glass surfaces (dark-surface
       contexts only: the Footer, and the Header's own dark dropdown flyout,
       which stays dark by deliberate choice — see §5's own note). */
    --ally-line-faint:  rgba(255, 255, 255, 0.07);
    --ally-line:        rgba(255, 255, 255, 0.11);
    --ally-line-strong: rgba(255, 255, 255, 0.18);
    --ally-wash:        rgba(255, 255, 255, 0.06);

    /* Header Direction 1 — "Confident Light Brand" (2026-09-19): the
       Header surface moved from navy to white/light (§1b), so it needs
       the INVERSE of the white-transparency trio above — navy at low
       alpha, for separators/washes that read on a LIGHT surface. Mirrors
       the exact naming + alpha steps of --ally-line*/--ally-wash above,
       just navy-tinted instead of white-tinted; a genuinely new, missing
       semantic concept (this file had no light-surface separator/wash
       before this pass), not a scattered one-off value. */
    --ally-hairline-faint:  rgba(30, 34, 38, 0.06);   /* graphite at 6%  */
    --ally-hairline:        rgba(30, 34, 38, 0.10);   /* graphite at 10% */
    --ally-hairline-strong: rgba(30, 34, 38, 0.18);   /* graphite at 18% */
    --ally-blue-wash:       rgba(22, 119, 224, 0.14);  /* accent blue at 14% — hover/focus wash on light surfaces */
}


/* ============================================================
   §1b  SEMANTIC PRESENTATION VARIABLES — what the rules read.
   Override these to restyle. Nothing below hardcodes a colour.
============================================================ */
body.tpl-nursery_template {
    /* —— Header: surface ——
       Direction 1 — "Confident Light Brand" (2026-09-19): the Header
       moves from a solid navy block to a light/white surface, creating a
       deliberate LIGHT HEADER -> DARK HERO -> LIGHT TRUST BAR sequence.
       Only the values below changed — the raw-palette -> semantic-token
       -> component-rule chain is unchanged, and no component rule below
       §2 was touched for this. */
    --mt-header-bg:            var(--ally-white);
    --mt-header-height:        88px;   /* PlusFab: slightly tighter bar */
    --mt-header-divider:       var(--ally-hairline);
    --mt-header-shadow:        inset 0 -1px 0 var(--mt-header-divider);
    /* Scroll elevation kept the same neutral dark shadow colour (never
       tied to the header's own surface colour), intensity reduced from
       the navy-bar tuning (.40) to a value that reads as a considered
       lift, not a heavy shadow, under a light bar. */
    --mt-header-shadow-scroll: inset 0 -1px 0 var(--mt-header-divider),
                               0 8px 24px rgba(6, 12, 24, 0.14);

    /* —— Header: navigation ——
       Hierarchy is now carried by weight + the blue underline, not by a
       resting/hover colour split — both the resting and emphasised nav
       text read as the SAME confident navy on a light surface (this is
       why --mt-header-fg and --mt-header-fg-muted intentionally share one
       value below; the two semantic names are kept so a future edit can
       re-diverge them without touching any component rule). */
    --mt-header-fg:            var(--ally-navy-700);
    --mt-header-fg-muted:      var(--ally-navy-700);
    --mt-header-accent:        var(--ally-blue-400);
    /* PlusFab: no hover wash / pill -- hover is a steel underline (§4b). */
    --mt-header-hover-bg:      transparent;
    --mt-header-link-px:       var(--mt-space-4, 16px);
    --mt-header-link-py:       var(--mt-space-3, 12px);
    --mt-header-link-radius:   0;

    /* —— Header: CTA — solid navy on white: the brand colour becomes
       the primary action, inverted from the prior white-on-navy
       treatment now that the surface itself is light. Still zero
       decoration — one solid fill, one hover step, same pill shape. —— */
    /* PlusFab Bright Steel (2026-10-06): the logo yellow is the primary
       action, with black text on it. */
    /* 2026-10-14 (blue theme): a darker blue fill with white text. */
    --mt-header-cta-bg:        #10569A;
    --mt-header-cta-bg-hover:  #0B4479;
    --mt-header-cta-fg:        #FFFFFF;
    /* PlusFab: square-ish (6px, same as the Hero buttons), flat. */
    --mt-header-cta-radius:    var(--mt-radius-sm, 6px);
    --mt-header-cta-shadow:    none;

    /* —— Header: dropdown —— PlusFab: a white flyout with a steel
       border (was a dark navy flyout). */
    --mt-dropdown-bg:          var(--ally-white);
    --mt-dropdown-fg:          #3E444A;
    --mt-dropdown-fg-hover:    #16191C;
    --mt-dropdown-hover-bg:    #F3F4F5;
    --mt-dropdown-border:      #E1E4E7;
    --mt-dropdown-radius:      var(--mt-radius-xs, 4px);
    --mt-dropdown-shadow:      0 16px 40px rgba(19, 22, 25, 0.12);

    /* —— Footer: surface — deeper than the header, on purpose —— */
    --mt-footer-bg:            var(--ally-navy-900);
    --mt-footer-panel-bg:      var(--ally-navy-800);
    --mt-footer-py:            var(--mt-space-20, 80px);
    --mt-footer-divider:       var(--ally-line-faint);
    --mt-footer-divider-hard:  var(--ally-line);

    /* —— Footer: text —— */
    --mt-footer-fg:            var(--ally-grey-400);
    --mt-footer-fg-strong:     var(--ally-white);
    --mt-footer-heading:       var(--ally-grey-500);
    --mt-footer-legal:         var(--ally-grey-500);

    /* —— Footer: accents + controls —— */
    --mt-footer-accent:        var(--ally-blue-400);
    --mt-footer-icon:          var(--ally-blue-300);
    --mt-footer-chip-bg:       var(--ally-navy-800);
    --mt-footer-chip-border:   var(--ally-line);
    --mt-footer-chip-hover:    var(--ally-blue-400);
    --mt-footer-radius:        var(--mt-radius-md, 10px);
}


/* ============================================================
   §2  HEADER — shell
   Three nested boxes take the same surface so the bar reads as
   one solid plane: <header> → .fixed-header-stack → .navbar.
   The .navbar is innermost and is what the visitor actually
   sees; the ancestors are painted so the fixed/spacer area never
   flashes a different colour.
============================================================ */
body.tpl-nursery_template header.mt-site-header,
body.tpl-nursery_template .site-header.mt-site-header {
    background: var(--mt-header-bg);
}

body.tpl-nursery_template .mt-site-header .fixed-header-stack {
    background: var(--mt-header-bg);
}

body.tpl-nursery_template .mt-site-header__bar {
    min-height: var(--mt-header-height);
    padding: 0;
    background: var(--mt-header-bg);
    box-shadow: var(--mt-header-shadow);
    transition: box-shadow var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease);
}

/* Elevation on scroll. `.scrolled` is toggled on the .navbar by the
   shared web/assets/js/main.js — an existing hook, no JS change. */
body.tpl-nursery_template .mt-site-header__bar.scrolled {
    box-shadow: var(--mt-header-shadow-scroll);
}

body.tpl-nursery_template .header-spacer {
    height: var(--mt-header-height);
}

body.tpl-nursery_template .mt-site-header__inner {
    display: flex;
    align-items: center;
    gap: var(--mt-space-4, 16px);
}


/* ============================================================
   §3  HEADER — logo
============================================================ */
body.tpl-nursery_template .mt-site-header__logo {
    display: flex;
    align-items: center;
    padding: 0;
    margin-right: var(--mt-space-3, 12px);
}
body.tpl-nursery_template .mt-site-header__logo .site-logo {
    /* Direction 1: enlarged from 42px so the mark has real presence at
       the new 92px header height. The logo file itself is unchanged —
       its white background (previously a visible box on the dark
       header) is now simply the header's own surface colour. */
    max-height: 60px;
    width: auto;
    display: block;
}


/* ============================================================
   §4  HEADER — navigation
   Direction 1 (2026-09-19, supersedes the original dark-header note):
   hierarchy is carried by weight and the blue underline, never by hue —
   resting AND active links are the same confident navy, hover adds a
   soft blue-tinted wash, and the active item additionally gets
   semibold weight plus a short blue underline.
============================================================ */
body.tpl-nursery_template .mt-site-header__nav {
    align-items: center;
    gap: var(--mt-space-2, 8px);
}

body.tpl-nursery_template .mt-site-header__nav .nav-link {
    position: relative;
    display: block;
    color: var(--mt-header-fg-muted);
    font-size: var(--mt-text-base, 1rem);
    font-weight: var(--mt-weight-medium, 500);
    letter-spacing: 0.01em;
    padding: var(--mt-header-link-py) var(--mt-header-link-px);
    border-radius: var(--mt-header-link-radius);
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease),
                background-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}

body.tpl-nursery_template .mt-site-header__nav .nav-link:hover {
    color: var(--mt-header-fg);
    background: var(--mt-header-hover-bg);
}

body.tpl-nursery_template .mt-site-header__nav .nav-link.active {
    color: var(--mt-header-fg);
    font-weight: var(--mt-weight-semibold, 600);
}

/* The one accent marker in the navigation. */
body.tpl-nursery_template .mt-site-header__nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: var(--mt-header-link-px);
    right: var(--mt-header-link-px);
    bottom: 2px;
    height: 2px;
    border-radius: 2px;
    background: var(--mt-header-accent);
}

body.tpl-nursery_template .mt-site-header__nav .nav-link:focus-visible {
    color: var(--mt-header-fg);
    outline: 2px solid var(--mt-header-accent);
    outline-offset: 2px;
}

/* Bootstrap's caret on .dropdown-toggle — align and soften it. */
body.tpl-nursery_template .mt-site-header__nav .dropdown-toggle::after {
    margin-left: 0.4em;
    vertical-align: 0.15em;
    opacity: 0.65;
}


/* ============================================================
   §5  HEADER — dropdown menu
   Direction 1 (2026-09-19): left dark on purpose. An elevated dark
   flyout beneath a light nav bar is a deliberate, common, legible
   pattern — not an oversight — and it means the dropdown's own tokens
   (--mt-dropdown-*, still built on --ally-navy-600 / --ally-line /
   --ally-wash) needed no change at all for this pass.
============================================================ */
body.tpl-nursery_template .mt-site-header .dropdown-menu {
    margin-top: var(--mt-space-2, 8px);
    padding: var(--mt-space-2, 8px);
    background: var(--mt-dropdown-bg);
    border: 1px solid var(--mt-dropdown-border);
    border-radius: var(--mt-dropdown-radius);
    box-shadow: var(--mt-dropdown-shadow);
}

body.tpl-nursery_template .mt-site-header .dropdown-item {
    color: var(--mt-dropdown-fg);
    font-size: var(--mt-text-sm, 0.9rem);
    padding: var(--mt-space-2, 8px) var(--mt-space-3, 12px);
    border-radius: var(--mt-radius-sm, 6px);
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease),
                background-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}

body.tpl-nursery_template .mt-site-header .dropdown-item:hover,
body.tpl-nursery_template .mt-site-header .dropdown-item:focus,
body.tpl-nursery_template .mt-site-header .dropdown-item.active {
    background: var(--mt-dropdown-hover-bg);
    color: var(--mt-dropdown-fg-hover);
}

/* Current service reads as current without shouting. */
body.tpl-nursery_template .mt-site-header .dropdown-item.active {
    box-shadow: inset 2px 0 0 var(--mt-header-accent);
}


/* ============================================================
   §6  HEADER — CTA
   Rendered by the shared navigation engine as
   li.nav-item.ms-lg-2 > a.btn.btn-primary.btn-sm — styled here,
   never re-marked-up.
============================================================ */
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary {
    background: var(--mt-header-cta-bg);
    border-color: var(--mt-header-cta-bg);
    color: var(--mt-header-cta-fg);
    border-radius: var(--mt-header-cta-radius);
    padding: 0.65rem var(--mt-space-6, 24px);
    font-size: var(--mt-text-base, 1rem);
    font-weight: var(--mt-weight-semibold, 600);
    letter-spacing: 0.01em;
    box-shadow: var(--mt-header-cta-shadow);
    transition: transform var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease),
                background-color var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease);
}

body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:hover,
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:focus-visible {
    background: var(--mt-header-cta-bg-hover);
    border-color: var(--mt-header-cta-bg-hover);
    color: var(--mt-header-cta-fg);
    transform: translateY(-1px);
}

body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:focus-visible {
    outline: 2px solid var(--mt-header-accent);
    outline-offset: 3px;
}

body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:active {
    transform: translateY(0);
}


/* ============================================================
   §7  HEADER — mobile toggler + collapsed panel
============================================================ */
body.tpl-nursery_template .mt-site-header .navbar-toggler {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--ally-hairline-strong);
    border-radius: var(--mt-radius-md, 10px);
}
body.tpl-nursery_template .mt-site-header .navbar-toggler:focus {
    box-shadow: 0 0 0 3px var(--ally-blue-wash);
}
/* Direction 1: navy-lined icon — the header is light now, so the prior
   white-lined icon (tuned for a navy bar) would be invisible. Same SVG,
   same stroke width/opacity, navy instead of white. */
body.tpl-nursery_template .mt-site-header .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(20, 33, 61, 0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991px) {
    body.tpl-nursery_template .mt-site-header__collapse {
        background: var(--mt-header-bg);
        border-top: 1px solid var(--mt-header-divider);
        margin-top: var(--mt-space-3, 12px);
        padding: var(--mt-space-3, 12px) 0 var(--mt-space-4, 16px);
    }

    /* Stacked links get a full-width touch target and a hairline
       between them instead of the desktop pill hover. */
    body.tpl-nursery_template .mt-site-header__nav .nav-link {
        border-radius: 0;
        padding: var(--mt-space-3, 12px) var(--mt-space-2, 8px);
        border-bottom: 1px solid var(--ally-hairline-faint);
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link:hover {
        background: transparent;
        color: var(--mt-header-accent);
    }
    /* An underline doesn't read in a stacked list — use a left rule. */
    body.tpl-nursery_template .mt-site-header__nav .nav-link.active::after {
        left: calc(var(--mt-space-2, 8px) * -1);
        right: auto;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        width: 2px;
        height: 18px;
    }

    body.tpl-nursery_template .mt-site-header .dropdown-menu {
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0 0 var(--mt-space-2, 8px) var(--mt-space-4, 16px);
    }
    /* Direction 1 fix: the dropdown-menu above goes transparent on mobile
       and sits directly on the (now light) collapse panel — but
       .dropdown-item's own colour, --mt-dropdown-fg, is a light grey-blue
       tuned for the dark dropdown flyout (§5). Left unchanged, mobile
       Service-domain sub-links would render nearly illegible on the light
       panel. Re-point to the same navy/blue the surrounding stacked
       nav-links already use — no new token, same mobile-nav language. */
    body.tpl-nursery_template .mt-site-header .dropdown-item {
        color: var(--mt-header-fg-muted);
    }
    body.tpl-nursery_template .mt-site-header .dropdown-item:hover,
    body.tpl-nursery_template .mt-site-header .dropdown-item:focus,
    body.tpl-nursery_template .mt-site-header .dropdown-item.active {
        background: transparent;
        color: var(--mt-header-accent);
    }

    body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 {
        margin-top: var(--mt-space-4, 16px);
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary {
        display: block;
        text-align: center;
    }
}


/* ============================================================
   §7b  PLUSFAB HEADER (2026-10-01) -- presentation layer.
   Same markup, same navigation engine; typography + markers only.
   Archivo uppercase navigation, graphite on white, a steel underline
   on hover and a square copper underline on the active item (the one
   accent), a flat graphite CTA, and a graphite menu icon.
============================================================ */
body.tpl-nursery_template .mt-site-header__bar {
    border-bottom: 1px solid #E1E4E7;
    box-shadow: none;
}
body.tpl-nursery_template .mt-site-header__bar.scrolled {
    box-shadow: 0 6px 20px rgba(19, 22, 25, 0.08);
}

body.tpl-nursery_template .mt-site-header__logo .site-logo {
    max-height: 56px;
}

body.tpl-nursery_template .mt-site-header__nav { gap: 0; }

body.tpl-nursery_template .mt-site-header__nav .nav-link {
    font-family: var(--mt-font-heading);
    font-size: 0.8rem;
    font-weight: var(--mt-weight-semibold, 600);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--ally-navy-700);
}

/* Hover: a steel underline, drawn by the same ::after the active marker
   uses (square ends, no radius). */
body.tpl-nursery_template .mt-site-header__nav .nav-link::after {
    content: "";
    position: absolute;
    left: var(--mt-header-link-px);
    right: var(--mt-header-link-px);
    bottom: 4px;
    height: 2px;
    border-radius: 0;
    background: transparent;
    transition: background-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-header__nav .nav-link:hover::after {
    background: #C5CBD0;
}
body.tpl-nursery_template .mt-site-header__nav .nav-link.active::after {
    bottom: 4px;
    border-radius: 0;
    background: var(--mt-header-accent);
}
/* Bootstrap draws the dropdown caret with ::after; keep it a caret. */
/* The shared 02-layout.css draws that caret as a 6x6 bordered box
   rotated 45deg -- restore exactly its size here. */
body.tpl-nursery_template .mt-site-header__nav .dropdown-toggle::after,
body.tpl-nursery_template .mt-site-header__nav .dropdown-toggle:hover::after,
body.tpl-nursery_template .mt-site-header__nav .dropdown-toggle.active::after {
    position: static;
    left: auto;
    right: auto;
    width: 6px;
    height: 6px;
    background: none;
}
/* 02-layout.css also draws its own (graphite) active underline with
   ::before -- one marker only: the copper ::after above. */
body.tpl-nursery_template .mt-site-header__nav .nav-link::before { display: none; }

/* CTA: flat graphite, square-ish, uppercase Archivo -- same family as
   the Hero's buttons. */
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 {
    margin-left: var(--mt-space-4, 16px) !important;
}
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary {
    font-family: var(--mt-font-heading);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.8rem 1.35rem;
}
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:hover,
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:focus-visible {
    /* Bright Steel (2026-10-06): the button is yellow with black text, so
       hover is a deeper yellow -- the old deep-graphite hover hid the text. */
    background: var(--mt-header-cta-bg-hover);
    border-color: var(--mt-header-cta-bg-hover);
    transform: none;
}

/* Dropdown: white flyout, steel border, copper marker on the current
   item (tokens in §1b). */
body.tpl-nursery_template .mt-site-header .dropdown-item {
    border-radius: 0;
}

/* Menu toggler: graphite lines, 6px corners. */
body.tpl-nursery_template .mt-site-header .navbar-toggler {
    border-color: #C5CBD0;
    border-radius: var(--mt-radius-sm, 6px);
}
body.tpl-nursery_template .mt-site-header .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(30, 34, 38, 0.9)' stroke-linecap='square' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991px) {
    body.tpl-nursery_template .mt-site-header__logo .site-logo { max-height: 48px; }
    /* Stacked menu: left-aligned full-width rows with steel hairlines
       (the shared 02-layout.css centers them and paints the active item
       with a grey block). */
    body.tpl-nursery_template .mt-site-header__nav {
        align-items: stretch;
        text-align: left;
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link {
        font-size: 0.85rem;
        padding: var(--mt-space-4, 16px) var(--mt-space-2, 8px);
        border-bottom: 1px solid #E1E4E7;
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link.active,
    body.tpl-nursery_template .mt-site-header__nav .nav-link:hover {
        background: transparent;
    }
    /* Stacked list: no underline; the active item keeps the copper
       left rule from §7. */
    body.tpl-nursery_template .mt-site-header__nav .nav-link:hover::after { background: transparent; }
    body.tpl-nursery_template .mt-site-header__nav .nav-link.active::after {
        background: var(--mt-header-accent);
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link:hover { color: var(--mt-accent-hover); }
    body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 { margin-left: 0 !important; }
}


/* ============================================================
   §7c  BRIGHT STEEL HEADER (2026-10-06, redesign phase 2)
   Same markup and navigation engine. Three graphic moves, shared
   with the Hero: a yellow bar across the top edge, a yellow marker
   that sweeps behind a navigation word on hover (and stays on the
   current page), and a CTA with one cut corner that inverts to black
   with yellow text.
============================================================ */
body.tpl-nursery_template .mt-site-header__bar {
    border-top: 4px solid var(--ally-blue-400);
}

@media (min-width: 992px) {
    /* isolate: lets the marker sit behind the word but above the bar. */
    body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle) {
        isolation: isolate;
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle)::after {
        bottom: 12px;
        height: 9px;
        z-index: -1;
        background: var(--ally-blue-400);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease);
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle):hover::after,
    body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle).active::after {
        background: var(--ally-blue-400);
        transform: scaleX(1);
    }
}

body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary {
    border: 0;
    border-radius: 0;
    font-weight: 700;
    padding: 0.95rem 1.6rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    transition: background-color var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease),
                color var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease);
}
/* The cut corner clips an outline, so keyboard focus uses the same
   colour inversion as hover. */
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:hover,
body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:focus-visible {
    background: var(--ally-navy-900);
    color: var(--ally-blue-400);
    outline: none;
}


/* ============================================================
   §7d  MOBILE HEADER + NAVIGATION PANEL (2026-10-07)
   Everything here is inside max-width: 991px (the collapsed
   navbar). Desktop is not touched.

   Found on a real phone:
   - With the menu open the logo sat against the yellow top bar.
     The bar centres its content only while it is one line; once
     the menu wraps onto a second line, the first line is just as
     tall as the logo. The logo now carries its own vertical
     padding, so it is centred open and closed.
   - The open menu ended wherever its last item ended, and the
     page (Hero buttons, the chat launcher) showed underneath it.
     The header stack is position: fixed (shared 02-layout.css),
     so the menu is an overlay; it now fills the screen below the
     bar as one white panel, scrolls inside itself if it is taller
     than the screen, and the page behind it does not scroll.
   - Rows were 16px + text + 16px; they are now about 46px.
============================================================ */
@media (max-width: 991px) {
    /* A lower bar on small screens. The bar's min-height and the
       header spacer both read this variable. */
    body.tpl-nursery_template { --mt-header-height: 76px; }

    /* Logo: slightly smaller, centred by its own padding. */
    body.tpl-nursery_template .mt-site-header__logo {
        padding: 15px 0;
        margin-right: 0;
    }
    body.tpl-nursery_template .mt-site-header__logo .site-logo { max-height: 42px; }

    /* The panel. */
    body.tpl-nursery_template .mt-site-header__collapse {
        margin-top: 0;
        padding: 4px 0 24px;
    }
    body.tpl-nursery_template .mt-site-header__collapse.show {
        height: calc(100vh - var(--mt-header-height));
        height: calc(100dvh - var(--mt-header-height));   /* follows the mobile browser's moving toolbars */
        overflow-y: auto;
        overscroll-behavior: contain;
        /* Balance (2026-10-07): the panel is a column. The link list takes
           the free height and the primary button sits at the foot of the
           screen (rule further down), so the white space that used to hang
           under the button now separates the links from the action. */
        display: flex;
        flex-direction: column;
        padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
        animation: pf-menu-in 0.18s ease both;
    }
    /* width: the list carries Bootstrap's ms-auto (margin-left: auto). In a
       column flex container an auto side margin would shrink the list to
       its content and push it right; a full width leaves that margin
       nothing to take. */
    body.tpl-nursery_template .mt-site-header__collapse.show .mt-site-header__nav {
        flex: 1 1 auto;
        width: 100%;
    }
    /* Bootstrap animates the panel's height to its CONTENT height and only
       then lets it take the full-screen height above; the button would
       jump to the foot of the screen at the end of that animation. The
       height animation is switched off here, so the panel opens in its
       final layout, with the short fade above instead. Open/close is still
       Bootstrap's own collapse; no script is changed. */
    body.tpl-nursery_template .mt-site-header__collapse.collapsing {
        transition: none;
    }
    /* While the panel is open: the page behind does not scroll, and the
       header stack sits above the floating chat launcher (z-index 1200). */
    body.tpl-nursery_template:has(.mt-site-header__collapse.show) { overflow: hidden; }
    body.tpl-nursery_template .mt-site-header .fixed-header-stack:has(.mt-site-header__collapse.show) { z-index: 1300; }

    /* Rows: comfortable to tap, not tall. */
    body.tpl-nursery_template .mt-site-header__nav .nav-link {
        padding: 13px var(--mt-space-2, 8px);
        font-size: 0.9rem;
    }
    /* Service Request: last item, pushed to the foot of the panel. The
       padding keeps a gap above it when the list itself fills the screen
       (short phones, landscape). */
    body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 {
        margin-top: auto;
        padding-top: var(--mt-space-5, 20px);
    }
    body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary { padding: 1rem 1.6rem; }
}

@keyframes pf-menu-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    body.tpl-nursery_template .mt-site-header__collapse.show { animation: none; }
}


/* ============================================================
   §8  FOOTER — shell
   A deeper navy than the header, with a hard top edge, so the
   page closes on a distinctly lower surface level.
============================================================ */
body.tpl-nursery_template .mt-site-footer {
    position: relative;
    background: var(--mt-footer-bg);
    color: var(--mt-footer-fg);
    padding: var(--mt-footer-py) 0 var(--mt-space-6, 24px);
    border-top: 1px solid var(--mt-footer-divider-hard);
}

body.tpl-nursery_template .mt-site-footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
    gap: var(--mt-space-12, 48px) var(--mt-space-10, 40px);
    padding-bottom: var(--mt-space-12, 48px);
}


/* ============================================================
   §9  FOOTER — brand column
============================================================ */
body.tpl-nursery_template .mt-site-footer__name {
    color: var(--mt-footer-fg-strong);
    font-weight: var(--mt-weight-bold, 700);
    font-size: var(--mt-text-lg, 1.125rem);
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin-bottom: var(--mt-space-4, 16px);
}

body.tpl-nursery_template .mt-site-footer__statement {
    font-size: var(--mt-text-sm, 0.9rem);
    line-height: 1.75;
    color: var(--mt-footer-fg);
    max-width: 40ch;
    margin-bottom: var(--mt-space-6, 24px);
}

/* Contact lines — each icon sits in a raised navy chip so the
   column scans as a list rather than loose runs of text. */
body.tpl-nursery_template .mt-site-footer__line {
    display: flex;
    align-items: center;
    gap: var(--mt-space-3, 12px);
    font-size: var(--mt-text-sm, 0.9rem);
    color: var(--mt-footer-fg);
    margin: 0 0 var(--mt-space-3, 12px);
}
body.tpl-nursery_template .mt-site-footer__line i {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: var(--mt-footer-radius);
    background: var(--mt-footer-chip-bg);
    border: 1px solid var(--mt-footer-chip-border);
    color: var(--mt-footer-icon);
    font-size: 0.76rem;
}
body.tpl-nursery_template .mt-site-footer__line a {
    color: inherit;
    text-decoration: none;
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-footer__line a:hover {
    color: var(--mt-footer-fg-strong);
}

body.tpl-nursery_template .mt-site-footer__whatsapp {
    display: inline-flex;
    align-items: center;
    gap: var(--mt-space-2, 8px);
    margin-top: var(--mt-space-1, 4px);
    padding: var(--mt-space-2, 8px) var(--mt-space-4, 16px);
    border-radius: var(--mt-radius-full);
    background: var(--mt-footer-chip-bg);
    border: 1px solid var(--mt-footer-chip-border);
    color: var(--mt-footer-fg-strong);
    font-size: var(--mt-text-sm, 0.9rem);
    font-weight: var(--mt-weight-medium, 500);
    text-decoration: none;
    transition: background-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease),
                border-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
/* Kept inside the Ally palette (no WhatsApp brand green) so the
   footer holds to navy/blue/white/neutral. Flip this one variable
   if brand-accurate green is ever wanted. */
body.tpl-nursery_template .mt-site-footer__whatsapp i {
    color: var(--mt-footer-icon);
}
body.tpl-nursery_template .mt-site-footer__whatsapp:hover {
    background: var(--ally-navy-700);
    border-color: var(--ally-line-strong);
}

body.tpl-nursery_template .mt-site-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mt-space-2, 8px);
    margin-top: var(--mt-space-6, 24px);
}
body.tpl-nursery_template .mt-site-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--mt-radius-full);
    background: var(--mt-footer-chip-bg);
    border: 1px solid var(--mt-footer-chip-border);
    color: var(--mt-footer-fg-strong);
    text-decoration: none;
    transition: background-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease),
                border-color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-footer__social a:hover {
    background: var(--mt-footer-chip-hover);
    border-color: var(--mt-footer-chip-hover);
    color: var(--ally-white);
}


/* ============================================================
   §10  FOOTER — link columns
   Headings are small, wide-tracked and quiet; a short blue rule
   marks each column start.
============================================================ */
body.tpl-nursery_template .mt-site-footer__heading {
    position: relative;
    font-size: var(--mt-text-xs, 0.75rem);
    font-weight: var(--mt-weight-semibold, 600);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--mt-footer-heading);
    padding-bottom: var(--mt-space-4, 16px);
    margin-bottom: var(--mt-space-5, 20px);
}
body.tpl-nursery_template .mt-site-footer__heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 20px;
    height: 2px;
    border-radius: 2px;
    background: var(--mt-footer-accent);
}

body.tpl-nursery_template .mt-site-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--mt-space-3, 12px);
}
body.tpl-nursery_template .mt-site-footer__links a {
    color: var(--mt-footer-fg);
    font-size: var(--mt-text-sm, 0.9rem);
    text-decoration: none;
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-footer__links a:hover {
    color: var(--mt-footer-fg-strong);
}


/* ============================================================
   §11  FOOTER — location panel
   The map is desaturated toward the footer's own register so it
   reads as part of the design, not a pasted-in widget.
============================================================ */
body.tpl-nursery_template .mt-site-footer__map {
    border-radius: var(--mt-footer-radius);
    overflow: hidden;
    border: 1px solid var(--mt-footer-chip-border);
    background: var(--mt-footer-panel-bg);
    margin-bottom: var(--mt-space-4, 16px);
}
body.tpl-nursery_template .mt-site-footer__map iframe {
    display: block;
    width: 100%;
    height: 170px;
    border: 0;
    filter: grayscale(0.35) contrast(0.95) brightness(0.95);
}


/* ============================================================
   §12  FOOTER — base row
============================================================ */
body.tpl-nursery_template .mt-site-footer__base {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--mt-space-3, 12px);
    padding-top: var(--mt-space-6, 24px);
    border-top: 1px solid var(--mt-footer-divider);
    font-size: var(--mt-text-xs, 0.75rem);
    color: var(--mt-footer-legal);
}
body.tpl-nursery_template .mt-site-footer__base a {
    color: var(--mt-footer-fg);
    text-decoration: none;
    transition: color var(--mt-duration-fast, 160ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-footer__base a:hover {
    color: var(--mt-footer-fg-strong);
}


/* ============================================================
   §13  FOOTER — responsive stacking
============================================================ */
@media (max-width: 1199px) {
    body.tpl-nursery_template .mt-site-footer__grid {
        grid-template-columns: 1.4fr 1fr 1.2fr;
    }
    body.tpl-nursery_template .mt-site-footer__map-col {
        grid-column: span 3;
    }
    body.tpl-nursery_template .mt-site-footer__map iframe {
        height: 210px;
    }
}

@media (max-width: 991px) {
    body.tpl-nursery_template .mt-site-footer {
        padding-top: var(--mt-space-12, 48px);
    }
    body.tpl-nursery_template .mt-site-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--mt-space-10, 40px) var(--mt-space-8, 32px);
    }
    body.tpl-nursery_template .mt-site-footer__brand,
    body.tpl-nursery_template .mt-site-footer__map-col {
        grid-column: span 2;
    }
}

@media (max-width: 575px) {
    body.tpl-nursery_template .mt-site-footer__grid {
        grid-template-columns: 1fr;
    }
    body.tpl-nursery_template .mt-site-footer__brand,
    body.tpl-nursery_template .mt-site-footer__map-col {
        grid-column: span 1;
    }
    body.tpl-nursery_template .mt-site-footer__statement {
        max-width: none;
    }
    body.tpl-nursery_template .mt-site-footer__base {
        flex-direction: column;
        text-align: center;
    }
}


/* ============================================================
   §14  PLUSFAB FOOTER (2026-10-01) -- presentation layer, appended
   (wins by source order). Same markup, same data, same columns.
   Deep graphite with steel hairlines and restrained copper: Archivo
   brand name + headings (headings carry the copper rule used by every
   PlusFab section label), square steel icon tiles with copper glyphs,
   steel links that turn white on hover, a square steel-outline WhatsApp
   button (WhatsApp green kept on the icon only, for recognisability), a
   greyscale steel-framed map (colour returns on hover -- CSS filter
   only, the map itself is untouched), square social icons, and a
   steel-ruled base row.
============================================================ */
body.tpl-nursery_template .mt-site-footer {
    background: var(--ally-navy-900);                     /* #131619 */
    color: #B9BFC5;
    border-top: 1px solid rgba(197, 203, 208, 0.14);
    padding-top: var(--mt-space-20, 80px);
}

/* -- Grid: the base declares FOUR tracks, but the footer only renders
   the optional services column when service links exist. With three
   columns (brand / navigation / location) the fourth track sat empty and
   squeezed the map into a narrow third track -- use three tracks then.
   The four-column layout still applies whenever the services column
   renders. -- */
@media (min-width: 1200px) {
    body.tpl-nursery_template .mt-site-footer__grid:not(:has(> :nth-child(4))) {
        grid-template-columns: 1.5fr 0.9fr 1.4fr;
        gap: var(--mt-space-12, 48px) var(--mt-space-16, 64px);
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    body.tpl-nursery_template .mt-site-footer__grid:not(:has(> :nth-child(4))) {
        grid-template-columns: 1.4fr 0.9fr 1.4fr;
    }
    body.tpl-nursery_template .mt-site-footer__grid:not(:has(> :nth-child(4))) .mt-site-footer__map-col {
        grid-column: auto;
    }
}
/* Tablet: brand across the top, navigation beside location (not
   navigation alone in half the width). */
@media (min-width: 576px) and (max-width: 991px) {
    body.tpl-nursery_template .mt-site-footer__grid:not(:has(> :nth-child(4))) {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
    }
    body.tpl-nursery_template .mt-site-footer__grid:not(:has(> :nth-child(4))) .mt-site-footer__map-col {
        grid-column: auto;
    }
}

/* -- Brand -- */
body.tpl-nursery_template .mt-site-footer__name {
    font-family: var(--mt-font-heading);
    font-size: 1.2rem;
    font-weight: var(--mt-weight-bold, 700);
    letter-spacing: -0.005em;
    color: #FFFFFF;
    margin-bottom: var(--mt-space-4, 16px);
}
body.tpl-nursery_template .mt-site-footer__statement {
    font-size: 0.92rem;
    line-height: 1.75;
    color: #B9BFC5;
    max-width: 44ch;
}

/* -- Contact lines: square steel icon tiles, copper glyphs -- */
body.tpl-nursery_template .mt-site-footer__line {
    font-size: 0.92rem;
    color: #C5CBD0;
}
body.tpl-nursery_template .mt-site-footer__line i {
    width: 32px;
    height: 32px;
    border-radius: 2px;
    background: var(--ally-navy-800);
    border: 1px solid rgba(197, 203, 208, 0.20);
    color: var(--mt-accent);
    font-size: 0.78rem;
}
body.tpl-nursery_template .mt-site-footer__line a:hover { color: #FFFFFF; }

/* -- WhatsApp: square steel-outline button (destination and behaviour
   unchanged); WhatsApp green on the glyph only. -- */
body.tpl-nursery_template .mt-site-footer__whatsapp {
    margin-top: var(--mt-space-3, 12px);
    padding: 0.7rem 1.1rem;
    border-radius: var(--mt-radius-sm, 6px);
    background: transparent;
    border: 1px solid rgba(197, 203, 208, 0.35);
    color: #FFFFFF;
    font-family: var(--mt-font-heading);
    font-size: 0.78rem;
    font-weight: var(--mt-weight-semibold, 600);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
body.tpl-nursery_template .mt-site-footer__whatsapp i {
    color: #25D366;
    font-size: 1rem;
}
body.tpl-nursery_template .mt-site-footer__whatsapp:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: #FFFFFF;
    color: #FFFFFF;
}
body.tpl-nursery_template .mt-site-footer__whatsapp:focus-visible,
body.tpl-nursery_template .mt-site-footer__social a:focus-visible,
body.tpl-nursery_template .mt-site-footer a:focus-visible {
    outline: 2px solid var(--mt-accent);
    outline-offset: 3px;
}

/* -- Social icons (rendered only when social links are configured):
   square, thin steel border, graphite surface, copper on hover. -- */
body.tpl-nursery_template .mt-site-footer__social a {
    width: 38px;
    height: 38px;
    border-radius: var(--mt-radius-sm, 6px);
    background: var(--ally-navy-800);
    border: 1px solid rgba(197, 203, 208, 0.22);
    color: #C5CBD0;
}
body.tpl-nursery_template .mt-site-footer__social a:hover {
    background: var(--ally-navy-800);
    border-color: var(--mt-accent);
    color: var(--mt-accent);
}

/* -- Column headings: Archivo, uppercase steel, copper rule BEFORE the
   label (the PlusFab section-label treatment), replacing the rule
   underneath. -- */
body.tpl-nursery_template .mt-site-footer__heading {
    display: flex;
    align-items: center;
    gap: var(--mt-space-3, 12px);
    font-family: var(--mt-font-heading);
    font-size: 0.75rem;
    font-weight: var(--mt-weight-semibold, 600);
    letter-spacing: 0.16em;
    color: #C5CBD0;
    padding-bottom: 0;
    margin-bottom: var(--mt-space-6, 24px);
}
body.tpl-nursery_template .mt-site-footer__heading::after { content: none; }
body.tpl-nursery_template .mt-site-footer__heading::before {
    content: "";
    flex-shrink: 0;
    width: 20px;
    height: 2px;
    background: var(--mt-accent);
}

/* -- Links -- */
body.tpl-nursery_template .mt-site-footer__links { gap: var(--mt-space-3, 12px); }
body.tpl-nursery_template .mt-site-footer__links a {
    font-size: 0.92rem;
    color: #B9BFC5;
}
body.tpl-nursery_template .mt-site-footer__links a:hover { color: #FFFFFF; }

/* -- Map: steel frame, greyscale to sit in the graphite palette;
   colour returns on hover/focus so it stays fully usable. -- */
body.tpl-nursery_template .mt-site-footer__map {
    border-radius: 2px;
    border: 1px solid rgba(197, 203, 208, 0.22);
    background: var(--ally-navy-800);
}
body.tpl-nursery_template .mt-site-footer__map iframe {
    height: 190px;
    filter: grayscale(1) contrast(1.02) brightness(0.92);
    transition: filter var(--mt-duration-normal, 240ms) var(--mt-ease-default, ease);
}
body.tpl-nursery_template .mt-site-footer__map:hover iframe,
body.tpl-nursery_template .mt-site-footer__map:focus-within iframe {
    filter: none;
}

/* -- Base row -- */
body.tpl-nursery_template .mt-site-footer__grid { padding-bottom: var(--mt-space-16, 64px); }
body.tpl-nursery_template .mt-site-footer__base {
    padding-top: var(--mt-space-6, 24px);
    border-top: 1px solid rgba(197, 203, 208, 0.14);
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    color: #8A939B;
}
body.tpl-nursery_template .mt-site-footer__base a { color: #C5CBD0; }
body.tpl-nursery_template .mt-site-footer__base a:hover { color: var(--mt-accent); }

@media (max-width: 991px) {
    body.tpl-nursery_template .mt-site-footer { padding-top: var(--mt-space-16, 64px); }
    body.tpl-nursery_template .mt-site-footer__grid { padding-bottom: var(--mt-space-12, 48px); }
}

@media (max-width: 575px) {
    body.tpl-nursery_template .mt-site-footer { padding-top: var(--mt-space-12, 48px); }
    body.tpl-nursery_template .mt-site-footer__grid { gap: var(--mt-space-10, 40px); }
    body.tpl-nursery_template .mt-site-footer__map iframe { height: 200px; }
    body.tpl-nursery_template .mt-site-footer__base { gap: var(--mt-space-2, 8px); line-height: 1.6; }
}
