/* 3D Kids Adventure — wide editorial layouts with rounded maker-inspired panels. */
:root {
 --adventure-radius: 2rem;
 --adventure-radius-card: 1.5rem;
 --adventure-shadow: 0 8px 24px rgb(22 38 64 / 6%);
 --adventure-page-gutter: clamp(1rem, 3.4vw, 3.5rem);
 --adventure-panel-gap: clamp(1.25rem, 2.4vw, 2rem);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: clip; }
body { margin: 0; }
img, svg, video { max-width: 100%; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--wp--preset--color--blue); outline-offset: 5px; }
:where(a) { text-underline-offset: .2em; }
.adventure-header { width: 100%; border-bottom: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper); }
.adventure-header-row { width: min(calc(100% - var(--adventure-page-gutter) - var(--adventure-page-gutter)), 1440px) !important; max-width: 1440px !important; padding-block: 1.1rem; gap: 1.5rem; }
.adventure-brand { gap: .75rem; }
.adventure-wordmark { margin: 0; font-weight: 800; line-height: 1.2; font-size: 1.15rem; }
.adventure-wordmark a { color: var(--wp--preset--color--ink); text-decoration: none; }
.adventure-navigation .wp-block-navigation__responsive-container-open,
.adventure-navigation .wp-block-navigation__responsive-container-close { min-width: 48px; min-height: 48px; align-items: center; justify-content: center; }
.adventure-navigation .wp-block-navigation-item__content { padding-block: .65rem; }
.adventure-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.adventure-navigation .is-menu-open .wp-block-navigation__container { align-items: stretch; width: 100%; }
.adventure-main { width: 100%; max-width: none !important; margin-block-start: 0; }
.adventure-main > .wp-block-group { width: 100%; max-width: none; }
.adventure-section { width: 100%; margin-block: 0; padding: clamp(2.25rem, 5vw, 5rem) var(--adventure-page-gutter); }
.adventure-section > .wp-block-group.alignwide { width: min(100%, 1400px); max-width: 1400px; margin-inline: auto; }
.adventure-page {
 width: 100% !important; max-width: none !important; margin-inline: auto !important;
 padding: clamp(2rem, 4vw, 4rem) var(--adventure-page-gutter) clamp(3rem, 6vw, 6rem);
}
.adventure-page > .wp-block-post-title { width: min(100%, 1400px); max-width: 1400px; margin: 0 auto clamp(1.5rem, 3vw, 2.75rem); }
.adventure-page > .wp-block-post-featured-image { width: min(100%, 1400px); max-width: 1400px; margin-inline: auto; }
.adventure-page .wp-block-post-content { width: 100%; max-width: none !important; margin-inline: auto; overflow-wrap: anywhere; }
.adventure-page .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { width: 100%; max-width: none !important; }
.adventure-page .wp-block-post-content p { max-width: 72ch; }
.adventure-page .wp-block-post-content > .adventure-copy-section {
 width: 100%; max-width: 1440px; margin: 0 auto var(--adventure-panel-gap); padding: clamp(1.5rem, 3vw, 3.25rem);
 border: 1px solid rgb(36 83 199 / 8%); border-radius: var(--adventure-radius);
 background: linear-gradient(135deg, #edf5ff 0%, #f8fbff 72%); position: relative; isolation: isolate;
}
.adventure-page .adventure-copy-section:nth-of-type(3n + 2) { background: linear-gradient(135deg, #e8f7f4, #f7fcfb); border-color: rgb(8 117 107 / 10%); }
.adventure-page .adventure-copy-section:nth-of-type(3n) { background: linear-gradient(135deg, #f0ebff, #fbfaff); border-color: rgb(97 59 180 / 10%); }
.adventure-page .adventure-copy-section:nth-of-type(4n) { background: linear-gradient(135deg, #fff4d5, #fffaf0); border-color: rgb(255 209 102 / 22%); }
.adventure-page .adventure-copy-section > :first-child { margin-top: 0; }
.adventure-page .adventure-copy-section > * { position: relative; z-index: 1; }
.adventure-page .adventure-copy-section::after { content: ""; position: absolute; z-index: 0; inset-block-start: 1.2rem; inset-inline-end: 2rem; width: clamp(150px, 18vw, 300px); aspect-ratio: 1; opacity: .42; pointer-events: none; background: center / contain no-repeat url("../images/illustration-maker.svg"); }
.page-id-7 .adventure-copy-section::after { background-image: url("../images/maker-placeholder.svg"); }
.page-id-8 .adventure-copy-section::after { background-image: url("../images/illustration-robotics.svg"); }
.page-id-9 .adventure-copy-section::after { background-image: url("../images/illustration-electronics.svg"); }
.page-id-10 .adventure-copy-section::after { background-image: url("../images/illustration-maker.svg"); }
.page-id-11 .adventure-copy-section::after { background-image: url("../images/illustration-3d-design.svg"); }
.page-id-12 .adventure-copy-section::after { background-image: url("../images/illustration-ai-creativity.svg"); }
.adventure-page .adventure-copy-section > :last-child { margin-bottom: 0; }
.adventure-page .adventure-copy-section h2 { max-width: 24ch; }
.adventure-eyebrow { color: var(--wp--preset--color--teal); font-size: .85rem; font-weight: 800; letter-spacing: .08em; }
.adventure-lead { max-width: 65ch; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); }
/* Approved wide artwork leads the homepage; natural dimensions prevent cropping. */
.front-page .adventure-hero { padding-block: clamp(1rem, 2.5vw, 2.5rem) clamp(2rem, 4vw, 4rem); background: radial-gradient(ellipse at 85% 25%, rgb(255 209 102 / 24%), transparent 45%), linear-gradient(135deg, #eaf2ff, #f8fbff 48%, #f4efff); }
.front-page .adventure-hero > .alignwide { width: min(100%, 1400px); min-width: 0; text-align: center; }
.front-page .adventure-hero .adventure-hero-art { width: 100%; max-width: 1240px; margin: 0 auto clamp(1rem, 2vw, 2rem); }
.front-page .adventure-hero .adventure-hero-art img { display: block; width: 100%; height: auto; aspect-ratio: 1774 / 887; object-fit: contain; }
.front-page .adventure-hero .adventure-lead { max-width: 58ch; margin: 0 auto 1.5rem; font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.front-page .adventure-hero .wp-block-buttons { justify-content: center; gap: .75rem; }
.adventure-brand { min-width: 0; flex-shrink: 1; }
.adventure-brand .wp-block-site-logo { flex: 0 0 auto; }
.adventure-brand .wp-block-site-logo img { display: block; width: 80px; height: auto; object-fit: contain; }
.adventure-wordmark { max-width: 12ch; }
.adventure-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--adventure-panel-gap); margin-block: clamp(1.5rem, 3vw, 2.75rem); }
.adventure-grid > * { min-width: 0; margin-block: 0; }
.adventure-card { min-width: 0; overflow: hidden; border: 1px solid rgb(22 38 64 / 9%); border-radius: var(--adventure-radius-card); padding: clamp(1.1rem, 2vw, 1.65rem); background: #fff; box-shadow: var(--adventure-shadow); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.adventure-card h3 { margin-top: 0; }
.adventure-card a { font-weight: 750; }
.adventure-card:hover { transform: translateY(-4px); border-color: rgb(36 83 199 / 26%); box-shadow: 0 14px 30px rgb(22 38 64 / 10%); }
/* Original vector placeholders label concepts; none depicts actual participants. */
.front-page .home-programs .adventure-card::before,
.adventure-page .adventure-copy-section .adventure-card::before { content: ""; display: block; height: clamp(120px, 13vw, 190px); margin: calc(0px - clamp(1.1rem, 2vw, 1.65rem)) calc(0px - clamp(1.1rem, 2vw, 1.65rem)) 1.25rem; border-radius: var(--adventure-radius-card) var(--adventure-radius-card) 18px 18px; background-color: #f1f6ff; background-position: center; background-repeat: no-repeat; background-size: contain; }
.adventure-grid .adventure-card:nth-child(6n + 1)::before { background-image: url('../images/illustration-3d-design.svg'); background-color: #edf3ff; }
.adventure-grid .adventure-card:nth-child(6n + 2)::before { background-image: url('../images/illustration-robotics.svg'); background-color: #e9f7f4; }
.adventure-grid .adventure-card:nth-child(6n + 3)::before { background-image: url('../images/illustration-coding.svg'); background-color: #f0edff; }
.adventure-grid .adventure-card:nth-child(6n + 4)::before { background-image: url('../images/illustration-ai-creativity.svg'); background-color: #fff2ef; }
.adventure-grid .adventure-card:nth-child(6n + 5)::before { background-image: url('../images/illustration-electronics.svg'); background-color: #eaf7f4; }
.adventure-grid .adventure-card:nth-child(6n)::before { background-image: url('../images/illustration-maker.svg'); background-color: #fff6df; }
.accent-blue { border-top: 5px solid var(--wp--preset--color--blue); }
.accent-teal { border-top: 5px solid var(--wp--preset--color--teal); }
.accent-violet { border-top: 5px solid var(--wp--preset--color--violet); }
.adventure-final { border: 0; background: transparent; }
/* Footer-only grid and navigation spacing; no page/header layout overrides. */
.adventure-footer { width: 100%; margin-block-start: 0; padding: clamp(2rem, 3vw, 3rem) var(--adventure-page-gutter) 1.25rem; color: var(--wp--preset--color--ink); }
.adventure-footer > .alignwide { width: min(100%, 1440px); max-width: 1440px; margin-inline: auto; }
.adventure-footer .adventure-footer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; margin-block: 0; }
.adventure-footer .adventure-footer-section { min-width: 0; overflow-wrap: anywhere; }
.adventure-footer .adventure-footer-section > * { margin-block: 0; }
.adventure-footer .adventure-footer-section h2 { margin: 0 0 .75rem; font-size: 1.1rem; line-height: 1.3; }
.adventure-footer .adventure-footer-brand .wp-block-site-logo { margin-bottom: .75rem; }
.adventure-footer .adventure-footer-brand .wp-block-site-logo img { display: block; width: 72px; height: auto; object-fit: contain; }
.adventure-footer .adventure-footer-brand p { max-width: 34ch; font-size: .95rem; line-height: 1.6; }
.adventure-footer .adventure-footer-nav { margin: 0; font-size: .95rem; }
.adventure-footer .adventure-footer-nav .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 100%; margin: 0; padding: 0; }
.adventure-footer .adventure-footer-nav .wp-block-navigation-item { margin: 0; width: 100%; }
.adventure-footer .adventure-footer-nav .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; padding: 4px 0; line-height: 1.4; text-decoration: underline; text-underline-offset: .2em; }
.adventure-footer .adventure-footer-programs .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); }
.adventure-footer .adventure-footer-programs .wp-block-navigation-item__content:hover { background: #edf3ff; text-decoration-thickness: 2px; }
.adventure-footer .adventure-footer-programs .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--wp--preset--color--blue); outline-offset: 3px; }
.adventure-footer .adventure-footer-bottom { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); gap: .5rem 1.5rem; font-size: .85rem; }
.adventure-footer .adventure-footer-bottom p { margin: 0; }
@media (min-width: 600px) {
 .adventure-footer .adventure-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .adventure-footer .adventure-footer-brand { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
 .adventure-footer .adventure-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .adventure-footer .adventure-footer-brand { grid-column: auto; }
}
@media (min-width: 1280px) {
 .adventure-footer .adventure-footer-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1rem, 2vw, 2rem); }
 .adventure-footer .adventure-footer-nav .wp-block-navigation-item__content { min-height: 36px; }
}
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; transition: transform .16s ease, box-shadow .16s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--adventure-shadow); }
.wp-block-post-template > li { margin-block-end: var(--wp--preset--spacing--50); }
@media (min-width: 600px) { .adventure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .adventure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1440px) {
 .adventure-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; position: relative; width: auto; }
 .adventure-navigation .wp-block-navigation__responsive-container-open { display: none !important; }
 .adventure-navigation .wp-block-navigation__container { gap: clamp(.55rem, .9vw, 1.1rem); }
}
@media (max-width: 599px) {
 :root { --adventure-radius: 1.35rem; --adventure-radius-card: 1rem; --adventure-panel-gap: 1rem; }
 .adventure-header-row { gap: .75rem; padding-block: .75rem; flex-wrap: nowrap; }
 .adventure-brand { gap: .5rem; }
 .adventure-brand .wp-block-site-logo img { width: 64px; }
 .adventure-wordmark { font-size: 1rem; }
 .front-page .adventure-hero { padding-block: 1rem 2rem; }
 .front-page .adventure-hero .wp-block-button { max-width: 100%; }
 .front-page .adventure-hero .wp-block-button__link { width: 100%; overflow-wrap: anywhere; }
 .adventure-section { padding-block: 2.5rem; }
 .front-page .adventure-section:nth-of-type(3) > .alignwide,
 .front-page .adventure-section:nth-of-type(4) > .alignwide,
 .front-page .adventure-section:nth-of-type(6) > .alignwide { border-radius: 22px; padding: 1.25rem; }
 .adventure-page .wp-block-post-content > .adventure-copy-section { padding: 1.35rem; border-radius: 22px; }
 .adventure-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
 .wp-block-button__link:hover, .adventure-card:hover { transform: none; }
}
@media (forced-colors: active) { .adventure-card, .wp-block-button__link, .adventure-copy-section { border: 1px solid CanvasText; } }


/* News cards share their data source across the homepage, archive, and related stories. */
.home-mission { background: #fff; }
.home-programs { background: linear-gradient(180deg, #f2f6ff, #fff); }
.home-programs > .alignwide { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #e5edfb; border-radius: 40px; background: linear-gradient(145deg, #eaf2ff, #f8f6ff); }
.home-events { background: #fff; }
.home-events > .alignwide { padding: clamp(1.5rem, 3vw, 3rem); border-radius: 36px; background: linear-gradient(135deg, #fff4d5, #fffaf0); }
.home-news { background: #f4f0ff; }
.home-news > .alignwide { padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid #e7defb; border-radius: 40px; background: linear-gradient(145deg, #f2edff, #faf9ff); }
.home-community { background: #fff; }
.home-final > .alignwide { max-width: 1440px; padding: clamp(2rem, 5vw, 5rem); border-radius: 40px; color: #fff; background: linear-gradient(125deg, #2453c7, #613bb4); }
.home-final h2, .home-final p { color: #fff; }
.home-final .is-style-outline .wp-block-button__link { border-color: #fff; color: #fff; }
.adventure-news-empty { padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px dashed rgb(36 83 199 / 32%); border-radius: 1.5rem; background: rgb(255 255 255 / 72%); color: var(--wp--preset--color--ink); }
/* Latest News alone: compact trailing space only while the listing is empty.
 * Core adds a 24px gap before the footer; page padding contributes 24–64px.
 * No populated grid or homepage section is matched by these selectors. */
.page-id-26 .adventure-page:has(> .wp-block-post-content > .adventure-news-empty:last-child) { padding-block-end: clamp(1.5rem, 4vw, 4rem); }
.page-id-26 .adventure-page .wp-block-post-content > .adventure-news-empty:last-child { margin-block-end: 0; padding: clamp(1.5rem, 3.5vw, 3rem) clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #dce3ee; border-radius: var(--adventure-radius); background: linear-gradient(135deg, #edf5ff, #f5f1ff); text-align: center; overflow-wrap: anywhere; }
.adventure-news-carousel { position: relative; }
.adventure-news-controls { display: flex; justify-content: flex-end; gap: .75rem; margin-block: 0 1rem; }
.adventure-news-control { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid #cbd7ef; border-radius: 50%; background: #fff; color: #162640; font-size: 1.4rem; font-weight: 800; text-decoration: none; }
.adventure-news-control:hover { background: #eaf2ff; }
.adventure-news-list--carousel { display: flex; gap: var(--adventure-panel-gap); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: .25rem; padding: .25rem .25rem 1rem; scrollbar-color: #8999c0 #e9e5f3; }
.adventure-news-list--carousel .adventure-news-card { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.adventure-news-list--grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--adventure-panel-gap); }
.adventure-news-card { min-width: 0; overflow: hidden; border: 1px solid rgb(22 38 64 / 10%); border-radius: 1.5rem; background: #fff; box-shadow: 0 7px 22px rgb(22 38 64 / 6%); }
.adventure-news-card__image { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #edf3ff; }
.adventure-news-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.adventure-news-card__image:has(img[src$="maker-placeholder.svg"]) .adventure-news-image { object-fit: contain; padding: 1rem; }
.adventure-news-card__body { padding: clamp(1.1rem, 2vw, 1.5rem); }
.adventure-news-card__date { display: block; margin-block-end: .55rem; color: var(--wp--preset--color--muted); font-size: .9rem; }
.adventure-news-card__title { margin: 0 0 .75rem; font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.25; }
.adventure-news-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.adventure-news-card__title a:hover { text-decoration: underline; }
.adventure-news-card__excerpt { color: var(--wp--preset--color--muted); }
.adventure-news-card__more { display: inline-block; margin-block-start: .85rem; font-weight: 750; }
.adventure-news-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; padding: 0; list-style: none; }
.adventure-news-pagination a, .adventure-news-pagination span { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: .45rem .75rem; border: 1px solid #dce3ee; border-radius: 999px; }
.adventure-news-pagination .current { background: #2453c7; color: #fff; }
.adventure-news-back { display: inline-flex; margin-block: 1rem 2rem; font-weight: 700; }
.single-post .adventure-page > .wp-block-post-content { max-width: 74ch !important; margin-inline: auto; font-size: clamp(1.05rem, 1.2vw, 1.2rem); line-height: 1.8; }
.single-post .adventure-page > .wp-block-post-featured-image { overflow: hidden; border-radius: 36px; }
.single-post .adventure-page > .adventure-related-news { max-width: 1400px !important; margin-block-start: 3rem; }
.single-post .adventure-page > .adventure-related-news > .wp-block-post-content { max-width: none !important; }
.adventure-news-nav { display: flex; justify-content: space-between; }
.member-login-nav-button > a { display: inline-flex !important; min-height: 44px; align-items: center; padding: .55rem 1rem !important; border-radius: 999px; background: linear-gradient(135deg, #2453c7, #613bb4); color: #fff !important; font-weight: 800; }
.member-login-nav-button > a:hover { filter: brightness(1.08); }
.wp-block-navigation .wp-block-navigation__submenu-container { z-index: 50; min-width: 15rem; padding: .5rem; border: 1px solid #dce3ee; border-radius: 1rem; background: #fff; box-shadow: 0 12px 28px rgb(22 38 64 / 12%); }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: block; border-radius: .65rem; }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #edf3ff; }
@media (min-width: 600px) {
 .adventure-news-list--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .adventure-news-list--carousel .adventure-news-card { flex-basis: calc(50% - 12px); }
}
@media (min-width: 960px) {
 .adventure-news-list--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .adventure-news-list--carousel .adventure-news-card { flex-basis: calc(33.3333% - 16px); }
}
@media (max-width: 599px) {
 .home-programs > .alignwide, .home-news > .alignwide, .home-final > .alignwide { padding: 1.25rem; border-radius: 22px; }
 .home-events > .alignwide { border-radius: 22px; }
 .adventure-news-list--carousel .adventure-news-card { flex-basis: 100%; }
 .adventure-news-control { width: 44px; height: 44px; }
 .adventure-page .adventure-copy-section::after { width: 110px; inset-inline-end: 1rem; opacity: .25; }
}
@media (prefers-reduced-motion: reduce) { .adventure-news-list--carousel { scroll-behavior: auto; } }

/* The Community link remains navigable; a separate button toggles its submenu on touch and keyboard. */
.wp-block-navigation-item.has-child { position: relative; }
.wp-block-navigation-item.has-child > .adventure-submenu-toggle { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: .5rem; border: 0; border-radius: .65rem; background: transparent; color: currentColor; cursor: pointer; }
.wp-block-navigation-item.has-child > .adventure-submenu-toggle:hover { background: #edf3ff; }
.adventure-menu-enhanced .wp-block-navigation-item.has-child:not(.is-open) > .wp-block-navigation__submenu-container { display: none !important; }
.adventure-menu-enhanced .wp-block-navigation-item.has-child.is-open > .wp-block-navigation__submenu-container { display: flex !important; }
