/* Accessibility additions; the reference template supplies the visual design. */
:focus-visible { outline: 3px solid #328b41; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
html { scroll-padding-top: 120px; }
[data-lfc-name="Remove This"], [data-lfc-name="Remove - Promo Button"] { display: none !important; }
.lfc-navbar-item-discover-container { display: none !important; }
.lfc-hero h1 { font-size: clamp(42px, 9vw, 138px) !important; line-height: 1.08 !important; }
.lfc-navbar-logo-container { width: 238px !important; }
.lfc-values h2 { text-wrap: balance; }
.lfc-values .lfc-value-card-title h2 { font-size: 22px !important; }
.lfc-nurseries h2 { text-wrap: balance; }
.lfc-testimonials img { visibility: visible; }
.lfc-testimonials h3, .lfc-testimonials h4 { font-size: clamp(23px, 2.2vw, 34px) !important; }
@media (max-width: 809px) {
  .lfc-navbar-logo-container { width: 185px !important; }
  .lfc-hero h1 { font-size: clamp(42px, 10.4vw, 76px) !important; }
}
a[href="https://www.pinterest.com/"], a[href="https://www.linkedin.com"] { display: none !important; }
.lfc-menu { border: 0; border-radius: 24px; background: #f5f6d1; color: #000; width: calc(100% - 32px); max-width: 460px; padding: 28px; margin: 85px auto auto; box-shadow: 0 20px 80px #0002; }
.lfc-menu::backdrop { background: #0006; }
.lfc-menu nav { display: grid; gap: 22px; padding: 20px 0; }
.lfc-menu a { font-family: Nunito, sans-serif; font-size: 25px; font-weight: 800; color: inherit; text-decoration: none; }
.lfc-menu button { border: 0; background: transparent; font-size: 28px; cursor: pointer; float: right; }
.lfc-menu .lfc-contact { background: #d2f43a; padding: 15px 20px; border-radius: 35px; font-size: 20px; text-align: center; }

/* Moodboard palette only: preserve every template block and motion component. */
:root, body {
  --lfc-paper: #fffefa;
  --lfc-green: #b8d666;
  --lfc-pink: #B5CF8A;
  --lfc-ink: #41483a;
  --token-3ec9de4d-64e8-44e4-b12e-0f27d31508c2: #fffefa !important;
  --token-a2a5f337-6632-4e1b-9eb9-8e57b10180f3: #eff5df !important;
  --token-953b778d-cfb0-4377-8cd6-d0a469fbcaa6: #b8d666 !important;
  --token-d77bbc1d-669d-4db8-8205-b913cde9890c: #b8d666 !important;
  --token-8fb5b071-8da7-462b-bcb0-770a3289c6df: #B5CF8A !important;
  --token-044ae09d-2106-497e-88d4-f5fed2c6f28f: #eee5f4 !important;
  --token-a8584111-3910-4a77-b94d-e04e5c17b503: #eee5f4 !important;
  --token-35ca47c9-79ec-4e26-82c0-a577decae151: #eff5df !important;
  --token-c612e62c-5569-4996-a49e-5c04f285f64a: #b8d666 !important;
  --token-9370f109-8104-4c7c-80a6-eb3c216bcc67: #849465 !important;
  --token-53fcfb0f-4009-420e-b17a-11de66f67e03: #41483a !important;
  --token-f6cd56a1-9799-47ca-b9a6-fd5edf4ef50e: #41483a !important;
  --token-164ebb64-97d1-4305-928d-d5c727094187: #686e60 !important;
  --token-4c19f6e2-0aba-4e70-9332-c4bd571b5e92: #dfe5d4 !important;
}
/* Scope the action colour so decorative green surfaces stay green. */
a.lfc-primary-button, .lfc-menu .lfc-contact {
  --token-953b778d-cfb0-4377-8cd6-d0a469fbcaa6: #B5CF8A !important;
  background-color: #B5CF8A !important;
}
a.lfc-primary-button:hover, .lfc-menu .lfc-contact:hover { background-color: #dfadc0 !important; }
[data-lfc-name="Hero Shape"] .lfc-text,
[data-lfc-name="Hero Frame"] .lfc-text {
  --lfc-text-color: #41483a !important;
}
.lfc-menu { background: #fffefa; color: #41483a; }
:focus-visible { outline-color: #41483a; }
/* Keep lettering readable on the lighter animated stickers throughout the page. */
[data-lfc-name$="Frame"] .lfc-text {
  --lfc-text-color: #41483a !important;
}

/* Soft modelling-clay finish, inspired by the read-only Yellow+ kickoff images.
   Paint and shadows only: no changes to layout or runtime motion transforms. */
:root {
  --lfc-clay-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.075'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cpath fill='%23847560' filter='url(%23n)' d='M0 0h120v120H0z'/%3E%3C/svg%3E");
}
/* Existing masked shapes retain their silhouettes and all animated rotations. */
div[data-lfc-name="Union"], .lfc-founders-eyebrow-shape {
  background-image: var(--lfc-clay-grain),
    radial-gradient(ellipse at 32% 15%, #fff7, transparent 58%),
    linear-gradient(165deg, #fff2 10%, transparent 50%, #69503230 100%) !important;
}
[data-lfc-name="Hero Shape"], [data-lfc-name$="Frame"] {
  filter: drop-shadow(0 4px 2px #74613c15) drop-shadow(0 8px 8px #74613c0d);
}
/* Literal SVG stickers get edge lighting without changing their colours/paths. */
[data-lfc-name$="Frame"] > img[src^="data:image/svg+xml,"] {
  filter: url('/vendor/lfc-runtime/images/lfc-clay-filters.svg#clay');
}
a.lfc-primary-button, .lfc-menu .lfc-contact {
  background-image: var(--lfc-clay-grain),
    radial-gradient(ellipse at 35% 0%, #ffffff38, transparent 68%),
    linear-gradient(180deg, transparent 55%, #80506c20) !important;
  box-shadow: inset 0 3px 5px #ffffff65, inset 0 -4px 6px #80506c29,
    0 4px 0 #c48fa6, 0 8px 13px #80506c19 !important;
}
a.lfc-primary-button:active, .lfc-menu .lfc-contact:active {
  box-shadow: inset 0 2px 5px #80506c25, inset 0 -2px 3px #ffffff40,
    0 2px 0 #c48fa6, 0 4px 7px #80506c15 !important;
}
/* The existing cards stay in place; a soft raised edge replaces the flat fill. */
a.lfc-nursery-card {
  border-radius: 36px !important;
  background-image: var(--lfc-clay-grain),
    radial-gradient(ellipse at 25% 0%, #ffffff55, transparent 65%) !important;
  box-shadow: inset 2px 3px 7px #ffffffa6, inset -2px -4px 8px #8b9b4d1a !important;
}
@media (forced-colors: active) {
  a.lfc-primary-button, .lfc-menu .lfc-contact { border: 1px solid ButtonText; }
  [data-lfc-name="Hero Shape"], [data-lfc-name$="Frame"],
  [data-lfc-name$="Frame"] > img[src^="data:image/svg+xml,"] { filter: none; }
}

/* Sunburst art direction applied to the original template, with its layout intact. */
@font-face { font-family: "LFC Baloo"; src: url('/vendor/lfc/baloo2-variable.woff2') format('woff2'); font-weight: 400 800; font-display: swap; }
:root { --lfc-mauve: #bca4d5; }
h1.lfc-text, h2.lfc-text, h3.lfc-text, h4.lfc-text { font-family: "LFC Baloo", sans-serif !important; --lfc-font-family: "LFC Baloo", sans-serif !important; font-weight: 500 !important; --lfc-font-weight: 500 !important; }
.lfc-hero h1 { font-size: clamp(48px, 7.8vw, 112px) !important; line-height: 1.02 !important; }
/* Let transparent clay illustrations breathe in the existing image frames. */
img[src*="/vendor/lfc/"] { object-fit: contain !important; }
.lfc-hero-photo-image { background: #eff5df !important; }
.lfc-hero-photo-image img { padding: 24px; }
.lfc-contact-band-image { background: #eee5f4; border-radius: 40px; }
.lfc-contact-band-image img { padding: 24px; }
/* The visual roles replace generic template portraits, not actual staff photos. */
.lfc-testimonials { --lfc-text-color: #41483a; }
.lfc-menu a { font-family: "LFC Baloo", sans-serif; font-weight: 500; }
@media (max-width: 809px) { .lfc-hero h1 { font-size: clamp(43px, 8.6vw, 74px) !important; } }
/* Balance the longer client headline inside the template's existing title. */
.lfc-hero h1 { text-wrap: balance; }

/* Keep the original hero and animated stickers, in a separate row below the title. */
.lfc-hero .lfc-hero-inner{display:grid!important;grid-template-columns:repeat(3,max-content);justify-content:center;column-gap:30px;row-gap:32px;width:100%!important}
.lfc-hero .lfc-hero-heading{grid-column:1/-1;width:min(100%,1000px)!important;justify-self:center}
.lfc-hero [data-lfc-name="Hero Shape"],.lfc-hero [data-lfc-name="Hero Frame"]{position:relative!important;inset:auto!important;justify-self:center;pointer-events:none;margin:0!important}
.lfc-hero-photo-image{background:#fffefa!important}
.lfc-hero-photo-image img{padding:0;object-fit:cover!important}
.lfc-menu{max-height:calc(100dvh - 110px);overflow:auto}
@media(max-width:809px){.lfc-hero .lfc-hero-inner{display:flex!important}.lfc-hero [data-lfc-name="Hero Shape"],.lfc-hero [data-lfc-name="Hero Frame"]{display:none!important}}
/* Match the wide illustration's proportions instead of the demo's full-screen photo. */
.lfc-hero-photo{height:clamp(280px,42vw,600px)!important;min-height:0!important}
.lfc-hero-photo-image{height:100%!important}
/* Title ornaments are decorative; keep them out of reading areas. */
.lfc-hero [data-lfc-name="Hero Shape"],.lfc-hero [data-lfc-name="Hero Frame"]{transform:none!important;rotate:-5deg;align-self:center}
.lfc-hero .lfc-hero-tag{rotate:7deg}
.lfc-values-eyebrow,.lfc-founders-eyebrow,.lfc-nurseries-eyebrow,.lfc-rituals-eyebrow,.lfc-people-eyebrow,.lfc-small-group-eyebrow,.lfc-faq-eyebrow{display:none!important}
.lfc-hero-photo-image img{object-fit:contain!important}
.lfc-contact-band-bubble{display:none!important}

/* 22 September: photography and clay share the original template composition. */
.lfc-hero{padding-top:145px!important;padding-bottom:40px!important}
.lfc-hero .lfc-hero-inner{display:flex!important;flex-direction:column!important;gap:12px!important}
.lfc-hero .lfc-hero-heading{width:min(100%,950px)!important}
.lfc-hero h1{font-size:clamp(48px,6.8vw,94px)!important;font-weight:450!important;line-height:1.02!important}
.lfc-hero [data-lfc-name="Hero Shape"],.lfc-hero [data-lfc-name="Hero Frame"]{display:none!important}
/* The template's full-screen sticky photo is now a card: keep it in the flow so it no longer
   stays pinned under the caption and the added sections while scrolling. */
.lfc-hero-photo{position:relative!important;top:auto!important}
.lfc-hero-photo{width:calc(100% - 64px)!important;max-width:1320px!important;height:clamp(320px,41vw,575px)!important;border-radius:36px!important;margin:0 auto!important;overflow:hidden!important}
img[src*="/vendor/lfc/photo-"]{object-fit:cover!important;object-position:50% 45%!important}
.lfc-hero-photo-image img[src*="photo-"]{object-fit:cover!important;object-position:50% 45%!important}
.lfc-values{padding-top:55px!important;padding-bottom:60px!important}
.lfc-testimonials,.lfc-home-footer-container{display:none!important}
.lfc-nurseries,.lfc-faq-section,.lfc-people{height:auto!important}
.lfc-contact-band-image{border-radius:40px!important}
@media(max-width:809px){.lfc-hero{padding-top:112px!important;padding-bottom:30px!important}.lfc-hero h1{font-size:clamp(43px,8.4vw,66px)!important}.lfc-hero-photo{width:calc(100% - 40px)!important;height:clamp(280px,57vw,470px)!important;border-radius:26px!important}.lfc-values{padding-top:32px!important;padding-bottom:40px!important}}
@media(max-width:520px){.lfc-hero{padding-left:20px!important;padding-right:20px!important}.lfc-hero h1{font-size:47px!important}.lfc-hero-photo{height:300px!important}.lfc-hero-photo-image img[src*="photo-"]{object-position:48% center!important}}
/* Stable photographic frames; retain the original card layout and clay motion. */
.lfc-founders-visual>.lfc-founders-visual-container{visibility:hidden}
.lfc-founders-visual>.lfc-home-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:36px;object-fit:cover!important}
.lfc-people .lfc-people-card-children-image,.lfc-people .lfc-people-card-families-image,.lfc-people .lfc-people-card-teams-image{visibility:hidden}
.lfc-people canvas{visibility:hidden}
.lfc-people-card-children,.lfc-people-card-families,.lfc-people-card-teams{height:auto!important;min-height:490px;display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important;justify-content:flex-start!important;overflow:hidden!important;background:#eff5df!important}
.lfc-people .lfc-home-photo{width:100%;height:260px;flex:0 0 260px;object-fit:cover!important;position:relative;z-index:1}
.lfc-people .lfc-people-card-children-body,.lfc-people .lfc-people-card-families-body,.lfc-people .lfc-people-card-teams-body{position:relative!important;inset:auto!important;order:2;width:100%!important;padding:26px!important;height:auto!important;z-index:2}
.lfc-people .lfc-people-card-children-heading,.lfc-people .lfc-people-card-families-heading,.lfc-people .lfc-people-card-teams-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
@media(max-width:809px){.lfc-people .lfc-home-photo{height:240px;flex-basis:240px}.lfc-founders-visual>.lfc-home-photo{border-radius:28px}}
.lfc-people .lfc-home-photo{border-radius:20px}
