/* ============================================================
   ALGHADEER NURSERY — "THE BROOK" (Design 1, 2026-10-17)
   ------------------------------------------------------------
   The Alghadeer presentation layer of nursery_template. Loaded by
   head-css.php AFTER every inherited section stylesheet and the style
   variant, BEFORE the Studio files, so it wins by source order.

   What it does:
     §0  token VALUES (same --mt-* names; nothing renamed)
     §1  page base + type
     §2  header        partials/site_header.php (unchanged markup)
     §3  hero          Hero `split` layout -> partials/_hero_bright.php
     §4  facts         Trust Bar `divided` layout -> partials/_trust_bright.php
     §5  about         About `split` composition -> partials/_about_bright.php
     §6  rooms         Programs `grid` composition = stepping stones
     §7  a day here    Process Flow `vertical` composition = the brook timeline
     §8  visit CTA     CTA `banner` composition -> partials/_cta_bright.php
     §9  footer        partials/site_footer.php (unchanged markup)
     §10 shared bits   other modules, focus, motion
     §15 hero, no media      "Brook sunrise" default (full-bleed / universal)
     §16 hero, photo / video split = the pebble; full-bleed = background + brook line
     §17 hero, editorial     calm ivory page, framed photograph (template + universal)

   Presentation only: every word, number, image and item comes from the
   module data the admin saves. Nothing here adds or hides content,
   except purely decorative inherited marks (cut corners, hazard stripes,
   index numbers) that do not belong to this design.

   Scope: every rule starts with `html body.tpl-nursery_template` so it
   outranks the inherited `body.tpl-nursery_template …` rules without
   !important.
============================================================ */

/* ============================================================
   §0  TOKENS — values only
============================================================ */
:root {
    --alg-brook:       #0B7285;   /* actions, the line            white text 5.6:1 */
    --alg-brook-deep:  #095E6D;
    --alg-sun:         #FFC845;   /* light, one per section       Deep text 8.6:1 */
    --alg-sun-soft:    #FFE7A3;
    --alg-lily:        #FBF6EC;   /* the page */
    --alg-lily-deep:   #F3EBDA;
    --alg-shallows:    #D9F0EE;   /* calm bands */
    --alg-reed:        #3F7A3A;
    --alg-reed-soft:   #E3EEDC;
    --alg-deep:        #13343F;   /* text, footer                 on Lily 12.3:1 */
    --alg-body:        #3E5560;   /* body text                    on Lily 7.3:1 */
    --alg-muted:       #52656E;   /* small text                   on Lily 5.9:1 */

    /* Palette support (brand colours, 2026-10-17). Values are today's exact
       colours; config/brand_palette.php derives new ones from the five
       controls when an administrator changes them (web/includes/template_palette.php). */
    --alg-on-brook:         #FFFFFF;          /* text on Brook buttons          */
    --alg-on-sun:           var(--alg-deep);  /* text on Sun surfaces           */
    --alg-on-sun-inverse:   var(--alg-lily);  /* text on an inverted Sun button */
    --alg-brook-light:      #5FB3BF;
    --alg-sun-ink:          #C58A00;          /* Sun as small text (stars)      */
    --alg-deep-hover:       #0E2A33;
    --alg-deep-active:      #0A1F26;
    --alg-deep-2:           #24434E;
    --alg-muted-2:          #5F717A;
    --alg-placeholder:      #6B7C84;
    --alg-line:             #E9DFCB;          /* warm borders                   */
    --alg-line-soft:        #EDE2CC;
    --alg-line-2:           #E2D6BF;
    --alg-line-input:       #D9CDB6;
    --alg-line-strong:      #CBBEA4;
    --alg-brook-rgb:        11, 114, 133;     /* channels for rgba()            */
    --alg-deep-rgb:         19, 52, 63;
    --alg-lily-rgb:         251, 246, 236;
    --alg-sun-rgb:          255, 200, 69;

    --alg-serif: 'Fraunces', Georgia, 'Times New Roman', serif;
    --alg-sans:  'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --alg-pebble-1: 58% 42% 47% 53% / 52% 44% 56% 48%;
    --alg-pebble-2: 47% 53% 41% 59% / 56% 44% 56% 44%;
    --alg-pebble-3: 46% 54% 42% 58% / 55% 47% 53% 45%;
    --alg-pebble-4: 54% 46% 57% 43% / 45% 55% 45% 55%;
    --alg-pebble-5: 43% 57% 50% 50% / 58% 42% 58% 42%;

    /* Decorative drawings (stroke / fill colours are the Brook palette). */
    --alg-wave-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 24'%3E%3Cpath d='M0 12 C 40 2, 80 22, 120 12 S 200 2, 240 12' fill='none' stroke='%230B7285' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    --alg-wave-line-v: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 160'%3E%3Cpath d='M12 0 C 22 40, 2 40, 12 80 C 22 120, 2 120, 12 160' fill='none' stroke='%230B7285' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    --alg-swash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath d='M4 15 C 46 4, 112 24, 196 9' fill='none' stroke='%23FFC845' stroke-width='8' stroke-linecap='round'/%3E%3C/svg%3E");
    --alg-swash-nav: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5 C 10 1, 18 8, 28 4 S 46 1, 54 4' fill='none' stroke='%23FFC845' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    --alg-hero-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 160' preserveAspectRatio='none'%3E%3Cpath d='M24 0 C 24 84, 120 136, 300 138 S 560 124, 600 152' fill='none' stroke='%230B7285' stroke-width='3' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    --alg-stones-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='none'%3E%3Cpath d='M1180 0 C 1196 120, 900 150, 620 168 S 90 160, 20 220' fill='none' stroke='%230B7285' stroke-width='3' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    --alg-edge-shallows: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 32 C 240 0, 470 48, 720 26 S 1200 2, 1440 22 L 1440 48 L 0 48 Z' fill='%23D9F0EE'/%3E%3C/svg%3E");
    --alg-edge-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C 300 48, 560 0, 860 22 S 1260 44, 1440 14 L 1440 48 L 0 48 Z' fill='%23FFC845'/%3E%3C/svg%3E");
    --alg-edge-deep: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 200 46, 640 8, 900 26 S 1300 40, 1440 18 L 1440 48 L 0 48 Z' fill='%2313343F'/%3E%3C/svg%3E");
    --alg-pool: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 120'%3E%3Cpath d='M150 0 C 150 30, 156 54, 150 78' fill='none' stroke='%23FFC845' stroke-width='3' stroke-linecap='round'/%3E%3Cellipse cx='150' cy='96' rx='64' ry='13' fill='none' stroke='%23FFC845' stroke-width='3'/%3E%3Cellipse cx='150' cy='96' rx='104' ry='20' fill='none' stroke='%23FFC845' stroke-opacity='0.45' stroke-width='1.5'/%3E%3Cellipse cx='150' cy='96' rx='140' ry='22' fill='none' stroke='%23FFC845' stroke-opacity='0.22' stroke-width='1'/%3E%3C/svg%3E");

    /* WEB360 tokens — new VALUES for this template, same names. */
    --mt-brand-primary:        var(--alg-deep);
    --mt-brand-primary-hover:  var(--alg-deep-hover);
    --mt-brand-primary-active: var(--alg-deep-active);
    --mt-brand-primary-soft:   var(--alg-shallows);
    --mt-brand-primary-rgb:    var(--alg-deep-rgb);
    --primary:                 var(--mt-brand-primary);
    --primary-rgb:             var(--mt-brand-primary-rgb);

    --mt-accent:         var(--alg-brook);
    --mt-accent-strong:  var(--alg-brook-deep);
    --mt-on-accent:      var(--alg-on-brook);
    --mt-accent-text:    var(--alg-brook);
    --mt-accent-hover:   var(--alg-brook-deep);
    --mt-accent-soft:    var(--alg-shallows);
    --mt-accent-light:   var(--alg-brook-light);

    --mt-surface-page:     var(--alg-lily);
    --mt-surface-raised:   #FFFFFF;
    --mt-surface-sunken:   var(--alg-lily-deep);
    --mt-surface-subtle:   var(--alg-shallows);
    --mt-surface-alt:      var(--alg-lily-deep);
    --mt-surface-dark:     var(--alg-deep);
    --mt-surface-dark-alt: var(--alg-deep-hover);
    --mt-surface-header:   var(--alg-lily);
    --mt-surface-dropdown: #FFFFFF;

    --mt-border-light:   var(--alg-line);
    --mt-border-default: var(--alg-line-2);
    --mt-border-strong:  var(--alg-line-strong);
    --mt-border-focus:   rgba(var(--alg-brook-rgb), 0.55);

    --mt-text-dark:    var(--alg-deep);
    --mt-text-medium:  var(--alg-body);
    --mt-neutral-900:  var(--alg-deep);
    --mt-neutral-800:  var(--alg-deep-2);
    --mt-neutral-700:  var(--alg-body);
    --mt-neutral-600:  var(--alg-muted);
    --mt-neutral-500:  var(--alg-muted-2);
    --mt-text-heading: var(--alg-deep);
    --mt-text-body:    var(--alg-body);
    --mt-text-muted:   var(--alg-muted);

    --mt-shadow-accent: 0 10px 28px rgba(var(--alg-brook-rgb), 0.25);
    --mt-gradient-glow: radial-gradient(circle, rgba(var(--alg-brook-rgb), 0.12), transparent 70%);
    --mt-radius:    18px;
    --mt-radius-md: 16px;
    --mt-radius-lg: 28px;
    --mt-radius-xl: 28px;

    --mt-font-sans:    var(--alg-sans);
    --mt-font-body:    var(--alg-sans);
    --mt-font-heading: var(--alg-serif);
}

/* ============================================================
   §1  PAGE BASE + TYPE
============================================================ */
html body.tpl-nursery_template {
    background: var(--alg-lily);
    color: var(--alg-body);
    font-family: var(--alg-sans);
    font-size: 17px;
}
html body.tpl-nursery_template ::selection { background: var(--alg-sun); color: var(--alg-on-sun); }
html body.tpl-nursery_template :focus-visible {
    outline: 3px solid var(--alg-brook);
    outline-offset: 3px;
}

/* ============================================================
   §2  HEADER
============================================================ */
html body.tpl-nursery_template {
    --mt-header-bg:            var(--alg-lily);
    --mt-header-divider:       rgba(var(--alg-deep-rgb), 0.08);
    --mt-header-fg:            var(--alg-deep);
    --mt-header-fg-muted:      var(--alg-deep);
    --mt-header-accent:        var(--alg-sun);
    --mt-header-cta-bg:        var(--alg-brook);
    --mt-header-cta-bg-hover:  var(--alg-brook-deep);
    --mt-header-cta-fg:        var(--alg-on-brook);
    --mt-header-cta-radius:    999px;
    --mt-dropdown-fg:          var(--alg-body);
    --mt-dropdown-fg-hover:    var(--alg-deep);
    --mt-dropdown-hover-bg:    var(--alg-shallows);
    --mt-dropdown-border:      var(--alg-line);
    --mt-dropdown-radius:      16px;

    --mt-footer-bg:            var(--alg-deep);
    --mt-footer-panel-bg:      var(--alg-deep-hover);
    --mt-footer-divider:       rgba(var(--alg-lily-rgb), 0.16);
    --mt-footer-divider-hard:  rgba(var(--alg-lily-rgb), 0.22);
    --mt-footer-fg:            rgba(var(--alg-lily-rgb), 0.86);
    --mt-footer-fg-strong:     var(--alg-lily);
    --mt-footer-heading:       var(--alg-sun);
    --mt-footer-legal:         rgba(var(--alg-lily-rgb), 0.80);
    --mt-footer-accent:        var(--alg-sun);
    --mt-footer-icon:          var(--alg-shallows);
    --mt-footer-chip-bg:       var(--alg-deep-hover);
    --mt-footer-chip-border:   rgba(var(--alg-lily-rgb), 0.22);
    --mt-footer-chip-hover:    var(--alg-sun);
    --mt-footer-radius:        18px;
}
html body.tpl-nursery_template .mt-site-header__bar,
html body.tpl-nursery_template .mt-site-header__bar.scrolled {
    background: var(--alg-lily);
}
html body.tpl-nursery_template .mt-site-header__bar.scrolled {
    box-shadow: 0 10px 30px rgba(var(--alg-deep-rgb), 0.08);
}
html body.tpl-nursery_template .mt-site-header__nav .nav-link {
    position: relative;
    font-family: var(--alg-sans);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0;
    text-transform: none;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-site-header__bar { border-top: 0; }
/* Hover / current page: the sunlit swash draws in under the word
   (replaces the inherited blue sweep; same transform behaviour). */
html body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle)::after {
    bottom: 4px;
    height: 8px;
    border-radius: 0;
    background: var(--alg-swash-nav) center / 100% 100% no-repeat;
}
html body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle):hover::after,
html body.tpl-nursery_template .mt-site-header__nav .nav-link:not(.dropdown-toggle).active::after {
    background: var(--alg-swash-nav) center / 100% 100% no-repeat;
}
/* The header CTA (nav row marked as CTA): a Brook pill, sentence case. */
html body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    background: var(--alg-brook);
    border-color: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary::before,
html body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary::after { display: none; }
html body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:hover,
html body.tpl-nursery_template .mt-site-header__nav .nav-item.ms-lg-2 .btn-primary:focus-visible {
    background: var(--alg-brook-deep);
    border-color: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 6px rgba(var(--alg-brook-rgb), 0.14);
}
/* Active item: a small hand-drawn sunlit ripple under the word (replaces a straight rule). */
html body.tpl-nursery_template .mt-site-header__nav .nav-link.active::after,
html body.tpl-nursery_template .mt-site-header__nav .nav-link[aria-current="page"]::after {
    content: "";
    position: absolute;
    left: var(--mt-header-link-px, 16px);
    right: var(--mt-header-link-px, 16px);
    bottom: 4px;
    height: 8px;
    border: 0;
    background: var(--alg-swash-nav) center / 100% 100% no-repeat;
    transform: none;
}

/* ============================================================
   §3  HERO — the asymmetric split, pebble frame, sun disc
============================================================ */
html body.tpl-nursery_template .mt-hero.pf-hero {
    --pf-ink:    var(--alg-deep);
    --pf-yellow: var(--alg-sun);
    background: var(--alg-lily);
    color: var(--alg-deep);
    overflow: hidden;
}
html body.tpl-nursery_template .mt-hero.pf-hero::before { background-image: none; }
/* The brook starts here: a line leaving the copy column, flowing towards the next section. */
html body.tpl-nursery_template .mt-hero.pf-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: max(24px, calc((100vw - 1320px) / 2 + 24px));
    bottom: 0;
    width: min(46vw, 600px);
    height: 120px;
    background: var(--alg-hero-line) left bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .pf-hero__inner {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    padding-top: clamp(40px, 7vh, 88px);
    padding-bottom: clamp(120px, 14vh, 150px);
}
html body.tpl-nursery_template .pf-hero__micro {
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--alg-shallows);
    font-family: var(--alg-sans);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-hero__micro::before { display: none; }
html body.tpl-nursery_template .pf-hero__title {
    font-family: var(--alg-serif);
    font-size: clamp(2.6rem, 1.1rem + 4.4vw, 5.6rem);
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.025em;
    color: var(--alg-deep);
    font-optical-sizing: auto;
}
/* The closing phrase (chosen by _hero_bright.php from the stored title):
   italic Brook with a sunlit swash beneath it. */
html body.tpl-nursery_template .pf-hero__mark {
    padding: 0 0.04em 0.12em;
    font-style: italic;
    font-weight: 500;
    color: var(--alg-brook);
    background-image: var(--alg-swash);
    background-position: 0 100%;
    background-size: 100% 0.24em;
}
html body.tpl-nursery_template .pf-hero__subtitle {
    font-size: 1.22rem;
    font-weight: 600;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-hero__desc {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--alg-body);
}

/* Buttons: pills. Primary Brook; secondary Brook outline. */
html body.tpl-nursery_template .pf-hero__btn,
html body.tpl-nursery_template .pf-about__btn,
html body.tpl-nursery_template .pf-cta__btn {
    min-height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    transition: background-color 0.2s var(--mt-ease-default), color 0.2s var(--mt-ease-default),
                border-color 0.2s var(--mt-ease-default), box-shadow 0.35s var(--mt-ease-default);
}
html body.tpl-nursery_template .pf-hero__btn--primary,
html body.tpl-nursery_template .pf-about__btn,
html body.tpl-nursery_template .pf-cta__btn--primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .pf-hero__btn--primary i,
html body.tpl-nursery_template .pf-about__btn i,
html body.tpl-nursery_template .pf-cta__btn--primary i { color: var(--alg-on-brook); }
/* Hover: the Brook deepens and a faint ripple ring grows from the button. */
html body.tpl-nursery_template .pf-hero__btn--primary:hover,
html body.tpl-nursery_template .pf-hero__btn--primary:focus-visible,
html body.tpl-nursery_template .pf-about__btn:hover,
html body.tpl-nursery_template .pf-about__btn:focus-visible,
html body.tpl-nursery_template .pf-cta__btn--primary:hover,
html body.tpl-nursery_template .pf-cta__btn--primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(var(--alg-brook-rgb), 0.14);
}
html body.tpl-nursery_template .pf-hero__btn--primary:hover i,
html body.tpl-nursery_template .pf-hero__btn--primary:focus-visible i,
html body.tpl-nursery_template .pf-cta__btn--primary:hover i { color: var(--alg-on-brook); }
html body.tpl-nursery_template .pf-hero__btn:focus-visible,
html body.tpl-nursery_template .pf-about__btn:focus-visible,
html body.tpl-nursery_template .pf-cta__btn:focus-visible {
    outline: 3px solid var(--alg-deep);
    outline-offset: 4px;
}
html body.tpl-nursery_template .pf-hero__btn--secondary {
    border: 2px solid var(--alg-brook);
    background: transparent;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .pf-hero__btn--secondary:hover,
html body.tpl-nursery_template .pf-hero__btn--secondary:focus-visible {
    background: var(--alg-shallows);
    color: var(--alg-deep);
    border-color: var(--alg-brook);
}

/* Hero items (figures): calm, on the cream, no rule. */
html body.tpl-nursery_template .pf-hero__stats { border-top: 0; gap: 8px 28px; }
html body.tpl-nursery_template .pf-hero__stat,
html body.tpl-nursery_template .pf-hero__stat + .pf-hero__stat { padding: 16px 0 0; border-left: 0; }
html body.tpl-nursery_template .pf-hero__stat-value { font-family: var(--alg-serif); font-weight: 600; color: var(--alg-deep); }
html body.tpl-nursery_template .pf-hero__stat-label { color: var(--alg-brook); font-weight: 800; }
html body.tpl-nursery_template .pf-hero__stat-caption { color: var(--alg-muted); }

/* Media: the photograph in a pebble, a sun disc behind it, the supporting visual as a small pebble. */
html body.tpl-nursery_template .pf-hero__media { padding: 0; }
html body.tpl-nursery_template .pf-hero__stripes { display: none; }
html body.tpl-nursery_template .pf-hero__slab {
    inset: auto;
    top: -5%;
    left: -7%;
    width: 38%;
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 50%;
    clip-path: none;
    background: var(--alg-sun);
}
html body.tpl-nursery_template .pf-hero__frame {
    height: clamp(380px, 62vh, 640px);
    margin-right: calc(-1 * min(6vw, 96px));
    clip-path: none;
    border-radius: var(--alg-pebble-1);
    background: var(--alg-shallows);
}
html body.tpl-nursery_template .pf-hero--internal .pf-hero__frame { height: clamp(260px, 40vh, 420px); }
html body.tpl-nursery_template .pf-hero__media-el--empty { background: var(--alg-shallows); }
html body.tpl-nursery_template .pf-hero__inset {
    left: -9%;
    bottom: -4%;
    width: clamp(150px, 16vw, 240px);
    aspect-ratio: 1.08 / 1;
    border: 10px solid var(--alg-lily);
    border-radius: var(--alg-pebble-2);
    overflow: hidden;
    background: var(--alg-sun-soft);
    box-shadow: none;
}
html body.tpl-nursery_template .pf-hero--media-start .pf-hero__inset { left: auto; right: -9%; }
html body.tpl-nursery_template .pf-hero--media-start .pf-hero__frame { margin-right: 0; margin-left: calc(-1 * min(6vw, 96px)); }

/* The legacy highlights band (only while no Keyword Strip row exists). */
html body.tpl-nursery_template .pf-hero__ticker { background: var(--alg-shallows); color: var(--alg-deep); }
html body.tpl-nursery_template .pf-hero__ticker-item { font-family: var(--alg-sans); font-weight: 800; letter-spacing: 0.14em; }
html body.tpl-nursery_template .pf-hero__ticker-item::after { content: "~"; color: var(--alg-brook); }

@media (max-width: 991px) {
    html body.tpl-nursery_template .pf-hero__inner {
        grid-template-columns: minmax(0, 1fr);
        padding-top: 0;
        padding-bottom: 110px;
    }
    /* Phone / tablet: the photograph comes first, wave-cropped, full width. */
    html body.tpl-nursery_template .pf-hero__media { order: -1; margin: 0 calc(-1 * var(--bs-gutter-x, 1.5rem) / 2 - 12px); }
    html body.tpl-nursery_template .pf-hero__frame,
    html body.tpl-nursery_template .pf-hero--media-start .pf-hero__frame {
        height: clamp(260px, 52vw, 420px);
        margin: 0;
        border-radius: 0 0 58% 42% / 0 0 16% 24%;
    }
    html body.tpl-nursery_template .pf-hero__slab {
        top: auto;
        bottom: -38px;
        left: auto;
        right: 18px;
        width: clamp(84px, 22vw, 130px);
        z-index: 2;
        box-shadow: 0 0 0 8px var(--alg-lily);
    }
    html body.tpl-nursery_template .pf-hero__inset { display: none; }
    html body.tpl-nursery_template .pf-hero__copy { padding-top: 28px; }
    html body.tpl-nursery_template .mt-hero.pf-hero::after { left: 22px; width: 40px; height: 90px; background: var(--alg-wave-line-v) left top / 24px 160px repeat-y; }
}
@media (max-width: 575px) {
    html body.tpl-nursery_template .pf-hero__actions { flex-direction: column; align-items: stretch; }
    html body.tpl-nursery_template .pf-hero__btn { width: 100%; }
}

/* ============================================================
   §4  FACTS — Trust Bar `divided`: facts sitting on the brook
============================================================ */
html body.tpl-nursery_template .pf-band {
    --pf-ink:    var(--alg-deep);
    --pf-yellow: var(--alg-sun);
    position: relative;
    padding: 8px 0 64px;
    background: var(--alg-lily);
    border: 0;
}
html body.tpl-nursery_template .pf-band__list {
    position: relative;
    gap: 28px 40px;
    padding-top: 0;
}
/* The line itself, running through the dots. */
html body.tpl-nursery_template .pf-band__list::before {
    content: "";
    position: absolute;
    left: -24px;
    right: -24px;
    top: 16px;
    height: 24px;
    background: var(--alg-wave-line) left center / 240px 24px repeat-x;
    pointer-events: none;
}
html body.tpl-nursery_template .pf-band__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 64px 0 0;
    background: transparent;
    clip-path: none;
    border: 0;
    box-shadow: none;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-band__item::before,
html body.tpl-nursery_template .pf-band__item::after { display: none; }
html body.tpl-nursery_template .pf-band__item:hover { background: transparent; color: var(--alg-deep); }
/* A sunlit stone on the line, one per fact. */
html body.tpl-nursery_template .pf-band__index {
    position: absolute;
    top: 17px;
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--alg-sun);
    box-shadow: 0 0 0 6px var(--alg-lily), 0 0 0 8px var(--alg-brook);
    font-size: 0;
    color: transparent;
    -webkit-text-stroke: 0;
}
html body.tpl-nursery_template .pf-band__icon {
    order: 0;
    font-size: 1.1rem;
    color: var(--alg-brook);
    background: none;
    width: auto;
    height: auto;
}
html body.tpl-nursery_template .pf-band__label {
    order: -1;
    font-family: var(--alg-sans);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .pf-band__value {
    font-family: var(--alg-serif);
    font-size: clamp(1.7rem, 1.2rem + 1.2vw, 2.25rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-band__desc { color: var(--alg-body); font-size: 0.98rem; }
html body.tpl-nursery_template .pf-band__item:hover .pf-band__value,
html body.tpl-nursery_template .pf-band__item:hover .pf-band__label,
html body.tpl-nursery_template .pf-band__item:hover .pf-band__desc,
html body.tpl-nursery_template .pf-band__item:hover .pf-band__icon { color: inherit; }
html body.tpl-nursery_template .pf-band__item:hover .pf-band__label { color: var(--alg-brook); }
@media (max-width: 767px) {
    html body.tpl-nursery_template .pf-band__list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    html body.tpl-nursery_template .pf-band__list::before {
        left: 0;
        right: auto;
        top: -10px;
        bottom: -10px;
        width: 24px;
        height: auto;
        background: var(--alg-wave-line-v) center top / 24px 160px repeat-y;
    }
    html body.tpl-nursery_template .pf-band__item { padding: 0 0 0 52px; }
    html body.tpl-nursery_template .pf-band__index { top: 4px; left: 1px; }
}

/* ============================================================
   §5  ABOUT — `split`: pebble photograph, editorial copy
============================================================ */
html body.tpl-nursery_template .pf-about {
    --pf-ink:    var(--alg-deep);
    --pf-yellow: var(--alg-sun);
    background: var(--alg-lily);
}
html body.tpl-nursery_template .pf-about__eyebrow { color: var(--alg-brook); font-family: var(--alg-sans); font-weight: 800; }
html body.tpl-nursery_template .pf-about__eyebrow::before { display: none; }
html body.tpl-nursery_template .pf-about__title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-about__lead { color: var(--alg-body); font-size: 1.12rem; line-height: 1.65; }
html body.tpl-nursery_template .pf-about__visual::before {
    inset: auto;
    top: -22px;
    right: -18px;
    width: 30%;
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 50%;
    clip-path: none;
    background: var(--alg-sun);
}
html body.tpl-nursery_template .pf-about__frame {
    clip-path: none;
    border-radius: var(--alg-pebble-3);
    background: var(--alg-shallows);
    overflow: hidden;
}
html body.tpl-nursery_template .pf-about__mv-card {
    clip-path: none;
    border: 0;
    border-radius: 28px;
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .pf-about__mv-card::before,
html body.tpl-nursery_template .pf-about__mv-card::after { display: none; }
html body.tpl-nursery_template .pf-about__mv-card--vision { background: var(--alg-reed-soft); }
html body.tpl-nursery_template .pf-about__mv-label { font-family: var(--alg-serif); color: var(--alg-deep); }
html body.tpl-nursery_template .pf-about__mv-label i { color: var(--alg-brook); }
html body.tpl-nursery_template .pf-about__feature { background: transparent; border: 0; }
html body.tpl-nursery_template .pf-about__feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--alg-sun);
    color: var(--alg-on-sun);
    clip-path: none;
}
html body.tpl-nursery_template .pf-about__stat { background: transparent; border: 0; clip-path: none; }
html body.tpl-nursery_template .pf-about__stat-value { font-family: var(--alg-serif); font-weight: 600; color: var(--alg-deep); }
html body.tpl-nursery_template .pf-about__stat-label { color: var(--alg-brook); }

/* ============================================================
   §6  ROOMS — Programs `grid` composition as stepping stones
   Any number of items: the stones rise left to right in groups of
   three and wrap; numerals come from a CSS counter, never from data.
============================================================ */
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) {
    position: relative;
    background: var(--alg-lily);
    border-top: 0;
    padding-bottom: clamp(72px, 9vw, 120px);
    overflow: hidden;
}
html body.tpl-nursery_template .mt-programs__header {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: clamp(36px, 5vw, 64px);
    max-width: 760px;
}
html body.tpl-nursery_template .mt-programs__header::after,
html body.tpl-nursery_template .mt-programs__eyebrow::before { display: none; }
html body.tpl-nursery_template .mt-programs__eyebrow {
    font-family: var(--alg-sans);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .mt-programs__heading {
    font-family: var(--alg-serif);
    font-size: clamp(2.1rem, 1.2rem + 2.8vw, 3.9rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-programs__heading em,
html body.tpl-nursery_template .mt-programs__heading i { color: var(--alg-brook); font-weight: 500; }
html body.tpl-nursery_template .mt-programs__lead { color: var(--alg-body); font-size: 1.1rem; }

html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px clamp(24px, 4vw, 56px);
    align-items: start;
    counter-reset: alg-stone;
}
/* The brook flowing downhill beneath the stones. */
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__grid::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: -2%;
    right: -4%;
    bottom: -40px;
    height: 220px;
    background: var(--alg-stones-line) center / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item {
    position: relative;
    z-index: 1;
    counter-increment: alg-stone;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 420px;
    padding: 72px clamp(36px, 4vw, 60px);
    text-align: center;
    border: 0;
    border-radius: var(--alg-pebble-3);
    background: var(--alg-shallows);
    box-shadow: none;
    clip-path: none;
    transition: transform 0.45s var(--mt-ease-default);
}
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item,
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(n) { grid-column: auto; }
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item::after { display: none; }
/* The numeral: CSS counter, so it follows however many rooms are saved. */
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item::before {
    content: counter(alg-stone, decimal-leading-zero);
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin-bottom: 10px;
    background: none;
    clip-path: none;
    font-family: var(--alg-serif);
    font-size: clamp(3.4rem, 2.6rem + 1.6vw, 4.6rem);
    font-weight: 500;
    line-height: 0.9;
    color: var(--alg-brook);
}
/* Rising left to right, a tint and a stone shape per position. */
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n+1) { margin-top: 160px; }
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n+2) {
    margin-top: 80px;
    border-radius: var(--alg-pebble-4);
    background: var(--alg-sun);
}
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n+2)::before { color: var(--alg-deep); }
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n) {
    border-radius: var(--alg-pebble-5);
    background: var(--alg-reed-soft);
}
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n)::before { color: var(--alg-reed); }
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:hover { transform: translateY(-6px); }
/* The stone shows its numeral; the item icon is shown in the list / spotlight compositions. */
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__icon { display: none; }
html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
html body.tpl-nursery_template .mt-programs__title {
    order: 1;
    margin: 0;
    font-family: var(--alg-serif);
    font-size: clamp(1.5rem, 1.2rem + 0.8vw, 1.9rem);
    font-weight: 600;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-programs__age {
    order: 2;
    margin: 0;
    padding: 5px 14px;
    border: 0;
    border-radius: 999px;
    background: var(--alg-lily);
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: none;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-programs__age::before,
html body.tpl-nursery_template .mt-programs__age::after { display: none; }
html body.tpl-nursery_template .mt-programs__desc {
    order: 3;
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--alg-deep);
}
@media (max-width: 991px) {
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        max-width: 520px;
    }
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__grid::before {
        left: 50%;
        right: auto;
        top: 0;
        bottom: 0;
        width: 24px;
        height: auto;
        margin-left: -12px;
        background: var(--alg-wave-line-v) center top / 24px 160px repeat-y;
    }
    /* Phone: a vertical path; the stones overlap a little and step left / right. */
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item,
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n+1),
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(3n+2) {
        min-height: 340px;
        margin: -28px 14% 0 0;
        padding: 60px 44px;
        box-shadow: 0 0 0 8px var(--alg-lily);
    }
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:first-child { margin-top: 0; }
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:nth-child(even) { margin-left: 14%; margin-right: 0; }
}

/* ============================================================
   §7  A DAY HERE — Process Flow `vertical`: the brook is the timeline
============================================================ */
html body.tpl-nursery_template .mt-process.mt-process--vertical {
    position: relative;
    margin-top: 0;   /* the wave edge overlaps the section above — no cream gap */
    background: var(--alg-shallows);
    border: 0;
}
html body.tpl-nursery_template .mt-process.mt-process--vertical::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -47px;
    height: 48px;
    background: var(--alg-edge-shallows) center bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .mt-process__eyebrow {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .mt-process__title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-process__subtitle { color: var(--alg-body); }
html body.tpl-nursery_template .mt-process__eyebrow::before { display: none; }
html body.tpl-nursery_template .mt-process--vertical .mt-process__timeline {
    position: relative;
    max-width: 720px;
    margin: 8px 0 0;
    padding-left: 64px;
}
html body.tpl-nursery_template .mt-process--vertical .mt-process__timeline::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 24px;
    background: var(--alg-wave-line-v) center top / 24px 160px repeat-y;
}
html body.tpl-nursery_template .mt-process--vertical .mt-process__step { position: relative; padding-left: 0; }
html body.tpl-nursery_template .mt-process--vertical .mt-process__step:not(:last-child)::before { display: none; }
/* Each step is a sunlit stone on the line (its icon kept, small). */
html body.tpl-nursery_template .mt-process--vertical .mt-process__icon {
    position: absolute;
    left: -64px;
    top: 0;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--alg-sun);
    color: var(--alg-on-sun);
    font-size: 0.95rem;
    box-shadow: 0 0 0 6px var(--alg-shallows);
}
html body.tpl-nursery_template .mt-process--vertical .mt-process__number {
    font-family: var(--alg-serif);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--alg-brook);
    background: none;
    border: 0;
}
html body.tpl-nursery_template .mt-process--vertical .mt-process__step-title {
    font-family: var(--alg-sans);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-process--vertical .mt-process__step-desc { color: var(--alg-body); }

/* ============================================================
   §8  VISIT CTA — `banner`: a sunlit band with a wave edge and ripples
============================================================ */
html body.tpl-nursery_template .pf-cta {
    --pf-ink:    var(--alg-deep);
    --pf-yellow: var(--alg-sun);
    position: relative;
    margin-top: 0;   /* the wave edge overlaps the section above — no cream gap */
    background: var(--alg-sun);
    color: var(--alg-on-sun);
    clip-path: none;
    overflow: visible;
}
html body.tpl-nursery_template .pf-cta::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -47px;
    height: 48px;
    background: var(--alg-edge-sun) center bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .pf-cta__media {
    clip-path: none;
    border-radius: var(--alg-pebble-1);
    overflow: hidden;
}
html body.tpl-nursery_template .pf-cta__eyebrow { color: var(--alg-on-sun); font-family: var(--alg-sans); font-weight: 800; }
html body.tpl-nursery_template .pf-cta__eyebrow::before { background: var(--alg-on-sun); }
html body.tpl-nursery_template .pf-cta__icon { background: var(--alg-lily); color: var(--alg-brook); clip-path: none; border-radius: 50%; }
html body.tpl-nursery_template .pf-cta__title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-on-sun);
}
html body.tpl-nursery_template .pf-cta__subtitle,
html body.tpl-nursery_template .pf-cta__note { color: var(--alg-on-sun); }
/* Ripples around the visit button. */
html body.tpl-nursery_template .pf-cta__btn--primary {
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.35), 0 0 0 22px rgba(255, 255, 255, 0.18);
}
html body.tpl-nursery_template .pf-cta__btn--primary:hover,
html body.tpl-nursery_template .pf-cta__btn--primary:focus-visible {
    box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.45), 0 0 0 26px rgba(255, 255, 255, 0.22);
}
html body.tpl-nursery_template .pf-cta__btn--secondary {
    border: 2px solid var(--alg-on-sun);
    background: transparent;
    color: var(--alg-on-sun);
}
html body.tpl-nursery_template .pf-cta__btn--secondary:hover,
html body.tpl-nursery_template .pf-cta__btn--secondary:focus-visible {
    background: var(--alg-on-sun);
    color: var(--alg-on-sun-inverse);
}
html body.tpl-nursery_template .pf-cta__actions { gap: 44px; margin-top: 36px; }
html body.tpl-nursery_template .pf-cta--no-image .pf-cta__container::after { display: none; }

/* ============================================================
   §9  FOOTER — Deep, with the brook ending in a pool
============================================================ */
html body.tpl-nursery_template .mt-site-footer {
    --pf-ink:    var(--alg-deep);
    --pf-yellow: var(--alg-sun);
    position: relative;
    margin-top: 0;   /* the wave edge overlaps the section above — no cream gap */
    border-top: 0;
    background: var(--alg-deep);
    overflow: visible;
}
html body.tpl-nursery_template .mt-site-footer::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -47px;
    height: 48px;
    background: var(--alg-edge-deep) center bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .mt-site-footer::after {
    content: "";
    position: absolute;
    top: -32px;   /* sits on the wave edge, clear of the footer columns and the section above */
    right: max(24px, calc((100vw - 1320px) / 2 + 160px));
    width: 220px;
    height: 88px;
    background: var(--alg-pool) center / contain no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .mt-site-footer__inner { position: relative; overflow: hidden; }
html body.tpl-nursery_template .mt-site-footer__name {
    font-family: var(--alg-serif);
    font-weight: 600;
    color: var(--alg-lily);
    text-transform: none;
}
html body.tpl-nursery_template .mt-site-footer__heading {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-sun);
}
html body.tpl-nursery_template .mt-site-footer__heading::before { display: none; }
html body.tpl-nursery_template .mt-site-footer__line a:hover,
html body.tpl-nursery_template .mt-site-footer__links a:hover { color: var(--alg-sun); }
html body.tpl-nursery_template .mt-site-footer__line i {
    border-radius: 50%;
    clip-path: none;
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-site-footer__whatsapp,
html body.tpl-nursery_template .mt-site-footer__social a { border-radius: 999px; clip-path: none; }
html body.tpl-nursery_template .mt-site-footer__map { border-radius: 24px; clip-path: none; overflow: hidden; }
html body.tpl-nursery_template .mt-site-footer__wordmark {
    font-family: var(--alg-serif);
    font-style: italic;
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.03em;
    -webkit-text-stroke: 1.5px rgba(var(--alg-sun-rgb), 0.22);
}
/* Phones (audit 2026-10-18): the inherited rule keeps the wordmark on one line
   "wider than the screen on purpose" — written for a short upper-case name. The
   site name in the Brook's italic serif ran past the screen and was cut
   mid-word at 320–575px. It now wraps onto balanced lines instead (any name length). */
@media (max-width: 575px) {
    html body.tpl-nursery_template .mt-site-footer__wordmark {
        white-space: normal;
        text-wrap: balance;
        line-height: 0.98;
    }
}
@media (max-width: 767px) {
    html body.tpl-nursery_template .mt-site-footer::after { top: -46px; right: 12px; width: 150px; height: 60px; }
}

/* ============================================================
   §10  SHARED — other modules on the Brook palette, motion
============================================================ */
html body.tpl-nursery_template .mt-testimonials,
html body.tpl-nursery_template .mt-gallery,
html body.tpl-nursery_template .mt-why { background: var(--alg-lily); }
html body.tpl-nursery_template .mt-testimonials h2,
html body.tpl-nursery_template .mt-gallery h2,
html body.tpl-nursery_template .mt-why h2,
html body.tpl-nursery_template .faq-accordion h2 {
    font-family: var(--alg-serif);
    font-weight: 600;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-gallery img { border-radius: 26px; }

@media (prefers-reduced-motion: reduce) {
    html body.tpl-nursery_template .mt-programs__item,
    html body.tpl-nursery_template .pf-hero__btn,
    html body.tpl-nursery_template .pf-cta__btn { transition: none; }
    html body.tpl-nursery_template .mt-programs:not(.mt-programs--list):not(.mt-programs--spotlight) .mt-programs__item:hover { transform: none; }
}

/* ============================================================
   §11  OTHER LAYOUTS IN USE (visual lock, 2026-10-17)
   The full-bleed Hero, Feature Alternating rows, Why Choose Us,
   Testimonials, Gallery and FAQ — the same Brook language over their
   unchanged markup. The Hero overlay strength stays the admin's
   overlay_opacity setting (not overridden here).
============================================================ */

/* Full-bleed / editorial Hero (web/templates/…/hero.php, universal layouts) */
html body.tpl-nursery_template .mt-hero__title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.02;
}
html body.tpl-nursery_template .mt-hero__micro {
    display: inline-flex;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(var(--alg-lily-rgb), 0.16);
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.14em;
}
html body.tpl-nursery_template .mt-hero__micro::before { display: none; }
html body.tpl-nursery_template .mt-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}
html body.tpl-nursery_template .mt-hero__btn--primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .mt-hero__btn--primary:hover,
html body.tpl-nursery_template .mt-hero__btn--primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.16);
}
html body.tpl-nursery_template .mt-hero__btn--secondary {
    border: 2px solid rgba(var(--alg-lily-rgb), 0.85);
    background: transparent;
    color: #FFFFFF;
}
html body.tpl-nursery_template .mt-hero__btn--secondary:hover,
html body.tpl-nursery_template .mt-hero__btn--secondary:focus-visible {
    background: var(--alg-lily);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-hero__proof-item {
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-weight: 700;
}

/* Feature Alternating rows: rounded cards, pebble-cornered photographs */
html body.tpl-nursery_template .feature-alternating-section { background: var(--alg-lily); }
html body.tpl-nursery_template .feature-alternating-section .fea-eyebrow {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .feature-alternating-section .fea-eyebrow::before { display: none; }
html body.tpl-nursery_template .feature-alternating-section .fea-heading,
html body.tpl-nursery_template .feature-alternating-section .fea-title {
    font-family: var(--alg-serif);
    font-weight: 600;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .feature-alternating-section .fea-row {
    border: 0;
    border-radius: 32px;
    background: #FFFFFF;
    box-shadow: 0 1px 0 rgba(var(--alg-deep-rgb), 0.06);
}
html body.tpl-nursery_template .feature-alternating-section .fea-visual-frame,
html body.tpl-nursery_template .feature-alternating-section:not(.fea-layout--panels) .fea-visual-frame {
    border-radius: 24px 120px 24px 24px;
    overflow: hidden;
    clip-path: none;
    background: var(--alg-shallows);
}
html body.tpl-nursery_template .feature-alternating-section .fea-row:nth-child(even) .fea-visual-frame { border-radius: 120px 24px 24px 24px; }
html body.tpl-nursery_template .feature-alternating-section .fea-visual-placeholder,
html body.tpl-nursery_template .feature-alternating-section .fea-visual-iconcard { background: var(--alg-shallows); }
html body.tpl-nursery_template .feature-alternating-section .fea-text::before {
    font-family: var(--alg-serif);
    font-weight: 600;
    color: var(--alg-brook);
    border-bottom: 0;
    background: var(--alg-swash) left bottom / 44px 8px no-repeat;
}
html body.tpl-nursery_template .feature-alternating-section .fea-points li {
    border: 0;
    border-radius: 999px;
    background: var(--alg-shallows);
    color: var(--alg-deep);
}

/* Why Choose Us: soft rounded cards, no side rails, sunlit icon discs */
html body.tpl-nursery_template .mt-wcu__eyebrow,
html body.tpl-nursery_template .mt-testimonials__eyebrow,
html body.tpl-nursery_template .mt-gallery__eyebrow {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .mt-wcu__title,
html body.tpl-nursery_template .mt-testimonials__heading,
html body.tpl-nursery_template .mt-gallery__heading {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-wcu__card,
html body.tpl-nursery_template .mt-wcu--checklist .mt-wcu__card {
    border: 0;
    border-radius: 28px;
    background: #FFFFFF;
    box-shadow: none;
}
html body.tpl-nursery_template .mt-wcu__card:first-child { background: var(--alg-shallows); }
html body.tpl-nursery_template .mt-wcu__icon {
    border-radius: 50%;
    background: var(--alg-sun);
    color: var(--alg-on-sun);
}
html body.tpl-nursery_template .mt-wcu__card-title { font-family: var(--alg-sans); font-weight: 800; color: var(--alg-deep); }

/* Testimonials: rounded cards, sunlit stars */
html body.tpl-nursery_template .mt-testimonials__card {
    border: 0;
    border-radius: 28px;
    background: #FFFFFF;
    box-shadow: none;
}
html body.tpl-nursery_template .mt-testimonials__stars { color: var(--alg-sun-ink); }   /* dark sun: 3.1:1 on white, decorative */
html body.tpl-nursery_template .mt-testimonials__text { font-family: var(--alg-serif); font-size: 1.12rem; line-height: 1.55; color: var(--alg-deep); }
html body.tpl-nursery_template .mt-testimonials__avatar { background: var(--alg-shallows); color: var(--alg-brook); }

/* FAQ: Brook question rows */
html body.tpl-nursery_template .faq-accordion-section { background: var(--alg-lily); }
html body.tpl-nursery_template .faq-heading { font-family: var(--alg-serif); font-weight: 600; color: var(--alg-deep); }
html body.tpl-nursery_template .faq-eyebrow { background: var(--alg-shallows); color: var(--alg-deep); }
html body.tpl-nursery_template .faq-item { border-radius: 20px; border-color: var(--alg-line); }
html body.tpl-nursery_template .faq-chevron { background: var(--alg-shallows); color: var(--alg-brook); }

/* Footer map: no inherited yellow border */
html body.tpl-nursery_template .mt-site-footer__map { border: 0; }

/* Inherited label markers (dashes / squares) and the full-bleed Hero's top
   accent line do not belong to the Brook language. */
html body.tpl-nursery_template .mt-wcu__eyebrow::before,
html body.tpl-nursery_template .mt-wcu__eyebrow::after,
html body.tpl-nursery_template .mt-testimonials__eyebrow::before,
html body.tpl-nursery_template .mt-testimonials__eyebrow::after,
html body.tpl-nursery_template .mt-gallery__eyebrow::before,
html body.tpl-nursery_template .mt-gallery__eyebrow::after,
html body.tpl-nursery_template .pf-cta__eyebrow::before { display: none; }
html body.tpl-nursery_template .mt-hero:not(.pf-hero)::before { display: none; }

/* Phones / tablets: the CTA photograph (shown above the copy) starts below
   the wave edge instead of rising into the section above. */
@media (max-width: 991px) {
    html body.tpl-nursery_template .pf-cta.pf-cta--has-image { padding-top: 40px; }
    html body.tpl-nursery_template .pf-cta--has-image .pf-cta__media { border-radius: var(--alg-pebble-2); }
}
html body.tpl-nursery_template .mt-hero__proof-item::before { background: var(--alg-sun); color: var(--alg-sun); }
html body.tpl-nursery_template .mt-hero__proof-item i { color: var(--alg-sun); }

/* ============================================================
   §12  INNER PAGES + FORMS (template design lock, 2026-10-17)
   The universal Hero (slider / content hero, inner pages), Page Intro,
   Content Block, Contact Section and the Form Engine — Brook language
   over their unchanged markup. Inherited industrial devices removed:
   drawing grid, corner brackets, dotted rule, steel rule + accent rail.
============================================================ */
:root {
    --alg-edge-lily: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 240 4, 520 46, 760 24 S 1220 6, 1440 26 L 1440 48 L 0 48 Z' fill='%23FBF6EC'/%3E%3C/svg%3E");
    --alg-edge-shallows-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 300 46, 600 4, 900 24 S 1300 40, 1440 18 L 1440 48 L 0 48 Z' fill='%23D9F0EE'/%3E%3C/svg%3E");
}

/* —— Universal Hero (.hero-industrial): homepage slider + inner-page heroes —— */
html body.tpl-nursery_template .hero-industrial .hero-micro {
    display: inline-flex;
    align-items: center;
    padding: 7px 15px;
    border-radius: 999px;
    background: rgba(var(--alg-lily-rgb), 0.16);
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #FFFFFF;
}
html body.tpl-nursery_template .hero-industrial .hero-micro::before,
html body.tpl-nursery_template .hero-industrial .hero-micro::after { display: none; }
html body.tpl-nursery_template .hero-industrial .hero-title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.04;
    text-transform: none;
}
html body.tpl-nursery_template .hero-industrial .hero-subtitle,
html body.tpl-nursery_template .hero-industrial .hero-description { font-family: var(--alg-sans); }
html body.tpl-nursery_template .hero-industrial .mt-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 28px;
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 1.02rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-primary:hover,
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.16);
}
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-secondary {
    border: 2px solid rgba(var(--alg-lily-rgb), 0.85);
    background: transparent;
    color: #FFFFFF;
}
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-secondary:hover,
html body.tpl-nursery_template .hero-industrial .mt-hero-btn-secondary:focus-visible {
    background: var(--alg-lily);
    border-color: var(--alg-lily);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-industrial .hero-proof span {
    border-radius: 999px;
    clip-path: none;
    border-color: rgba(var(--alg-lily-rgb), 0.35);
    background: rgba(var(--alg-lily-rgb), 0.10);
    font-family: var(--alg-sans);
    font-weight: 700;
    letter-spacing: 0.06em;
}
html body.tpl-nursery_template .hero-industrial .hero-proof span::before { background: var(--alg-sun); border-radius: 50%; }
html body.tpl-nursery_template .hero-industrial .hero-nav-dot.is-active { background: var(--alg-sun); }
html body.tpl-nursery_template .hero-industrial .hero-nav-arrow { border-radius: 50%; }
html body.tpl-nursery_template .hero-industrial .header-divider { display: none; }

/* —— Page Intro: Deep when it opens the page, Shallows under a Hero —— */
html body.tpl-nursery_template .page-intro-section {
    overflow: visible;
    background: var(--alg-deep);
    color: var(--alg-lily);
    padding-bottom: calc(var(--pi-pad, 72px) + 40px);
}
html body.tpl-nursery_template .page-intro-section::before { display: none; }
html body.tpl-nursery_template .page-intro-section > .container::before,
html body.tpl-nursery_template .page-intro-section > .container::after,
html body.tpl-nursery_template .page-intro-section .pgi-eyebrow::before,
html body.tpl-nursery_template .page-intro-section .pgi-eyebrow::after,
html body.tpl-nursery_template .page-intro-section .pgi-inner > * + .pgi-lead::before { display: none; }
/* A cream wave closes the band into the page below. */
html body.tpl-nursery_template .page-intro-section::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 48px;
    background: var(--alg-edge-lily) center bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .page-intro-section .pgi-eyebrow {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-sun);
}
html body.tpl-nursery_template .page-intro-section .pgi-title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-lily);
}
html body.tpl-nursery_template .page-intro-section .pgi-subtitle { color: rgba(var(--alg-lily-rgb), 0.9); }
html body.tpl-nursery_template .page-intro-section .pgi-lead { color: rgba(var(--alg-lily-rgb), 0.82); }
/* Under a Hero: a calm Shallows band with a wave rising onto the Hero. */
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section {
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section::before,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section::before {
    content: "";
    display: block;
    position: absolute;
    inset: auto 0 auto 0;
    top: -47px;
    width: auto;
    height: 48px;
    background: var(--alg-edge-shallows-up) center bottom / 100% 100% no-repeat;
    -webkit-mask-image: none;
            mask-image: none;
    pointer-events: none;
}
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section .pgi-eyebrow,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section .pgi-eyebrow { color: var(--alg-brook); }
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section .pgi-title,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section .pgi-title,
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section .pgi-subtitle,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section .pgi-subtitle { color: var(--alg-deep); }
html body.tpl-nursery_template .hero-industrial ~ .page-intro-section .pgi-lead,
html body.tpl-nursery_template .mt-hero ~ .page-intro-section .pgi-lead { color: var(--alg-body); }

/* —— Content Block: serif heading, rounded photo with one big curve —— */
html body.tpl-nursery_template .cb-eyebrow {
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .cb-eyebrow::before,
html body.tpl-nursery_template .cb-eyebrow::after { display: none; }
html body.tpl-nursery_template .cb-title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .cb-text { color: var(--alg-body); }
html body.tpl-nursery_template .cb-media img,
html body.tpl-nursery_template .cb-media video {
    border-radius: 28px 140px 28px 28px;
    clip-path: none;
}
html body.tpl-nursery_template .cb-btn {
    display: inline-flex;
    align-items: center;
    min-height: 52px;
    padding: 0 26px;
    border: 2px solid var(--alg-brook);
    border-radius: 999px;
    background: var(--alg-brook);
    color: var(--alg-on-brook);
    font-family: var(--alg-sans);
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
    clip-path: none;
}
html body.tpl-nursery_template .cb-btn:hover,
html body.tpl-nursery_template .cb-btn:focus-visible { background: var(--alg-brook-deep); border-color: var(--alg-brook-deep); color: var(--alg-on-brook); }

/* —— Contact Section: serif heading; a cream wave rises onto a Hero above —— */
html body.tpl-nursery_template .contact-section { position: relative; background: var(--alg-lily); }
html body.tpl-nursery_template .hero-industrial ~ .contact-section::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -47px;
    height: 48px;
    background: var(--alg-edge-lily) center bottom / 100% 100% no-repeat;
    pointer-events: none;
}
html body.tpl-nursery_template .contact-section__heading {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .contact-section__desc { color: var(--alg-body); }
html body.tpl-nursery_template .contact-section__ico {
    border-radius: 50%;
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .contact-section__map,
html body.tpl-nursery_template .contact-section__map iframe { border: 0; border-radius: 24px; overflow: hidden; }

/* —— Form Engine: rounded card, calm fields, Brook pill buttons —— */
html body.tpl-nursery_template .form-module__inner { border-radius: 28px; clip-path: none; }
html body.tpl-nursery_template .form-module__form,
html body.tpl-nursery_template .contact-section__form { border-radius: 28px; }
html body.tpl-nursery_template .form-module__title,
html body.tpl-nursery_template .form-module__heading {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .form-module__subtitle,
html body.tpl-nursery_template .form-module__section-description { color: var(--alg-body); }
html body.tpl-nursery_template .form-module__heading-divider { background: var(--alg-sun); border-radius: 999px; }
html body.tpl-nursery_template .form-module__section-title { font-family: var(--alg-serif); font-weight: 600; color: var(--alg-deep); }
html body.tpl-nursery_template .form-module__label,
html body.tpl-nursery_template .form-module__group-label {
    font-family: var(--alg-sans);
    font-weight: 700;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .form-module__req { color: #B3261E; }
html body.tpl-nursery_template .form-module__input,
html body.tpl-nursery_template .form-module__textarea,
html body.tpl-nursery_template .form-module__select {
    min-height: 52px;
    border: 1.5px solid var(--alg-line-input);
    border-radius: 14px;
    background-color: #FFFFFF;
    font-family: var(--alg-sans);
    font-size: 1rem;
    color: var(--alg-deep);
    box-shadow: none;
}
html body.tpl-nursery_template .form-module__textarea { min-height: 140px; }
html body.tpl-nursery_template .form-module__input::placeholder,
html body.tpl-nursery_template .form-module__textarea::placeholder { color: var(--alg-placeholder); }
html body.tpl-nursery_template .form-module__input:focus,
html body.tpl-nursery_template .form-module__textarea:focus,
html body.tpl-nursery_template .form-module__select:focus {
    border-color: var(--alg-brook);
    box-shadow: 0 0 0 4px rgba(var(--alg-brook-rgb), 0.16);
    outline: none;
}
html body.tpl-nursery_template .form-module__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border-radius: 999px;
    clip-path: none;
    font-family: var(--alg-sans);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}
html body.tpl-nursery_template .form-module__btn--primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .form-module__btn--primary:hover,
html body.tpl-nursery_template .form-module__btn--primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 6px rgba(var(--alg-brook-rgb), 0.16);
}
html body.tpl-nursery_template .form-module__btn--secondary {
    border: 2px solid var(--alg-brook);
    background: transparent;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .form-module__btn--secondary:hover,
html body.tpl-nursery_template .form-module__btn--secondary:focus-visible { background: var(--alg-shallows); color: var(--alg-deep); }
html body.tpl-nursery_template .form-module__btn--reset {
    min-height: 44px;
    border-color: transparent;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
}
html body.tpl-nursery_template .form-module__progress-fill { background: var(--alg-brook); }
html body.tpl-nursery_template .form-module__flash { border-radius: 16px; }
@media (max-width: 575px) {
    html body.tpl-nursery_template .form-module__controls { flex-direction: column; align-items: stretch; }
    html body.tpl-nursery_template .form-module__controls .form-module__btn { width: 100%; }
}

/* —— Footer map: the inherited yellow edge plate and cut corner removed —— */
html body.tpl-nursery_template .mt-site-footer__map {
    padding: 0;
    background: transparent;
    clip-path: none;
    border-radius: 24px;
    overflow: hidden;
}

/* Form rhythm: room between fields; the subtitle stays body text. */
html body.tpl-nursery_template .form-module__field { margin-bottom: 18px; }
html body.tpl-nursery_template .form-module__label { margin-bottom: 8px; }
html body.tpl-nursery_template .form-module__heading .form-module__subtitle {
    font-family: var(--alg-sans);
    font-weight: 400;
    letter-spacing: 0;
}

/* Phones: a 20px side gutter for every template container (the inherited
   12px let text run close to the screen edge). */
@media (max-width: 575px) {
    html body.tpl-nursery_template .container { padding-left: 20px; padding-right: 20px; }
}

/* ============================================================
   §13  GALLERY — three layouts (partials/gallery.php, 2026-10-17)
   wall      Photo Wall: justified rows, each photo keeps its shape
   grid      Editorial Grid: even tiles; columns + image shape settings
   signature Signature Showcase: a large lead image + supporting images
   Gallery settings arrive as classes: --cols-*, --gap-*, --aspect-*, --n-*.
============================================================ */
html body.tpl-nursery_template .mt-gallery {
    --gl-gap: 16px;
    --gl-row: 230px;
    --gl-ar: 4 / 3;
    --gl-ar-sig: 1 / 1;
    background: var(--alg-lily);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--gap-compact { --gl-gap: 8px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--gap-airy    { --gl-gap: 28px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--aspect-square    { --gl-ar: 1 / 1;  --gl-ar-sig: 1 / 1; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--aspect-landscape { --gl-ar: 4 / 3;  --gl-ar-sig: 4 / 3; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--aspect-portrait  { --gl-ar: 3 / 4;  --gl-ar-sig: 3 / 4; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--aspect-wide      { --gl-ar: 16 / 9; --gl-ar-sig: 16 / 9; }

/* Tiles: no inherited dark plate, steel border or index chip. */
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
    border: 0;
    border-radius: 22px;
    clip-path: none;   /* the inherited cut corner */
    outline: 0;
    background: var(--alg-shallows);
    background-image: none;
    overflow: hidden;
    color: #FFFFFF;
    grid-column: auto;
    grid-row: auto;
}
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item::before { display: none; }
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item[data-fit="contain"] { background: var(--alg-lily-deep); }
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item[data-fit="contain"] img { object-fit: contain; }
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item:hover img { transform: scale(1.03); }
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item:focus-visible { outline: 3px solid var(--alg-brook); outline-offset: 3px; }
html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__caption {
    background: linear-gradient(180deg, rgba(var(--alg-deep-rgb), 0) 0%, rgba(var(--alg-deep-rgb), 0.78) 100%);
    color: #FFFFFF;
    font-family: var(--alg-sans);
    font-weight: 700;
}

/* —— Photo Wall: justified rows (flex), no forced crop, no gaps —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gl-gap);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__grid::after {
    content: "";
    flex-grow: 999;   /* the last row keeps its natural widths instead of stretching */
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item {
    flex: var(--gl-r, 1.33) 1 calc(var(--gl-r, 1.33) * var(--gl-row));
    height: var(--gl-row);
    aspect-ratio: auto;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-2 { --gl-row: 330px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-3 { --gl-row: 270px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-4 { --gl-row: 200px; }
/* Up to four photos fill their row; a single photo is shown large. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--n-1 .mt-gallery__grid::after,
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--n-2 .mt-gallery__grid::after,
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--n-3 .mt-gallery__grid::after,
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--n-4 .mt-gallery__grid::after { display: none; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--n-1 .mt-gallery__item { height: calc(var(--gl-row) * 1.9); }

/* —— Editorial Grid: even tiles —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gl-gap);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--cols-2 .mt-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--cols-4 .mt-gallery__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--n-1 .mt-gallery__grid { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item {
    display: block;
    aspect-ratio: var(--gl-ar);
    height: auto;
}

/* —— Signature Showcase: 12 tracks; lead 6 x 2 rows, supporting images beside it —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--gl-gap);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item {
    display: block;
    grid-column: span 3;
    aspect-ratio: var(--gl-ar-sig);
    height: auto;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured {
    grid-column: span 6;
    grid-row: span 2;
    aspect-ratio: auto;
    height: 100%;
    min-height: 100%;
    border-radius: 28px 140px 28px 28px;
}
/* Rows below the lead block follow the Columns setting. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--cols-2 .mt-gallery__item--more { grid-column: span 6; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--cols-3 .mt-gallery__item--more { grid-column: span 4; }
/* Small collections keep the composition closed (no empty cells). */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-1 .mt-gallery__item--featured { grid-column: span 12; grid-row: span 1; aspect-ratio: 16 / 9; height: auto; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--featured { grid-column: span 8; grid-row: span 1; aspect-ratio: 4 / 3; height: auto; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--support { grid-column: span 4; aspect-ratio: auto; height: 100%; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-3 .mt-gallery__item--support { grid-column: span 6; aspect-ratio: 2 / 1; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-4 .mt-gallery__item--support:nth-child(2) { grid-column: span 6; aspect-ratio: 2 / 1; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-4 .mt-gallery__item--support:nth-child(n+3) { aspect-ratio: 1 / 1; }

/* —— Tablet / phone —— */
@media (max-width: 991px) {
    html body.tpl-nursery_template .mt-gallery { --gl-row: 190px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-2 { --gl-row: 240px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-3,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-4 { --gl-row: 180px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__grid,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--cols-4 .mt-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--more,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--cols-2 .mt-gallery__item--more,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--cols-3 .mt-gallery__item--more,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-3 .mt-gallery__item--support,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-4 .mt-gallery__item--support:nth-child(n+3) {
        grid-column: span 6;
        aspect-ratio: 1 / 1;
    }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--featured,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-4 .mt-gallery__item--support:nth-child(2) {
        grid-column: span 12;
        grid-row: span 1;
        aspect-ratio: 4 / 3;
        height: auto;
        min-height: 0;
    }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--support { grid-column: span 12; aspect-ratio: 4 / 3; height: auto; }
}
@media (max-width: 575px) {
    html body.tpl-nursery_template .mt-gallery { --gl-row: 140px; --gl-gap: 10px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--gap-airy { --gl-gap: 16px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-2 { --gl-row: 190px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-3,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--cols-4 { --gl-row: 130px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--cols-2 .mt-gallery__grid { grid-template-columns: minmax(0, 1fr); }
    html body.tpl-nursery_template .mt-gallery[class] .mt-gallery__item { border-radius: 16px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured { border-radius: 16px 72px 16px 16px; }
}
/* Signature: the lead (and a stretched supporting tile) take their height from
   the grid rows, never from the photo's own size — no gaps beside them. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured img,
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--support img {
    position: absolute;
    inset: 0;
}
@media (max-width: 767px) {
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured img,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--support img { position: static; }
}
/* Editorial Grid with two images: two columns, never an empty third one. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--n-2 .mt-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; }

/* ============================================================
   §14  GALLERY — The Brook design (2026-10-17)
   The Brook language on the three layouts of §13: a serif heading with
   a sunlit swash and the brook line flowing out of it; Photo Wall as soft
   white prints with varied organic corners; Editorial Grid as matted
   frames with captions beneath; Signature Showcase as a pebble lead with
   a sun disc behind it and organic supporting images. "Show more" sits on
   the brook line. Presentation only — markup and data from partials/gallery.php.
============================================================ */
html body.tpl-nursery_template .mt-gallery {
    position: relative;
    padding: clamp(72px, 9vw, 120px) 0;
    overflow: hidden;
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__container { position: relative; }

/* Header: eyebrow pill, serif heading, sunlit swash. */
html body.tpl-nursery_template .mt-gallery .mt-gallery__header {
    position: relative;
    z-index: 2;
    max-width: 640px;
    margin: 0 0 clamp(36px, 4.5vw, 56px);
    padding: 0;
    border: 0;
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__header::after {
    content: "";
    display: block;
    position: static;
    width: 96px;
    height: 10px;
    margin-top: 18px;
    border: 0;
    background: var(--alg-swash) left center / 100% 100% no-repeat;
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--alg-shallows);
    font-family: var(--alg-sans);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__heading {
    margin: 16px 0 0;
    font-family: var(--alg-serif);
    font-size: clamp(2.1rem, 1.2rem + 2.6vw, 3.5rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__heading em,
html body.tpl-nursery_template .mt-gallery .mt-gallery__heading span { font-style: italic; font-weight: 500; color: var(--alg-brook); }
html body.tpl-nursery_template .mt-gallery .mt-gallery__lead {
    max-width: 52ch;
    margin: 14px 0 0;
    font-size: 1.08rem;
    line-height: 1.65;
    color: var(--alg-body);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__grid { position: relative; z-index: 1; }

/* —— Photo Wall: soft white prints, each keeping its photo's shape —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall { --gl-gap: 18px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--gap-compact { --gl-gap: 10px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall.mt-gallery--gap-airy { --gl-gap: 30px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item {
    padding: 7px;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(var(--alg-deep-rgb), 0.08);
    transition: transform 0.35s var(--mt-ease-default), box-shadow 0.35s var(--mt-ease-default);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item img { border-radius: 16px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item:nth-child(5n+2) img { border-radius: 16px 46px 16px 16px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item:nth-child(5n+4) img { border-radius: 46px 16px 16px 16px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item:nth-child(5n) img { border-radius: 16px 16px 46px 16px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(var(--alg-deep-rgb), 0.14);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item:hover img { transform: none; }
/* The lead photograph carries a small sunlit marker. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item--lead::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 16px;
    left: 16px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--alg-sun);
    box-shadow: 0 0 0 5px #FFFFFF;
    pointer-events: none;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__caption { left: 7px; right: 7px; bottom: 7px; border-radius: 0 0 16px 16px; }

/* —— Editorial Grid: matted frames, captions beneath —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid { --gl-gap: 26px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--gap-compact { --gl-gap: 14px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid.mt-gallery--gap-airy { --gl-gap: 40px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item {
    aspect-ratio: auto;
    height: auto;
    padding: 12px;
    border: 1px solid var(--alg-line-soft);
    border-radius: 28px;
    background: #FFFFFF;
    transition: border-color 0.25s var(--mt-ease-default), transform 0.35s var(--mt-ease-default);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item img {
    aspect-ratio: var(--gl-ar);
    height: auto;
    border-radius: 18px;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item:hover { border-color: var(--alg-brook); transform: translateY(-3px); }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item:hover img { transform: none; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__caption {
    position: static;
    display: block;
    padding: 12px 6px 2px;
    background: none;
    opacity: 1;
    transform: none;
    font-family: var(--alg-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__placeholder { aspect-ratio: var(--gl-ar); border-radius: 18px; }

/* —— Signature Showcase: pebble lead, sun disc behind, organic supporting images —— */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature { --gl-gap: 22px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__grid::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -34px;
    left: -34px;
    width: clamp(110px, 16vw, 210px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--alg-sun);
    pointer-events: none;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--featured,
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-1 .mt-gallery__item--featured,
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature.mt-gallery--n-2 .mt-gallery__item--featured {
    border-radius: 36px 200px 36px 36px;   /* one large brook curve */
    box-shadow: 0 24px 54px rgba(var(--alg-deep-rgb), 0.16);
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--support { box-shadow: 0 0 0 8px var(--alg-lily); }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--support:nth-child(2) { border-radius: 24px 72px 24px 24px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--support:nth-child(3) { border-radius: 72px 24px 24px 24px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--support:nth-child(4) { border-radius: 24px 24px 72px 24px; }
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--support:nth-child(5) { border-radius: 24px 24px 24px 72px; }
/* Rows below the lead block: matted, like the Editorial Grid. */
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--more {
    padding: 8px;
    border: 1px solid var(--alg-line-soft);
    border-radius: 24px;
    background: #FFFFFF;
}
html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__item--more img { border-radius: 16px; }

/* —— Show more: on the brook line —— */
html body.tpl-nursery_template .mt-gallery .mt-gallery__more {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: clamp(32px, 4vw, 48px);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__more::before,
html body.tpl-nursery_template .mt-gallery .mt-gallery__more::after {
    content: "";
    flex: 1 1 0;
    height: 24px;
    background: var(--alg-wave-line) left center / 240px 24px repeat-x;
    opacity: 0.7;
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    padding: 0 12px 0 26px;
    border: 2px solid var(--alg-brook);
    border-radius: 999px;
    background: var(--alg-lily);
    color: var(--alg-brook);
    font-family: var(--alg-sans);
    font-size: 1.02rem;
    font-weight: 800;
    cursor: pointer;
    transition: background-color 0.2s var(--mt-ease-default), color 0.2s var(--mt-ease-default), box-shadow 0.35s var(--mt-ease-default);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-count {
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--alg-shallows);
    font-size: 0.84rem;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-icon { margin-right: 6px; }
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn:hover,
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn:focus-visible {
    background: var(--alg-brook);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(var(--alg-brook-rgb), 0.14);
}
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn:hover .mt-gallery__more-count,
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn:focus-visible .mt-gallery__more-count { background: rgba(255, 255, 255, 0.92); color: var(--alg-deep); }
html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn:focus-visible { outline: 3px solid var(--alg-deep); outline-offset: 4px; }

/* Behaviour hooks: the batch beyond the first is hidden only once the script ran. */
html body.tpl-nursery_template .mt-gallery.is-gl-enhanced .mt-gallery__item--later:not(.is-gl-shown) { display: none; }
html body.tpl-nursery_template .mt-gallery:not(.is-gl-enhanced) .mt-gallery__more { display: none; }
html body.tpl-nursery_template .mt-gallery .mt-gallery__item.is-gl-shown { animation: alg-gl-in 0.5s var(--mt-ease-default) both; }
@keyframes alg-gl-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

@media (max-width: 767px) {
    html body.tpl-nursery_template .mt-gallery.mt-gallery--signature .mt-gallery__grid::before { top: -20px; left: -16px; width: 96px; }
    html body.tpl-nursery_template .mt-gallery .mt-gallery__more::before,
    html body.tpl-nursery_template .mt-gallery .mt-gallery__more::after { display: none; }
    html body.tpl-nursery_template .mt-gallery .mt-gallery__more { justify-content: center; }
}
@media (max-width: 575px) {
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item { padding: 5px; border-radius: 16px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item img { border-radius: 12px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item { padding: 8px; border-radius: 20px; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item img { border-radius: 14px; }
    html body.tpl-nursery_template .mt-gallery .mt-gallery__more-btn { width: 100%; justify-content: center; padding: 0 16px; }
}
@media (prefers-reduced-motion: reduce) {
    html body.tpl-nursery_template .mt-gallery .mt-gallery__item.is-gl-shown { animation: none; }
    html body.tpl-nursery_template .mt-gallery.mt-gallery--wall .mt-gallery__item,
    html body.tpl-nursery_template .mt-gallery.mt-gallery--grid .mt-gallery__item { transition: none; }
}

/* ============================================================
   §15  HERO WITHOUT MEDIA — "Brook sunrise" default (2026-10-17)
   A full-bleed Hero (universal .hero-industrial — inner pages, sliders,
   content heroes — and this template's own .mt-hero--media) that has NO
   background image, slideshow or video used to fall back to a near-black
   plate under the dark readability gradient. It now gets a designed
   default: ivory ground, a sun rising off the top right, a soft-aqua pebble,
   the brook line, Deep serif text and Brook buttons.
   Triggered ONLY when no slide carries media:
     universal  no .hero-slide__bg with a url(…) and no <video>
     template   the section's own style carries no url(…)
   Any configured image / slideshow / video keeps the existing treatment.
============================================================ */
:root {
    --alg-hero-empty-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath d='M-20 170 C 220 120, 420 210, 700 160 S 1180 90, 1460 140' fill='none' stroke='%230B7285' stroke-width='3' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M-20 196 C 260 156, 500 226, 760 190 S 1220 132, 1460 170' fill='none' stroke='%230B7285' stroke-opacity='0.28' stroke-width='2' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)),
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: clamp(460px, 66vh, 680px);
    background-color: var(--alg-lily);
    background-image: var(--alg-hero-empty-line);
    background-repeat: no-repeat;
    background-position: center bottom 34px;
    background-size: 100% 200px;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-industrial.hero--purpose-internal:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)),
html body.tpl-nursery_template .mt-hero.mt-hero--media.mt-hero--purpose-internal:not([style*="url("]) {
    min-height: clamp(340px, 46vh, 500px);
}
/* The sun, rising off the top right. */
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video))::after,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("])::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    inset: auto;
    top: -14%;
    right: -5%;
    width: clamp(200px, 26vw, 400px);
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--alg-sun);
    opacity: 1;
    pointer-events: none;
}
/* A soft-aqua pebble at the lower left (replaces the dark readability gradient). */
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video))::before,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("])::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    inset: auto;
    left: -7%;
    bottom: -26%;
    width: clamp(240px, 28vw, 440px);
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: var(--alg-pebble-1);
    background: var(--alg-shallows);
    opacity: 1;
    pointer-events: none;
}
/* No dark plate on the empty slide / overlay layers. */
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-slide__bg {
    background: transparent;
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-overlay,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__overlay {
    position: relative;
    z-index: 2;
    background: transparent;
    background-image: none;
}
/* Text: Deep on the ivory ground (the container keeps its alignment classes). */
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-overlay .container,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__container { color: var(--alg-deep) !important; }
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-micro,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__micro {
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-title,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__title {
    color: var(--alg-deep);
    text-shadow: none;
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-title span,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__title span { color: var(--alg-brook); }
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-subtitle,
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-description,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__subtitle,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__description {
    color: var(--alg-body);
    text-shadow: none;
    opacity: 1;
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-proof span,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__proof-item {
    border-color: rgba(var(--alg-deep-rgb), 0.18);
    background: rgba(255, 255, 255, 0.7);
    color: var(--alg-deep);
}
/* Secondary button: Brook outline instead of the white outline made for photographs. */
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .mt-hero-btn-secondary,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__btn--secondary {
    border-color: var(--alg-brook);
    background: transparent;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .mt-hero-btn-secondary:hover,
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .mt-hero-btn-secondary:focus-visible,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__btn--secondary:hover,
html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__btn--secondary:focus-visible {
    background: var(--alg-shallows);
    border-color: var(--alg-brook);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-nav-dot { background: rgba(var(--alg-deep-rgb), 0.25); }
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-nav-dot.is-active { background: var(--alg-brook); }
html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-nav-arrow { background: #FFFFFF; color: var(--alg-deep); border-color: rgba(var(--alg-deep-rgb), 0.18); }

/* Split layout without a photograph (this template's _hero_bright.php): the
   empty pebble frame gets soft ripples instead of a blank fill. */
html body.tpl-nursery_template .pf-hero__media-el--empty {
    background:
        radial-gradient(circle at 46% 56%,
            transparent 0 54px,
            rgba(var(--alg-brook-rgb), 0.20) 55px 57px,
            transparent 58px 96px,
            rgba(var(--alg-brook-rgb), 0.13) 97px 99px,
            transparent 100px 142px,
            rgba(var(--alg-brook-rgb), 0.08) 143px 145px,
            transparent 146px),
        var(--alg-shallows);
}

@media (max-width: 767px) {
    html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)),
    html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) {
        min-height: 0;
        background-position: center bottom 16px;
        background-size: 180% 120px;
    }
    /* A slider stacks its slides absolutely: it keeps a height of its own. */
    html body.tpl-nursery_template .hero-industrial.hero-slider:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) { min-height: 520px; }
    html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video)) .hero-overlay,
    html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("]) .mt-hero__overlay {
        padding-top: 64px;
        padding-bottom: 120px;
    }
    html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video))::after,
    html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("])::after {
        top: -60px;
        right: -50px;
        width: 150px;
    }
    html body.tpl-nursery_template .hero-industrial:not(:has(.hero-slide__bg[style*="url("])):not(:has(video))::before,
    html body.tpl-nursery_template .mt-hero.mt-hero--media:not([style*="url("])::before {
        left: -90px;
        bottom: -110px;
        width: 240px;
    }
}

/* Restores the shared internal-hero contract (hero-css-v2.css: on an internal
   page header the description, chips and secondary button are display-only
   content, not shown). §12's pill rule had made the secondary button visible. */
html body.tpl-nursery_template .hero-industrial.hero--purpose-internal .mt-hero-btn-secondary { display: none; }
/* The industrial grey rule printed after the universal Hero is not part of the Brook design. */
html body.tpl-nursery_template .hero-industrial + .header-divider { display: none; }
/* Phones: the slider arrows sit beside the dots at the bottom, never over the buttons. */
@media (max-width: 767px) {
    html body.tpl-nursery_template .hero-industrial.hero-slider .hero-nav-arrow {
        top: auto;
        bottom: 10px;
        transform: none;
        width: 44px;
        height: 44px;
    }
}

/* ============================================================
   §16  HERO WITH A PHOTOGRAPH / VIDEO — one composition per layout
        (2026-10-17; corrected 2026-10-18)
   Each hero_layout keeps its own composition (Hero contract: full_bleed |
   split_media | editorial):
     split_media  the Brook pebble — ivory ground, copy on the left, the
                  photograph / video in a large pebble running off the page
                  edge, the sun behind it; on phones the photograph first,
                  wave-cropped. Template: §3 (_hero_bright.php). Shared
                  renderer (.hero-lyt-split): part C below.
     full_bleed   the photograph / video / slideshow COVERS the Hero; the
                  copy sits over it under the admin's overlay_opacity wash
                  (§11 / §12 type and buttons); a sunlit brook line flows
                  across the bottom of the picture. Part D below.
     editorial    §17.
   Correction 2026-10-18: this section first gave full_bleed the pebble
   composition too, so Full Background and Split Media looked the same.
   Those rules (parts A and B) are removed; a full-bleed Hero is a
   background composition again. Without media, §15 applies instead.
============================================================ */

/* —— C. Universal split Hero (.hero-lyt-split) —— */
html body.tpl-nursery_template .hero-lyt-split {
    isolation: isolate;
    background: var(--alg-lily);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-lyt-split::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 1%;
    left: calc(50% - 24px);
    width: clamp(160px, 17vw, 260px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: var(--alg-sun);
    pointer-events: none;
}
html body.tpl-nursery_template .hero-lyt-split .hero-slide { min-height: clamp(520px, 74vh, 720px); }
html body.tpl-nursery_template .hero-lyt-split.hero--purpose-internal .hero-slide { min-height: clamp(400px, 52vh, 540px); }
html body.tpl-nursery_template .hero-lyt-split__text { z-index: 2; background: transparent; }
/* In flow (the shared rule makes it absolute), so the text column keeps its height when stacked on phones. */
html body.tpl-nursery_template .hero-lyt-split__overlay { position: relative; inset: auto; width: 100%; background: none; }
html body.tpl-nursery_template .hero-lyt-split__text .container {
    max-width: 620px;
    margin-left: auto;
    margin-right: 0;
    padding: 56px 48px 72px 24px;
    color: var(--alg-deep) !important;
}
html body.tpl-nursery_template .hero-lyt-split--media-start .hero-lyt-split__text .container { margin-left: 0; margin-right: auto; padding: 56px 24px 72px 48px; }
html body.tpl-nursery_template .hero-lyt-split__media { z-index: 1; background: transparent; overflow: visible; }
/* Explicit size: an <img> / <video> does not stretch between its insets. */
html body.tpl-nursery_template .hero-lyt-split__media-el {
    inset: auto;
    top: 6%;
    left: 0;
    width: calc(100% + 4vw);
    height: 88%;
    border-radius: var(--alg-pebble-1);
    background: var(--alg-shallows);
}
html body.tpl-nursery_template .hero-lyt-split--media-start .hero-lyt-split__media-el { left: auto; right: 0; }
html body.tpl-nursery_template .hero-lyt-split--media-start::before { left: auto; right: calc(50% - 24px); }
html body.tpl-nursery_template .hero-lyt-split__media-el--placeholder { background: var(--alg-shallows); }
html body.tpl-nursery_template .hero-lyt-split .hero-micro {
    display: inline-flex;
    align-items: center;
    padding: 7px 15px;
    border: 0;
    border-radius: 999px;
    font-family: var(--alg-sans);
    font-weight: 800;
    letter-spacing: 0.14em;
}
html body.tpl-nursery_template .hero-lyt-split .hero-micro::before,
html body.tpl-nursery_template .hero-lyt-split .hero-micro::after { display: none; }
html body.tpl-nursery_template .hero-lyt-split .hero-title {
    font-family: var(--alg-serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.04;
    text-transform: none;
}
html body.tpl-nursery_template .hero-lyt-split .hero-subtitle,
html body.tpl-nursery_template .hero-lyt-split .hero-description { font-family: var(--alg-sans); }
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    padding: 0 28px;
    border-radius: 999px;
    font-family: var(--alg-sans);
    font-size: 1.02rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: none;
}
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
}
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-primary:hover,
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(var(--alg-brook-rgb), 0.14);
}
html body.tpl-nursery_template .hero-lyt-split.hero--purpose-internal .mt-hero-btn-secondary { display: none; }

/* —— Universal split: copy on ivory —— */
html body.tpl-nursery_template .hero-lyt-split .hero-micro {
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .hero-lyt-split .hero-title {
    color: var(--alg-deep);
    text-shadow: none;
}
html body.tpl-nursery_template .hero-lyt-split .hero-title span { color: var(--alg-brook); }
html body.tpl-nursery_template .hero-lyt-split .hero-subtitle {
    color: var(--alg-deep);
    font-weight: 600;
    text-shadow: none;
    opacity: 1;
}
html body.tpl-nursery_template .hero-lyt-split .hero-description {
    color: var(--alg-body);
    text-shadow: none;
    opacity: 1;
}
html body.tpl-nursery_template .hero-lyt-split .hero-proof span {
    border: 1px solid rgba(var(--alg-deep-rgb), 0.16);
    background: #FFFFFF;
    color: var(--alg-deep);
    backdrop-filter: none;
}
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-secondary {
    border: 2px solid var(--alg-brook);
    background: transparent;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-secondary:hover,
html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn-secondary:focus-visible {
    border-color: var(--alg-brook);
    background: var(--alg-shallows);
    color: var(--alg-deep);
}

html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn:focus-visible {
    outline: 3px solid var(--alg-deep);
    outline-offset: 4px;
}
/* Slider controls on ivory. */
html body.tpl-nursery_template .hero-lyt-split .hero-nav-dot { background: rgba(var(--alg-deep-rgb), 0.25); }
html body.tpl-nursery_template .hero-lyt-split .hero-nav-dot.is-active { background: var(--alg-brook); }
html body.tpl-nursery_template .hero-lyt-split .hero-nav-arrow { border-radius: 50%; background: #FFFFFF; color: var(--alg-deep); border-color: rgba(var(--alg-deep-rgb), 0.18); }
html body.tpl-nursery_template .hero-lyt-split + .header-divider { display: none; }

/* —— Phones and tablets: the photograph first, wave-cropped; the sun on its edge —— */
@media (max-width: 991px) {
    /* A slider: the slides share one grid cell instead of stacking absolutely,
       so the section is as tall as its tallest slide; the cross-fade is unchanged. */
    html body.tpl-nursery_template .hero-lyt-split.hero-slider {
        display: grid;
        min-height: 0;
    }
    html body.tpl-nursery_template .hero-lyt-split.hero-slider .hero-slide {
        position: relative;
        inset: auto;
        grid-area: 1 / 1;
    }
    html body.tpl-nursery_template .hero-lyt-split.hero-slider .hero-lyt-split__text .container { padding-bottom: 88px; }

    /* C. universal split */
    html body.tpl-nursery_template .hero-lyt-split .hero-slide,
    html body.tpl-nursery_template .hero-lyt-split.hero--purpose-internal .hero-slide {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }
    html body.tpl-nursery_template .hero-lyt-split .hero-lyt-split__media,
    html body.tpl-nursery_template .hero-lyt-split--media-start .hero-slide .hero-lyt-split__media {
        order: -1;
        min-height: clamp(260px, 62vw, 440px);
    }
    html body.tpl-nursery_template .hero-lyt-split__media-el,
    html body.tpl-nursery_template .hero-lyt-split--media-start .hero-lyt-split__media-el {
        top: 0;
        left: 0;
        right: auto;
        width: 100%;
        height: 100%;
        border-radius: 0 0 58% 42% / 0 0 16% 24%;
    }
    html body.tpl-nursery_template .hero-lyt-split::before,
    html body.tpl-nursery_template .hero-lyt-split--media-start::before {
        z-index: 3;
        top: calc(clamp(260px, 62vw, 440px) - 62px);
        left: auto;
        right: 18px;
        width: clamp(84px, 22vw, 130px);
        box-shadow: 0 0 0 8px var(--alg-lily);
    }
    html body.tpl-nursery_template .hero-lyt-split__text .container,
    html body.tpl-nursery_template .hero-lyt-split--media-start .hero-lyt-split__text .container {
        max-width: none;
        margin: 0;
        padding: 56px 24px 72px;
    }
}
@media (max-width: 575px) {
    html body.tpl-nursery_template .hero-lyt-split .hero-actions { flex-direction: column; align-items: stretch; }
    html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html body.tpl-nursery_template .hero-lyt-split .mt-hero-btn { transition: none; }
}

/* —— D. Full-bleed Hero with media: the picture is the background ——
   Template  .mt-hero--media with url( on the section (image).
   Universal .hero-industrial whose slide carries an image / slideshow / video.
   The photograph, the admin's overlay wash and the §11 / §12 type and
   buttons are the inherited background composition, left as they are.
   Added: a sunlit brook line across the bottom of the picture (two
   strokes, Sun colour through a mask, so it follows the Colours panel).
   On the universal Hero it takes the place of the decorative glow
   (::after); the dark wash (::before) is not touched. */
:root {
    --alg-brook-line-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M-20 64 C 220 22, 440 106, 720 60 S 1200 14, 1460 52' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M-20 92 C 260 56, 500 124, 780 90 S 1240 44, 1460 78' fill='none' stroke='%23000' stroke-opacity='0.45' stroke-width='2' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("]::after,
html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video))::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 3;
    inset: auto 0 clamp(14px, 3vh, 30px) 0;
    width: auto;
    height: clamp(56px, 9vh, 96px);
    border-radius: 0;
    background: var(--alg-sun);
    -webkit-mask: var(--alg-brook-line-mask) center / 100% 100% no-repeat;
    mask: var(--alg-brook-line-mask) center / 100% 100% no-repeat;
    opacity: 0.9;
    pointer-events: none;
}
/* The copy keeps clear of the line. */
html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__container,
html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video)) .hero-overlay .container {
    padding-bottom: clamp(88px, 13vh, 132px);
}
/* The eyebrow: a sunlit pill on the photograph. */
html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__micro,
html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video)) .hero-micro {
    border: 1px solid rgba(var(--alg-lily-rgb), 0.35);
    background: rgba(var(--alg-deep-rgb), 0.45);
    color: var(--alg-sun);
}
/* Supporting visual (visual_image): its framed card sits above the line. */
html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__visual {
    z-index: 4;
    border: 6px solid var(--alg-lily);
    border-radius: 24px;
}
/* Tablets and phones: the inherited flex row put the card BESIDE the copy
   and squeezed it into a narrow column; it now follows the copy, centred,
   clear of the line. */
@media (max-width: 991px) {
    html body.tpl-nursery_template .mt-hero.mt-hero--media.mt-hero--has-visual[style*="url("] { flex-direction: column; }
    html body.tpl-nursery_template .mt-hero.mt-hero--media.mt-hero--has-visual[style*="url("] .mt-hero__container { padding-bottom: 32px; }
    html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__visual {
        position: relative;
        inset: auto;
        align-self: center;
        width: min(240px, 72%);
        margin: 0 auto 104px;
    }
}
/* The supporting text stays readable over the picture. */
html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__description,
html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video)) .hero-description {
    font-size: 1.08rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.94);
    opacity: 1;
    text-shadow: 0 1px 12px rgba(var(--alg-deep-rgb), 0.55);
}
@media (max-width: 767px) {
    html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("],
    html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video)):not(.hero--purpose-internal) {
        min-height: 520px;
    }
    html body.tpl-nursery_template .mt-hero.mt-hero--media[style*="url("] .mt-hero__container,
    html body.tpl-nursery_template .hero-industrial:is(:has(.hero-slide__bg[style*="url("]), :has(video)) .hero-overlay .container {
        padding-bottom: 96px;
    }
}


/* ============================================================
   §17  HERO — EDITORIAL (2026-10-18)
   hero_layout = editorial, both renderers:
     template   .mt-hero--editorial   (partials/hero.php, image Heroes)
     universal  .hero-lyt-editorial   (web/partials/hero.php — a Hero with a
                video, a slider or hero_type content is handed to it)
   The contract: calm, light, off-centre, no full-bleed media. The Brook
   reading: an ivory page, a wide copy column with a plain sunlit
   eyebrow (no pill), a large serif headline, Brook pill buttons, and the
   photograph as a smaller framed print — a gentle pebble corner on a
   Shallows mat — inside the container (it never runs off the page and
   carries no sun disc, unlike the split pebble). On phones the copy comes
   first and the print follows; nothing is wave-cropped.
   The shared editorial markup prints background_image only; a video is
   not played in this layout (the universal renderer's contract).
============================================================ */
html body.tpl-nursery_template .mt-hero.mt-hero--editorial,
html body.tpl-nursery_template .hero-lyt-editorial {
    position: relative;
    background: var(--alg-lily);
    color: var(--alg-deep);
    padding-top: clamp(56px, 9vh, 104px);
    padding-bottom: clamp(64px, 10vh, 120px);
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__container {
    padding-top: 0;
    padding-bottom: 0;
}
html body.tpl-nursery_template .hero-lyt-editorial .hero-slide .container { max-width: 1240px; }
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-row,
html body.tpl-nursery_template .hero-lyt-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr);
    gap: clamp(40px, 6vw, 104px);
    align-items: center;
}
/* No photograph: the copy alone, in a calm centred measure. */
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-row:has(> .mt-hero__editorial-content:only-child),
html body.tpl-nursery_template .hero-lyt-editorial__row:has(> .hero-lyt-editorial__content:only-child) {
    grid-template-columns: minmax(0, 1fr);
}
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-content,
html body.tpl-nursery_template .hero-lyt-editorial__content {
    max-width: 700px;
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-content.text-center,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-center { margin-left: auto; margin-right: auto; }
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-content.text-end,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-end { margin-left: auto; }

/* Eyebrow: plain sunlit kicker, a short swash beneath — no pill. */
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__micro,
html body.tpl-nursery_template .hero-lyt-editorial .hero-micro {
    display: inline-block;
    margin-bottom: 18px;
    padding: 0 0 12px;
    border: 0;
    border-radius: 0;
    background: var(--alg-swash) left bottom / 56px 9px no-repeat;
    font-family: var(--alg-sans);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--alg-brook);
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__editorial-content.text-center .mt-hero__micro,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-center .hero-micro { background-position: center bottom; }
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__editorial-content.text-end .mt-hero__micro,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-end .hero-micro { background-position: right bottom; }
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__micro::before,
html body.tpl-nursery_template .hero-lyt-editorial .hero-micro::before,
html body.tpl-nursery_template .hero-lyt-editorial .hero-micro::after { display: none; }

html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__title,
html body.tpl-nursery_template .hero-lyt-editorial .hero-title {
    margin-bottom: 22px;
    font-family: var(--alg-serif);
    font-size: clamp(2.5rem, 1.3rem + 3.6vw, 4.75rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.025em;
    text-transform: none;
    color: var(--alg-deep);
    text-shadow: none;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__title span,
html body.tpl-nursery_template .hero-lyt-editorial .hero-title span { color: var(--alg-brook); }
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__subtitle,
html body.tpl-nursery_template .hero-lyt-editorial .hero-subtitle {
    font-family: var(--alg-sans);
    font-size: 1.22rem;
    font-weight: 600;
    color: var(--alg-deep);
    text-shadow: none;
    opacity: 1;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__description,
html body.tpl-nursery_template .hero-lyt-editorial .hero-description {
    max-width: 54ch;
    font-family: var(--alg-sans);
    font-size: 1.12rem;
    line-height: 1.65;
    color: var(--alg-body);
    text-shadow: none;
    opacity: 1;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .text-center .mt-hero__description,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-center .hero-description { margin-left: auto; margin-right: auto; }
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .text-end .mt-hero__description,
html body.tpl-nursery_template .hero-lyt-editorial__content.text-end .hero-description { margin-left: auto; }
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__proof-item,
html body.tpl-nursery_template .hero-lyt-editorial .hero-proof span {
    border: 1px solid rgba(var(--alg-deep-rgb), 0.14);
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--alg-deep);
    font-family: var(--alg-sans);
    font-weight: 700;
}

/* Buttons: Brook pills. The shared editorial layout has no button style of
   its own (hero-css-v2.css styles .mt-hero-btn only inside .hero-industrial). */
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__actions,
html body.tpl-nursery_template .hero-lyt-editorial .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 30px;
    border-radius: 999px;
    font-family: var(--alg-sans);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.35s ease;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--primary,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-primary {
    border: 2px solid var(--alg-brook);
    background: var(--alg-brook);
    color: var(--alg-on-brook);
    box-shadow: none;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--primary:hover,
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--primary:focus-visible,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-primary:hover,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-primary:focus-visible {
    border-color: var(--alg-brook-deep);
    background: var(--alg-brook-deep);
    color: var(--alg-on-brook);
    box-shadow: 0 0 0 8px rgba(var(--alg-brook-rgb), 0.14);
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--secondary,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-secondary {
    border: 2px solid var(--alg-brook);
    background: transparent;
    color: var(--alg-brook);
    backdrop-filter: none;
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--secondary:hover,
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn--secondary:focus-visible,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-secondary:hover,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn-secondary:focus-visible {
    border-color: var(--alg-brook);
    background: var(--alg-shallows);
    color: var(--alg-deep);
}
html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn:focus-visible,
html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn:focus-visible {
    outline: 3px solid var(--alg-deep);
    outline-offset: 4px;
}
/* Internal page header: display-only secondary content stays hidden (shared contract). */
html body.tpl-nursery_template .hero-lyt-editorial.hero--purpose-internal .mt-hero-btn-secondary { display: none; }

/* The photograph: a framed print on a Shallows mat, inside the container. */
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual,
html body.tpl-nursery_template .hero-lyt-editorial__visual {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 440px;
    aspect-ratio: 4 / 5;
    margin: 0 22px 22px 0;
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
    transform: none;
}
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual::before,
html body.tpl-nursery_template .hero-lyt-editorial__visual::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 22px -22px -22px 22px;
    border-radius: 28px 120px 28px 28px;
    background: var(--alg-shallows);
}
html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual .mt-hero__media,
html body.tpl-nursery_template .hero-lyt-editorial__visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 28px 120px 28px 28px;
    background: var(--alg-shallows);
}
html body.tpl-nursery_template .hero-lyt-editorial + .header-divider { display: none; }

@media (max-width: 991px) {
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-row,
    html body.tpl-nursery_template .hero-lyt-editorial__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
    }
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-content,
    html body.tpl-nursery_template .hero-lyt-editorial__content { max-width: none; }
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual,
    html body.tpl-nursery_template .hero-lyt-editorial__visual {
        grid-column: 1;
        justify-self: center;
        max-width: 560px;
        aspect-ratio: 4 / 3;
        margin: 0 16px 16px 0;
    }
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual::before,
    html body.tpl-nursery_template .hero-lyt-editorial__visual::before { inset: 16px -16px -16px 16px; }
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual::before,
    html body.tpl-nursery_template .mt-hero--editorial .mt-hero__editorial-visual .mt-hero__media,
    html body.tpl-nursery_template .hero-lyt-editorial__visual::before,
    html body.tpl-nursery_template .hero-lyt-editorial__visual img { border-radius: 22px 84px 22px 22px; }
}
@media (max-width: 575px) {
    html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__actions,
    html body.tpl-nursery_template .hero-lyt-editorial .hero-actions { flex-direction: column; align-items: stretch; }
    html body.tpl-nursery_template .mt-hero.mt-hero--editorial .mt-hero__btn,
    html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html body.tpl-nursery_template .hero-lyt-editorial .mt-hero-btn { transition: none; }
}
