/*
 * Vũ Trụ Trong Mắt Em — art-directed public presentation.
 * Application routes, data, forms and tenant boundaries remain in the shared core.
 */
@layer worlds-theme {
    html:has(body.world-kids-cosmos) { overflow-x: clip; }

    .world-kids-cosmos {
        --space-indigo: #3946a0;
        --space-indigo-deep: #25294f;
        --space-coral: #c4493b;
        --space-coral-deep: #9e352c;
        --space-mint: #59c7c9;
        --space-mint-deep: #197b82;
        --space-gold: #f6c654;
        --space-action: #4655b8;
        --space-action-deep: #29347f;
        --space-action-hover: #3946a0;
        --space-cream: #fffaf0;
        --space-sky: #eaf7fb;
        --space-paper: #ffffff;
        --space-ink: #25294f;
        --space-muted: #60657d;
        --space-line: #dfe2ef;
        --space-shadow: 0 1.35rem 3.5rem rgb(37 41 79 / 13%);
        --space-shadow-soft: 0 .75rem 2rem rgb(37 41 79 / 10%);
        --theme-primary: var(--space-indigo);
        --theme-secondary: var(--space-mint);
        --theme-accent: var(--space-coral);
        --theme-background: var(--space-cream);
        --theme-surface: var(--space-paper);
        --theme-text: var(--space-ink);
        --theme-text-muted: var(--space-muted);
        --world-shell: 90rem;
        color: var(--space-ink);
        background: var(--space-cream);
        overflow-x: clip;
    }

    .world-kids-cosmos .world-ribbon {
        height: .65rem;
        background: repeating-radial-gradient(circle at 1rem 1rem, #d9f1f7 0 1rem, transparent 1.05rem 2rem) 0 -.95rem / 2rem 2rem repeat-x, #d9f1f7;
    }

    .world-kids-cosmos .world-header {
        border-bottom: 1px solid rgb(57 70 160 / 10%);
        background: rgb(255 255 255 / 96%);
        box-shadow: 0 .45rem 1.5rem rgb(37 41 79 / 5%);
        backdrop-filter: blur(1rem);
    }

    .world-kids-cosmos .world-header__inner { min-height: 5.4rem; }
    .world-kids-cosmos .world-brand__mark {
        border: 2px solid rgb(57 70 160 / 16%);
        border-radius: 50%;
        background: #eef0ff;
        box-shadow: 0 .35rem 0 #d8dcff;
    }

    .world-kids-cosmos .world-brand__text strong { color: var(--space-indigo-deep); }
    .world-kids-cosmos .world-nav > a:not(.world-button)::after {
        height: .22rem;
        border-radius: 999px;
        background: linear-gradient(90deg, var(--space-mint), var(--space-gold));
        box-shadow: 0 .12rem .35rem rgb(89 199 201 / 24%);
    }
    .world-kids-cosmos .world-nav > a[aria-current="page"] { color: var(--space-indigo); }
    .world-kids-cosmos .world-button {
        border-color: var(--space-action-deep);
        border-radius: 999px;
        color: #fff;
        background: var(--space-action);
        box-shadow: 0 .32rem 0 var(--space-action-deep);
    }

    .world-kids-cosmos .world-button:hover { background: var(--space-action-hover); box-shadow: 0 .12rem 0 var(--space-action-deep); translate: 0 .16rem; }
    .world-kids-cosmos .world-button--ghost {
        border-color: rgb(57 70 160 / 38%);
        color: var(--space-action-deep);
        background: rgb(255 255 255 / 84%);
        box-shadow: none;
    }

    .world-kids-cosmos .world-button--ghost:hover { color: #fff; background: var(--space-action-hover); box-shadow: none; }
    .world-kids-cosmos .world-global-cta {
        border-block: 0;
        background: linear-gradient(120deg, #edf9fb, #fff5d9 52%, #efedff);
    }

    .world-kids-cosmos .world-footer {
        position: relative;
        border-top: .45rem solid var(--space-gold);
        background: #eef1fb;
    }

    .world-kids-cosmos .world-footer::before {
        position: absolute;
        inset: -2.3rem 0 auto;
        height: 2rem;
        background: radial-gradient(2rem 1.45rem at 2rem 1.9rem, #eef1fb 98%, transparent) 0 0 / 4rem 2rem repeat-x;
        content: "";
    }

    .world-kids-cosmos :is(a, button, input, select, textarea):focus-visible {
        outline: .2rem solid var(--space-indigo);
        outline-offset: .22rem;
    }

    .world-kids-cosmos :is(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .56; }

    .space-container { width: min(90rem, calc(100% - clamp(2rem, 6vw, 6rem))); margin-inline: auto; }
    .space-section { position: relative; padding-block: clamp(2.5rem, 3.5vw, 3.25rem); }
    .space-section--compact { padding-block: clamp(1.75rem, 2.5vw, 2.25rem); }
    .space-section--sky { background: var(--space-sky); }
    .space-section--butter { background: #fff4d8; }
    .space-heading { max-width: 48rem; margin: 0 auto clamp(2.2rem, 4vw, 3.6rem); text-align: center; }
    .space-heading--center { text-align: center; }
    .space-heading--split { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 2rem; text-align: left; }
    .space-heading--split > :first-child { max-width: 52rem; }
    .space-heading > p, .space-copy > p { color: var(--space-muted); }
    .space-heading h2, .space-copy h2 { font-size: clamp(2rem, 4.2vw, 3.8rem); letter-spacing: -.03em; }
    .space-kicker {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        margin-bottom: .85rem;
        color: var(--space-coral-deep);
        font-size: .75rem;
        font-weight: 900;
        letter-spacing: .13em;
        text-transform: uppercase;
    }

    .space-kicker::before { width: 1.2rem; height: .15rem; border-radius: 999px; background: currentColor; content: ""; }
    .space-kicker i { font-style: normal; }
    .space-kicker--light { color: #ffe592; }
    .space-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem; }
    .space-button {
        display: inline-flex;
        min-height: 3.15rem;
        align-items: center;
        justify-content: center;
        padding: .78rem 1.45rem;
        border: 2px solid var(--space-action-deep);
        border-radius: 999px;
        color: #fff;
        background: var(--space-action);
        box-shadow: 0 .35rem 0 var(--space-action-deep);
        font-weight: 900;
        line-height: 1.15;
        text-align: center;
        text-decoration: none;
        transition: translate .18s ease, box-shadow .18s ease, background-color .18s ease;
    }

    .space-button:hover { background: var(--space-action-hover); box-shadow: 0 .14rem 0 var(--space-action-deep); translate: 0 .17rem; }
    .space-button--outline, .space-button--soft { border-color: var(--space-indigo); color: var(--space-indigo-deep); background: #fff; box-shadow: none; }
    .space-button--outline:hover, .space-button--soft:hover { color: #fff; background: var(--space-indigo); box-shadow: none; }
    .space-button--gold { border-color: #a9780c; color: var(--space-indigo-deep); background: var(--space-gold); box-shadow: 0 .35rem 0 #a9780c; }
    .space-button--gold:hover { color: var(--space-indigo-deep); background: #f9cf65; box-shadow: 0 .14rem 0 #a9780c; }
    .space-button--small { min-height: 2.75rem; padding: .62rem 1rem; font-size: .86rem; }
    .space-button--full { width: 100%; }
    .space-text-link { display: inline-flex; align-items: center; gap: .5rem; color: var(--space-indigo); font-weight: 900; text-decoration-color: var(--space-coral); text-decoration-thickness: .16rem; text-underline-offset: .2rem; }
    .space-text-link span { transition: translate .18s ease; }
    .space-text-link:hover span { translate: .3rem 0; }
    .space-honeypot, .space-sr-only { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
    html.kids-cosmos-ready .world-kids-cosmos [data-space-reveal] { opacity: 0; translate: 0 1rem; transition: opacity .6s ease, translate .6s ease; }
    html.kids-cosmos-ready .world-kids-cosmos [data-space-reveal].is-visible { opacity: 1; translate: 0; }

    /* Full-width storybook hero */
    .space-hero {
        --space-hero-gutter: max(clamp(2rem, 4vw, 4rem), calc((100vw - 90rem) / 2 + 2rem));
        position: relative;
        width: 100%;
        min-height: clamp(41rem, 70vw, 50rem);
        color: var(--space-ink);
        background: linear-gradient(112deg, #fff9ed 0 35%, #f1edff 62%, #d9f3f7);
        isolation: isolate;
        overflow: hidden;
    }

    .space-hero::after {
        position: absolute;
        z-index: -1;
        right: -5rem;
        bottom: -7rem;
        width: 24rem;
        height: 24rem;
        border: 5rem solid rgb(255 255 255 / 32%);
        border-radius: 50%;
        content: "";
    }

    .space-hero__decor { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
    .space-hero__decor span { position: absolute; color: var(--space-gold); filter: drop-shadow(0 0 .5rem rgb(246 198 84 / 45%)); font-size: clamp(1.2rem, 2.5vw, 2.25rem); }
    .space-hero__decor span:nth-child(1) { top: 15%; left: 7%; }
    .space-hero__decor span:nth-child(2) { top: 13%; right: 8%; color: var(--space-indigo); }
    .space-hero__decor span:nth-child(3) { right: 45%; bottom: 14%; }
    .space-hero__stage {
        position: relative;
        display: grid;
        width: 100%;
        max-width: none;
        min-height: clamp(41rem, 70vw, 50rem);
        align-items: center;
        padding-block: clamp(3.5rem, 7vw, 6rem) 7rem;
        padding-inline: var(--space-hero-gutter);
        margin-inline: 0;
    }
    .space-hero__world { position: absolute; z-index: 0; inset: 0; margin: 0; }
    .space-hero__world::after { position: absolute; inset: 0; background: linear-gradient(90deg, #fffaf0 0 22%, rgb(255 250 240 / 83%) 38%, transparent 68%); content: ""; }
    .space-hero__world > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .space-hero__world figcaption { position: absolute; z-index: 2; right: 3%; bottom: 7%; display: grid; max-width: 18rem; padding: .8rem 1rem; border-radius: 1rem; color: var(--space-indigo-deep); background: rgb(255 255 255 / 90%); box-shadow: var(--space-shadow-soft); }
    .space-hero__world figcaption b { font-family: var(--theme-heading-font); }
    .space-hero__world figcaption span { color: var(--space-muted); font-size: .76rem; }
    .space-hero__copy { position: relative; z-index: 3; width: min(44rem, 51%); padding: clamp(1.5rem, 3vw, 2.8rem); border-radius: 2.2rem; background: rgb(255 250 240 / 83%); backdrop-filter: blur(.45rem); }
    .space-hero__copy h1 { color: var(--space-indigo-deep); font-size: clamp(2.75rem, 5.4vw, 5.4rem); letter-spacing: -.05em; line-height: .98; }
    .space-hero__copy h1 em { display: block; color: var(--space-coral); font-style: normal; }
    .space-hero__copy > p { max-width: 40rem; color: #515673; font-size: clamp(1rem, 1.5vw, 1.16rem); }
    .space-hero__copy .space-actions { margin-top: 1.7rem; }
    .space-hero__promise { position: absolute; z-index: 4; right: var(--space-hero-gutter); bottom: 1.3rem; left: var(--space-hero-gutter); display: grid; grid-template-columns: repeat(3, 1fr); padding: .75rem; margin: 0; border: 1px solid rgb(57 70 160 / 12%); border-radius: 1.4rem; background: rgb(255 255 255 / 94%); box-shadow: var(--space-shadow); list-style: none; }
    .space-hero__promise li { display: grid; grid-template-columns: 2.7rem 1fr; gap: 0 .8rem; padding: .8rem 1.2rem; border-right: 1px dashed #cdd1e3; }
    .space-hero__promise li:last-child { border-right: 0; }
    .space-hero__promise span { grid-row: span 2; display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border-radius: 50%; color: var(--space-indigo); background: #eef0ff; font-size: 1.2rem; }
    .space-hero__promise b, .space-hero__promise small { display: block; }
    .space-hero__promise small { color: var(--space-muted); }

    /* Home chapter 2 */
    .space-choice { background: #fff; }
    .space-choice__grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
    .space-choice__art { position: relative; margin: 0; }
    .space-choice__art::before { position: absolute; z-index: -1; inset: -1rem 1.5rem 1.5rem -1rem; border-radius: 43% 57% 44% 56%; background: #ffe6df; content: ""; rotate: -3deg; }
    .space-choice__art img { width: 100%; aspect-ratio: 4 / 3; border: .45rem solid #fff; border-radius: 43% 57% 44% 56%; box-shadow: var(--space-shadow); object-fit: cover; }
    .space-choice__art > span { position: absolute; right: -.8rem; bottom: 1rem; max-width: 15rem; padding: .7rem 1rem; border-radius: 999px; color: var(--space-indigo-deep); background: var(--space-gold); font-size: .78rem; font-weight: 900; rotate: -2deg; }
    .space-choice__copy h2 { font-size: clamp(2.2rem, 4.4vw, 4rem); }
    .space-choice__points { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 1.8rem; }
    .space-choice__points article, .space-culture-list article { display: flex; gap: .8rem; }
    .space-choice__points article > span, .space-culture-list article > span { display: grid; width: 2.65rem; height: 2.65rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--space-indigo); background: #eef0ff; }
    .space-choice__points h3, .space-choice__points p, .space-culture-list h3, .space-culture-list p { margin: 0; }
    .space-choice__points h3, .space-culture-list h3 { font-size: 1rem; }
    .space-choice__points p, .space-culture-list p { margin-top: .25rem; color: var(--space-muted); font-size: .86rem; }

    /* Home chapter 3 */
    .space-programs { background: var(--space-sky); }
    .space-programs::before, .space-programs::after { position: absolute; right: 0; left: 0; height: 2rem; background: radial-gradient(2rem 1.4rem at 2rem 1.4rem, #fff 98%, transparent) 0 0 / 4rem 2rem repeat-x; content: ""; }
    .space-programs::before { top: 0; rotate: 180deg; }
    .space-programs::after { bottom: 0; }
    .space-program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.4vw, 2rem); }
    .space-program-card { min-width: 0; overflow: hidden; border-radius: 45% 45% 2.2rem 2.2rem; color: #fff; background: var(--space-indigo); box-shadow: var(--space-shadow); transition: translate .22s ease; }
    .space-program-card:hover { translate: 0 -.45rem; }
    .space-program-card--blue { background: #257987; }
    .space-program-card--coral { background: #b74738; }
    .space-program-card--violet { background: #5e59c7; }
    .space-program-card > img { width: 100%; aspect-ratio: 1 / .78; border-radius: 50%; object-fit: cover; }
    .space-program-card > div { padding: 1.4rem 1.5rem 1.8rem; text-align: center; }
    .space-program-card > div > span { color: #fff2a9; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
    .space-program-card h3 { color: #fff; font-size: 1.45rem; }
    .space-program-card p { color: rgb(255 255 255 / 88%); }
    .space-program-card a { color: #fff; font-weight: 900; }

    /* Home chapter 4 */
    .space-learning { background: #fff; }
    .space-learning__signals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
    .space-learning__signals article { position: relative; min-height: 9rem; padding: 1.3rem 1.1rem 1.3rem 4.1rem; border: 1px solid #e2e4ef; border-radius: 1.3rem; background: var(--space-cream); }
    .space-learning__signals article > span { position: absolute; top: 1.25rem; left: 1rem; display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .75rem; color: #fff; background: var(--space-coral); }
    .space-learning__signals article:nth-child(2) > span { background: var(--space-indigo); }
    .space-learning__signals article:nth-child(3) > span { color: var(--space-indigo-deep); background: var(--space-gold); }
    .space-learning__signals article:nth-child(4) > span { background: var(--space-mint-deep); }
    .space-learning__signals h3 { margin: 0; font-size: 1rem; }
    .space-learning__signals p { margin: .3rem 0 0; color: var(--space-muted); font-size: .84rem; }
    .space-learning__grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
    .space-learning__art { position: relative; margin: 0; }
    .space-learning__art::after { position: absolute; z-index: -1; inset: 1.4rem -1.2rem -1.2rem 1.4rem; border-radius: 3rem .8rem 3rem .8rem; background: #dff3f1; content: ""; }
    .space-learning__art img { width: 100%; border-radius: 3rem .8rem 3rem .8rem; box-shadow: var(--space-shadow); }
    .space-learning__copy h2 { font-size: clamp(2rem, 4.2vw, 3.8rem); }
    .space-learning__copy > p { color: var(--space-muted); }
    .space-learning__values { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-block: 1.6rem; }
    .space-learning__values article { display: flex; gap: .75rem; padding: .8rem; border-radius: 1rem; background: var(--space-sky); }
    .space-learning__values article > span { color: var(--space-coral-deep); font-size: 1.15rem; }
    .space-learning__values h3, .space-learning__values p { margin: 0; }
    .space-learning__values h3 { font-size: .98rem; }
    .space-learning__values p { color: var(--space-muted); font-size: .82rem; }

    .space-guides { color: #fff; background: radial-gradient(circle at 85% 18%, rgb(89 199 201 / 22%) 0 8rem, transparent 8.2rem), var(--space-indigo-deep); }
    .space-guides__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
    .space-guides h2 { color: #fff; font-size: clamp(2.1rem, 4.6vw, 4rem); }
    .space-guides p { color: #e8e9f5; }
    .space-guide-list { display: grid; gap: .75rem; padding: 0; margin: 1.7rem 0 0; list-style: none; }
    .space-guide-list li { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid rgb(255 255 255 / 19%); border-radius: 1rem; background: rgb(255 255 255 / 8%); }
    .space-guide-list li > b { display: grid; width: 2.45rem; height: 2.45rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--space-indigo-deep); background: var(--space-gold); }
    .space-guide-list span, .space-guide-list strong, .space-guide-list small { display: block; }
    .space-guide-list small { color: #cfd2e7; }
    .space-guides__art { position: relative; margin: 0; }
    .space-guides__art img { width: 100%; border: .4rem solid #fff; border-radius: 3rem 3rem 1rem; box-shadow: 1rem 1rem 0 #4e568e; }
    .space-guides__art figcaption { position: absolute; right: -.5rem; bottom: 1rem; max-width: 17rem; padding: .75rem 1rem; border-radius: 1rem; color: var(--space-indigo-deep); background: var(--space-gold); font-size: .8rem; font-weight: 800; rotate: 2deg; }

    .space-stargazing { min-height: clamp(31rem, 55vw, 44rem); display: grid; align-items: center; color: #fff; isolation: isolate; overflow: hidden; }
    .space-stargazing__media { position: absolute; z-index: -2; inset: 0; }
    .space-stargazing__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(20 24 63 / 94%) 0 35%, rgb(20 24 63 / 55%) 65%, rgb(20 24 63 / 18%)); content: ""; }
    .space-stargazing__media img { width: 100%; height: 100%; object-fit: cover; }
    .space-stargazing__copy { margin-block: auto; }
    .space-stargazing__copy > * { max-width: 41rem; }
    .space-stargazing h2 { color: #fff; font-size: clamp(2.4rem, 5vw, 4.7rem); }
    .space-stargazing p { color: #e8ebfa; font-size: 1.05rem; }

    .space-library { background: var(--space-sky); }
    .space-story-shelf, .space-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
    .space-story-card, .space-news-card { min-width: 0; overflow: hidden; border: 1px solid #e0e3ef; border-radius: 1.5rem; background: #fff; box-shadow: var(--space-shadow-soft); }
    .space-story-card__cover, .space-news-card__image { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
    .space-story-card__cover img, .space-news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: scale .3s ease; }
    .space-story-card:hover img, .space-news-card:hover img { scale: 1.04; }
    .space-story-card__cover > span, .space-news-card__image > span { position: absolute; right: .75rem; bottom: .75rem; padding: .38rem .7rem; border-radius: 999px; color: var(--space-indigo-deep); background: var(--space-gold); font-size: .68rem; font-weight: 900; }
    .space-story-card__body, .space-news-card__body { padding: 1.35rem; }
    .space-story-card__body time, .space-news-card__body time { color: var(--space-muted); font-size: .78rem; }
    .space-story-card__body h3 a, .space-news-card__body h3 a { color: var(--space-indigo-deep); text-decoration: none; }
    .space-story-card__body p, .space-news-card__body p { color: var(--space-muted); }
    .space-empty { max-width: 40rem; margin-inline: auto; padding: 2.5rem; border: 1px dashed #bec4df; border-radius: 1.5rem; background: #fff; text-align: center; }
    .space-empty img { width: min(100%, 18rem); margin-inline: auto; }

    .space-invitation, .space-admission-form, .space-recruit-form, .space-general-request {
        color: var(--space-ink);
        background:
            radial-gradient(circle at 8% 20%, rgb(89 199 201 / 20%) 0 7rem, transparent 7.1rem),
            radial-gradient(circle at 92% 82%, rgb(246 198 84 / 22%) 0 9rem, transparent 9.1rem),
            linear-gradient(128deg, #eaf7fb 0%, #f2f0ff 50%, #fff6dc 100%);
        overflow: hidden;
    }

    .space-invitation__grid, .space-form-layout { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
    .space-invitation h2, .space-form-layout__copy h2 { color: var(--space-indigo-deep); font-size: clamp(2.15rem, 4.4vw, 3.9rem); }
    .space-invitation__copy > p, .space-form-layout__copy > p { color: var(--space-muted); }
    .space-invitation .space-kicker--light, .space-form-layout .space-kicker--light { color: var(--space-mint-deep); }
    .space-invitation__mini { display: flex; gap: .8rem; margin-top: 1.5rem; }
    .space-invitation__mini > span { color: var(--space-gold); font-size: 1.4rem; }
    .space-invitation__mini p, .space-invitation__mini b, .space-invitation__mini small { display: block; margin: 0; }
    .space-invitation__mini small { color: var(--space-muted); }

    /* Shared forms */
    .space-form { padding: clamp(1.4rem, 3vw, 2.3rem); border: 1px solid rgb(70 85 184 / 18%); border-radius: 1.6rem; color: var(--space-ink); background: linear-gradient(150deg, #fff, #fbfcff); box-shadow: var(--space-shadow); }
    .space-form__heading { margin-bottom: 1.35rem; }
    .space-form__heading small { color: var(--space-mint-deep); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
    .space-form__heading h2 { margin: .25rem 0 0; color: var(--space-indigo-deep); font-size: clamp(1.55rem, 3vw, 2.25rem); }
    .space-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .space-form label { display: grid; gap: .42rem; color: var(--space-indigo-deep); font-size: .86rem; font-weight: 800; }
    .space-form :is(input, select, textarea) { width: 100%; min-height: 3rem; padding: .72rem .82rem; border: 1px solid #bdc3da; border-radius: .75rem; color: var(--space-ink); background: #fff; font: inherit; }
    .space-form textarea { min-height: 7rem; resize: vertical; }
    .space-form :is(input, select, textarea):focus { border-color: var(--space-indigo); box-shadow: 0 0 0 .2rem rgb(57 70 160 / 12%); }
    .space-form .space-field--full { grid-column: 1 / -1; }
    .space-form .space-consent { display: flex; align-items: flex-start; gap: .7rem; margin-block: 1.1rem; color: var(--space-muted); font-size: .78rem; font-weight: 600; }
    .space-consent input { width: 1.15rem; min-height: 1.15rem; margin-top: .12rem; accent-color: var(--space-indigo); }
    .space-form-note { margin: .8rem 0 0; color: var(--space-muted); font-size: .75rem; text-align: center; }
    .space-form-layout__copy ul { display: grid; gap: .65rem; padding: 0; list-style: none; }
    .space-direct-contact { padding-top: .8rem; border-top: 1px solid rgb(57 70 160 / 15%); }
    .space-direct-contact a { color: var(--space-action-deep); font-weight: 900; }

    /* Secondary page heroes */
    .space-page-hero { position: relative; padding-block: clamp(4.5rem, 8vw, 7rem); background: linear-gradient(120deg, #fff7e6, #e9f6fa 56%, #eef0ff); overflow: hidden; }
    .space-page-hero::before { position: absolute; top: -9rem; right: -7rem; width: 25rem; height: 25rem; border: 5rem solid rgb(255 255 255 / 38%); border-radius: 50%; content: ""; }
    .space-page-hero--about { background: linear-gradient(120deg, #fff1e8, #eef8f7 55%, #eaedff); }
    .space-page-hero--admissions { background: linear-gradient(120deg, #fff5dc, #e8f7f8 55%, #eef0ff); }
    .space-page-hero--news { background: linear-gradient(120deg, #e8f4ff, #eeeaff 55%, #fff0e6); }
    .space-page-hero--recruitment { background: linear-gradient(120deg, #eff0ff, #e5f7f5 55%, #fff1e6); }
    .space-page-hero--contact { background: linear-gradient(120deg, #fff0e7, #edf7f7 55%, #eef0ff); }
    .space-page-hero--compact { padding-block: clamp(3.5rem, 6vw, 5rem); }
    .space-page-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
    .space-page-hero h1 { max-width: 48rem; color: var(--space-indigo-deep); font-size: clamp(2.65rem, 5.5vw, 5rem); letter-spacing: -.045em; line-height: 1; }
    .space-page-hero h1 em { color: var(--space-coral); font-style: normal; }
    .space-page-hero p { max-width: 43rem; color: var(--space-muted); font-size: 1.03rem; }
    .space-page-hero .space-actions { margin-top: 1.5rem; }
    .space-page-hero__art { position: relative; margin: 0; }
    .space-page-hero__art > img { width: 100%; max-height: 34rem; border: .4rem solid #fff; border-radius: 45% 55% 1.8rem 1.8rem; box-shadow: var(--space-shadow); object-fit: cover; }
    .space-page-hero__art--illustration > img { border: 0; box-shadow: none; object-fit: contain; }
    .space-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; color: var(--space-muted); font-size: .82rem; }
    .space-breadcrumbs a { color: var(--space-indigo); font-weight: 800; }

    /* Common editorial blocks */
    .space-zigzag { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 7vw, 7rem); }
    .space-zigzag--reverse > :first-child { order: 2; }
    .space-zigzag__art { position: relative; margin: 0; }
    .space-zigzag__art > img { width: 100%; border-radius: 2.5rem .8rem 2.5rem .8rem; box-shadow: var(--space-shadow); }
    .space-stamp, .space-paper-note { position: absolute; right: -.6rem; bottom: 1rem; padding: .7rem 1rem; border: 2px solid var(--space-indigo); border-radius: 1rem; color: var(--space-indigo-deep); background: var(--space-gold); box-shadow: .35rem .4rem 0 #fff; font-size: .83rem; rotate: 2deg; }
    .space-copy blockquote { padding: 1.1rem 1.3rem; margin: 1.4rem 0; border-left: .35rem solid var(--space-coral); border-radius: 0 1rem 1rem 0; color: var(--space-indigo-deep); background: #fff2cf; font: italic 1.04rem/1.6 var(--theme-heading-font); }
    .space-value-grid, .space-space-grid, .space-job-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; }
    .space-value-grid article, .space-space-grid article, .space-job-grid article { padding: 1.5rem; border: 1px solid #dfe2ef; border-radius: 1.35rem; background: #fff; box-shadow: var(--space-shadow-soft); }
    .space-value-grid article > span, .space-space-grid article > span, .space-job-grid article > span { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; margin-bottom: .9rem; border-radius: 50%; color: var(--space-indigo-deep); background: var(--space-gold); font-weight: 900; }
    .space-value-grid p, .space-space-grid p, .space-job-grid p { color: var(--space-muted); }
    .space-mission { color: #fff; background: var(--space-indigo-deep); }
    .space-mission__grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 1.1rem; }
    .space-mission article { padding: 2rem; border: 1px solid rgb(255 255 255 / 18%); border-radius: 1.4rem; background: rgb(255 255 255 / 8%); }
    .space-mission h2, .space-mission h3 { color: #fff; }
    .space-mission p { color: #dfe1f2; }
    .space-accordion { display: grid; gap: .7rem; }
    .space-accordion article { overflow: hidden; border: 1px solid #d7dbe9; border-radius: 1rem; background: #fff; }
    .space-accordion button { display: flex; width: 100%; min-height: 3.2rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 0; color: var(--space-indigo-deep); background: transparent; font: 800 .96rem/1.35 inherit; text-align: left; cursor: pointer; }
    .space-accordion button b { color: var(--space-coral-deep); font-size: 1.2rem; transition: rotate .2s ease; }
    .space-accordion article.is-open button b { rotate: 45deg; }
    .space-accordion article > div { padding: 0 1rem 1rem; color: var(--space-muted); }
    .space-accordion article > div p { margin: 0; }

    /* Admissions */
    .space-admission-banner { color: #fff; background: var(--space-indigo); }
    .space-admission-banner .space-container { display: flex; align-items: center; gap: 1rem 1.5rem; padding-block: 1.1rem; }
    .space-admission-banner b { color: #fff0aa; }
    .space-admission-banner p { flex: 1; margin: 0; color: #e7e9f7; }
    .space-admission-banner a { color: #fff; font-weight: 900; }
    .space-age-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
    .space-age { position: relative; min-height: 17rem; padding: 1.5rem; border-radius: 48% 48% 1.5rem 1.5rem; color: #fff; background: var(--space-indigo); box-shadow: var(--space-shadow-soft); text-align: center; }
    .space-age > span { display: grid; width: 3rem; height: 3rem; place-items: center; margin: .7rem auto 1rem; border-radius: 50%; color: var(--space-indigo-deep); background: #fff; }
    .space-age h3 { color: #fff; font-size: 1.2rem; }
    .space-age p { color: rgb(255 255 255 / 88%); font-size: .88rem; }
    .space-age--mint { background: #19777c; }
    .space-age--sky { background: #28688d; }
    .space-age--butter { color: #fff; background: #925d00; }
    .space-age--peach { background: #af4536; }
    .space-age--lilac { background: #6158b8; }
    .space-number-list { display: grid; gap: .8rem; padding: 0; list-style: none; }
    .space-number-list li { display: flex; gap: 1rem; padding: 1rem; border-radius: 1rem; background: #fff; }
    .space-number-list li > b { color: var(--space-coral-deep); }
    .space-number-list h3, .space-number-list p { margin: 0; }
    .space-number-list h3 { font-size: 1rem; }
    .space-number-list p { margin-top: .2rem; color: var(--space-muted); font-size: .86rem; }
    .space-process { background: #fff; }
    .space-process__line { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 0; list-style: none; }
    .space-process__line::before { position: absolute; top: 2.1rem; right: 8%; left: 8%; border-top: .2rem dashed #b8bedb; content: ""; }
    .space-process__line li { position: relative; z-index: 1; text-align: center; }
    .space-process__line li > span { display: grid; width: 4.2rem; height: 4.2rem; place-items: center; margin: 0 auto 1rem; border: .35rem solid #fff; border-radius: 50%; color: #fff; background: var(--space-indigo); box-shadow: 0 0 0 1px #cbd0e4; font-weight: 900; }
    .space-process__line h3 { font-size: 1.08rem; }
    .space-process__line p { color: var(--space-muted); font-size: .86rem; }
    .space-document-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 6rem); }
    .space-document-list { display: grid; gap: .7rem; padding: 0; margin: 0; list-style: none; }
    .space-document-list li { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: 1rem; background: #fff; box-shadow: var(--space-shadow-soft); }
    .space-document-list b { color: var(--space-coral-deep); }
    .space-faq-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(2rem, 6vw, 5rem); }
    .space-faq .space-heading { margin: 0; text-align: left; }

    /* News */
    .space-news-tools { position: relative; z-index: 3; margin-top: -2rem; }
    .space-news-tools form { display: grid; grid-template-columns: 1fr minmax(12rem, .45fr) auto auto; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid #e0e3ef; border-radius: 1.3rem; background: #fff; box-shadow: var(--space-shadow); }
    .space-news-tools :is(input, select) { width: 100%; min-height: 3.15rem; padding: .7rem .85rem; border: 1px solid #bdc3da; border-radius: .8rem; color: var(--space-ink); background: #fff; font: inherit; }
    .space-news-search { position: relative; display: block; }
    .space-news-search > span[aria-hidden] { position: absolute; top: .72rem; left: .85rem; font-size: 1.25rem; }
    .space-news-search input { padding-left: 2.6rem; }
    .space-featured-story { background: #fff; }
    .space-featured-story__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2rem, 6vw, 5rem); }
    .space-featured-story__art { position: relative; display: block; overflow: hidden; border-radius: 2rem .7rem 2rem .7rem; box-shadow: var(--space-shadow); }
    .space-featured-story__art img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
    .space-featured-story__art span { position: absolute; right: 1rem; bottom: 1rem; padding: .4rem .75rem; border-radius: 999px; color: var(--space-indigo-deep); background: var(--space-gold); font-size: .72rem; font-weight: 900; }
    .space-featured-story h2 a { color: var(--space-indigo-deep); text-decoration: none; }
    .space-featured-story time { color: var(--space-muted); }
    .space-news-card--featured { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; }
    .space-news-card--featured .space-news-card__image { aspect-ratio: auto; min-height: 100%; }
    .space-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin-top: 2.3rem; }
    .space-pagination a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid #c8cde1; border-radius: 50%; color: var(--space-indigo); background: #fff; font-weight: 900; text-decoration: none; }
    .space-pagination a.is-current { border-color: var(--space-indigo); color: #fff; background: var(--space-indigo); }

    /* Recruitment and contact */
    .space-culture-list { display: grid; gap: 1rem; margin-top: 1.5rem; }
    .space-job-grid article { display: flex; flex-direction: column; }
    .space-job-grid ul { padding-left: 1.15rem; color: var(--space-muted); font-size: .86rem; }
    .space-job-grid article > a { margin-top: auto; color: var(--space-indigo); font-weight: 900; }
    .space-hiring { background: #fff; }
    .space-contact-cards { background: #fff; }
    .space-contact-cards__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
    .space-contact-cards__grid article { padding: 1.4rem; border: 1px solid #e0e3ef; border-radius: 1.3rem; background: var(--space-cream); }
    .space-contact-cards__grid article > span { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; margin-bottom: 1rem; border-radius: .85rem; color: #fff; background: var(--space-indigo); }
    .space-contact-cards__grid small { color: var(--space-coral-deep); font-weight: 900; text-transform: uppercase; }
    .space-contact-cards__grid h3 { font-size: 1.08rem; }
    .space-contact-cards__grid p, .space-contact-cards__grid i { color: var(--space-muted); font-size: .86rem; overflow-wrap: anywhere; }
    .space-contact-cards__grid i { display: block; font-style: normal; }
    .space-contact-main { display: grid; grid-template-columns: 1.15fr .85fr; align-items: start; gap: clamp(2rem, 6vw, 5rem); }
    .space-contact-side { padding: 1.4rem; border-radius: 1.6rem; background: #fff; box-shadow: var(--space-shadow); }
    .space-contact-side img { width: 100%; aspect-ratio: 16 / 10; border-radius: 1rem; object-fit: cover; }
    .space-contact-side ul { padding-left: 1.1rem; color: var(--space-muted); }
    .space-contact-side .space-button { margin-top: .5rem; }
    .space-map { padding-top: clamp(2.5rem, 3.5vw, 3.25rem); background: var(--space-sky); }
    .space-map__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; }
    .space-map__heading p { max-width: 34rem; color: var(--space-muted); text-align: right; }
    .space-map__frame { height: clamp(22rem, 45vw, 36rem); }
    .space-map__frame iframe { width: 100%; height: 100%; border: 0; }

    /* Article, policy and 404 */
    .space-article__header { padding-block: clamp(4.5rem, 8vw, 7rem); background: linear-gradient(120deg, #eef0ff, #e7f7f7 55%, #fff2df); }
    .space-article__heading { max-width: 62rem; }
    .space-article__heading h1 { color: var(--space-indigo-deep); font-size: clamp(2.5rem, 5vw, 4.8rem); }
    .space-article__heading > p { color: var(--space-muted); font-size: 1.08rem; }
    .space-article__meta { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--space-muted); font-size: .84rem; }
    .space-article__cover { margin-top: -3rem; }
    .space-article__cover img { width: 100%; max-height: 43rem; border: .45rem solid #fff; border-radius: 2rem; box-shadow: var(--space-shadow); object-fit: cover; }
    .space-article__layout { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(14rem, .34fr); gap: clamp(1.5rem, 4vw, 3.5rem); padding-block: clamp(3rem, 6vw, 5rem); }
    .space-share { position: sticky; top: 7rem; display: grid; align-self: start; gap: .6rem; }
    .space-share > span { color: var(--space-muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; writing-mode: vertical-rl; }
    .space-share :is(a, button) { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid #cbd0e3; border-radius: 50%; color: var(--space-indigo); background: #fff; font-weight: 900; text-decoration: none; cursor: pointer; }
    .space-article__aside > div { position: sticky; top: 7rem; padding: 1.3rem; border-radius: 1.3rem; background: #fff4d8; }
    .space-article__aside img { width: 4.5rem; height: 4.5rem; object-fit: contain; }
    .space-prose { color: #414660; line-height: 1.75; overflow-wrap: anywhere; }
    .space-prose > :first-child { margin-top: 0; }
    .space-prose :is(h2, h3, h4) { color: var(--space-indigo-deep); }
    .space-prose h2 { margin-top: 2.3rem; font-size: clamp(1.65rem, 3vw, 2.4rem); }
    .space-prose a { color: var(--space-indigo); font-weight: 700; }
    .space-prose img { max-width: 100%; height: auto; border-radius: 1rem; }
    .space-prose blockquote { padding: 1rem 1.2rem; border-left: .35rem solid var(--space-coral); background: #fff3d8; }
    .space-policy { max-width: 58rem; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 1.5rem; background: #fff; box-shadow: var(--space-shadow-soft); }
    .space-not-found { min-height: 66vh; display: grid; place-items: center; padding-block: 4rem; text-align: center; background: linear-gradient(135deg, #eef0ff, #e8f7f7, #fff0df); }
    .space-not-found img { width: min(100%, 24rem); margin-inline: auto; }
    .space-not-found h1 { color: var(--space-indigo-deep); font-size: clamp(2.5rem, 6vw, 5rem); }
    .space-not-found p { color: var(--space-muted); }
    .space-not-found .space-actions { justify-content: center; }

    @media (max-width: 68rem) {
        .space-hero__copy { width: 60%; }
        .space-program-grid, .space-story-shelf, .space-news-grid { grid-template-columns: repeat(2, 1fr); }
        .space-program-card:last-child { grid-column: 1 / -1; width: min(100%, 30rem); justify-self: center; }
        .space-learning__signals, .space-value-grid, .space-space-grid, .space-job-grid, .space-contact-cards__grid { grid-template-columns: repeat(2, 1fr); }
        .space-age-grid { grid-template-columns: repeat(3, 1fr); }
        .space-mission__grid { grid-template-columns: 1fr 1fr; }
        .space-mission__lead { grid-column: 1 / -1; }
        .space-news-card--featured { grid-column: auto; display: block; }
        .space-news-card--featured .space-news-card__image { min-height: auto; aspect-ratio: 16 / 10; }
        .space-article__layout { grid-template-columns: auto minmax(0, 1fr); }
        .space-article__aside { grid-column: 2; }
    }

    @media (max-width: 48rem) {
        .space-container { width: min(100% - 2rem, 42rem); }
        .space-heading--split, .space-map__heading { display: grid; align-items: start; }
        .space-map__heading p { text-align: left; }
        .space-hero { min-height: auto; }
        .space-hero__stage { display: flex; width: 100%; min-height: auto; flex-direction: column; align-items: stretch; padding-block: 1rem 2rem; padding-inline: 1rem; margin-inline: 0; }
        .space-hero__world { position: relative; inset: auto; order: 2; width: auto; height: clamp(20rem, 75vw, 30rem); margin-inline: -1rem; overflow: hidden; border-radius: 0; }
        .space-hero__world::after { background: linear-gradient(0deg, rgb(37 41 79 / 28%), transparent 50%); }
        .space-hero__world figcaption { right: .8rem; bottom: .8rem; left: .8rem; max-width: none; }
        .space-hero__copy { order: 1; width: 100%; padding: 2.5rem 0 1.5rem; background: transparent; backdrop-filter: none; }
        .space-hero__copy h1 { font-size: clamp(2.55rem, 12vw, 4.1rem); }
        .space-hero__promise { position: relative; inset: auto; order: 3; grid-template-columns: 1fr; margin-top: 1rem; }
        .space-hero__promise li { border-right: 0; border-bottom: 1px dashed #cdd1e3; }
        .space-hero__promise li:last-child { border-bottom: 0; }
        .space-choice__grid, .space-learning__grid, .space-guides__grid, .space-invitation__grid, .space-page-hero__grid, .space-zigzag, .space-featured-story__grid, .space-form-layout, .space-document-grid, .space-faq-grid, .space-contact-main { grid-template-columns: 1fr; }
        .space-zigzag--reverse > :first-child { order: initial; }
        .space-page-hero__art { width: min(100%, 34rem); justify-self: center; }
        .space-guides__art { width: min(100%, 34rem); justify-self: center; }
        .space-stargazing__media::after { background: rgb(20 24 63 / 72%); }
        .space-choice__points, .space-learning__values, .space-form__grid { grid-template-columns: 1fr; }
        .space-form .space-field--full { grid-column: auto; }
        .space-age-grid { grid-template-columns: repeat(2, 1fr); }
        .space-process__line { grid-template-columns: 1fr 1fr; }
        .space-process__line::before { display: none; }
        .space-news-tools { margin-top: 0; padding-block: 1rem; background: #fff; }
        .space-news-tools form { grid-template-columns: 1fr 1fr; }
        .space-news-search { grid-column: 1 / -1; }
        .space-article__layout { grid-template-columns: 1fr; }
        .space-share { position: static; display: flex; align-items: center; }
        .space-share > span { writing-mode: initial; }
        .space-article__aside { grid-column: auto; }
        .space-article__aside > div { position: static; }
    }

    @media (max-width: 32rem) {
        .space-section { padding-block: 2.5rem; }
        .space-actions > * { width: 100%; }
        .space-program-grid, .space-story-shelf, .space-news-grid, .space-learning__signals, .space-value-grid, .space-space-grid, .space-job-grid, .space-contact-cards__grid, .space-age-grid, .space-mission__grid, .space-process__line { grid-template-columns: 1fr; }
        .space-program-card:last-child, .space-mission__lead { grid-column: auto; width: auto; }
        .space-age { min-height: auto; border-radius: 2rem; }
        .space-admission-banner .space-container { display: grid; }
        .space-news-tools form { grid-template-columns: 1fr; }
        .space-news-search { grid-column: auto; }
        .space-news-tools .space-button { width: 100%; }
    }

    @media (prefers-reduced-motion: reduce) {
        .world-kids-cosmos *, .world-kids-cosmos *::before, .world-kids-cosmos *::after { scroll-behavior: auto; animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; }
        html.kids-cosmos-ready .world-kids-cosmos [data-space-reveal] { opacity: 1; translate: none; }
    }

    @media (forced-colors: active) {
        .space-button, .space-program-card, .space-age { border: 2px solid ButtonText; }
        .space-hero__world::after, .space-stargazing__media::after { display: none; }
    }
}
