@font-face {
    font-family: "Quicksand";
    src: url("../fonts/quicksand-400-700.woff2") format("woff2");
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
}

@font-face {
    font-family: "Bubblegum Sans";
    src: url("../fonts/bubblegum-sans-regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Schoolbell";
    src: url("../fonts/schoolbell-regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

:root {
    --sand: #fff8ef;
    --sand-deep: #fff1db;
    --sun: #ffd444;
    --sea: #0093be;
    --sea-soft: #ddf4fb;
    --coral: #d5007f;
    --green: #95c11f;
    --ink: #16313a;
    --muted: #5f737b;
    --ink-soft: var(--muted);
    --lime: var(--green);
    --line: rgba(22, 49, 58, 0.12);
    --shadow: 0 24px 60px rgba(22, 49, 58, 0.12);
    --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: #ffffff;
    font-family: "Quicksand", "Segoe UI", sans-serif;
    line-height: 1.6;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1rem; }
.wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }

.lpt-announcement-banner {
    position: relative;
    z-index: 24;
    border-bottom: 1px solid rgba(22, 49, 58, 0.08);
    background: linear-gradient(90deg, rgba(221, 244, 251, 0.96), rgba(255, 255, 255, 0.98));
}

.lpt-announcement-banner__inner {
    min-height: 3rem;
    padding: 0.55rem 0;
    color: var(--ink);
    font-weight: 700;
}

.lpt-announcement-banner__viewport {
    position: relative;
    width: 100%;
    min-width: 0;
}

.lpt-announcement-banner__item {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    min-width: 0;
    width: 100%;
}

.lpt-announcement-banner__item.is-active {
    display: flex;
}

.lpt-announcement-banner.is-rotating .lpt-announcement-banner__item.is-active {
    animation: lptAnnouncementFade 280ms ease both;
}

.lpt-announcement-banner__category {
    flex: 0 0 auto;
    color: var(--green);
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
}

.lpt-announcement-banner__text {
    min-width: 0;
    line-height: 1.35;
}

.lpt-announcement-banner__link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.8rem;
    border: 1px solid rgba(0, 147, 190, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--sea);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(0, 147, 190, 0.08);
}

.lpt-announcement-banner__link:hover,
.lpt-announcement-banner__link:focus-visible {
    color: var(--sea);
    background: #ffffff;
    box-shadow: 0 14px 26px rgba(0, 147, 190, 0.14);
}

@keyframes lptAnnouncementFade {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .lpt-announcement-banner.is-rotating .lpt-announcement-banner__item.is-active {
        animation: none;
    }
}

@media (max-width: 767px) {
    .lpt-announcement-banner__inner {
        min-height: 2.85rem;
        padding: 0.48rem 0;
    }

    .lpt-announcement-banner__item {
        justify-content: flex-start;
        gap: 0.5rem;
    }

    .lpt-announcement-banner__category {
        font-size: 0.66rem;
        letter-spacing: 0.1em;
    }

    .lpt-announcement-banner__text {
        display: -webkit-box;
        flex: 1 1 auto;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 0.9rem;
        line-height: 1.25;
    }

    .lpt-announcement-banner__link {
        min-height: 2rem;
        padding: 0.35rem 0.7rem;
        font-size: 0.8rem;
        white-space: nowrap;
    }
}

@media (max-width: 380px) {
    .lpt-announcement-banner__inner {
        gap: 0.42rem;
    }

    .lpt-announcement-banner__category {
        max-width: 5.2rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

.lpt-contact-point {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
    min-width: 0;
}

.lpt-contact-point__link {
    color: inherit;
    font: inherit;
    font-weight: 700;
    line-height: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.lpt-contact-point__link:hover,
.lpt-contact-point__link:focus-visible {
    transform: none;
    color: var(--sea);
}

.lpt-contact-point--accent .lpt-contact-point__link {
    color: var(--coral);
}

@media (max-width: 980px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
        overscroll-behavior-x: none;
    }
}

@supports (overflow: clip) {
    @media (max-width: 980px) {
        html,
        body {
            overflow-x: clip;
        }
    }
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    backdrop-filter: blur(12px);
    background: rgba(255, 252, 246, 0.9);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 20px;
    padding: 14px 0;
}

.brand { display: inline-flex; align-items: center; gap: 14px; }
.brand img { width: 64px; height: 64px; object-fit: contain; }
.brand span { display: grid; gap: 2px; }
.brand strong { font-family: "Quicksand", "Segoe UI", sans-serif; font-size: 1.02rem; }

h1, h2, h3, h4 {
    font-family: "Bubblegum Sans", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
    margin: 0 0 0.7rem;
}

.brand small, .meta, .eyebrow {
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

.eyebrow {
    color: var(--green);
    font-weight: 700;
}

.site-nav {
    justify-self: end;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-weight: 600;
}

.site-nav a:hover,
.text-link,
.lang-switch a:hover {
    color: var(--coral);
}

.lang-switch {
    display: flex;
    gap: 10px;
    font-weight: 700;
}

.menu-toggle { display: none; }

.hero,
.page-hero {
    padding: 78px 0 40px;
}

.hero-grid,
.split,
.nursery-hero-grid,
.contact-layout {
    display: grid;
    gap: 28px;
}

.hero-grid,
.nursery-hero-grid,
.contact-layout {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
}

.hero-copy h1,
.page-hero h1 {
    font-size: clamp(2.5rem, 6vw, 4.8rem);
    line-height: 1.02;
    margin: 10px 0 18px;
    color: var(--coral);
}

.section-head h2,
.page-hero h2 {
    color: var(--coral);
}

.lead {
    font-size: 1.15rem;
    max-width: 58ch;
}

.hero-subtitle {
    color: var(--sea);
    font-weight: 700;
}

.hero-media img,
.nursery-hero img,
.article-cover {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    width: 100%;
    object-fit: cover;
}

.hero-media img,
.nursery-hero img,
.article-cover,
.nursery-card img,
.team-card img,
.article-card img {
    aspect-ratio: 4 / 3;
}

.btn,
button,
.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    padding: 14px 22px;
    cursor: pointer;
    font-weight: 700;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.btn:hover,
button:hover,
.button-link:hover {
    transform: translateY(-1px);
}

.btn-primary,
button,
.button-link {
    background: var(--sea);
    color: white;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.btn-secondary {
    background: var(--sea);
    border: 1px solid transparent;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-secondary:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.section { padding: 68px 0; }
.section-head { margin-bottom: 28px; }
.section-head.centered { text-align: center; max-width: 760px; margin: 0 auto 30px; }
.section-head p {
    margin: 0.7rem auto 0;
    max-width: 64ch;
    color: var(--muted);
    line-height: 1.75;
}

.section-head.centered p {
    text-align: center;
}

.cards { display: grid; gap: 22px; }
.cards-1 { grid-template-columns: 1fr; }
.cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}

.card-body,
.icon-card,
.article-card {
    padding: 22px;
}

.seo-faq {
    background: linear-gradient(180deg, rgba(255, 248, 239, 0.72), rgba(255, 255, 255, 0.92));
}

.seo-faq__item {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: var(--shadow);
    padding: 24px;
    position: relative;
    overflow: hidden;
}

.seo-faq__item::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--green), var(--sea), var(--coral));
}

.seo-faq__item h3 {
    margin: 0 0 0.75rem;
    color: var(--sea);
    font-size: 1.18rem;
}

.seo-faq__item p {
    margin: 0;
    line-height: 1.7;
}

.rich-text p:last-child,
.card-body p:last-child,
.footer-card p:last-child {
    margin-bottom: 0;
}

.rich-text p { margin-top: 0; }
.rich-text strong { color: var(--coral); }
.narrow { max-width: 760px; }
.simple-page-hero {
    padding-bottom: 12px;
}

.simple-page__eyebrow {
    display: inline-flex;
    margin-bottom: 0.55rem;
}

.simple-page__intro-section {
    padding-top: 38px;
    background:
        radial-gradient(circle at top left, rgba(255, 212, 68, 0.12), transparent 24rem),
        linear-gradient(180deg, rgba(255, 248, 239, 0.62), rgba(255, 255, 255, 0) 13rem);
}

.simple-page__intro-card,
.simple-page__support-card {
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.08);
}

.simple-page__intro-card .card-body {
    padding: 28px 30px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 239, 0.72));
}

.simple-page__support {
    padding-top: 8px;
    background: linear-gradient(180deg, rgba(221, 244, 251, 0.28), rgba(255, 255, 255, 0));
}

.simple-page__section-head {
    margin-bottom: 26px;
}

.simple-page__support-card .card-body {
    padding: 24px 24px;
    background: linear-gradient(180deg, rgba(221, 244, 251, 0.3), rgba(255, 255, 255, 0.98));
}

.simple-page__support-card h3 {
    color: var(--sea);
    margin-bottom: 0.75rem;
}

.simple-page__support-card p {
    margin: 0;
    line-height: 1.7;
}

.simple-page__actions {
    justify-content: center;
    margin-top: 2rem;
}

.simple-page__feature-section {
    padding-top: 16px;
}

.simple-page__feature-head {
    margin-bottom: 26px;
}

.simple-page__feature-grid {
    align-items: stretch;
}

.simple-page__feature-card {
    position: relative;
    overflow: hidden;
}

.simple-page__feature-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 6px;
    border-radius: 28px 28px 0 0;
    background: var(--sea);
}

.simple-page__feature-card .card-body {
    padding: 26px 24px;
}

.simple-page__feature-card h2 {
    color: var(--ink);
    font-size: clamp(1.45rem, 2.5vw, 1.9rem);
    margin-bottom: 0.7rem;
}

.simple-page__feature-card p {
    margin: 0;
}

.simple-page__feature-card--1 .card-body,
.simple-page__feature-grid > :nth-child(3n + 1) .card-body {
    background: linear-gradient(180deg, rgba(149, 193, 31, 0.13), rgba(255, 255, 255, 0.98));
}

.simple-page__feature-card--1::before,
.simple-page__feature-grid > :nth-child(3n + 1)::before {
    background: var(--green);
}

.simple-page__feature-card--2 .card-body,
.simple-page__feature-grid > :nth-child(3n + 2) .card-body {
    background: linear-gradient(180deg, rgba(255, 212, 68, 0.16), rgba(255, 255, 255, 0.98));
}

.simple-page__feature-card--2::before,
.simple-page__feature-grid > :nth-child(3n + 2)::before {
    background: var(--sun);
}

.simple-page__feature-card--3 .card-body,
.simple-page__feature-grid > :nth-child(3n + 3) .card-body {
    background: linear-gradient(180deg, rgba(213, 0, 127, 0.09), rgba(255, 255, 255, 0.98));
}

.simple-page__feature-card--3::before,
.simple-page__feature-grid > :nth-child(3n + 3)::before {
    background: var(--coral);
}

.jobs-grid { align-items: stretch; }
.jobs-card .card-body,
.jobs-empty-card .card-body { padding: 28px; }
.jobs-card h3 { color: var(--sea); margin-bottom: 0.8rem; }

.flash {
    border-radius: 16px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.flash.success { background: #dcf7e9; }

.contact-form {
    display: grid;
    gap: 14px;
}

.contact-form label {
    display: grid;
    gap: 8px;
    font-weight: 600;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: white;
    font: inherit;
}

.role {
    color: var(--coral);
    font-weight: 700;
}

.meta {
    color: var(--muted);
    font-weight: 700;
}

.icon-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sun), var(--coral));
    margin-bottom: 18px;
}

.page-hero {
    background: #ffffff;
}

.hero-home {
    position: relative;
    overflow: hidden;
    padding: 88px 0 74px;
}

.hero-home::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(149, 193, 31, 0.14), transparent 22%),
        radial-gradient(circle at 88% 18%, rgba(213, 0, 127, 0.08), transparent 24%);
    pointer-events: none;
}

.hero-grid-home {
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
    position: relative;
}

.hero-body {
    max-width: 60ch;
}

.hero-media-illustrated {
    position: relative;
    min-height: 430px;
}

.hero-decor {
    position: absolute;
    top: -10px;
    right: -10px;
    width: min(100%, 470px);
    opacity: 0.36;
    filter: drop-shadow(0 20px 32px rgba(22, 49, 58, 0.08));
}

.hero-mascot {
    position: absolute;
    right: 42px;
    bottom: 0;
    width: min(100%, 360px);
    filter: drop-shadow(0 26px 36px rgba(22, 49, 58, 0.16));
}

.hero-photo-card {
    position: absolute;
    top: 42px;
    left: 10px;
    width: min(54%, 250px);
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border: 10px solid white;
    border-radius: 28px;
    transform: rotate(-8deg);
    box-shadow: 0 24px 50px rgba(22, 49, 58, 0.16);
}

.home-story {
    background: #ffffff;
}

.home-story-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 32px;
    align-items: start;
}

.story-copy .rich-text {
    max-width: 58ch;
}

.story-cta {
    margin-top: 8px;
}

.places-card {
    margin-top: 28px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 24px;
    box-shadow: var(--shadow);
}

.places-card-head {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 18px;
    align-items: center;
}

.places-card-head img {
    width: 86px;
    height: 86px;
    object-fit: contain;
}

.places-card h3 {
    color: var(--sea);
    font-size: clamp(1.6rem, 3vw, 2rem);
}

.places-list {
    display: grid;
    gap: 16px;
    margin-top: 22px;
}

.places-item {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    align-items: start;
    padding-top: 16px;
    border-top: 1px solid rgba(22, 49, 58, 0.08);
}

.places-item:first-child {
    padding-top: 0;
    border-top: 0;
}

.places-item img {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 50%;
}

.places-item h4 {
    font-family: "Schoolbell", "Comic Sans MS", "Trebuchet MS", cursive;
    color: var(--coral);
    font-size: 1.45rem;
    margin-bottom: 4px;
}

.places-count {
    font-weight: 700;
    margin-bottom: 2px;
}

.places-note {
    color: var(--muted);
    font-size: 0.95rem;
}

.nursery-showcase {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.nursery-panel {
    position: relative;
    min-height: 560px;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: var(--shadow);
    isolation: isolate;
}

.nursery-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(22, 49, 58, 0.1), rgba(22, 49, 58, 0.7));
}

.nursery-panel img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nursery-overlay {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 1;
    color: white;
}

.panel-index {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 0.82rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 700;
}

.nursery-overlay h3 {
    color: white;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.24);
    margin-bottom: 8px;
    font-size: clamp(1.5rem, 3vw, 2rem);
}

.nursery-overlay p {
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.22);
    margin-bottom: 16px;
}

.commitments-section {
    background: linear-gradient(180deg, rgba(221, 244, 251, 0.42), rgba(255, 255, 255, 0));
}

.commitment-card {
    min-height: 320px;
    padding: 30px 24px;
    display: grid;
    align-content: space-between;
    border: 0;
}

.commitment-card h3 {
    font-family: "Schoolbell", "Comic Sans MS", "Trebuchet MS", cursive;
    font-size: 1.38rem;
    line-height: 1.35;
    margin-bottom: 0;
}

.commitment-star {
    width: 70px;
    height: 70px;
    object-fit: contain;
    margin-bottom: 34px;
}

.commitment-1 { background: var(--green); color: white; }
.commitment-2 { background: var(--sun); color: var(--ink); }
.commitment-3 { background: var(--coral); color: white; }
.commitment-4 { background: var(--sea); color: white; }

.activities-section {
    padding-top: 54px;
}

.activity-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.activity-card {
    border-radius: 30px;
    padding: 28px;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}

.activity-card .card-body {
    padding: 0;
}

.activity-card h3 {
    font-size: 1.55rem;
    margin-bottom: 8px;
}

.activity-card p {
    color: var(--muted);
}

.activity-icon {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    font-size: 2rem;
    margin-bottom: 18px;
    font-weight: 700;
}

.activity-1 { background: #f4fae7; }
.activity-1 .activity-icon { background: var(--green); color: white; }
.activity-2 { background: #fff4cc; }
.activity-2 .activity-icon { background: var(--sun); color: var(--ink); }
.activity-3 { background: #fff0f7; }
.activity-3 .activity-icon { background: var(--coral); color: white; }
.activity-4 { background: #eef9fc; }
.activity-4 .activity-icon { background: var(--sea); color: white; }

.site-footer {
    background: linear-gradient(180deg, #fff8ef 0%, #fff1db 100%);
    color: var(--ink);
    padding: 0 0 24px;
    margin-top: 56px;
    border-top: 1px solid rgba(22, 49, 58, 0.08);
}

.footer-cta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
    background: white;
    border: 1px solid rgba(22, 49, 58, 0.08);
    border-radius: 36px;
    box-shadow: var(--shadow);
    padding: 28px 32px;
    transform: translateY(-34px);
}

.footer-cta img {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.footer-cta h2 {
    margin-bottom: 0;
    color: var(--coral);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: -4px;
}

.footer-card {
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(22, 49, 58, 0.08);
    border-radius: 30px;
    box-shadow: 0 18px 44px rgba(22, 49, 58, 0.08);
    padding: 28px 24px;
    text-align: center;
}

.footer-card h3 {
    color: var(--coral);
    font-size: 1.8rem;
}

.footer-card a {
    color: var(--sea);
    font-weight: 700;
}

.footer-sunflower {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 14px;
}

.footer-logo-strip {
    display: flex;
    justify-content: center;
    padding: 34px 0 8px;
}

.footer-logo-strip img {
    width: 132px;
    height: auto;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    margin-top: 12px;
    border-top: 1px solid rgba(22, 49, 58, 0.12);
    color: var(--muted);
    font-weight: 600;
}

.footer-bottom a:hover {
    color: var(--coral);
}

.contact-hero-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 28px;
    align-items: center;
}

.contact-hero-media img {
    border-radius: 34px;
    box-shadow: var(--shadow);
    aspect-ratio: 4 / 3;
    width: 100%;
    object-fit: cover;
}

.contact-page {
    padding-top: 24px;
}

.contact-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: 24px;
    align-items: start;
}

.contact-main,
.contact-sidebar {
    display: grid;
    gap: 22px;
}

.contact-places {
    margin-top: 0;
}

.contact-form-card,
.contact-info-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 26px;
    box-shadow: var(--shadow);
}

.contact-form-card h2,
.contact-info-card h3 {
    color: var(--coral);
}

.contact-info-card p + p {
    margin-top: 12px;
}

.contact-info-card a {
    color: var(--sea);
    font-weight: 700;
}

.contact-icon {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: var(--sea-soft);
    color: var(--sea);
    font-size: 1.4rem;
    margin-bottom: 14px;
    font-weight: 700;
}

@media (max-width: 980px) {
    .header-inner,
    .hero-grid,
    .nursery-hero-grid,
    .contact-layout,
    .split,
    .footer-grid,
    .nursery-showcase,
    .home-story-grid,
    .activity-grid,
    .footer-cta,
    .contact-hero-grid,
    .contact-page-grid {
        grid-template-columns: 1fr;
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
        background: white;
        border: 1px solid var(--line);
    }

    .nursery-hero__copy h1 {
        white-space: normal;
    }

    .site-nav {
        display: none;
        grid-column: 1 / -1;
        justify-self: stretch;
        padding-top: 8px;
    }

    .site-nav.is-open { display: grid; }

    .hero-home {
        padding-top: 64px;
    }

    .hero-media-illustrated {
        min-height: 320px;
    }

    .hero-mascot {
        width: min(100%, 260px);
        right: 50%;
        transform: translateX(50%);
    }

    .hero-photo-card {
        top: 28px;
        left: 50%;
        width: min(56%, 220px);
        transform: translateX(-64%) rotate(-8deg);
    }

    .hero-decor {
        width: min(100%, 360px);
        right: 50%;
        transform: translateX(50%);
    }

    .nursery-panel {
        min-height: 420px;
    }

    .commitment-card,
    .activity-card,
    .footer-card,
    .places-card {
        border-radius: 24px;
    }

    .footer-cta {
        text-align: center;
        padding: 26px 24px;
    }

    .footer-cta img {
        margin: 0 auto;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .cards-2,
    .cards-3,
    .cards-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .hero,
    .page-hero,
    .section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .wrap {
        width: min(1120px, calc(100% - 24px));
    }

    .brand img {
        width: 54px;
        height: 54px;
    }

    .hero-copy h1,
    .page-hero h1 {
        font-size: clamp(2rem, 12vw, 3rem);
    }

    .lead {
        font-size: 1.02rem;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .places-card-head {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .places-card-head img {
        margin: 0 auto;
    }

    .places-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .places-item img {
        margin: 0 auto;
    }

    .cards-2,
    .cards-3,
    .cards-4 {
        grid-template-columns: 1fr;
    }

    .activity-card {
        padding: 22px;
    }

    .footer-logo-strip img {
        width: 106px;
    }
}

.home-intro {
    padding: 34px 0 26px;
}

.home-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
    gap: 22px;
    align-items: center;
}

.home-intro__copy {
    max-width: 54rem;
}

.home-intro__eyebrow {
    display: inline-flex;
    margin-bottom: 0.55rem;
}

.home-intro__copy h1 {
    margin: 0 0 0.6rem;
    color: var(--coral);
    font-size: clamp(2.35rem, 5vw, 3.5rem);
    line-height: 1.05;
}

.home-intro__copy h2 {
    margin: 0 0 1rem;
    color: #3b7c8e;
    font-family: "Quicksand", "Segoe UI", sans-serif;
    font-size: clamp(1.2rem, 2.2vw, 1.7rem);
    font-weight: 700;
    line-height: 1.3;
}

.home-intro__body {
    max-width: 60rem;
    text-align: justify;
}

.home-intro__body p {
    margin: 0;
}

.home-intro__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1rem 0 0.2rem;
}

.home-intro__highlights span {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 10px 22px rgba(15, 52, 67, 0.07);
    color: #46646f;
    font-size: 0.92rem;
    font-weight: 700;
}

.home-intro__media {
    display: flex;
    justify-content: center;
}

.home-intro__reviews {
    display: grid;
    gap: 0.85rem;
    width: min(100%, 24rem);
}

.home-intro__review {
    min-block-size: 0;
}

.home-intro__review--kayl {
    --social-card-accent: var(--lime);
}

.home-intro__review--itzig {
    --social-card-accent: var(--cyan);
}

.home-intro__review--brouch {
    --social-card-accent: var(--coral);
}

.home-intro__review-quote {
    -webkit-line-clamp: 4;
}

.home-intro__review-stars {
    margin-left: auto;
}

.home-mobile-testimonials {
    display: none;
}

.home-intro__illustration {
    width: min(100%, 19rem);
    height: auto;
    object-fit: contain;
}

.home-intro__facades {
    display: none;
}

.home-intro__facade-menu,
.home-intro__facade-dots {
    display: none;
}

.home-intro__facade {
    text-decoration: none;
}

.home-intro__facade img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-intro__facade-label {
    position: absolute;
    left: 0.65rem;
    right: 0.65rem;
    bottom: 0.65rem;
    z-index: 2;
    padding: 0.34rem 0.6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #0f5568;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    box-shadow: 0 10px 20px rgba(15, 85, 104, 0.12);
}

.home-ideal {
    padding: 46px 0 56px;
    background: linear-gradient(180deg, #0093be 0%, #1da0c8 42%, #8fd1e5 72%, #ffffff 100%);
}

.home-ideal__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
    gap: 34px;
    align-items: start;
}

.home-ideal__content {
    position: relative;
    isolation: isolate;
}

.home-ideal__content::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../../uploads/logo-fond-transparent-bg.webp");
    background-repeat: no-repeat;
    background-position: center 44%;
    background-size: min(84%, 28rem);
    opacity: 0.22;
    pointer-events: none;
    z-index: 0;
}

.home-ideal__content > * {
    position: relative;
    z-index: 1;
}

.social-page-hero .wrap {
    max-width: 62rem;
}

.social-page__eyebrow,
.social-page__nursery-eyebrow {
    margin-bottom: 0.75rem;
}

.social-page__lead {
    max-width: 48rem;
    margin: 1rem auto 0;
    text-align: center;
    color: var(--ink-soft);
    font-size: 1.08rem;
    line-height: 1.8;
}

.social-page__actions {
    justify-content: center;
    margin-top: 2rem;
}

.social-page__actions .btn-secondary {
    background: var(--sea);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.social-page__actions .btn-secondary:hover,
.social-page__actions .btn-secondary:focus-visible,
.social-page__actions .btn-secondary:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

.social-page__actions .btn-primary {
    background: var(--sea);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.social-page__actions .btn-primary:hover,
.social-page__actions .btn-primary:focus-visible,
.social-page__actions .btn-primary:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

.btn.lpt-contact-cta,
.button-link.lpt-contact-cta,
.home-ideal__cta.lpt-contact-cta,
.lpt-footer-cta__button.lpt-contact-cta {
    background: var(--coral);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(213, 0, 127, 0.18);
}

.btn.lpt-contact-cta:hover,
.btn.lpt-contact-cta:focus-visible,
.btn.lpt-contact-cta:active,
.button-link.lpt-contact-cta:hover,
.button-link.lpt-contact-cta:focus-visible,
.button-link.lpt-contact-cta:active,
.home-ideal__cta.lpt-contact-cta:hover,
.home-ideal__cta.lpt-contact-cta:focus-visible,
.home-ideal__cta.lpt-contact-cta:active,
.lpt-footer-cta__button.lpt-contact-cta:hover,
.lpt-footer-cta__button.lpt-contact-cta:focus-visible,
.lpt-footer-cta__button.lpt-contact-cta:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(213, 0, 127, 0.24);
}

.social-page__grid {
    display: grid;
    gap: 1.5rem;
}

.social-page__nursery-card {
    --social-card-accent: var(--sea);
    --social-card-surface: rgba(221, 244, 251, 0.38);
    --social-card-border: rgba(0, 147, 190, 0.18);
    --social-card-shadow: rgba(0, 147, 190, 0.08);
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid var(--social-card-border);
    box-shadow: 0 22px 48px var(--social-card-shadow);
    display: grid;
    grid-template-rows: auto 1fr;
}

.social-page__nursery-card--kayl {
    --social-card-accent: var(--green);
    --social-card-surface: rgba(149, 193, 31, 0.13);
    --social-card-border: rgba(149, 193, 31, 0.18);
    --social-card-shadow: rgba(149, 193, 31, 0.08);
}

.social-page__nursery-card--itzig {
    --social-card-accent: var(--sea);
    --social-card-surface: rgba(0, 147, 190, 0.08);
    --social-card-border: rgba(0, 147, 190, 0.18);
    --social-card-shadow: rgba(0, 147, 190, 0.08);
}

.social-page__nursery-card--brouch {
    --social-card-accent: var(--coral);
    --social-card-surface: rgba(213, 0, 127, 0.08);
    --social-card-border: rgba(213, 0, 127, 0.18);
    --social-card-shadow: rgba(213, 0, 127, 0.08);
}

.social-page__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.social-page__nursery-media {
    display: block;
    position: relative;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
}

.social-page__nursery-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform 180ms ease;
}

.social-page__nursery-media:hover .social-page__nursery-image,
.social-page__nursery-media:focus-visible .social-page__nursery-image {
    transform: scale(1.02);
}

.social-page__review-banner {
    position: absolute;
    top: 1rem;
    left: 1rem;
    right: 1rem;
    z-index: 2;
    display: grid;
    gap: 0.28rem;
    padding: 0.8rem 0.9rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    box-shadow: 0 16px 32px rgba(25, 54, 66, 0.16);
    backdrop-filter: blur(10px);
}

.social-page__review-banner-label {
    color: var(--lime);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.social-page__review-banner-quote {
    display: -webkit-box;
    overflow: hidden;
    color: var(--ink);
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.social-page__review-banner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.7rem;
    align-items: center;
    color: var(--ink-soft);
    font-size: 0.82rem;
    line-height: 1.45;
}

.social-page__review-banner-author,
.social-page__review-banner-author a {
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
}

.social-page__review-banner-rating {
    color: var(--coral);
    font-weight: 800;
}

.social-page__review-banner-time {
    color: var(--ink-soft);
}

.social-page__nursery-body {
    display: grid;
    grid-template-rows: auto minmax(calc(2 * 1.2em), auto) minmax(calc(3 * 1.7em), auto) auto;
    align-content: start;
    align-items: start;
    gap: 0.95rem;
    height: 100%;
    position: relative;
    background: linear-gradient(180deg, var(--social-card-surface), rgba(255, 255, 255, 0.98));
}

.social-page__nursery-body::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 5.2rem;
    height: 0.4rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--sea) 0%, var(--coral) 100%);
    opacity: 0.9;
}

.social-page__nursery-body h2 {
    margin: 0;
    font-size: clamp(1.65rem, 2vw, 2rem);
    line-height: 1.2;
    min-block-size: 1.2em;
}

.social-page__nursery-summary {
    margin: 0;
    color: var(--ink-soft);
    line-height: 1.7;
    min-block-size: calc(3 * 1.7em);
}

.social-page__review-inline {
    display: grid;
    gap: 0.4rem;
    width: 100%;
    padding: 0.95rem 1rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid color-mix(in srgb, var(--social-card-accent) 14%, white);
    box-shadow: 0 10px 24px rgba(24, 56, 71, 0.05);
    min-block-size: calc(3 * 1.55em + 2rem);
}

.social-page__review-inline-label {
    color: var(--social-card-accent);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.social-page__review-inline-quote {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.social-page__review-inline-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.7rem;
    align-items: center;
    color: var(--ink-soft);
    font-size: 0.84rem;
    line-height: 1.45;
}

.social-page__review-inline-author {
    color: var(--ink);
    font-weight: 700;
}

.social-page__review-inline-rating {
    color: var(--coral);
    font-weight: 800;
}

.social-page__review-inline-time {
    color: var(--ink-soft);
}

.social-page__nursery-card .social-page__nursery-eyebrow,
.social-page__nursery-card .social-page__nursery-body h2,
.social-page__nursery-card .social-page__google-proof-value {
    color: var(--social-card-accent);
}

.social-page__links {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.35rem;
    align-self: end;
    width: 100%;
}

.social-page__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 3.1rem;
    padding: 0.85rem 1.1rem;
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-weight: 700;
    text-align: center;
    box-shadow: 0 12px 24px rgba(24, 56, 71, 0.1);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.social-page__link:hover,
.social-page__link:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(24, 56, 71, 0.15);
}

.social-page__link span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.social-page__link svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.social-page__link--facebook {
    background: rgba(0, 147, 190, 0.1);
    color: var(--sea);
}

.social-page__link--instagram {
    background: rgba(213, 0, 127, 0.1);
    color: var(--coral);
}

.social-page__link--google {
    background: rgba(255, 212, 68, 0.22);
}

.social-page__google-proof {
    display: grid;
    gap: 0.4rem;
    width: 100%;
    padding: 1rem 1.1rem;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid color-mix(in srgb, var(--social-card-accent) 18%, white);
    box-shadow: 0 14px 28px rgba(24, 56, 71, 0.08);
}

.social-page__google-proof-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.social-page__google-proof-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.14rem;
    flex-wrap: nowrap;
}

.social-page__google-proof-star {
    position: relative;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    color: #f7e6a3;
}

.social-page__google-proof-count {
    margin: 0;
    color: var(--ink-soft);
}

.social-page__google-proof-star-base,
.social-page__google-proof-star-fill {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

.social-page__google-proof-star-fill-wrap {
    position: absolute;
    inset: 0;
    width: var(--star-fill, 0%);
    overflow: hidden;
    color: #f4c537;
}

.lpt-star-fill-0 { --star-fill: 0%; }
.lpt-star-fill-1 { --star-fill: 1%; }
.lpt-star-fill-2 { --star-fill: 2%; }
.lpt-star-fill-3 { --star-fill: 3%; }
.lpt-star-fill-4 { --star-fill: 4%; }
.lpt-star-fill-5 { --star-fill: 5%; }
.lpt-star-fill-6 { --star-fill: 6%; }
.lpt-star-fill-7 { --star-fill: 7%; }
.lpt-star-fill-8 { --star-fill: 8%; }
.lpt-star-fill-9 { --star-fill: 9%; }
.lpt-star-fill-10 { --star-fill: 10%; }
.lpt-star-fill-11 { --star-fill: 11%; }
.lpt-star-fill-12 { --star-fill: 12%; }
.lpt-star-fill-13 { --star-fill: 13%; }
.lpt-star-fill-14 { --star-fill: 14%; }
.lpt-star-fill-15 { --star-fill: 15%; }
.lpt-star-fill-16 { --star-fill: 16%; }
.lpt-star-fill-17 { --star-fill: 17%; }
.lpt-star-fill-18 { --star-fill: 18%; }
.lpt-star-fill-19 { --star-fill: 19%; }
.lpt-star-fill-20 { --star-fill: 20%; }
.lpt-star-fill-21 { --star-fill: 21%; }
.lpt-star-fill-22 { --star-fill: 22%; }
.lpt-star-fill-23 { --star-fill: 23%; }
.lpt-star-fill-24 { --star-fill: 24%; }
.lpt-star-fill-25 { --star-fill: 25%; }
.lpt-star-fill-26 { --star-fill: 26%; }
.lpt-star-fill-27 { --star-fill: 27%; }
.lpt-star-fill-28 { --star-fill: 28%; }
.lpt-star-fill-29 { --star-fill: 29%; }
.lpt-star-fill-30 { --star-fill: 30%; }
.lpt-star-fill-31 { --star-fill: 31%; }
.lpt-star-fill-32 { --star-fill: 32%; }
.lpt-star-fill-33 { --star-fill: 33%; }
.lpt-star-fill-34 { --star-fill: 34%; }
.lpt-star-fill-35 { --star-fill: 35%; }
.lpt-star-fill-36 { --star-fill: 36%; }
.lpt-star-fill-37 { --star-fill: 37%; }
.lpt-star-fill-38 { --star-fill: 38%; }
.lpt-star-fill-39 { --star-fill: 39%; }
.lpt-star-fill-40 { --star-fill: 40%; }
.lpt-star-fill-41 { --star-fill: 41%; }
.lpt-star-fill-42 { --star-fill: 42%; }
.lpt-star-fill-43 { --star-fill: 43%; }
.lpt-star-fill-44 { --star-fill: 44%; }
.lpt-star-fill-45 { --star-fill: 45%; }
.lpt-star-fill-46 { --star-fill: 46%; }
.lpt-star-fill-47 { --star-fill: 47%; }
.lpt-star-fill-48 { --star-fill: 48%; }
.lpt-star-fill-49 { --star-fill: 49%; }
.lpt-star-fill-50 { --star-fill: 50%; }
.lpt-star-fill-51 { --star-fill: 51%; }
.lpt-star-fill-52 { --star-fill: 52%; }
.lpt-star-fill-53 { --star-fill: 53%; }
.lpt-star-fill-54 { --star-fill: 54%; }
.lpt-star-fill-55 { --star-fill: 55%; }
.lpt-star-fill-56 { --star-fill: 56%; }
.lpt-star-fill-57 { --star-fill: 57%; }
.lpt-star-fill-58 { --star-fill: 58%; }
.lpt-star-fill-59 { --star-fill: 59%; }
.lpt-star-fill-60 { --star-fill: 60%; }
.lpt-star-fill-61 { --star-fill: 61%; }
.lpt-star-fill-62 { --star-fill: 62%; }
.lpt-star-fill-63 { --star-fill: 63%; }
.lpt-star-fill-64 { --star-fill: 64%; }
.lpt-star-fill-65 { --star-fill: 65%; }
.lpt-star-fill-66 { --star-fill: 66%; }
.lpt-star-fill-67 { --star-fill: 67%; }
.lpt-star-fill-68 { --star-fill: 68%; }
.lpt-star-fill-69 { --star-fill: 69%; }
.lpt-star-fill-70 { --star-fill: 70%; }
.lpt-star-fill-71 { --star-fill: 71%; }
.lpt-star-fill-72 { --star-fill: 72%; }
.lpt-star-fill-73 { --star-fill: 73%; }
.lpt-star-fill-74 { --star-fill: 74%; }
.lpt-star-fill-75 { --star-fill: 75%; }
.lpt-star-fill-76 { --star-fill: 76%; }
.lpt-star-fill-77 { --star-fill: 77%; }
.lpt-star-fill-78 { --star-fill: 78%; }
.lpt-star-fill-79 { --star-fill: 79%; }
.lpt-star-fill-80 { --star-fill: 80%; }
.lpt-star-fill-81 { --star-fill: 81%; }
.lpt-star-fill-82 { --star-fill: 82%; }
.lpt-star-fill-83 { --star-fill: 83%; }
.lpt-star-fill-84 { --star-fill: 84%; }
.lpt-star-fill-85 { --star-fill: 85%; }
.lpt-star-fill-86 { --star-fill: 86%; }
.lpt-star-fill-87 { --star-fill: 87%; }
.lpt-star-fill-88 { --star-fill: 88%; }
.lpt-star-fill-89 { --star-fill: 89%; }
.lpt-star-fill-90 { --star-fill: 90%; }
.lpt-star-fill-91 { --star-fill: 91%; }
.lpt-star-fill-92 { --star-fill: 92%; }
.lpt-star-fill-93 { --star-fill: 93%; }
.lpt-star-fill-94 { --star-fill: 94%; }
.lpt-star-fill-95 { --star-fill: 95%; }
.lpt-star-fill-96 { --star-fill: 96%; }
.lpt-star-fill-97 { --star-fill: 97%; }
.lpt-star-fill-98 { --star-fill: 98%; }
.lpt-star-fill-99 { --star-fill: 99%; }
.lpt-star-fill-100 { --star-fill: 100%; }

.nursery-local-focus .card {
    overflow: hidden;
}

.nursery-local-focus .card .card-body {
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.08), rgba(255, 255, 255, 0.98));
}

.nursery-local-focus--kayl .card {
    border-color: rgba(149, 193, 31, 0.18);
    box-shadow: 0 22px 48px rgba(149, 193, 31, 0.08);
}

.nursery-local-focus--kayl .card .card-body {
    background: linear-gradient(180deg, rgba(149, 193, 31, 0.13), rgba(255, 255, 255, 0.98));
}

.nursery-local-focus--itzig .card {
    border-color: rgba(0, 147, 190, 0.18);
    box-shadow: 0 22px 48px rgba(0, 147, 190, 0.08);
}

.nursery-local-focus--itzig .card .card-body {
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.08), rgba(255, 255, 255, 0.98));
}

.nursery-local-focus--brouch .card {
    border-color: rgba(213, 0, 127, 0.18);
    box-shadow: 0 22px 48px rgba(213, 0, 127, 0.08);
}

.nursery-local-focus--brouch .card .card-body {
    background: linear-gradient(180deg, rgba(213, 0, 127, 0.08), rgba(255, 255, 255, 0.98));
}

@media (max-width: 980px) {
    .social-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .social-page__lead {
        font-size: 1rem;
        line-height: 1.65;
    }

    .social-page__grid {
        grid-template-columns: 1fr;
    }

    .social-page__nursery-card {
        border-radius: 1.7rem;
    }

    .social-page__review-banner {
        top: 0.75rem;
        left: 0.75rem;
        right: 0.75rem;
        padding: 0.72rem 0.8rem;
    }

    .social-page__review-banner-quote {
        font-size: 0.9rem;
    }

    .social-page__nursery-body {
        grid-template-rows: auto auto auto auto;
        height: auto;
    }

    .social-page__nursery-body h2,
    .social-page__nursery-summary,
    .social-page__review-inline {
        min-block-size: 0;
    }

    .social-page__review-inline {
        padding: 0.9rem;
    }

    .social-page__review-inline-quote {
        font-size: 0.95rem;
    }

    .social-page__links {
        gap: 0.6rem;
    }

    .social-page__link {
        min-height: 3rem;
        padding: 0.82rem 1rem;
        font-size: 0.95rem;
    }
}

.home-ideal__content h2,
.home-section-title {
    margin: 0 0 1.65rem;
    color: var(--coral);
    font-size: clamp(2rem, 3vw, 2.7rem);
    text-align: left;
}

.home-ideal__content h2 {
    color: #ffffff;
}

.home-ideal__text {
    max-width: 39rem;
    text-align: justify;
    color: #ffffff;
}

.home-ideal__text strong {
    color: #ffffff;
}

.home-ideal__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 18px;
    font-weight: 600;
    transition: background 180ms ease, transform 180ms ease;
}

.home-ideal__cta:hover,
.home-ideal__cta:focus-visible {
    transform: translateY(-1px);
}

.home-places-section {
    padding: 0 0 1.4rem;
}

.home-places {
    max-width: 93rem;
    margin: 0 auto;
    padding: 1.5rem;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 1.35rem;
    background: linear-gradient(180deg, rgba(221, 244, 251, 0.56), rgba(255, 255, 255, 0.98));
    box-shadow: 0 18px 36px rgba(15, 52, 67, 0.09);
}

.home-places__head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.1rem;
}

.home-places__mascot img {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: contain;
}

.home-places h2 {
    margin: 0;
    color: #16313a;
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    text-align: left;
}

.home-places__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-places__item {
    min-width: 0;
    padding: 1rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.08), rgba(221, 244, 251, 0.48));
    text-align: center;
}

.home-places__item img {
    width: 2.8rem;
    height: 2.8rem;
    margin: 0 auto 0.45rem;
    object-fit: contain;
}

.home-places__item h3 {
    margin: 0.35rem 0 0.25rem;
    color: #16313a;
    font-size: 1.15rem;
    font-family: "Bubblegum Sans", cursive;
}

.home-places__count {
    margin: 0.12rem 0;
    color: #16313a;
    font-size: 1.05rem;
    line-height: 1.55;
}

.home-places__note {
    margin: 0.12rem 0;
    color: #46646f;
    font-size: 0.98rem;
    line-height: 1.55;
}

.home-places__actions {
    justify-content: center;
    margin-top: 1.15rem;
}

.home-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 571px;
    border-radius: 10px;
    overflow: hidden;
}

.home-accordion__panel {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
    transition: flex 240ms ease;
    box-shadow: none;
}

.home-accordion__panel + .home-accordion__panel {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.home-accordion__panel:hover,
.home-accordion__panel:focus-within {
    flex: 2 1 0;
}

.home-accordion__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-accordion__image--empty {
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.18), rgba(255, 255, 255, 0.82));
}

.home-accordion__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1.4rem;
    text-align: center;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.58) 0%, rgba(0, 147, 190, 0.78) 100%);
}

.home-accordion__overlay h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.65rem, 2.4vw, 1.95rem);
    font-weight: 800;
    text-shadow: 0.08em 0.08em 0.08em rgba(0, 0, 0, 0.93);
}

.home-accordion__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    padding: 0.72rem 1.35rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 147, 190, 0.16);
    background: #ffffff;
    color: var(--sea);
    font-weight: 700;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.home-accordion__link:hover,
.home-accordion__link:focus-visible {
    background: #ffffff;
    color: var(--sea);
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

.home-accordion__link:active {
    background: var(--sea);
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

.home-commitments {
    padding: 2vw 0 22px;
}

.home-commitments__grid,
.home-activities__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.home-commitment,
.home-activity {
    text-align: center;
}

.home-commitment img {
    width: 84px;
    height: 84px;
    object-fit: contain;
    margin: 0 auto 1rem;
}

.home-commitment h3 {
    margin: 0;
    color: #000000;
    font-family: "Quicksand", "Segoe UI", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.6;
}

.home-activities {
    padding: 17px 0 26px;
}

.home-activities__grid {
    align-items: stretch;
}

.home-activity {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 400px;
    padding: 28px 24px;
    border-radius: 28px;
    color: #ffffff;
}

.home-activity--1 {
    background: #95c11f;
}

.home-activity--2 {
    background: #ffd444;
}

.home-activity--3 {
    background: #d5007f;
}

.home-activity--4 {
    background: #0093be;
}

.home-activity__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    margin-bottom: 1.2rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 22px rgba(15, 85, 104, 0.08);
}

.home-activity__icon svg {
    width: 46px;
    height: 46px;
    fill: currentColor;
}

.home-activity--1 .home-activity__icon { color: #95c11f; }
.home-activity--2 .home-activity__icon { color: #ffc629; }
.home-activity--3 .home-activity__icon { color: #d5007f; }
.home-activity--4 .home-activity__icon { color: #0093be; }

.home-activity h3 {
    margin: 0 0 0.85rem;
    color: #ffffff;
    font-family: "Schoolbell", "Comic Sans MS", "Trebuchet MS", cursive;
    font-size: 1.65rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
}

.home-activity p {
    margin: 0;
    color: #ffffff;
    line-height: 1.6;
    text-align: left;
}

@media (max-width: 1100px) {
    .home-ideal__grid {
        grid-template-columns: 1fr;
    }

    .home-accordion {
        height: 520px;
    }
}

@media (max-width: 980px) {
    .home-intro__grid,
    .home-commitments__grid,
    .home-activities__grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-intro__media {
        order: -1;
    }

    .home-ideal__content h2,
    .home-section-title {
        text-align: center;
    }
}

@media (max-width: 820px) {
    .home-accordion {
        height: auto;
    }

    .home-accordion__panel,
    .home-accordion__panel:hover,
    .home-accordion__panel:focus-within {
        flex: none;
        min-height: 240px;
    }
}

@media (max-width: 767px) {
    .home-intro {
        padding-top: 12px;
        padding-bottom: 14px;
    }

    .home-intro__grid {
        grid-template-columns: 1fr;
        gap: 0.9rem;
    }

    .home-intro__media {
        display: none;
    }

    .home-commitments__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem 0.8rem;
    }

    .home-activities__grid {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(82%, 1fr);
        gap: 0.9rem;
        overflow-x: auto;
        align-items: stretch;
        padding-bottom: 0.2rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .home-ideal {
        padding-top: 34px;
        padding-bottom: 34px;
        background: linear-gradient(180deg, #0093be 0%, #2aa5cb 58%, #e9f8fc 100%);
    }

    .home-places-section {
        padding-bottom: 1rem;
    }

    .home-intro__body,
    .home-ideal__text {
        text-align: left;
    }

    .home-ideal__content h2,
    .home-section-title {
        text-align: center;
        margin-bottom: 1.05rem;
    }

    .home-ideal__content::before {
        background-position: center 36%;
        background-size: min(78%, 20rem);
        opacity: 0.18;
    }

    .home-intro__illustration {
        width: min(100%, 9.75rem);
    }

    .home-intro__copy h1 {
        font-size: clamp(2rem, 9vw, 2.65rem);
        line-height: 1.04;
    }

    .home-intro__copy h2 {
        margin-bottom: 0.7rem;
        font-size: 1.05rem;
    }

    .home-intro__highlights {
        gap: 0.45rem;
        margin-top: 0.8rem;
    }

    .home-intro__highlights span {
        padding: 0.42rem 0.72rem;
        font-size: 0.82rem;
    }

    .home-mobile-testimonials {
        display: grid;
        gap: 0.75rem;
        margin-top: 1rem;
    }

    .home-mobile-testimonials__title {
        margin: 0;
        color: var(--coral);
        font-size: clamp(1.45rem, 6.6vw, 1.8rem);
        line-height: 1.06;
        text-align: left;
    }

    .home-mobile-testimonials__list {
        display: grid;
        gap: 0.7rem;
    }

    .home-mobile-testimonials__item {
        display: grid;
        gap: 0.36rem;
        padding: 0.9rem 0.95rem;
        border: 1px solid rgba(22, 49, 58, 0.08);
        border-radius: 1.2rem;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 14px 28px rgba(15, 52, 67, 0.07);
    }

    .home-mobile-testimonials__label {
        color: var(--lime);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .home-mobile-testimonials__quote {
        display: -webkit-box;
        overflow: hidden;
        margin: 0;
        color: var(--ink);
        font-size: 0.93rem;
        font-weight: 700;
        line-height: 1.48;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .home-mobile-testimonials__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.3rem 0.65rem;
        align-items: center;
        color: var(--ink-soft);
        font-size: 0.82rem;
        line-height: 1.4;
    }

    .home-mobile-testimonials__author,
    .home-mobile-testimonials__author:visited {
        color: var(--ink);
        font-weight: 700;
        text-decoration: none;
    }

    .home-mobile-testimonials__stars {
        margin-left: auto;
    }

    .home-mobile-testimonials__time {
        color: var(--ink-soft);
    }

    .home-mobile-testimonials .nursery-hero__google-proof-star {
        width: 0.9rem;
        height: 0.9rem;
    }

    .home-ideal__cta {
        padding: 0.8rem 1.25rem;
        font-size: 1rem;
    }

    .home-intro__illustration {
        display: none;
    }

    .home-intro__facade-menu {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.8rem;
        width: min(100%, 20rem);
        margin: 0 auto;
    }

    .home-intro__facades {
        display: block;
        position: relative;
        width: 100%;
        height: 14.7rem;
        perspective: 1100px;
        touch-action: pan-y pinch-zoom;
    }

    .home-intro__facade {
        position: absolute;
        top: 0.45rem;
        left: 50%;
        width: 66%;
        height: 80%;
        overflow: hidden;
        border-radius: 1rem;
        box-shadow: 0 16px 30px rgba(15, 85, 104, 0.16);
        border: 3px solid rgba(255, 255, 255, 0.94);
        background: #ffffff;
        transform-origin: center center;
        transition: transform 260ms ease, opacity 220ms ease, box-shadow 220ms ease, filter 220ms ease;
        will-change: transform;
    }

    .home-intro__facade::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(11, 77, 96, 0.04) 18%, rgba(11, 77, 96, 0.2) 100%);
        pointer-events: none;
    }

    .home-intro__facade.is-active {
        z-index: 3;
        opacity: 1;
        filter: none;
        box-shadow: 0 18px 34px rgba(15, 85, 104, 0.18);
        transform: translateX(-50%) rotateY(0deg) rotateZ(-1deg) scale(1);
    }

    .home-intro__facade.is-left {
        z-index: 2;
        opacity: 0.96;
        filter: saturate(0.94);
        transform: translateX(calc(-50% - 4.8rem)) rotateY(42deg) rotateZ(-7deg) scale(0.88);
    }

    .home-intro__facade.is-right {
        z-index: 1;
        opacity: 0.96;
        filter: saturate(0.94);
        transform: translateX(calc(-50% + 4.8rem)) rotateY(-42deg) rotateZ(7deg) scale(0.88);
    }

    .home-intro__facade.is-hidden {
        z-index: 0;
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%) scale(0.8);
    }

    .home-intro__facade-dots {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
    }

    .home-intro__facade-dot {
        width: 0.55rem;
        height: 0.55rem;
        border: 0;
        border-radius: 999px;
        background: rgba(0, 147, 190, 0.22);
        transition: transform 180ms ease, background 180ms ease;
    }

    .home-intro__facade-dot.is-active {
        background: #0093be;
        transform: scale(1.2);
    }

    .home-places {
        padding: 1.15rem;
    }

    .home-places__mascot img {
        width: 3.3rem;
        height: 3.3rem;
    }

    .home-places h2 {
        font-size: 1.55rem;
    }

    .home-places__grid {
        display: flex;
        gap: 0.85rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0.15rem;
        padding-inline: 0.15rem;
        padding-bottom: 0.3rem;
        -webkit-overflow-scrolling: touch;
    }

    .home-places__item {
        flex: 0 0 min(15rem, calc(100vw - 4.4rem));
        min-width: 0;
        scroll-snap-align: start;
    }

    .home-places__item img {
        width: 2.8rem;
        height: 2.8rem;
        margin: 0 auto 0.45rem;
    }

    .home-places__item h3 {
        margin: 0.35rem 0 0.25rem;
        font-size: 1.15rem;
    }

    .home-places__count {
        font-size: 1.02rem;
        text-align: center;
        white-space: normal;
    }

    .home-places__note {
        margin-top: 0.12rem;
        font-size: 0.92rem;
        line-height: 1.45;
    }

    .home-accordion {
        display: none;
    }

    .home-commitments {
        padding-top: 0;
        padding-bottom: 12px;
    }

    .home-commitment {
        padding: 0.2rem 0.1rem;
    }

    .home-commitment img {
        width: 56px;
        height: 56px;
        margin-bottom: 0.45rem;
    }

    .home-commitment h3 {
        font-size: 0.92rem;
        line-height: 1.35;
    }

    .home-activities {
        padding-top: 10px;
    }

    .home-activity {
        min-height: 215px;
        padding: 1.15rem 0.95rem;
        border-radius: 1.2rem;
        scroll-snap-align: start;
        transform: none !important;
    }

    .home-activity__icon {
        width: 54px;
        height: 54px;
        margin-bottom: 0.7rem;
    }

    .home-activity__icon svg {
        width: 30px;
        height: 30px;
    }

    .home-activity h3 {
        margin-bottom: 0.55rem;
        font-size: 1.2rem;
        line-height: 1.3;
    }

    .home-activity p {
        font-size: 0.9rem;
        line-height: 1.45;
    }
}

@media (max-width: 640px) {
    .home-accordion__overlay {
        padding: 1rem;
    }

    .home-accordion__overlay h3 {
        font-size: clamp(1.4rem, 7vw, 1.75rem);
    }

    .home-activities__grid {
        grid-auto-columns: minmax(88%, 1fr);
    }
}

@media (max-width: 420px) {
    .home-commitments__grid {
        gap: 0.75rem 0.65rem;
    }

    .home-commitment img {
        width: 50px;
        height: 50px;
    }

    .home-commitment h3 {
        font-size: 0.88rem;
    }

    .home-places {
        padding: 0.85rem 0.85rem;
    }

    .home-places__head {
        gap: 0.75rem;
        margin-bottom: 0.95rem;
    }

    .home-places h2 {
        font-size: 1.2rem;
    }

    .home-places__grid {
        gap: 0.75rem;
    }

    .home-places__item {
        flex-basis: min(14.2rem, calc(100vw - 4rem));
    }

    .home-activities__grid {
        grid-auto-columns: minmax(90%, 1fr);
    }

    .home-intro__facades {
        height: 12.9rem;
    }

    .home-intro__facade-label {
        left: 0.45rem;
        right: 0.45rem;
        bottom: 0.45rem;
        padding: 0.28rem 0.48rem;
        font-size: 0.7rem;
    }

    .home-intro__facade.is-left {
        transform: translateX(calc(-50% - 4rem)) rotateY(40deg) rotateZ(-6deg) scale(0.86);
    }

    .home-intro__facade.is-right {
        transform: translateX(calc(-50% + 4rem)) rotateY(-40deg) rotateZ(6deg) scale(0.86);
    }
}

.nursery-hero {
    padding-top: 52px;
}

.nursery-hero-grid {
    grid-template-columns: minmax(0, 1.26fr) minmax(320px, 0.74fr);
    align-items: center;
    gap: 44px;
}

.nursery-hero__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.nursery-hero__copy {
    min-width: 0;
}

.nursery-hero__copy h1 {
    font-size: clamp(2.9rem, 3.55vw, 4.25rem);
    line-height: 0.96;
    letter-spacing: -0.01em;
    white-space: normal;
    margin-bottom: 1.15rem;
}

.nursery-hero__title-context {
    display: inline-block;
    font-size: 0.54em;
    line-height: 1;
    vertical-align: 0.08em;
}

.nursery-hero__availability {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    background: rgba(149, 193, 31, 0.12);
    color: var(--green);
    border: 1px solid rgba(149, 193, 31, 0.24);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.35;
}

.nursery-hero__availability-count {
    color: var(--green);
}

.nursery-hero__availability-note {
    color: #5f737b;
    font-weight: 600;
}

.nursery-hero__availability-note::before {
    content: "-";
    color: rgba(22, 49, 58, 0.35);
    margin-right: 0.5rem;
}

.nursery-hero__location-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.58rem 1rem;
    border: 1px solid rgba(0, 147, 190, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: var(--sea);
    box-shadow: 0 12px 24px rgba(0, 147, 190, 0.14);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.nursery-hero__location-link:hover,
.nursery-hero__location-link:focus-visible {
    background: #ffffff;
    color: var(--sea);
    box-shadow: 0 16px 30px rgba(0, 147, 190, 0.2);
    transform: translateY(-1px);
}

.nursery-hero__location-link--stacked {
    width: fit-content;
    margin: -0.55rem 0 1rem;
}

.nursery-hero__copy .rich-text {
    max-width: 68ch;
}

.nursery-hero__body {
    font-size: 1.16rem;
}

.nursery-hero__body p {
    max-width: 60ch;
}

.nursery-hero__body p + p {
    margin-top: 0.9rem;
}

.nursery-hero__media {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 18px 10px 10px;
}

.nursery-hero__media-stack {
    position: relative;
    width: 100%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.nursery-hero__media picture {
    display: block;
    width: 100%;
    max-width: 560px;
}

.nursery-hero__media img {
    position: relative;
    border-radius: 34px;
    box-shadow: 0 28px 54px rgba(22, 49, 58, 0.14);
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    max-width: 560px;
    transform: rotate(-4deg);
    border: 10px solid #ffffff;
    background: #ffffff;
}

.nursery-hero__google-proof {
    --nursery-google-proof-accent: var(--sea);
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
    display: grid;
    gap: 0.45rem;
    width: min(18rem, 100%);
    padding: 0.95rem 1rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(22, 49, 58, 0.12);
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.14);
    color: var(--ink);
    text-decoration: none;
    backdrop-filter: blur(10px);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.nursery-hero__google-proof:hover,
.nursery-hero__google-proof:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 22px 40px rgba(22, 49, 58, 0.16);
}

.nursery-hero__google-proof--kayl {
    --nursery-google-proof-accent: var(--green);
    border-color: rgba(149, 193, 31, 0.26);
}

.nursery-hero__google-proof--itzig {
    --nursery-google-proof-accent: var(--sea);
    border-color: rgba(0, 147, 190, 0.22);
}

.nursery-hero__google-proof--brouch {
    --nursery-google-proof-accent: var(--coral);
    border-color: rgba(213, 0, 127, 0.2);
}

.nursery-hero__google-proof-badge {
    color: var(--nursery-google-proof-accent);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.nursery-hero__google-proof-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}

.nursery-hero__google-proof-value {
    color: var(--nursery-google-proof-accent);
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1;
}

.nursery-hero__google-proof-stars {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
}

.nursery-hero__google-proof-star {
    position: relative;
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    color: #f7e6a3;
}

.nursery-hero__google-proof-star-base,
.nursery-hero__google-proof-star-fill {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}

.nursery-hero__google-proof-star-fill-wrap {
    position: absolute;
    inset: 0;
    width: var(--star-fill, 0%);
    overflow: hidden;
    color: #f4c537;
}

.nursery-hero__google-proof-count {
    color: var(--ink-soft);
    font-size: 0.95rem;
    line-height: 1.45;
}

@media (max-width: 680px) {
    .nursery-hero-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .nursery-hero__copy,
    .nursery-hero__body,
    .nursery-hero__body p,
    .nursery-hero__media {
        width: 100%;
        max-width: none;
    }

    .nursery-hero__copy {
        order: 1;
    }

    .nursery-hero__media {
        order: 2;
    }

    .nursery-hero__copy h1 {
        white-space: normal;
        font-size: clamp(2.7rem, 13vw, 4.15rem);
        line-height: 0.98;
        min-height: calc(0.98em * 2);
    }

    .nursery-hero__title-context {
        display: block;
        margin-top: 0.08em;
        font-size: 0.5em;
        line-height: 1;
        vertical-align: baseline;
    }

    .nursery-hero__meta {
        gap: 0.45rem;
        margin-bottom: 0.4rem;
    }

    .nursery-hero__media {
        padding: 10px 4px 4px;
    }

    .nursery-hero__media img {
        max-width: 100%;
        border-width: 8px;
        transform: rotate(-2.5deg);
    }

    .nursery-hero__availability {
        width: 100%;
        justify-content: flex-start;
        padding: 0.38rem 0.65rem;
        font-size: 0.74rem;
    }

    .nursery-hero__availability-note::before {
        margin-right: 0.35rem;
    }

    .nursery-hero__location-link {
        min-height: 2.2rem;
        padding: 0.5rem 0.9rem;
        font-size: 0.85rem;
    }

    .nursery-hero__location-link--stacked {
        margin-top: -0.45rem;
    }
}

.nursery-groups {
    padding-top: 18px;
}

.nursery-group {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 28px 20px;
    box-shadow: var(--shadow);
    text-align: center;
    cursor: default;
}

.nursery-group__icon,
.nursery-service__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: rgba(0, 147, 190, 0.12);
    color: var(--sea);
}

.nursery-group__icon img,
.nursery-service__icon svg {
    width: 48px;
    height: 48px;
}

.nursery-group__icon img {
    width: 62px;
    height: 62px;
    object-fit: contain;
}

.nursery-service__icon svg {
    fill: currentColor;
}

.nursery-group h3 {
    margin-bottom: 0;
    color: var(--coral);
    font-size: 1.55rem;
}

.nursery-group--tone-1,
.nursery-service--tone-1 {
    --nursery-tone: #95c11f;
    --nursery-surface: linear-gradient(180deg, #f4fadc 0%, #ffffff 100%);
    --nursery-shadow: rgba(149, 193, 31, 0.12);
    --nursery-border: rgba(149, 193, 31, 0.28);
}

.nursery-group--tone-2,
.nursery-service--tone-2 {
    --nursery-tone: #ffd444;
    --nursery-surface: linear-gradient(180deg, #fff8dc 0%, #ffffff 100%);
    --nursery-shadow: rgba(255, 196, 61, 0.12);
    --nursery-border: rgba(255, 196, 61, 0.28);
}

.nursery-group--tone-3,
.nursery-service--tone-3 {
    --nursery-tone: #d5007f;
    --nursery-surface: linear-gradient(180deg, #fff0f7 0%, #ffffff 100%);
    --nursery-shadow: rgba(213, 0, 127, 0.12);
    --nursery-border: rgba(213, 0, 127, 0.24);
}

.nursery-group--tone-4,
.nursery-service--tone-4 {
    --nursery-tone: #0093be;
    --nursery-surface: linear-gradient(180deg, #edf8fc 0%, #ffffff 100%);
    --nursery-shadow: rgba(0, 147, 190, 0.12);
    --nursery-border: rgba(0, 147, 190, 0.24);
}

.nursery-service--tone-1 {
    --nursery-surface: #95c11f;
    --nursery-shadow: rgba(149, 193, 31, 0.24);
    --nursery-border: rgba(149, 193, 31, 0.22);
}

.nursery-service--tone-2 {
    --nursery-surface: #ffd444;
    --nursery-shadow: rgba(255, 196, 61, 0.24);
    --nursery-border: rgba(255, 196, 61, 0.22);
}

.nursery-service--tone-3 {
    --nursery-surface: #d5007f;
    --nursery-shadow: rgba(213, 0, 127, 0.22);
    --nursery-border: rgba(213, 0, 127, 0.2);
}

.nursery-service--tone-4 {
    --nursery-surface: #0093be;
    --nursery-shadow: rgba(0, 147, 190, 0.22);
    --nursery-border: rgba(0, 147, 190, 0.2);
}

.nursery-group[class*="nursery-group--tone-"] {
    border-color: var(--nursery-border, var(--line));
    background: var(--nursery-surface, rgba(255, 255, 255, 0.94));
    box-shadow: none;
}

.nursery-group[class*="nursery-group--tone-"] .nursery-group__icon {
    background: transparent;
    color: var(--nursery-tone, var(--sea));
    box-shadow: none;
}

.nursery-groups__highlight {
    margin-top: 0.85rem;
    color: var(--sea);
    font-weight: 700;
    line-height: 1.55;
}

.nursery-service[class*="nursery-service--tone-"] {
    border-color: var(--nursery-border, var(--line));
    background: var(--nursery-surface, rgba(255, 255, 255, 0.94));
    box-shadow: 0 18px 36px var(--nursery-shadow, rgba(22, 49, 58, 0.1));
}

.nursery-service[class*="nursery-service--tone-"] .nursery-service__icon {
    background: rgba(255, 255, 255, 0.92);
    color: var(--nursery-tone, var(--sea));
    box-shadow: 0 10px 22px rgba(15, 85, 104, 0.08);
}

.nursery-service--tone-1 h3,
.nursery-service--tone-2 h3,
.nursery-service--tone-3 h3,
.nursery-service--tone-4 h3,
.nursery-service--tone-1 .rich-text,
.nursery-service--tone-2 .rich-text,
.nursery-service--tone-3 .rich-text,
.nursery-service--tone-4 .rich-text,
.nursery-service--tone-1 .rich-text p,
.nursery-service--tone-2 .rich-text p,
.nursery-service--tone-3 .rich-text p,
.nursery-service--tone-4 .rich-text p,
.nursery-service--tone-1 .nursery-service__link,
.nursery-service--tone-2 .nursery-service__link,
.nursery-service--tone-3 .nursery-service__link,
.nursery-service--tone-4 .nursery-service__link {
    color: #ffffff;
}

.nursery-service--tone-1 .nursery-service__link,
.nursery-service--tone-2 .nursery-service__link,
.nursery-service--tone-3 .nursery-service__link,
.nursery-service--tone-4 .nursery-service__link {
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.6);
}

.nursery-gallery {
    padding-top: 8px;
}

.nursery-gallery .section-head.centered {
    margin-bottom: 20px;
}

.nursery-gallery__intro {
    max-width: 44rem;
}

.nursery-gallery__toggle {
    appearance: none;
    align-items: center;
    border: 1px solid rgba(0, 147, 190, 0.18);
    background: var(--sea);
    color: #ffffff;
    border-radius: 999px;
    display: inline-flex;
    gap: 0.65rem;
    justify-content: center;
    padding: 14px 24px;
    font: inherit;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.nursery-gallery__toggle::before,
.nursery-gallery__toggle::after {
    content: "";
    flex: 0 0 auto;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.96);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1.28rem 1.28rem;
    box-shadow: 0 8px 18px rgba(22, 49, 58, 0.14);
}

.nursery-gallery__toggle::before {
    background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20fill%3D%27%230093be%27%20d%3D%27M9.2%204.2h5.6l1.35%202H19a3%203%200%200%201%203%203v7.6a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V9.2a3%203%200%200%201%203-3h2.85l1.35-2Zm2.8%204.25a4.15%204.15%200%201%200%200%208.3%204.15%204.15%200%200%200%200-8.3Zm0%202a2.15%202.15%200%201%201%200%204.3%202.15%202.15%200%200%201%200-4.3Z%27/%3E%3C/svg%3E");
}

.nursery-gallery__toggle::after {
    background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20fill%3D%27%230093be%27%20d%3D%27M4%205.5A2.5%202.5%200%200%201%206.5%203h11A2.5%202.5%200%200%201%2020%205.5v13a2.5%202.5%200%200%201-2.5%202.5h-11A2.5%202.5%200%200%201%204%2018.5v-13Zm2%200v8.35l2.35-2.15a1.4%201.4%200%200%201%201.9.02l1.45%201.35%202.45-2.75a1.4%201.4%200%200%201%202.1%200L18%2012.3V5.5a.5.5%200%200%200-.5-.5h-11a.5.5%200%200%200-.5.5Zm12%209.8-2.8-3.15-2.35%202.65a1.4%201.4%200%200%201-2.02.08l-1.55-1.45L6%2016.43v2.07a.5.5%200%200%200%20.5.5h11a.5.5%200%200%200%20.5-.5v-3.2ZM9%207.5A1.5%201.5%200%201%201%209%2010.5%201.5%201.5%200%200%201%209%207.5Z%27/%3E%3C/svg%3E");
}

.nursery-gallery__toggle:hover,
.nursery-gallery__toggle:focus-visible {
    background: #007ea2;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(0, 147, 190, 0.22);
}

.nursery-gallery__shell {
    display: grid;
    gap: 22px;
}

.nursery-gallery__shell[hidden] {
    display: none !important;
}

.nursery-gallery__filters {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nursery-gallery__filter {
    appearance: none;
    border: 1px solid rgba(22, 49, 58, 0.1);
    background: rgba(255, 255, 255, 0.94);
    color: var(--ink);
    border-radius: 999px;
    padding: 11px 18px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.nursery-gallery__filter:hover,
.nursery-gallery__filter:focus-visible,
.nursery-gallery__filter.is-active {
    background: var(--sea);
    color: #ffffff;
    transform: translateY(-1px);
}

.nursery-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.nursery-gallery__item {
    margin: 0;
    aspect-ratio: 4 / 3;
    border-radius: 26px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
}

.nursery-gallery__item[hidden] {
    display: none !important;
}

.nursery-gallery__item picture {
    display: block;
    width: 100%;
    height: 100%;
}

.nursery-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nursery-services {
    padding-top: 8px;
}

.nursery-service {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 28px 24px;
    box-shadow: var(--shadow);
}

.nursery-service h3 {
    color: var(--coral);
    font-size: 1.65rem;
}

.nursery-service--tone-1 h3,
.nursery-service--tone-2 h3,
.nursery-service--tone-3 h3,
.nursery-service--tone-4 h3 {
    color: #ffffff;
}

.nursery-service .rich-text p:last-child {
    margin-bottom: 0;
}

.nursery-service__link {
    display: inline-flex;
    margin-top: 1rem;
    color: var(--sea);
    font-weight: 700;
}

.nursery-service__link:hover {
    color: var(--coral);
}

.nursery-closing {
    padding-top: 6px;
}

.nursery-closing__panel {
    padding: 28px 30px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.05), rgba(255, 248, 239, 0.72), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 18px 36px rgba(15, 52, 67, 0.08);
}

.nursery-closing__body {
    text-align: center;
}

.nursery-closing__body p + p {
    margin-top: 1rem;
}

.nursery-closing__actions {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.75rem;
}

.nursery-closing__actions .button-link,
.nursery-closing__actions .btn {
    flex: 1 1 0;
    min-width: 0;
    max-width: 15rem;
    text-align: center;
}

.nursery-closing__cta {
    min-width: 220px;
    background: var(--coral);
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(213, 0, 127, 0.18);
}

.nursery-closing__cta:hover,
.nursery-closing__cta:focus-visible,
.nursery-closing__cta:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(213, 0, 127, 0.24);
}

.nursery-closing__actions .btn-secondary {
    background: var(--sea);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
}

.nursery-closing__actions .btn-secondary:hover,
.nursery-closing__actions .btn-secondary:focus-visible,
.nursery-closing__actions .btn-secondary:active {
    color: #ffffff;
    box-shadow: 0 18px 34px rgba(0, 147, 190, 0.24);
}

@media (max-width: 1100px) {
    .nursery-gallery__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .nursery-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .nursery-groups__grid,
    .nursery-services__grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        gap: 0.9rem;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 0.2rem;
        padding-inline: 0.05rem;
        justify-content: flex-start;
        align-items: stretch;
        scroll-snap-type: x proximity;
        scroll-padding-inline: 0.05rem;
        -webkit-overflow-scrolling: touch;
    }

    .nursery-groups__grid {
        grid-auto-columns: minmax(13.75rem, 72%);
        gap: 0.75rem;
    }

    .nursery-services__grid {
        grid-auto-columns: minmax(17rem, 84%);
    }

    .nursery-gallery__grid {
        grid-template-columns: 1fr;
    }

    .nursery-group,
    .nursery-service {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-width: 0;
        border-radius: 24px;
        scroll-snap-align: start;
        border: 1px solid var(--nursery-border, rgba(0, 147, 190, 0.24));
        color: var(--ink);
        background: var(--nursery-surface, linear-gradient(180deg, #0093be 0%, #38a9cb 100%));
        box-shadow: 0 14px 30px var(--nursery-shadow, rgba(0, 147, 190, 0.22));
    }

    .nursery-group {
        min-height: 9.75rem;
        padding: 0.95rem 0.85rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .nursery-service {
        min-height: 18.5rem;
        padding: 1.2rem 1rem;
    }

    .nursery-group__icon,
    .nursery-service__icon {
        background: rgba(255, 255, 255, 0.92);
        color: var(--nursery-tone, var(--sea));
        box-shadow: 0 10px 22px rgba(15, 85, 104, 0.08);
    }

    .nursery-group__icon {
        width: 52px;
        height: 52px;
        margin: 0 auto 0.55rem;
        background: transparent;
        box-shadow: none;
        flex: 0 0 auto;
    }

    .nursery-service__icon {
        width: 62px;
        height: 62px;
        margin-bottom: 0.7rem;
    }

    .nursery-group__icon img,
    .nursery-service__icon svg {
        width: 36px;
        height: 36px;
    }

    .nursery-group__icon img {
        width: 46px;
        height: 46px;
    }

    .nursery-group h3,
    .nursery-service h3 {
        margin-top: 0;
        color: var(--coral);
    }

    .nursery-group h3 {
        margin-bottom: 0;
        width: 100%;
        font-size: 1.02rem;
        line-height: 1.18;
    }

    .nursery-service h3 {
        margin-bottom: 0.35rem;
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .nursery-service__icon svg {
        width: 36px;
        height: 36px;
    }

    .nursery-service .rich-text,
    .nursery-service .rich-text p {
        color: var(--ink);
        line-height: 1.5;
    }

    .nursery-service .rich-text {
        flex: 1 1 auto;
    }

    .nursery-service h3,
    .nursery-service .rich-text,
    .nursery-service .rich-text p,
    .nursery-service__link {
        color: #ffffff;
    }

    .nursery-service__link {
        margin-top: 0.7rem;
        text-decoration: underline;
        text-decoration-color: rgba(255, 255, 255, 0.6);
    }

    .nursery-service__link:hover,
    .nursery-service__link:focus-visible {
        color: #ffffff;
    }

    .nursery-groups__highlight {
        margin-top: 0.8rem;
        font-size: 0.95rem;
    }

    .nursery-gallery__toggle {
        gap: 0.5rem;
        width: min(100%, 20rem);
    }

    .nursery-gallery__toggle::before,
    .nursery-gallery__toggle::after {
        width: 1.85rem;
        height: 1.85rem;
        background-size: 1.08rem 1.08rem;
    }
}

@media (max-width: 420px) {
    .nursery-groups__grid {
        grid-auto-columns: minmax(12.6rem, 76%);
    }

    .nursery-group {
        min-height: 9.2rem;
        padding: 0.85rem 0.75rem;
    }

    .nursery-group__icon {
        width: 48px;
        height: 48px;
    }

    .nursery-group__icon img {
        width: 42px;
        height: 42px;
    }

    .nursery-group h3 {
        font-size: 0.96rem;
    }
}

@keyframes lpt-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.home-intro__illustration,
.footer-cta img {
    animation: lpt-float 3.8s ease-in-out infinite;
}

.home-activity,
.nursery-service,
.nursery-gallery__item,
.lpt-team-card,
.lpt-project-value {
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.home-activity:hover,
.nursery-service:hover,
.nursery-service:focus-within,
.nursery-gallery__item:hover,
.lpt-team-card:hover,
.lpt-project-value:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(22, 49, 58, 0.16);
}

.lpt-team-hero {
    padding-top: 48px;
}

.lpt-team-hero__grid,
.lpt-project-hero__grid,
.lpt-project-approach__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
    gap: 32px;
    align-items: center;
}

.lpt-team-hero--text-only .lpt-team-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
}

.lpt-team-hero__media img,
.lpt-project-hero__photo {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: var(--shadow);
}

.lpt-team-section {
    padding-top: 24px;
}

.lpt-team-scroll-hint {
    display: none;
    margin: 0 0 0.9rem;
    color: var(--ink-soft);
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

.lpt-team-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.lpt-team-grid--compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lpt-team-card {
    display: grid;
    grid-template-rows: auto 1fr;
    border-radius: 24px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 18px 38px rgba(22, 49, 58, 0.08);
}

.lpt-team-card__media {
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.14), rgba(255, 255, 255, 0.72));
}

.lpt-team-card__media img,
.lpt-team-card__media-fallback {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
}

.lpt-team-card__media-fallback {
    background: linear-gradient(180deg, rgba(149, 193, 31, 0.18), rgba(0, 147, 190, 0.08));
}

.lpt-team-card__body {
    display: grid;
    gap: 0.5rem;
    padding: 18px 18px 20px;
}

.lpt-team-card__body h3 {
    margin: 0;
    color: var(--sea);
    font-size: 1.55rem;
    line-height: 1.05;
}

.lpt-team-card__role {
    margin: 0;
    color: var(--coral);
    font-weight: 700;
    line-height: 1.45;
}

.lpt-team-card__languages,
.lpt-team-card__meta {
    margin: 0;
    color: var(--ink);
    line-height: 1.55;
}

.lpt-team-card__meta a {
    color: var(--sea);
    font-weight: 700;
}

.lpt-project-hero {
    padding-top: 48px;
}

.lpt-project-hero__copy .lead {
    margin-bottom: 1rem;
}

.lpt-project-hero__media {
    position: relative;
    min-height: 430px;
}

.lpt-project-hero__decor {
    display: none;
}

.lpt-project-hero__photo {
    position: absolute;
    right: 8px;
    left: auto;
    bottom: 0;
    width: min(88%, 500px);
    transform: rotate(-4deg);
    border: 10px solid #fff;
    z-index: 1;
}

.lpt-project-values {
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.04), rgba(255, 255, 255, 0));
}

.lpt-project-section-head {
    margin-bottom: 30px;
}

.lpt-project-shell {
    padding: 30px;
    border-radius: 34px;
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 20px 42px rgba(15, 52, 67, 0.08);
}

.lpt-project-shell--sand {
    background: linear-gradient(180deg, rgba(255, 248, 239, 0.95), rgba(255, 255, 255, 0.98));
}

.lpt-project-shell--sea {
    background: linear-gradient(180deg, rgba(221, 244, 251, 0.86), rgba(255, 255, 255, 0.98));
}

.lpt-project-shell--sun {
    background: linear-gradient(180deg, rgba(255, 212, 68, 0.14), rgba(255, 255, 255, 0.98));
}

.lpt-project-shell--rose {
    background: linear-gradient(180deg, rgba(213, 0, 127, 0.08), rgba(255, 255, 255, 0.98));
}

.lpt-project-shell--faq {
    background: linear-gradient(180deg, rgba(255, 248, 239, 0.78), rgba(255, 255, 255, 0.98));
}

.lpt-project-values__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.lpt-project-value {
    padding: 26px 24px;
    border-radius: 24px;
    color: #fff;
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.1);
}

.lpt-project-value img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    margin-bottom: 18px;
}

.lpt-project-value h3 {
    margin-bottom: 0.6rem;
    color: inherit;
    font-size: 1.75rem;
}

.lpt-project-value p {
    margin: 0;
    color: inherit;
}

.lpt-project-value--1 {
    background: #95c11f;
}

.lpt-project-value--2 {
    background: #ffd444;
    color: #16313a;
}

.lpt-project-value--3 {
    background: #d5007f;
}

.lpt-project-approach__card {
    padding: 28px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: var(--shadow);
}

.lpt-project-approach__card h3 {
    color: var(--sea);
    margin-bottom: 1rem;
}

.lpt-project-approach__card ul {
    margin: 0 0 1.5rem;
    padding-left: 1.2rem;
    line-height: 1.8;
}

.lpt-project-objectives {
    padding-top: 18px;
}

.lpt-project-objectives__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
}

.lpt-project-objective {
    padding: 22px 24px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.08);
}

.lpt-project-objective h2 {
    margin-bottom: 0.7rem;
    color: var(--sea);
    font-size: clamp(1.45rem, 2.6vw, 1.95rem);
}

.lpt-project-objective p {
    margin: 0;
}

.lpt-project-gallery {
    padding-top: 12px;
}

.lpt-project-gallery__surface {
    padding: 22px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(255, 212, 68, 0.15), transparent 18rem),
        linear-gradient(180deg, rgba(0, 147, 190, 0.05), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 18px 36px rgba(15, 52, 67, 0.08);
}

.lpt-project-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.lpt-project-gallery__item {
    margin: 0;
    overflow: hidden;
    border-radius: 28px;
    box-shadow: var(--shadow);
    background: rgba(0, 147, 190, 0.08);
}

.lpt-project-gallery__item picture {
    display: block;
    height: 100%;
}

.lpt-project-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
}

.lpt-project-gallery__item--1,
.lpt-project-gallery__item--2 {
    grid-column: span 2;
}

.lpt-project-day {
    background: linear-gradient(180deg, rgba(0, 147, 190, 0.04), rgba(255, 255, 255, 0));
}

.lpt-project-day__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.lpt-project-day__card,
.lpt-project-development__card,
.lpt-project-adaptation__card {
    padding: 24px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(22, 49, 58, 0.08);
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.08);
}

.lpt-project-day__card h3,
.lpt-project-development__card h3,
.lpt-project-adaptation__card h3 {
    margin-bottom: 0.8rem;
    color: var(--sea);
    font-size: 1.65rem;
}

.lpt-project-day__card ul,
.lpt-project-adaptation__card ol {
    margin: 0;
    padding-left: 1.2rem;
    line-height: 1.8;
}

.lpt-project-development {
    padding-top: 12px;
}

.lpt-project-development__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.lpt-project-development__card {
    text-align: center;
}

.lpt-project-development__card img {
    width: 82px;
    height: 82px;
    margin: 0 auto 1rem;
    object-fit: contain;
}

.lpt-project-development__card p {
    margin: 0;
}

.lpt-project-adaptation__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    gap: 28px;
    align-items: center;
}

.lpt-project-adaptation__shell {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    gap: 28px;
    align-items: center;
    width: 100%;
}

.lpt-project-adaptation__grid > .lpt-project-adaptation__shell {
    grid-column: 1 / -1;
}

.lpt-project-adaptation__copy p {
    margin: 0;
    max-width: 60ch;
}

.lpt-project-adaptation__intro {
    margin-top: 1rem !important;
    color: var(--muted);
}

.lpt-project-adaptation__card {
    position: relative;
    overflow: hidden;
}

.lpt-project-adaptation__photo {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 240px;
    margin: 0 0 1.25rem;
    border-radius: 24px;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 18px 36px rgba(22, 49, 58, 0.12);
    background: rgba(0, 147, 190, 0.06);
}

.lpt-project-adaptation__card .button-link {
    margin-top: 1.2rem;
}

@media (max-width: 1100px) {
    .lpt-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .lpt-team-hero__grid,
    .lpt-project-hero__grid,
    .lpt-project-approach__grid,
    .lpt-project-adaptation__grid,
    .lpt-project-adaptation__shell,
    .lpt-project-values__grid,
    .lpt-project-day__grid,
    .lpt-project-development__grid,
    .lpt-team-grid,
    .lpt-team-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lpt-project-objectives__grid,
    .lpt-project-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lpt-team-hero__media,
    .lpt-project-hero__media {
        order: -1;
    }

    .lpt-project-hero__media {
        min-height: 360px;
    }
}

@media (max-width: 767px) {
    .lpt-team-hero__grid,
    .lpt-project-hero__grid,
    .lpt-project-approach__grid,
    .lpt-project-adaptation__grid,
    .lpt-project-adaptation__shell,
    .lpt-project-values__grid,
    .lpt-project-objectives__grid,
    .lpt-project-gallery__grid,
    .lpt-project-day__grid,
    .lpt-project-development__grid,
    .lpt-team-grid--compact {
        grid-template-columns: 1fr;
    }

    .lpt-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lpt-team-grid--mobile-scroll {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0.95rem;
        overflow-x: auto;
        overflow-y: visible;
        padding: 0.15rem 0.15rem 0.8rem;
        margin-inline: -0.15rem;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 0.15rem;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .lpt-team-grid--mobile-scroll .lpt-team-card {
        flex: 0 0 min(16.5rem, 78vw);
        height: auto;
        scroll-snap-align: start;
    }

    .lpt-team-grid--mobile-scroll .lpt-team-card__body {
        min-height: 0;
    }

    .lpt-team-grid--mobile-scroll::-webkit-scrollbar {
        display: none;
    }

    .lpt-team-scroll-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
    }

    .lpt-team-scroll-hint::after {
        content: "→";
        font-size: 1rem;
        line-height: 1;
        color: var(--sea);
    }

    .lpt-project-hero__media {
        min-height: 300px;
    }

    .lpt-project-hero__photo {
        position: relative;
        width: 100%;
        max-width: none;
        transform: none;
        border-width: 8px;
        right: auto;
    }

    .lpt-project-hero__decor {
        display: none;
    }

    .lpt-project-adaptation__photo {
        min-height: 210px;
        margin-bottom: 1rem;
        border-radius: 18px;
    }

    .lpt-project-gallery__item--1,
    .lpt-project-gallery__item--2 {
        grid-column: auto;
    }

    .lpt-project-objectives,
    .lpt-project-gallery,
    .lpt-project-day,
    .lpt-project-development,
    .lpt-project-adaptation,
    .seo-faq {
        padding-top: 18px;
        padding-bottom: 26px;
    }

    .lpt-project-objective,
    .lpt-project-day__card,
    .lpt-project-development__card,
    .lpt-project-adaptation__card,
    .seo-faq__item,
    .lpt-project-shell,
    .simple-page__intro-card .card-body,
    .simple-page__support-card .card-body,
    .simple-page__feature-card .card-body,
    .nursery-closing__panel {
        padding: 18px 18px;
        border-radius: 20px;
    }

    .lpt-project-objective h2,
    .lpt-project-day__card h3,
    .lpt-project-development__card h3,
    .lpt-project-adaptation__card h3,
    .seo-faq__item h3 {
        font-size: 1.18rem;
        margin-bottom: 0.65rem;
    }

    .lpt-project-day__card ul,
    .lpt-project-adaptation__card ol {
        line-height: 1.6;
    }

    .lpt-project-development__card img {
        width: 60px;
        height: 60px;
        margin-bottom: 0.7rem;
    }

    .lpt-project-gallery__grid {
        display: flex;
        gap: 0.9rem;
        overflow-x: auto;
        padding-bottom: 0.3rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .lpt-project-gallery__grid::-webkit-scrollbar {
        display: none;
    }

    .lpt-project-gallery__item {
        flex: 0 0 min(18rem, calc(100vw - 3rem));
        scroll-snap-align: start;
        border-radius: 22px;
    }

    .lpt-project-gallery__item img {
        min-height: 180px;
        max-height: 180px;
    }

    .simple-page__intro-section {
        padding-top: 24px;
    }

    .simple-page__support {
        padding-top: 6px;
    }

    .simple-page__feature-section {
        padding-top: 8px;
    }
}

/* CSP inline styles migrated */

.lpt-article-page {
        padding: 2.8rem 0 0;
    }

    .lpt-article-main {
        max-width: 52rem;
        margin: 0 auto;
    }

    .lpt-article-main h1 {
        margin: 0 0 0.7rem;
        color: #16313a;
        font-size: clamp(2.1rem, 4vw, 3.25rem);
        line-height: 1.08;
    }

    .lpt-article-meta {
        margin: 0 0 1.5rem;
        color: #6e7b80;
        font-size: 0.95rem;
        font-weight: 700;
    }

.lpt-article-cover {
    width: 100%;
    margin-bottom: 1.5rem;
    border-radius: 1.2rem;
    object-fit: cover;
    background: rgba(0, 147, 190, 0.08);
}

.lpt-article-main > picture {
    display: block;
    width: min(100%, 42rem);
    margin: 0 auto 1.5rem;
}

.lpt-article-main > picture .lpt-article-cover {
    aspect-ratio: 16 / 9;
    max-height: 26rem;
    margin-bottom: 0;
}

    .lpt-article-body {
        color: #16313a;
        font-size: 1.02rem;
        line-height: 1.8;
    }

    .lpt-article-body h2,
    .lpt-article-body h3 {
        margin: 1.6rem 0 0.8rem;
        color: #16313a;
    }

    .lpt-article-body p,
    .lpt-article-body ul,
    .lpt-article-body blockquote {
        margin-bottom: 1rem;
    }

    .lpt-article-body ul {
        padding-left: 1.35rem;
    }

    .lpt-article-body blockquote {
        margin-left: 0;
        padding: 1rem 1.2rem;
        border-left: 4px solid #d5007f;
        background: rgba(0, 147, 190, 0.06);
        border-radius: 0 1rem 1rem 0;
    }

    .lpt-rich-guide {
        max-width: 900px;
        margin: 0 auto;
        color: #334155;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.75;
    }

    .lpt-rich-intro {
        background: #fff7ed;
        border-left: 6px solid #f59e0b;
        padding: 18px 20px;
        border-radius: 14px;
        margin: 0 0 28px 0;
    }

    .lpt-rich-info {
        background: #eff6ff;
        border: 1px solid #bfdbfe;
        padding: 18px 20px;
        border-radius: 14px;
        margin: 28px 0;
    }

    .lpt-rich-warning {
        background: #fef2f2;
        border: 1px solid #fecaca;
        padding: 18px 20px;
        border-radius: 14px;
        margin: 28px 0;
    }

    .lpt-rich-cta {
        background: linear-gradient(135deg, #fff7ed, #eff6ff);
        padding: 22px;
        border-radius: 16px;
        margin-top: 28px;
    }

    h2.lpt-rich-heading {
        color: #1d4ed8;
        margin-top: 34px;
    }

    h3.lpt-rich-heading-info {
        margin: 0 0 10px 0;
        color: #1d4ed8;
    }

    h3.lpt-rich-heading-warning {
        margin: 0 0 10px 0;
        color: #b91c1c;
    }

    p.lpt-rich-lead {
        margin: 0;
        font-size: 17px;
    }

    p.lpt-rich-cta-lead {
        margin: 0 0 12px 0;
        font-size: 17px;
    }

    p.lpt-rich-cta-line {
        margin: 0 0 10px 0;
    }

    p.lpt-rich-cta-caption {
        margin: 0 0 6px 0;
    }

    ul.lpt-rich-list {
        margin: 0;
        padding-left: 20px;
    }

    a.lpt-rich-link {
        color: #1d4ed8;
        text-decoration: underline;
    }

    .lpt-article-body hr {
        border: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        margin: 1.6rem 0;
    }

    .lpt-article-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        margin-top: 2rem;
        padding-top: 1.5rem;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
    }

    .lpt-article-nav a {
        display: block;
        padding: 1rem 1.1rem;
        border-radius: 1rem;
        background: rgba(0, 147, 190, 0.07);
        color: #16313a;
        font-weight: 700;
        line-height: 1.5;
    }

    .lpt-article-nav a:last-child {
        text-align: right;
    }

    .lpt-article-related {
        margin-top: 3rem;
    }

    .lpt-article-related h2 {
        margin: 0 0 1.2rem;
        color: #16313a;
        font-size: clamp(1.7rem, 3vw, 2.2rem);
    }

    .lpt-article-related__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.4rem;
    }

    .lpt-article-card {
        display: grid;
        gap: 0.85rem;
    }

    .lpt-article-card picture {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        border-radius: 1rem;
        background: rgba(0, 147, 190, 0.08);
    }

    .lpt-article-card img {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
    }

    .lpt-article-card h3 {
        margin: 0;
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .lpt-article-card p {
        margin: 0;
        line-height: 1.6;
    }

    .lpt-article-contact-cta {
        margin-top: 2.4rem;
        padding: 1.4rem 1.5rem;
        border-radius: 1.2rem;
        background: rgba(0, 147, 190, 0.08);
        text-align: center;
    }

    .lpt-article-contact-cta h2 {
        margin: 0 0 0.8rem;
        color: #16313a;
        font-size: 1.55rem;
    }

    .lpt-article-contact-cta a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.85rem 1.4rem;
        border-radius: 999px;
        background: #0093be;
        color: #fff;
        font-weight: 700;
    }

    @media (max-width: 767px) {
        .lpt-article-main > picture .lpt-article-cover {
            max-height: 15.5rem;
        }

        .lpt-article-nav,
        .lpt-article-related__grid {
            grid-template-columns: 1fr;
        }

        .lpt-article-nav a:last-child {
            text-align: left;
        }

        .lpt-article-contact-cta {
            padding: 1.2rem 1rem;
        }

        .lpt-article-contact-cta a {
            width: min(100%, 18rem);
        }
    }

.lpt-blog-page {
        padding: 2.8rem 0 0;
    }

    .lpt-blog-layout {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.9fr);
        gap: 3rem;
        align-items: start;
    }

    .lpt-blog-brand {
        margin: 0 0 0.35rem;
        color: #95c11f;
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .lpt-blog-main h1 {
        margin: 0 0 1.25rem;
        color: #d5007f;
        font-family: "Bubblegum Sans", cursive;
        font-size: clamp(2.2rem, 4vw, 3.5rem);
        line-height: 1.02;
    }

    .lpt-blog-decor {
        width: 100%;
        max-width: 10rem;
        margin: 0 0 1.5rem;
    }

    .lpt-blog-feed {
        display: grid;
        gap: 1.8rem;
    }

    .lpt-blog-card {
        display: grid;
        grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
        gap: 1.35rem;
        align-items: start;
        padding-bottom: 1.8rem;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .lpt-blog-card:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .lpt-blog-card__media {
        display: block;
        width: 100%;
        height: clamp(11rem, 18vw, 13rem);
        border-radius: 1rem;
        object-fit: cover;
        background: rgba(0, 147, 190, 0.08);
    }

    .lpt-blog-card h2 {
        margin: 0 0 0.55rem;
        color: #16313a;
        font-size: clamp(1.35rem, 2vw, 1.75rem);
        line-height: 1.18;
    }

    .lpt-blog-meta {
        margin: 0 0 0.7rem;
        color: #6e7b80;
        font-size: 0.92rem;
        font-weight: 700;
    }

    .lpt-blog-card p {
        margin: 0 0 0.8rem;
        line-height: 1.68;
    }

    .lpt-blog-card__link {
        color: #d5007f;
        font-weight: 700;
    }

    .lpt-blog-sidebar {
        display: grid;
        gap: 1.3rem;
        position: sticky;
        top: 1.5rem;
    }

    .lpt-blog-widget {
        padding: 1.35rem;
        border-radius: 1.2rem;
        background: #fff;
        border: 1px solid rgba(0, 0, 0, 0.07);
        box-shadow: 0 12px 30px rgba(15, 52, 67, 0.08);
    }

    .lpt-blog-widget h2 {
        margin: 0 0 1rem;
        color: #0093be;
        font-size: 1.2rem;
    }

    .lpt-blog-search {
        display: grid;
        gap: 0.7rem;
    }

    .lpt-blog-search label {
        font-weight: 700;
    }

    .lpt-blog-search__row {
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .lpt-blog-search input,
    .lpt-blog-search select {
        min-width: 0;
        padding: 0.8rem 0.9rem;
        border: 1px solid rgba(0, 0, 0, 0.16);
        font: inherit;
    }

    .lpt-blog-search input {
        border-radius: 0.8rem 0 0 0.8rem;
    }

    .lpt-blog-search select {
        width: 100%;
        border-radius: 0.8rem;
        background: #fff;
        color: inherit;
    }

    .lpt-blog-search button {
        padding: 0.8rem 1rem;
        border: 0;
        border-radius: 0 0.8rem 0.8rem 0;
        background: #d5007f;
        color: #fff;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .lpt-blog-recent {
        display: grid;
        gap: 1rem;
    }

    .lpt-blog-recent__item {
        display: grid;
        grid-template-columns: 5rem 1fr;
        gap: 0.8rem;
        align-items: start;
    }

    .lpt-blog-recent__item img {
        width: 5rem;
        height: 5rem;
        border-radius: 0.9rem;
        object-fit: cover;
        background: rgba(0, 147, 190, 0.08);
    }

    .lpt-blog-recent__item strong {
        display: block;
        margin-bottom: 0.25rem;
        color: #16313a;
        line-height: 1.3;
    }

    .lpt-blog-empty {
        padding: 1rem 1.2rem;
        border-radius: 1rem;
        background: rgba(0, 147, 190, 0.08);
        color: #16313a;
        font-weight: 700;
    }

    @media (max-width: 980px) {
        .lpt-blog-layout {
            grid-template-columns: 1fr;
        }

        .lpt-blog-sidebar {
            position: static;
        }
    }

    @media (max-width: 640px) {
        .lpt-blog-card {
            grid-template-columns: 1fr;
        }

        .lpt-blog-search__row {
            grid-template-columns: 1fr;
            gap: 0.65rem;
        }

        .lpt-blog-search input,
        .lpt-blog-search select,
        .lpt-blog-search button {
            border-radius: 0.8rem;
        }
    }

.lpt-contact-page {
        padding: 3rem 0 0;
        background:
            radial-gradient(circle at top right, rgba(255, 212, 68, 0.12), transparent 28rem),
            linear-gradient(180deg, rgba(221, 244, 251, 0.42) 0, rgba(255, 255, 255, 0) 14rem);
    }

    .lpt-contact-main {
        display: grid;
        gap: 1.5rem;
        min-width: 0;
    }

    .lpt-contact-hero {
        display: grid;
        grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
        gap: clamp(2rem, 4vw, 4rem);
        align-items: center;
        margin-bottom: 2.75rem;
    }

    .lpt-contact-hero__media {
        width: 100%;
        max-width: 29rem;
        margin: 0;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        border-radius: 1.35rem;
        box-shadow: 0 22px 44px rgba(22, 49, 58, 0.14);
        background: rgba(0, 147, 190, 0.08);
    }

    .lpt-contact-hero__media picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .lpt-contact-hero__media img {
        width: 100%;
        height: 100%;
        border-radius: 0;
        object-fit: cover;
        object-position: center;
        box-shadow: none;
        background: transparent;
    }

    .lpt-contact-hero__copy {
        max-width: 35rem;
        padding-block: 0.5rem;
    }

    .lpt-contact-hero__copy h1 {
        margin: 0 0 1rem;
        color: #d5007f;
        font-family: "Bubblegum Sans", cursive;
        font-size: clamp(2.45rem, 4.1vw, 3.7rem);
        line-height: 1.02;
    }

    .lpt-contact-hero__copy p {
        margin: 0;
        max-width: 42ch;
        font-size: 1.08rem;
        line-height: 1.76;
    }

    .lpt-contact-hero__eyebrow {
        display: inline-flex;
        margin-bottom: 0.55rem;
    }

    .lpt-contact-hero__highlights {
        display: flex;
        flex-wrap: wrap;
        gap: 0.65rem;
        margin-top: 1.2rem;
    }

    .lpt-contact-hero__highlights span {
        display: inline-flex;
        align-items: center;
        padding: 0.55rem 0.9rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(22, 49, 58, 0.08);
        box-shadow: 0 10px 24px rgba(15, 52, 67, 0.08);
        color: #46646f;
        font-size: 0.95rem;
        font-weight: 700;
    }

    .lpt-contact-card,
    .lpt-contact-sidecard,
    .lpt-contact-location,
    .lpt-contact-map {
        background: #fff;
        border: 1px solid rgba(0, 0, 0, 0.07);
        border-radius: 1.35rem;
        box-shadow: 0 18px 36px rgba(15, 52, 67, 0.09);
        min-width: 0;
    }

    .lpt-contact-card,
    .lpt-contact-location {
        padding: 1.5rem;
    }

    .lpt-contact-places {
        background: linear-gradient(180deg, rgba(221, 244, 251, 0.56), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-places__head {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: center;
        margin-bottom: 1.1rem;
    }

    .lpt-contact-places__head img {
        width: 4.5rem;
        height: 4.5rem;
        object-fit: contain;
    }

    .lpt-contact-places__head h2,
    .lpt-contact-form-copy h2,
    .lpt-contact-form-copy h3,
    .lpt-contact-sidecard h3,
    .lpt-contact-location h2 {
        margin: 0;
        color: #16313a;
    }

    .lpt-contact-places__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
        min-width: 0;
    }

    .lpt-contact-place {
        padding: 1rem;
        border-radius: 1rem;
        background: linear-gradient(180deg, rgba(0, 147, 190, 0.08), rgba(221, 244, 251, 0.48));
        text-align: center;
    }

    .lpt-contact-place--link {
        display: block;
        color: inherit;
        text-decoration: none;
    }

    .lpt-contact-place--link:hover,
    .lpt-contact-place--link:focus-visible {
        color: inherit;
        text-decoration: none;
    }

    .lpt-contact-place img {
        width: 2.8rem;
        height: 2.8rem;
        margin: 0 auto 0.45rem;
        object-fit: contain;
    }

    .lpt-contact-place h3 {
        margin: 0.35rem 0 0.25rem;
        color: #16313a;
        font-size: 1.15rem;
        font-family: "Bubblegum Sans", cursive;
    }

    .lpt-contact-place p {
        margin: 0.12rem 0;
        line-height: 1.55;
    }

    .lpt-contact-form-zone {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 2rem;
        align-items: start;
        min-width: 0;
    }

    .lpt-contact-practical,
    .lpt-contact-location {
        content-visibility: auto;
        contain-intrinsic-size: 720px;
    }

    .lpt-contact-form-copy {
        display: grid;
        gap: 0.45rem;
    }

    .lpt-contact-form-copy__panel {
        display: grid;
        gap: 0.45rem;
        padding: 1.35rem 1.4rem;
        border-radius: 1.2rem;
        background: linear-gradient(180deg, rgba(255, 212, 68, 0.16), rgba(255, 255, 255, 0.94));
        border: 1px solid rgba(22, 49, 58, 0.08);
        box-shadow: 0 16px 34px rgba(15, 52, 67, 0.08);
    }

    .lpt-contact-form-copy h2 {
        font-size: clamp(1.85rem, 2.6vw, 2.1rem);
        line-height: 1.1;
    }

    .lpt-contact-form-copy h3 {
        font-size: 1.12rem;
        line-height: 1.3;
    }

    .lpt-contact-form-copy p {
        margin: 0;
        font-size: 0.96rem;
        line-height: 1.65;
    }

    .lpt-contact-form-copy__note {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.25rem;
        font-size: 0.9rem;
        color: #46646f;
        font-weight: 700;
    }

    .lpt-contact-form-copy__reassurance {
        display: grid;
        gap: 0.45rem;
        margin: 0;
        padding: 0;
        list-style: none;
        color: #16313a;
    }

    .lpt-contact-form-copy__reassurance li {
        position: relative;
        padding-left: 1.1rem;
        line-height: 1.6;
    }

    .lpt-contact-form-copy__reassurance li::before {
        content: "";
        position: absolute;
        top: 0.55rem;
        left: 0;
        width: 0.45rem;
        height: 0.45rem;
        border-radius: 999px;
        background: #95c11f;
    }

    .lpt-contact-form-shell {
        display: grid;
        gap: 1rem;
    }

    #contact-form {
        scroll-margin-top: 1rem;
    }

    .lpt-contact-selector {
        display: grid;
        gap: 0.45rem;
        font-weight: 700;
    }

    .lpt-contact-selector select,
    .lpt-contact-form label input,
    .lpt-contact-form label textarea {
        width: 100%;
        min-width: 0;
        padding: 0.9rem 1rem;
        border: 1px solid rgba(0, 0, 0, 0.14);
        border-radius: 0.9rem;
        background: #fff;
        box-sizing: border-box;
        font: inherit;
    }

    .lpt-contact-form-empty {
        padding: 1rem 1.1rem;
        border-radius: 1rem;
        background: rgba(0, 147, 190, 0.06);
        line-height: 1.7;
    }

    .lpt-contact-form-panel {
        display: none;
    }

    .lpt-contact-form-panel.is-active {
        display: block;
    }

    .lpt-contact-form-panel > h3 {
        margin: 0 0 0.9rem;
        color: #d5007f;
        font-size: 1.35rem;
    }

    .lpt-contact-form {
        display: grid;
        gap: 0.95rem;
    }

    .lpt-contact-form label {
        display: grid;
        gap: 0.45rem;
        font-weight: 700;
    }

    .lpt-contact-form textarea {
        min-height: 180px;
        resize: vertical;
    }

    .lpt-contact-form button {
        justify-self: start;
        padding: 0.95rem 1.5rem;
        border: 0;
        border-radius: 999px;
        background: #0093be;
        color: #fff;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 14px 28px rgba(0, 147, 190, 0.18);
    }

    .lpt-contact-form button:disabled {
        cursor: wait;
        opacity: 0.78;
        box-shadow: 0 10px 18px rgba(0, 147, 190, 0.14);
    }

    .lpt-contact-form__privacy {
        margin: -0.15rem 0 0;
        color: #5f737b;
        font-size: 0.9rem;
        line-height: 1.65;
    }

    .lpt-contact-form__privacy a {
        color: #d5007f;
        font-weight: 700;
    }

    .lpt-contact-info-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
    }

    .lpt-contact-practical {
        display: grid;
        gap: 1rem;
        margin-top: 0.3rem;
    }

    .lpt-contact-practical__head {
        margin-bottom: 0;
    }

    .lpt-contact-sidecard {
        padding: 1.25rem;
    }

    .lpt-contact-sidecard:nth-child(1) {
        background: linear-gradient(180deg, rgba(221, 244, 251, 0.7), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-sidecard:nth-child(2) {
        background: linear-gradient(180deg, rgba(255, 248, 239, 0.96), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-sidecard:nth-child(3) {
        background: linear-gradient(180deg, rgba(149, 193, 31, 0.12), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-sidecard__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.7rem;
        height: 2.7rem;
        margin-bottom: 0.75rem;
        border-radius: 999px;
        background: rgba(0, 147, 190, 0.1);
        color: #0093be;
        font-weight: 700;
        font-size: 1.1rem;
    }

    .lpt-contact-sidecard p {
        margin: 0.45rem 0 0;
        line-height: 1.65;
    }

    .lpt-contact-sidecard a {
        color: #d5007f;
        font-weight: 700;
    }

    .lpt-contact-places__actions {
        justify-content: center;
        margin-top: 1.15rem;
    }

    .lpt-contact-location {
        margin-top: 1.6rem;
        background: linear-gradient(180deg, rgba(255, 248, 239, 0.8), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-location__eyebrow {
        display: inline-flex;
        margin-bottom: 0.35rem;
    }

    .lpt-contact-location__layout {
        display: grid;
        grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
        gap: 1.5rem;
        align-items: start;
        margin-top: 1rem;
        min-width: 0;
    }

    .lpt-contact-location__copy p {
        margin: 0;
        line-height: 1.75;
    }

    .lpt-contact-location__copy-card {
        padding: 1.2rem 1.25rem;
        border-radius: 1.15rem;
        background: linear-gradient(180deg, rgba(0, 147, 190, 0.05), rgba(255, 255, 255, 0.95));
        border: 1px solid rgba(22, 49, 58, 0.08);
        box-shadow: 0 14px 28px rgba(15, 52, 67, 0.06);
    }

    .lpt-contact-map {
        overflow: hidden;
        position: relative;
    }

    .lpt-contact-map__placeholder,
    .lpt-contact-map iframe {
        width: 100%;
        height: 360px;
        display: block;
    }

    .lpt-contact-map__placeholder {
        display: grid;
        place-items: center;
        padding: 1.5rem;
        background:
            radial-gradient(circle at top right, rgba(255, 212, 68, 0.18), transparent 12rem),
            linear-gradient(180deg, rgba(221, 244, 251, 0.92), rgba(255, 255, 255, 0.98));
    }

    .lpt-contact-map__placeholder-body {
        width: min(100%, 24rem);
        padding: 1.35rem;
        border-radius: 1.15rem;
        background: rgba(255, 255, 255, 0.94);
        border: 1px solid rgba(22, 49, 58, 0.08);
        box-shadow: 0 18px 36px rgba(15, 52, 67, 0.12);
        text-align: center;
    }

    .lpt-contact-map__placeholder-body strong {
        display: block;
        margin-bottom: 0.55rem;
        color: #16313a;
        font-size: 1.02rem;
    }

    .lpt-contact-map__placeholder-body p {
        margin: 0 0 1rem;
        color: #5f737b;
    }

    .lpt-contact-map__consent-note {
        margin: 0 0 1rem;
        color: #8c0d5a;
        font-size: 0.92rem;
        font-weight: 700;
        line-height: 1.5;
    }

    .lpt-contact-map__placeholder.is-hidden {
        display: none;
    }

    .lpt-contact-map__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
    }

    .lpt-contact-map__button,
    .lpt-contact-map__link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        padding: 0.75rem 1.05rem;
        border-radius: 999px;
        font: inherit;
        font-weight: 700;
        text-align: center;
        transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    }

    .lpt-contact-map__button {
        border: 0;
        color: #fff;
        background: linear-gradient(135deg, #0093be, #26acd8);
        box-shadow: 0 12px 24px rgba(0, 147, 190, 0.24);
        cursor: pointer;
    }

    .lpt-contact-map__link {
        border: 1px solid rgba(22, 49, 58, 0.12);
        color: #16313a;
        background: rgba(255, 255, 255, 0.94);
    }

    .lpt-contact-map__button:hover,
    .lpt-contact-map__button:focus-visible,
    .lpt-contact-map__link:hover,
    .lpt-contact-map__link:focus-visible {
        transform: translateY(-1px);
        box-shadow: 0 16px 28px rgba(15, 52, 67, 0.14);
    }

    .lpt-contact-map iframe {
        border: 0;
    }

    .flash.success {
        padding: 0.95rem 1rem;
        border-radius: 0.9rem;
        background: rgba(149, 193, 31, 0.14);
        color: #3d5d0a;
        font-weight: 700;
    }

    .lpt-contact-success {
        display: grid;
        gap: 0.3rem;
    }

    .lpt-contact-success strong {
        display: block;
    }

    .flash.error {
        padding: 0.95rem 1rem;
        border-radius: 0.9rem;
        background: rgba(229, 0, 138, 0.1);
        color: #8f0f5d;
        font-weight: 700;
    }

    .lpt-contact-honeypot {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

    @media (max-width: 1080px) {
        .lpt-contact-form-zone,
        .lpt-contact-location__layout {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 980px) {
        .lpt-contact-hero {
            grid-template-columns: 1fr;
        }

        .lpt-contact-hero__media {
            order: 2;
            max-width: none;
        }

        .lpt-contact-hero__copy {
            max-width: none;
            padding-block: 0;
        }

        .lpt-contact-places__grid,
        .lpt-contact-info-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 767px) {
        .lpt-contact-places {
            overflow: hidden;
        }

        .lpt-contact-info-grid {
            grid-template-columns: 1fr;
        }

        .lpt-contact-places__grid {
            display: flex;
            gap: 0.85rem;
            overflow-x: auto;
            overscroll-behavior-x: contain;
            scroll-snap-type: x mandatory;
            scroll-padding-inline: 0.15rem;
            padding-inline: 0.15rem;
            padding-bottom: 0.3rem;
            -webkit-overflow-scrolling: touch;
        }

        .lpt-contact-places__grid::-webkit-scrollbar {
            display: none;
        }

        .lpt-contact-place {
            flex: 0 0 min(15rem, calc(100vw - 4.4rem));
            min-width: 0;
            scroll-snap-align: start;
            min-height: 100%;
        }

        .lpt-contact-card,
        .lpt-contact-sidecard,
        .lpt-contact-location {
            padding: 1.2rem;
        }

        .lpt-contact-map iframe {
            height: 300px;
        }

        .lpt-contact-map__placeholder {
            height: 300px;
        }

        .lpt-contact-form-copy__panel {
            gap: 0.35rem;
            padding: 1.05rem 1rem;
        }

        .lpt-contact-form-copy h2 {
            font-size: 1.7rem;
        }

        .lpt-contact-form-copy h3 {
            font-size: 1rem;
        }

        .lpt-contact-form-copy p {
            font-size: 0.92rem;
            line-height: 1.58;
        }

        .lpt-contact-form-copy__note {
            font-size: 0.86rem;
        }

        .lpt-contact-form__privacy {
            font-size: 0.86rem;
        }
    }

.simple-page__registration-note {
        max-width: 38rem;
        margin: 1rem auto 0;
        color: var(--muted);
        line-height: 1.7;
        text-align: center;
    }

    .simple-page__registration-note a {
        color: var(--coral);
        font-weight: 700;
    }

.social-page__nursery-card > picture {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.social-page__nursery-image {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}
