/**
 * Sunbeam School — presentational layer on top of theme.json.
 * Colours always reference the global palette, so changing a colour in
 * Appearance → Editor → Styles updates every component below.
 */

:root {
	--ss-radius-s: var(--wp--custom--radius--small, 12px);
	--ss-radius-m: var(--wp--custom--radius--medium, 20px);
	--ss-radius-l: var(--wp--custom--radius--large, 32px);
	--ss-ease: var(--wp--custom--transition, 220ms cubic-bezier(.2,.7,.3,1));
	--ss-shadow: var(--wp--preset--shadow--soft);
	--ss-shadow-lift: var(--wp--preset--shadow--lifted);
	--ss-focus: var(--wp--preset--color--forest-dark);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }

img { height: auto; max-width: 100%; }

/* Sections sit flush against the header and footer. */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Accessibility ---------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--ss-focus);
	outline-offset: 3px;
	border-radius: 6px;
	box-shadow: 0 0 0 6px var(--wp--preset--color--sunshine);
}
.has-forest-background-color :where(a, button):focus-visible,
.has-forest-dark-background-color :where(a, button):focus-visible { outline-color: var(--wp--preset--color--sunshine); box-shadow: none; }

.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink); border-radius: 999px; }

/* Touch-friendly targets (WCAG 2.2 target size) */
.wp-block-button__link,
.wp-block-navigation-item__content,
.wp-block-social-link a { min-height: 44px; }
.wp-block-social-link a { min-width: 44px; justify-content: center; }

/* ---------- Header ---------- */
.ss-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: box-shadow var(--ss-ease), background-color var(--ss-ease);
}
.admin-bar .ss-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ss-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ss-site-header { top: 0; } }
.ss-site-header.is-scrolled .ss-mainbar { box-shadow: 0 8px 28px rgba(28, 43, 36, 0.10); }
.ss-site-header.is-scrolled .ss-topbar { display: none; }

.ss-topbar { font-size: var(--wp--preset--font-size--x-small); }
.ss-topbar a { color: inherit; text-decoration: none; }
.ss-topbar a:hover { text-decoration: underline; }
.ss-topbar p { margin: 0; }
@media (max-width: 720px) {
	.ss-hide-mobile { display: none !important; }
	.ss-topbar > .wp-block-group { justify-content: center !important; }
}

.ss-mainbar { transition: box-shadow var(--ss-ease); }
.ss-mainbar .wp-block-site-title { white-space: nowrap; }
.ss-mainbar .wp-block-navigation-item__content { white-space: nowrap; }
.ss-mainbar .wp-block-navigation .wp-block-navigation__container { gap: 1.1rem; }
.ss-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1360px) { .ss-mainbar .wp-block-site-tagline { display: none; } }
@media (min-width: 1200px) and (max-width: 1320px) { .ss-mainbar .wp-block-navigation { font-size: .95rem; } .ss-mainbar .wp-block-navigation .wp-block-navigation__container { gap: .85rem; } }
.ss-mainbar .wp-block-site-logo img { border-radius: 14px; }
.ss-mainbar .wp-block-navigation .wp-block-navigation-item__content { padding: 0.45rem 0.2rem; position: relative; }
.ss-mainbar .wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 4px;
	height: 3px;
	border-radius: 3px;
	background: var(--wp--preset--color--sunshine);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--ss-ease);
}
.ss-mainbar .wp-block-navigation-item__content:hover::after,
.ss-mainbar .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.ss-mainbar .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-radius: var(--ss-radius-m);
	box-shadow: var(--ss-shadow-lift);
	padding: 0.5rem !important;
	min-width: 230px !important;
}
.ss-mainbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 0.8rem !important; border-radius: 10px; }
.ss-mainbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--leaf-soft); }
.ss-mainbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }

/* Mobile overlay menu */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--cream) !important;
	padding: 1.5rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; gap: 0.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.2rem; padding: 0.45rem 0 !important; }
.ss-mainbar .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) { align-items: flex-start !important; text-align: left; }
.ss-mainbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; }
.ss-mainbar .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content { font-weight: 700; color: var(--wp--preset--color--forest); }
.ss-mainbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .5rem 1rem !important; border-left: 3px solid var(--wp--preset--color--sunshine) !important; }
.ss-mainbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem !important; box-shadow: none !important; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 14px; background: var(--wp--preset--color--leaf-soft);
}
@media (max-width: 599px) { .ss-header-cta { display: none !important; } }

/* Use the compact (hamburger) menu on tablets and small laptops too, where 8 menu items would wrap. */
@media (min-width: 600px) and (max-width: 1199px) {
	.ss-mainbar .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ss-mainbar .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ---------- Section helpers ---------- */
.ss-section { position: relative; }
.ss-overflow-hidden { overflow: hidden; }

.is-style-ssc-wave-top { position: relative; }
.is-style-ssc-wave-top::before {
	content: "";
	position: absolute;
	left: 0; right: 0;
	top: -38px;
	height: 40px;
	background: inherit;
	-webkit-mask: url("../images/deco/wave.svg") bottom / 100% 100% no-repeat;
	mask: url("../images/deco/wave.svg") bottom / 100% 100% no-repeat;
	pointer-events: none;
}

.is-style-ssc-dotted {
	background-image: radial-gradient(rgba(30, 107, 74, 0.13) 1.5px, transparent 1.6px) !important;
	background-size: 22px 22px !important;
}

/* Decorative doodles: add the class to any Group (Advanced → Additional CSS class) */
.ss-deco-sun, .ss-deco-stars, .ss-deco-squiggle, .ss-deco-cloud { position: relative; }
.ss-deco-sun::after,
.ss-deco-stars::after,
.ss-deco-squiggle::after,
.ss-deco-cloud::after {
	content: "";
	position: absolute;
	pointer-events: none;
	background: center / contain no-repeat;
	z-index: 0;
}
.ss-deco-sun::after { width: clamp(70px, 9vw, 130px); aspect-ratio: 1; top: 6%; right: 3%; background-image: url("../images/deco/sun.svg"); animation: ss-spin 40s linear infinite; }
.ss-deco-stars::after { width: clamp(60px, 7vw, 100px); aspect-ratio: 1; bottom: 8%; left: 2%; background-image: url("../images/deco/stars.svg"); }
.ss-deco-squiggle::after { width: clamp(90px, 12vw, 170px); aspect-ratio: 3 / 1; bottom: 8%; left: 3%; background-image: url("../images/deco/squiggle.svg"); }
.ss-deco-cloud::after { width: clamp(90px, 12vw, 160px); aspect-ratio: 2 / 1; top: 10%; right: 6%; background-image: url("../images/deco/cloud.svg"); animation: ss-float 7s ease-in-out infinite; }
.ss-deco-sun > *, .ss-deco-stars > *, .ss-deco-squiggle > *, .ss-deco-cloud > * { position: relative; z-index: 1; }
@media (max-width: 700px) { .ss-deco-squiggle::after, .ss-deco-stars::after { opacity: 0.5; } }

@keyframes ss-spin { to { transform: rotate(360deg); } }
@keyframes ss-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---------- Hero ---------- */
.ss-hero { position: relative; overflow: hidden; }
.ss-hero h1 { text-wrap: balance; }
.ss-hero .ss-hero-art img { border-radius: 42% 58% 52% 48% / 46% 44% 56% 54%; box-shadow: var(--ss-shadow-lift); }
.ss-hero-badge {
	display: inline-flex; align-items: center; gap: .5rem;
	box-shadow: var(--ss-shadow);
}
.ss-hero-floating {
	position: absolute;
	box-shadow: var(--ss-shadow-lift);
	animation: ss-float 6s ease-in-out infinite;
}
.ss-hero-art-col { position: relative; }
.ss-hero-floating { bottom: 6%; left: -4%; }
@media (max-width: 781px) {
	.ss-hero-art-col { max-width: 420px; margin-inline: auto; }
	.ss-hero-floating { position: static; animation: none; margin-top: 1rem !important; }
}

/* ---------- Cards ---------- */
.is-style-ssc-card,
.is-style-ssc-card-lift {
	background-color: var(--wp--preset--color--white);
	border-radius: var(--ss-radius-m);
	box-shadow: var(--ss-shadow);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}
.is-style-ssc-card :is(h1, h2, h3, h4, h5, h6):not(.has-text-color),
.is-style-ssc-card-lift :is(h1, h2, h3, h4, h5, h6):not(.has-text-color) { color: var(--wp--preset--color--forest-dark); }
.is-style-ssc-card-lift { transition: transform var(--ss-ease), box-shadow var(--ss-ease); }
.is-style-ssc-card-lift:hover,
.is-style-ssc-card-lift:focus-within { transform: translateY(-6px); box-shadow: var(--ss-shadow-lift); }
.is-style-ssc-card > .wp-block-image:first-child img,
.is-style-ssc-card-lift > .wp-block-image:first-child img { border-radius: calc(var(--ss-radius-m) - 6px); }

.wp-block-image.ss-icon-badge {
	width: 64px; height: 64px;
	display: grid; place-items: center;
	border-radius: 20px;
	background: var(--wp--preset--color--sunshine-soft);
	margin: 0 0 .75rem !important;
}
.wp-block-image.ss-icon-badge.ss-badge-coral { background: var(--wp--preset--color--coral-soft); }
.wp-block-image.ss-icon-badge.ss-badge-leaf { background: var(--wp--preset--color--leaf-soft); }
.wp-block-image.ss-icon-badge img { width: 34px !important; height: 34px; border-radius: 0; }

.ss-program-card { overflow: hidden; display: flex; flex-direction: column; }
.ss-program-card .wp-block-buttons { margin-top: auto; }
.ss-program-card .wp-block-image { margin: calc(clamp(1.25rem, 2.5vw, 2rem) * -1) calc(clamp(1.25rem, 2.5vw, 2rem) * -1) 1rem; }
.ss-program-card .wp-block-image img { border-radius: 0 !important; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.ss-age-pill {
	display: inline-block;
	padding: .25rem .8rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--x-small);
}

/* ---------- Typography styles ---------- */
.is-style-ssc-eyebrow {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--x-small) !important;
	color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--sunshine-soft);
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
}
.has-text-align-center.is-style-ssc-eyebrow { display: table; margin-left: auto !important; margin-right: auto !important; }
.has-forest-background-color .is-style-ssc-eyebrow,
.has-forest-dark-background-color .is-style-ssc-eyebrow { background: rgba(255,255,255,.14); color: var(--wp--preset--color--sunshine); }

.is-style-ssc-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--muted); }

.is-style-ssc-underline { position: relative; display: block; width: fit-content; padding-bottom: .35em; }
.is-style-ssc-underline::after {
	content: "";
	position: absolute; left: 0; bottom: 0;
	width: min(160px, 70%); height: .32em;
	background: url("../images/deco/underline.svg") left center / contain no-repeat;
}
.has-text-align-center.is-style-ssc-underline { margin-inline: auto !important; }
.has-text-align-center.is-style-ssc-underline::after { left: 50%; transform: translateX(-50%); }

.is-style-ssc-stat { font-variant-numeric: tabular-nums; line-height: 1; }

/* ---------- Lists ---------- */
.is-style-ssc-checklist { list-style: none; padding-left: 0; }
.is-style-ssc-checklist li { position: relative; padding-left: 2.1rem; margin-bottom: .6rem; }
.is-style-ssc-checklist li::before {
	content: "";
	position: absolute; left: 0; top: .2em;
	width: 1.45rem; height: 1.45rem;
	border-radius: 50%;
	background: var(--wp--preset--color--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23134A33' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat;
}

.is-style-ssc-timeline { list-style: none; padding-left: 0; position: relative; }
.is-style-ssc-timeline::before { content: ""; position: absolute; left: 9px; top: .5rem; bottom: .5rem; width: 3px; border-radius: 3px; background: var(--wp--preset--color--sunshine); }
.is-style-ssc-timeline li { position: relative; padding: 0 0 1rem 2.4rem; }
.is-style-ssc-timeline li::before {
	content: ""; position: absolute; left: 0; top: .35em;
	width: 21px; height: 21px; border-radius: 50%;
	background: var(--wp--preset--color--white);
	border: 5px solid var(--wp--preset--color--forest);
}
.is-style-ssc-timeline li strong { color: var(--wp--preset--color--forest); font-family: var(--wp--preset--font-family--heading); }

.is-style-ssc-steps { list-style: none; counter-reset: ss-step; padding-left: 0; }
.is-style-ssc-steps li { counter-increment: ss-step; position: relative; padding-left: 3.4rem; margin-bottom: 1.2rem; min-height: 2.6rem; }
.is-style-ssc-steps li::before {
	content: counter(ss-step);
	position: absolute; left: 0; top: -.1rem;
	width: 2.5rem; height: 2.5rem; border-radius: 50%;
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink);
}

/* ---------- Images ---------- */
.is-style-ssc-blob img { border-radius: 42% 58% 55% 45% / 45% 45% 55% 55% !important; }
.is-style-ssc-framed img { border: 10px solid var(--wp--preset--color--white); box-shadow: var(--ss-shadow-lift); }
.is-style-ssc-tilt { transform: rotate(-2.5deg); transition: transform var(--ss-ease); }
.is-style-ssc-tilt:hover { transform: rotate(0); }
.is-style-ssc-tilt img { border: 10px solid #fff; border-bottom-width: 36px; border-radius: 6px !important; box-shadow: var(--ss-shadow-lift); }

.wp-block-gallery.is-style-ssc-rounded .wp-block-image img { border-radius: var(--ss-radius-m); }
.wp-block-gallery.is-style-ssc-rounded .wp-block-image { overflow: hidden; border-radius: var(--ss-radius-m); }
.wp-block-gallery.is-style-ssc-rounded .wp-block-image img { transition: transform 500ms ease; }
.wp-block-gallery.is-style-ssc-rounded .wp-block-image:hover img { transform: scale(1.05); }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform var(--ss-ease), background-color var(--ss-ease), color var(--ss-ease), box-shadow var(--ss-ease); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-ssc-sunshine .wp-block-button__link { background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-ssc-sunshine .wp-block-button__link:hover { background: #ffd666; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-ssc-coral .wp-block-button__link { background: var(--wp--preset--color--coral); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-ssc-coral .wp-block-button__link:hover { background: #f58c6d; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-ssc-ghost .wp-block-button__link { background: transparent; color: currentColor; box-shadow: inset 0 0 0 2px currentColor; }
.wp-block-button.is-style-ssc-ghost .wp-block-button__link:hover { background: rgba(255,255,255,.12); }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 2px; }

/* ---------- Details / FAQ ---------- */
.wp-block-details.is-style-ssc-accordion {
	background: var(--wp--preset--color--white);
	border-radius: var(--ss-radius-m);
	box-shadow: var(--ss-shadow);
	padding: 0;
	margin-bottom: .9rem;
}
.wp-block-details.is-style-ssc-accordion summary {
	list-style: none;
	cursor: pointer;
	padding: 1.1rem 3.2rem 1.1rem 1.4rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--large);
	position: relative;
	color: var(--wp--preset--color--forest-dark);
}
.wp-block-details.is-style-ssc-accordion summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-ssc-accordion summary::after {
	content: "+";
	position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%);
	width: 2rem; height: 2rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--wp--preset--color--sunshine-soft);
	font-size: 1.4rem; line-height: 1;
	transition: transform var(--ss-ease);
}
.wp-block-details.is-style-ssc-accordion[open] summary::after { content: "–"; background: var(--wp--preset--color--sunshine); }
.wp-block-details.is-style-ssc-accordion > :not(summary) { padding: 0 1.4rem; }
.wp-block-details.is-style-ssc-accordion > :last-child:not(summary) { padding-bottom: 1.2rem; }

/* ---------- Separator ---------- */
.wp-block-separator.is-style-ssc-wave {
	border: 0 !important;
	height: 14px;
	max-width: 140px;
	background: url("../images/deco/underline.svg") center / contain no-repeat;
	opacity: 1;
}

/* ---------- Page banner ---------- */
.ss-page-banner { position: relative; overflow: hidden; }
.ss-page-banner h1 { text-wrap: balance; }
.ss-page-banner .wp-block-post-featured-image img { border-radius: var(--ss-radius-l); }

/* ---------- Posts & query loops ---------- */
.ss-post-card { height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.ss-post-card .wp-block-post-featured-image { margin: 0; }
.ss-post-card .wp-block-post-featured-image img { border-radius: 0 !important; aspect-ratio: 16 / 10; object-fit: cover; }
.ss-post-card .ss-post-card-body { padding: 1.25rem 1.4rem 1.5rem; flex: 1; }
.ss-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--forest); }
.wp-block-post-template.is-layout-grid > li { height: 100%; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 999px; text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--forest); color: #fff; }

.wp-block-post-content > * + * { margin-block-start: 1.25rem; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }

/* ---------- Testimonial quote card ---------- */
.ss-quote-card { position: relative; }
.ss-quote-card::before {
	content: "“";
	position: absolute; top: -.25rem; right: 1.2rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 6rem; line-height: 1;
	color: var(--wp--preset--color--sunshine);
	opacity: .7;
}

/* ---------- Footer ---------- */
.ss-site-footer a { text-decoration: none; }
.ss-site-footer a:hover { text-decoration: underline; color: var(--wp--preset--color--sunshine); }
.ss-site-footer .wp-block-navigation .wp-block-navigation-item__content { padding: .2rem 0; min-height: 0; }
.ss-site-footer .wp-block-navigation { gap: .35rem; }
.ss-footer-wave { display: block; width: 100%; height: 48px; margin-bottom: -1px; }

.ss-site-footer .wp-block-social-links .wp-block-social-link { background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink); }
.ss-site-footer .wp-block-social-links .wp-block-social-link a:hover { color: var(--wp--preset--color--ink); }
.ss-footer-links { list-style: none; padding-left: 0; }
.ss-footer-links li { margin-bottom: .45rem; }
.ss-site-footer .ssc-info { display: flex; gap: .6rem; align-items: flex-start; }

/* ---------- Search ---------- */
.wp-block-search__input { border-radius: 999px !important; border: 2px solid var(--wp--preset--color--sand) !important; padding: .7rem 1.1rem !important; background: #fff; }
.wp-block-search__button { margin-left: .5rem !important; }

/* ---------- Scroll reveal (only when JS is available and motion is welcome) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.ss-js .ss-reveal { opacity: 0; transform: translateY(26px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.7,.3,1); }
	.ss-js .ss-reveal.is-visible { opacity: 1; transform: none; }
	.ss-js .ss-reveal-stagger > * { opacity: 0; transform: translateY(22px); transition: opacity 600ms ease, transform 600ms cubic-bezier(.2,.7,.3,1); }
	.ss-js .ss-reveal-stagger.is-visible > * { opacity: 1; transform: none; }
	.ss-js .ss-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 90ms; }
	.ss-js .ss-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 180ms; }
	.ss-js .ss-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 270ms; }
	.ss-js .ss-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 360ms; }
	.ss-js .ss-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 450ms; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Never hide content in the editor */
.editor-styles-wrapper .ss-reveal,
.editor-styles-wrapper .ss-reveal-stagger > * { opacity: 1 !important; transform: none !important; }

/* ---------- 404 ---------- */
.ss-404-number { font-size: clamp(6rem, 18vw, 12rem) !important; line-height: 1 !important; color: var(--wp--preset--color--sunshine) !important; -webkit-text-stroke: 4px var(--wp--preset--color--forest-dark); }

/* ---------- Print ---------- */
@media print {
	.ss-site-header, .ss-site-footer, .ssc-whatsapp, .ssc-announcement-bar { display: none !important; }
}

/* ---------- Plain pages (content without full-width sections) ---------- */
.ss-page-content > :first-child:not(.alignfull) { margin-top: var(--wp--preset--spacing--60); }
.ss-page-content > :last-child:not(.alignfull) { margin-bottom: var(--wp--preset--spacing--60); }
.ss-page-content > .alignfull:first-child { margin-top: 0; }
