/* =========================================================================
   ACT4KIDS-TB theme
   Palette: ink #0D2137 · marigold #FFB300 · paper #F3F6F2 · mint #DDEBE3
            signal #C93E22 · slate #2B4966 (body text)
   ========================================================================= */

:root {
	--a4k-ink: var(--wp--preset--color--ink, #0D2137);
	--a4k-gold: var(--wp--preset--color--marigold, #FFB300);
	--a4k-paper: var(--wp--preset--color--paper, #F3F6F2);
	--a4k-mint: var(--wp--preset--color--mint, #DDEBE3);
	--a4k-red: var(--wp--preset--color--signal, #C93E22);
	--a4k-forest: var(--wp--preset--color--forest, #0D5C4B);
	--a4k-slate: var(--wp--preset--color--slate, #2B4966);
	--a4k-muted: var(--wp--preset--color--muted, #5B7388);
	--a4k-mist: var(--wp--preset--color--mist, #D6E2EC);
	--a4k-haze: var(--wp--preset--color--haze, #9FB8CC);
	--a4k-line: #2B4966;
	--a4k-display: var(--wp--preset--font-family--display, "Bricolage Grotesque", system-ui, sans-serif);
	--a4k-pad: max(24px, 5vw);
	--a4k-max: 1280px;
	--a4k-ease: cubic-bezier(.2, .7, .2, 1);
	--a4k-radius: 28px;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
body.a4k-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }

.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.a4k-skip { position: absolute; left: 12px; top: -80px; z-index: 2000; padding: 12px 20px; border-radius: 999px; background: var(--a4k-ink); color: var(--a4k-gold); font-weight: 600; text-decoration: none; }
.a4k-skip:focus { top: 12px; }

:focus-visible { outline: 3px solid var(--a4k-ink); outline-offset: 3px; }
.has-ink-background-color :focus-visible, .a4k-footer :focus-visible, .a4k-mobile :focus-visible { outline-color: var(--a4k-gold); }

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */
.a4k-header-part { position: relative; z-index: 50; }
.a4k-spectrum { display: flex; height: 6px; }
.a4k-spectrum span { flex: 1; }
.a4k-spectrum span:nth-child(1) { background: #AE322E; }
.a4k-spectrum span:nth-child(2) { background: #DF7357; }
.a4k-spectrum span:nth-child(3) { background: #E6BA41; }
.a4k-spectrum span:nth-child(4) { background: #499731; }
.a4k-spectrum span:nth-child(5) { background: #4B5BA5; }
.a4k-spectrum span:nth-child(6) { background: #71B3D3; }
.a4k-spectrum span:nth-child(7) { background: #5F4083; }
.a4k-spectrum span:nth-child(8) { background: #4B3A7E; }

.a4k-masthead { background: var(--a4k-gold); color: var(--a4k-ink); padding: 0 var(--a4k-pad); }
.a4k-header { max-width: var(--a4k-max); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 22px 0; border-bottom: 2px solid var(--a4k-ink); }
.a4k-brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; flex: none; }
.a4k-brand:hover { opacity: 1; }
.a4k-brand .a4k-mark { flex: none; transition: transform .6s var(--a4k-ease); }
.a4k-brand:hover .a4k-mark { transform: rotate(-6deg) scale(1.05); }
.a4k-word { font-family: var(--a4k-display); font-weight: 800; font-size: 26px; letter-spacing: -0.03em; line-height: 1; white-space: nowrap; color: var(--a4k-ink); }
.a4k-word-4 { display: inline-block; background: var(--a4k-ink); color: var(--a4k-gold); border-radius: .2em; padding: 0 .1em; margin: 0 .03em; transform: rotate(-3deg); }
.a4k-word-tb { font-weight: 500; }
.a4k-word--light { color: var(--a4k-paper); }
.a4k-word--light .a4k-word-4 { background: var(--a4k-gold); color: var(--a4k-ink); }
.a4k-word--light .a4k-word-tb { color: var(--a4k-gold); }

.a4k-nav ul { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0; padding: 0; list-style: none; font-size: 15px; font-weight: 600; }
.a4k-nav a { color: inherit; text-decoration: none; padding-bottom: 3px; border-bottom: 3px solid transparent; transition: border-color .25s ease; }
.a4k-nav a:hover { border-bottom-color: rgba(13, 33, 55, .35); }
.a4k-nav a[aria-current="page"] { border-bottom-color: var(--a4k-ink); }
.a4k-num { font-size: 11px; font-weight: 500; vertical-align: super; margin-right: 5px; opacity: .65; }

.a4k-actions { display: flex; align-items: center; gap: 18px; }
.a4k-pill { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 24px; border-radius: 999px; background: var(--a4k-ink); color: var(--a4k-gold); font-size: 15px; font-weight: 600; text-decoration: none; transition: transform .3s var(--a4k-ease); }
.a4k-pill:hover { transform: translateY(-2px); }
.a4k-pill--gold { background: var(--a4k-gold); color: var(--a4k-ink); }
.a4k-lang { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.a4k-lang a { color: inherit; text-decoration: none; padding-bottom: 2px; border-bottom: 3px solid transparent; }
.a4k-lang a.is-current { border-bottom-color: currentColor; }
.a4k-lang .a4k-sep { opacity: .5; }
.a4k-burger { display: none; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--a4k-ink); color: var(--a4k-gold); cursor: pointer; }
.a4k-burger svg { display: block; }

@media (max-width: 1180px) {
	.a4k-nav { display: none; }
	.a4k-burger { display: inline-flex; }
}
@media (max-width: 600px) {
	.a4k-header { padding: 18px 0; }
	.a4k-word { font-size: 21px; }
	.a4k-brand .a4k-mark { width: 34px; height: 34px; }
	.a4k-actions .a4k-pill, .a4k-actions .a4k-lang { display: none; }
}

/* Mobile menu */
@keyframes a4k-slide { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
.a4k-mobile { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; overflow-y: auto; padding: 0 24px; background: var(--a4k-ink); color: var(--a4k-paper); }
.a4k-mobile[hidden] { display: none; }
.a4k-mobile-top { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; border-bottom: 1.5px solid var(--a4k-line); }
.a4k-mobile-top .a4k-brand .a4k-word { font-size: 21px; }
.a4k-close { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--a4k-gold); color: var(--a4k-ink); cursor: pointer; }
.a4k-mobile-nav ol { margin: 16px 0 0; padding: 0; list-style: none; }
.a4k-mobile-nav li { opacity: 0; animation: a4k-slide .6s var(--a4k-ease) forwards; }
.a4k-mobile-nav li:nth-child(2) { animation-delay: .06s; }
.a4k-mobile-nav li:nth-child(3) { animation-delay: .12s; }
.a4k-mobile-nav li:nth-child(4) { animation-delay: .18s; }
.a4k-mobile-nav li:nth-child(5) { animation-delay: .24s; }
.a4k-mobile-nav li:nth-child(6) { animation-delay: .3s; }
.a4k-mobile-nav li:nth-child(7) { animation-delay: .36s; }
.a4k-mobile-nav a { display: flex; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--a4k-line); color: inherit; text-decoration: none; }
.a4k-mnum { min-width: 26px; font-size: 13px; font-weight: 600; color: var(--a4k-gold); }
.a4k-mlabel { font-family: var(--a4k-display); font-weight: 800; font-size: clamp(28px, 8vw, 36px); letter-spacing: -0.035em; line-height: 1.15; }
.a4k-mobile-nav a[aria-current="page"] .a4k-mlabel { color: var(--a4k-gold); }
.a4k-mobile .a4k-pill { margin-top: 22px; align-self: flex-start; }
.a4k-mobile-bottom { position: relative; z-index: 1; margin-top: auto; padding: 28px 0 32px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.a4k-mobile-bottom .a4k-lang { font-size: 16px; }
.a4k-mobile-bottom p { margin: 0; max-width: 16em; font-size: 13px; line-height: 1.5; color: var(--a4k-haze); text-align: right; }
.a4k-mobile .a4k-ill-mini { position: absolute; right: -60px; bottom: 110px; width: 200px; opacity: .9; pointer-events: none; }
.a4k-mobile-inner { position: relative; display: flex; flex-direction: column; min-height: 100%; }

/* -------------------------------------------------------------------------
   Page structure
   ------------------------------------------------------------------------- */
.a4k-main { margin: 0 !important; }
.a4k-main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.a4k-main > .wp-block-post-content { margin: 0 !important; }

.a4k-section { padding: clamp(72px, 9vw, 112px) var(--a4k-pad); margin: 0 !important; position: relative; }
.a4k-section--tight { padding-top: clamp(48px, 6vw, 72px); padding-bottom: clamp(48px, 6vw, 72px); }
.a4k-section--flush-top { padding-top: 0; }
.a4k-section--flush-bottom { padding-bottom: 0; }
.a4k-inner { max-width: var(--a4k-max); width: 100%; margin-left: auto !important; margin-right: auto !important; }
.a4k-inner > * { margin-block-start: 0; }
.a4k-inner > * + * { margin-block-start: 24px; }
.a4k-section > .a4k-inner { margin-block: 0; }

/* Hero */
.a4k-hero { background: var(--a4k-gold); color: var(--a4k-ink); padding: clamp(56px, 7vw, 80px) var(--a4k-pad) clamp(64px, 8vw, 96px); overflow: hidden; margin: 0 !important; }
.a4k-hero h1 { margin: 0; max-width: 14em; }
.a4k-hero--home { padding-bottom: 0; }
.a4k-hero--home h1 { font-size: var(--wp--preset--font-size--huge); line-height: .92; max-width: none; }
.a4k-hero .is-style-kicker { color: var(--a4k-ink) !important; }
.a4k-hero .is-style-lead { margin-top: 40px; }
.a4k-hero .wp-block-buttons { margin-top: 36px; gap: 20px 32px; align-items: center; }
.a4k-hero-cols { gap: 24px 40px; align-items: center !important; margin-bottom: 0; }
.a4k-hero--home .a4k-hero-cols { align-items: stretch !important; overflow: hidden; gap: 24px; }
.a4k-hero--home .a4k-hero-text { padding-bottom: clamp(56px, 7vw, 80px); padding-top: 16px; }
.a4k-hero--home .a4k-hero-art { display: flex; align-items: flex-end; }
.a4k-hero-art .a4k-illustration { width: 100%; max-width: 500px; margin-inline: auto; }
.a4k-hero--home .a4k-hero-art .a4k-illustration { max-width: none; }
@media (max-width: 781px) {
	.a4k-hero--home .a4k-hero-art { max-width: 420px; margin-inline: auto; }
	.a4k-hero--home .a4k-hero-text { padding-bottom: 8px; }
}

/* Highlighted keyword (use the editor’s Highlight tool) */
:is(h1, h2, h3) mark, mark.a4k-hl { display: inline-block; padding: .02em .16em .08em; border-radius: .14em; background: var(--a4k-ink) !important; color: var(--a4k-gold) !important; transform: rotate(-1.4deg); line-height: 1.02; }
.has-ink-background-color :is(h1, h2, h3) mark { background: var(--a4k-gold) !important; color: var(--a4k-ink) !important; }
@keyframes a4k-wob { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(1.2deg); } }
.a4k-hero--home h1 mark { animation: a4k-wob 5s ease-in-out infinite; }

/* Typography helpers (block styles) */
p.is-style-kicker, .is-style-kicker { margin: 0 0 20px !important; font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a4k-red); line-height: 1.4; }
.has-mint-background-color .is-style-kicker { color: var(--a4k-forest); }
.has-ink-background-color .is-style-kicker { color: var(--a4k-gold); }
.has-marigold-background-color .is-style-kicker { color: var(--a4k-ink); }
.is-style-kicker + :is(h1, h2, h3) { margin-top: 0 !important; }
p.is-style-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; font-weight: 500; max-width: 34em; }
p.is-style-stat { margin: 0; font-family: var(--a4k-display); font-weight: 800; font-size: var(--wp--preset--font-size--stat); line-height: .9; letter-spacing: -0.04em; }
p.is-style-stat + p { margin-top: 14px !important; max-width: 16em; font-size: 18px; line-height: 1.45; }
p.is-style-note, .a4k-note { font-size: 13px !important; line-height: 1.5; color: var(--a4k-muted); }
.has-ink-background-color p.is-style-note { color: var(--a4k-haze); }
.has-marigold-background-color p.is-style-note { color: var(--a4k-ink); }

.a4k-section h2 { max-width: 15em; margin-top: 0; }
.a4k-section h2.a4k-wide-title { max-width: none; }
.a4k-section p { color: var(--a4k-slate); }
.a4k-section p.is-style-lead { color: var(--a4k-ink); }
.has-ink-background-color { color: var(--a4k-paper); }
.has-ink-background-color p { color: var(--a4k-mist); }
.has-ink-background-color :is(h1, h2, h3, h4) { color: var(--a4k-paper); }
.has-marigold-background-color p { color: var(--a4k-ink); }
.a4k-hero p { color: var(--a4k-ink); }
.a4k-section p.has-text-color, .a4k-hero p.has-text-color { color: inherit; }

/* Big numbers */
.a4k-stats { gap: 40px 56px !important; }
.a4k-stats p.is-style-stat { color: var(--a4k-ink); }
.has-ink-background-color .a4k-stats p.is-style-stat, .has-ink-background-color p.is-style-stat { color: var(--a4k-gold); }
.has-ink-background-color .a4k-stats p.is-style-stat + p { color: var(--a4k-mist); }
p.is-style-stat.has-signal-color { color: var(--a4k-red) !important; }

/* Info bar under the home hero */
.a4k-infobar { background: var(--a4k-ink); color: var(--a4k-paper); padding: 0 var(--a4k-pad); margin: 0 !important; }
.a4k-infobar .wp-block-columns { gap: 0 !important; margin: 0; }
.a4k-infobar .wp-block-column { padding: 28px 24px; border-left: 1px solid var(--a4k-line); }
.a4k-infobar .wp-block-column:first-child { padding-left: 0; border-left: 0; }
.a4k-infobar .is-style-kicker { margin-bottom: 8px !important; font-size: 12px; color: var(--a4k-gold); }
.a4k-infobar p { margin: 0; font-size: 17px; line-height: 1.4; color: var(--a4k-paper); }
@media (max-width: 781px) {
	.a4k-infobar .wp-block-column { padding: 20px 0; border-left: 0; border-top: 1px solid var(--a4k-line); }
	.a4k-infobar .wp-block-column:first-child { border-top: 0; }
}

/* Numbered rows (ordered list, style "Numbered rows") */
ol.is-style-rows { list-style: none; margin: 0; padding: 0; counter-reset: a4k-row; border-bottom: 2px solid var(--a4k-ink); }
ol.is-style-rows > li { counter-increment: a4k-row; display: flex; gap: 28px; align-items: baseline; padding: 30px 0; margin: 0; border-top: 2px solid var(--a4k-ink); font-size: 20px; line-height: 1.5; transition: background .35s ease, padding-left .35s var(--a4k-ease); }
ol.is-style-rows > li::before { content: counter(a4k-row, decimal-leading-zero); flex: none; min-width: 72px; font-family: var(--a4k-display); font-weight: 800; font-size: 44px; letter-spacing: -0.04em; line-height: 1; color: var(--a4k-red); }
ol.is-style-rows > li:hover { background: var(--a4k-mint); padding-left: 20px; }
ol.is-style-rows.a4k-rows-sm { border-bottom-width: 1.5px; }
ol.is-style-rows.a4k-rows-sm > li { padding: 22px 0; font-size: 18px; border-top-width: 1.5px; gap: 24px; }
ol.is-style-rows.a4k-rows-sm > li::before { min-width: 28px; font-size: 18px; font-weight: 700; }
ol.is-style-rows.a4k-rows-sm > li:hover { padding-left: 12px; }

/* Cards */
.is-style-card, .a4k-card { border-radius: var(--a4k-radius); padding: clamp(28px, 3vw, 36px) !important; }
.is-style-card:not(.has-background), .a4k-card:not(.has-background) { background: #fff; }
.is-style-card > * + *, .a4k-card > * + * { margin-block-start: 12px; }
.is-style-card h3, .a4k-card h3 { margin-top: 14px; }
.is-style-card .is-style-kicker, .a4k-card .is-style-kicker { margin-bottom: 0 !important; font-size: 13px; color: var(--a4k-forest); }
.a4k-card--line { background: transparent !important; border: 1.5px solid var(--a4k-line); }
.a4k-card--dashed { background: transparent !important; border: 2px dashed var(--a4k-muted); }
.a4k-grid { gap: 24px !important; }
.a4k-lift { transition: transform .4s var(--a4k-ease), box-shadow .4s var(--a4k-ease); }
.a4k-lift:hover { transform: translateY(-8px); }
.a4k-step-num { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0 !important; border-radius: 50%; background: var(--a4k-ink); color: var(--a4k-gold) !important; font-family: var(--a4k-display); font-weight: 800; font-size: 20px; }
.a4k-card .a4k-step-num + h3 { margin-top: 24px; }

/* Three innovations (home) */
.a4k-tools { gap: 40px 32px !important; align-items: flex-start !important; }
.a4k-tool-art { background: var(--a4k-paper); border-radius: var(--a4k-radius); padding: 36px; }
.a4k-tool .is-style-kicker { margin: 28px 0 8px !important; font-size: 14px; letter-spacing: .12em; color: var(--a4k-forest); }
.a4k-tool h3 { margin: 0 0 12px; font-size: 34px; letter-spacing: -0.025em; }
@media (min-width: 782px) {
	.a4k-tools > .wp-block-column:nth-child(2) { margin-top: 48px; }
	.a4k-tools > .wp-block-column:nth-child(3) { margin-top: 96px; }
}

/* Labelled facts (start, end, coordinator…) */
.a4k-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; }
.a4k-fact { border-top: 2px solid var(--a4k-ink); padding-top: 16px; }
.a4k-fact > * { margin: 0 !important; }
.a4k-fact .is-style-kicker { font-size: 12px; margin-bottom: 8px !important; }
.a4k-fact-value { font-family: var(--a4k-display); font-weight: 800; font-size: 28px !important; letter-spacing: -0.02em; line-height: 1.15; color: var(--a4k-ink) !important; }
.a4k-fact-text { font-size: 18px !important; font-weight: 600; line-height: 1.3; color: var(--a4k-ink) !important; }

/* Timeline bar */
.a4k-bar { height: 18px; border-radius: 999px; background: var(--a4k-mint); overflow: hidden; margin-top: 56px !important; }
.a4k-bar::after { content: ""; display: block; height: 100%; width: var(--a4k-bar, 100%); border-radius: 999px; background: var(--a4k-ink); transform-origin: left center; animation: a4k-fill 2.4s cubic-bezier(.4, 0, .2, 1) .4s both; }
.has-marigold-background-color .a4k-bar { background: rgba(13, 33, 55, .18); }
@keyframes a4k-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.a4k-year h3 { font-size: 28px; margin: 0; }
.a4k-year p { margin: 4px 0 0 !important; font-size: 15px; }

/* Work packages */
.a4k-wp-row { display: flex; flex-wrap: wrap; gap: 20px 56px; align-items: baseline; padding: 44px 0; border-top: 2px solid var(--a4k-ink); margin: 0 !important; transition: background .35s ease, padding-left .35s var(--a4k-ease); }
.a4k-wp-row:last-child { border-bottom: 2px solid var(--a4k-ink); }
.a4k-wp-row:hover { background: var(--a4k-mint); padding-left: 24px; }
.a4k-wp-row > * { margin: 0 !important; }
.a4k-wp-code { flex: 0 0 200px; font-family: var(--a4k-display); font-weight: 800; font-size: clamp(64px, 8vw, 112px) !important; line-height: .85; letter-spacing: -0.05em; color: var(--a4k-ink) !important; }
.a4k-wp-body { flex: 1 1 360px; min-width: 0; }
.a4k-wp-body h3 { margin: 0; font-size: clamp(24px, 2.6vw, 34px); }
.a4k-wp-body p { margin: 14px 0 0; max-width: 40em; font-size: 17px; }
.a4k-wp-lead { flex: 0 0 220px; }
.a4k-wp-lead .is-style-kicker { margin-bottom: 6px !important; font-size: 12px; }
.a4k-wp-lead p:not(.is-style-kicker) { margin: 0; font-size: 16px; color: var(--a4k-ink); }
.has-ink-background-color .a4k-wpcard { border: 1.5px solid var(--a4k-line); border-radius: 24px; padding: 28px !important; }
.a4k-wpcard .a4k-wp-num { margin: 0; font-family: var(--a4k-display); font-weight: 800; font-size: 44px; letter-spacing: -0.04em; color: var(--a4k-gold) !important; line-height: 1; }
.a4k-wpcard p { font-size: 16px; line-height: 1.5; }
.a4k-wp-strip .a4k-wp-num { color: var(--a4k-ink) !important; }

/* Partners */
.a4k-coordinator { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 48px !important; border-radius: 32px; padding: clamp(32px, 4vw, 44px) !important; margin-bottom: 24px !important; }
.a4k-coordinator > * { flex: 1 1 320px; margin: 0 !important; }
.a4k-tag { display: inline-block; margin: 0 !important; padding: 6px 14px; border-radius: 999px; background: var(--a4k-gold); color: var(--a4k-ink) !important; font-size: 13px; font-weight: 600; }
.a4k-partner h3 { margin-top: 14px; font-size: 24px; }
.a4k-partner .a4k-logo-img { margin: 0 0 18px !important; }
.a4k-partner .a4k-logo-img img { height: 72px; width: auto; object-fit: contain; border-radius: 12px; background: #fff; padding: 6px; }
.a4k-partner p.a4k-role { font-size: 15px; color: var(--a4k-slate); }

/* Link cards (resources) */
.a4k-linkcard { display: block; text-decoration: none !important; color: inherit; }
.a4k-linkcard h3 a, .a4k-card h3 a { color: inherit; text-decoration: none; }
.a4k-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--a4k-radius); }
.a4k-card { position: relative; }
.a4k-card h3 a:hover { text-decoration: underline; }

/* Big link tiles (resources / news teasers on home) */
.a4k-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 240px; border-radius: var(--a4k-radius); padding: 36px !important; transition: transform .4s var(--a4k-ease); }
.a4k-tile:hover { transform: translateY(-6px); }
.a4k-tile h3 { margin: 0; font-size: 38px; }
.a4k-tile h3 a { color: inherit; text-decoration: none; }
.a4k-tile h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--a4k-radius); }
.a4k-tile p { margin: 0; max-width: 22em; font-size: 17px; }
.a4k-tile::after { content: ""; position: absolute; right: 32px; bottom: 32px; width: 36px; height: 36px; background: currentColor; -webkit-mask: var(--a4k-arrow) center / contain no-repeat; mask: var(--a4k-arrow) center / contain no-repeat; }
.a4k-tile.has-ink-background-color::after { background: var(--a4k-gold); }

/* Filter pills (visual, for categories) */
.a4k-pills { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: 15px; font-weight: 600; }
.a4k-pills li { padding: 10px 20px; border-radius: 999px; border: 1.5px solid var(--a4k-ink); margin: 0; }
.a4k-pills li:first-child { background: var(--a4k-ink); color: var(--a4k-gold); }

/* Callout */
.a4k-callout { margin-top: 28px !important; padding: 20px 24px !important; border-left: 4px solid var(--a4k-gold); background: #fff; border-radius: 0 16px 16px 0; max-width: 34em; }
.a4k-callout p { margin: 0; font-size: 15px; }

/* CTA band */
.a4k-cta .wp-block-group.a4k-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px 40px; }
.a4k-cta .a4k-inner > * { margin: 0 !important; }
.a4k-cta h2 { max-width: 13em; font-size: clamp(32px, 4vw, 56px); line-height: 1; letter-spacing: -0.035em; }

/* Columns spacing inside sections */
.a4k-section .wp-block-columns { margin-bottom: 0; }
.a4k-split { gap: 48px 80px !important; }

/* -------------------------------------------------------------------------
   Buttons
   ------------------------------------------------------------------------- */
:root { --a4k-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M3 9h11M10 4l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; transition: transform .3s var(--a4k-ease), background .3s ease; text-decoration: none; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.a4k-arrow .wp-block-button__link::after { content: ""; width: 18px; height: 18px; flex: none; background: currentColor; -webkit-mask: var(--a4k-arrow) center / contain no-repeat; mask: var(--a4k-arrow) center / contain no-repeat; transition: transform .3s var(--a4k-ease); }
.wp-block-button.a4k-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-marigold .wp-block-button__link { background: var(--a4k-gold); color: var(--a4k-ink); }
.wp-block-button.is-style-paper .wp-block-button__link { background: var(--a4k-ink); color: var(--a4k-paper); }
.wp-block-button.is-style-paper.a4k-arrow .wp-block-button__link::after { background: var(--a4k-gold); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--a4k-ink); border: 1.5px solid var(--a4k-ink); padding: 15px 28px; min-height: 52px; }
.wp-block-button.is-style-link .wp-block-button__link { background: transparent; color: var(--a4k-ink); padding: 0 0 3px; min-height: 0; border-radius: 0; border-bottom: 2.5px solid var(--a4k-ink); }
.wp-block-button.is-style-link .wp-block-button__link:hover { transform: none; opacity: .7; }

/* -------------------------------------------------------------------------
   Contact form (Contact Form 7)
   ------------------------------------------------------------------------- */
.wpcf7 form { display: flex; flex-direction: column; gap: 20px; }
.wpcf7 form > p { margin: 0; }
.wpcf7 label { display: block; font-size: 14px; font-weight: 600; color: var(--a4k-ink); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 select, .wpcf7 textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; min-height: 52px; padding: 14px 18px; border: 1.5px solid var(--a4k-ink); border-radius: 14px; background: #fff; font: inherit; font-size: 16px; color: var(--a4k-ink); }
.wpcf7 textarea { resize: vertical; min-height: 160px; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 3px solid var(--a4k-gold); outline-offset: 2px; }
.wpcf7 input[type="submit"] { align-self: flex-start; min-height: 56px; padding: 0 34px; border: 0; border-radius: 999px; background: var(--a4k-ink); color: var(--a4k-gold); font: inherit; font-weight: 600; font-size: 17px; cursor: pointer; }
.wpcf7-not-valid-tip { font-size: 13px; color: var(--a4k-red); }
.wpcf7 form .wpcf7-response-output { margin: 0; border-radius: 12px; }

/* -------------------------------------------------------------------------
   News (query loop) and single posts
   ------------------------------------------------------------------------- */
.a4k-news .wp-block-post-template { gap: 24px; }
.a4k-news-card { height: 100%; border-radius: var(--a4k-radius); background: #fff; padding: 32px !important; position: relative; transition: transform .4s var(--a4k-ease); }
.a4k-news-card:hover { transform: translateY(-8px); }
.a4k-news-card > * { margin-block: 0; }
.a4k-news-card > * + * { margin-block-start: 14px; }
.a4k-news-card .wp-block-post-title { font-size: 26px; line-height: 1.1; letter-spacing: -0.02em; }
.a4k-news-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.a4k-news-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--a4k-radius); }
.a4k-news-card .wp-block-post-excerpt__excerpt { margin: 0; font-size: 16px; color: var(--a4k-slate); }
.a4k-news-card .wp-block-post-date { font-size: 13px; color: var(--a4k-muted); }
.wp-block-post-terms a { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--a4k-mint); color: var(--a4k-forest); font-size: 13px; font-weight: 600; text-decoration: none; position: relative; z-index: 1; }
.a4k-hero .wp-block-post-terms a { background: var(--a4k-ink); color: var(--a4k-gold); }
.a4k-news .wp-block-query-pagination { margin-top: 40px; font-weight: 600; }
.a4k-empty { border: 2px dashed var(--a4k-muted); border-radius: var(--a4k-radius); padding: 32px; }

.a4k-prose { padding: clamp(56px, 7vw, 96px) var(--a4k-pad); }
.a4k-prose > * { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.a4k-prose > .alignwide { max-width: var(--a4k-max); }
.a4k-prose > .alignfull { max-width: none; }
.a4k-prose p, .a4k-prose li { color: var(--a4k-slate); font-size: 18px; }
.a4k-prose h2 { font-size: clamp(28px, 3vw, 40px); margin-top: 1.6em; }
.a4k-prose h3 { margin-top: 1.4em; }
.a4k-prose a { color: var(--a4k-ink); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.a4k-prose .wp-block-post-featured-image img { border-radius: var(--a4k-radius); }

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.a4k-footer { background: var(--a4k-ink); color: var(--a4k-mist); padding: 80px var(--a4k-pad) 40px; }
.a4k-footer-in { max-width: var(--a4k-max); margin: 0 auto; }
.a4k-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 48px 64px; }
.a4k-footer-about { flex: 1 1 320px; max-width: 480px; }
.a4k-footer-about .a4k-brand .a4k-word { font-size: 24px; }
.a4k-footer-about p { margin: 20px 0 0; font-size: 16px; line-height: 1.6; color: var(--a4k-mist); }
.a4k-footer-about p + p { margin-top: 10px; font-size: 14px; color: var(--a4k-haze); }
.a4k-footer-cols { display: flex; flex-wrap: wrap; gap: 40px 72px; font-size: 16px; }
.a4k-footer-col { display: flex; flex-direction: column; gap: 12px; }
.a4k-footer-col ul { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.a4k-footer-col .a4k-footer-h { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--a4k-haze); }
.a4k-footer a { color: inherit; text-decoration: none; }
.a4k-footer a:hover { color: var(--a4k-gold); }
.a4k-footer address { font-style: normal; display: flex; flex-direction: column; gap: 6px; }
.a4k-footer .a4k-funding { margin-top: 56px; }
.a4k-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--a4k-line); font-size: 14px; color: var(--a4k-haze); }
.a4k-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 24px; }

/* -------------------------------------------------------------------------
   Motion: entrance and scroll reveal (respects reduced-motion)
   ------------------------------------------------------------------------- */
@keyframes a4k-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.a4k-rise { animation: a4k-rise .9s var(--a4k-ease) both; }
.a4k-d1 { animation-delay: .1s; }
.a4k-d2 { animation-delay: .3s; }
.a4k-d3 { animation-delay: .5s; }
.a4k-js .a4k-reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--a4k-ease), transform .9s var(--a4k-ease); }
.a4k-js .a4k-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	.a4k-js .a4k-reveal { opacity: 1; transform: none; }
	.a4k-mobile-nav li { opacity: 1; }
}

/* Print */
@media print {
	.a4k-spectrum, .a4k-burger, .a4k-mobile, .a4k-ticker, .a4k-actions { display: none !important; }
	.a4k-hero, .a4k-section, .a4k-footer { padding: 24px 0 !important; background: none !important; color: #000 !important; }
}

/* -------------------------------------------------------------------------
   Layout refinements (v0.1.1)
   ------------------------------------------------------------------------- */
.a4k-hero h1 { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.a4k-hero--home h1 { font-size: clamp(46px, 7vw, 100px); }
:is(h1, h2, h3) mark { white-space: nowrap; }

.a4k-gap { margin-top: clamp(40px, 5vw, 72px) !important; }
.a4k-gap-title { margin-top: 56px !important; margin-bottom: 8px !important; font-size: 26px !important; font-weight: 700 !important; }
.a4k-stats.is-layout-flex > .a4k-stat { flex: 1 1 220px; }
.a4k-stats.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)) !important; }
.a4k-grid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important; }
.a4k-stat > * { margin: 0 !important; }
.a4k-stat > p + p { margin-top: 14px !important; }
.a4k-facts > * { margin: 0 !important; }
.a4k-inner > ol.is-style-rows { margin-top: 48px !important; }
.a4k-intro { max-width: 40em; font-size: 18px; }
.a4k-tools { margin-top: clamp(48px, 6vw, 72px) !important; }
.a4k-time-wrap { margin-top: clamp(56px, 7vw, 96px) !important; }

.a4k-wp-head { gap: 24px; }
.a4k-wp-head h2 { margin: 0; }
.a4k-illustration--wp-line { margin-top: 40px !important; }
.a4k-wp-strip { margin-top: 8px !important; gap: 24px !important; }
.a4k-wp-strip > * > * { margin: 0; }
.a4k-wp-num { margin: 0 !important; font-family: var(--a4k-display); font-weight: 800; font-size: 44px; letter-spacing: -0.03em; line-height: 1; color: var(--a4k-ink); }
.a4k-wp-strip p:not(.a4k-wp-num) { margin: 6px 0 0 !important; font-size: 15px; }
.a4k-wp-code { flex: 0 0 240px !important; min-width: 0; font-size: clamp(64px, 7vw, 104px) !important; }

.a4k-tile p { padding-right: 56px; }
.a4k-bar--83::after { width: 83%; }
.a4k-section--flush-top { padding-top: clamp(32px, 4vw, 56px); }
.a4k-section--flush-bottom { padding-bottom: clamp(32px, 4vw, 56px); }

.is-style-card { position: relative; }
.is-style-card.has-ink-background-color .is-style-kicker { color: var(--a4k-gold); }
.is-style-card.has-ink-background-color p { color: var(--a4k-paper); }
.is-style-card h3 a { color: inherit; text-decoration: none; }
.is-style-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--a4k-radius); }
.is-style-card h3 a:hover { text-decoration: underline; }
.a4k-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 17px; font-weight: 600; }
.a4k-links li { margin: 0; }
.a4k-links a { color: var(--a4k-ink); text-decoration: none; }
.a4k-links a:hover { text-decoration: underline; }
.a4k-address { font-size: 18px !important; line-height: 1.6; }
.a4k-partner .a4k-logo-img img { height: 88px; }

@media (max-width: 781px) {
	.a4k-wp-code { flex-basis: 100% !important; }
	.a4k-wp-lead { flex-basis: 100%; }
	.a4k-tools > .wp-block-column { margin-top: 0 !important; }
	.a4k-hero .is-style-lead { margin-top: 28px; }
	.a4k-section h2 { font-size: clamp(30px, 8vw, 40px); }
}

/* Mobile menu: keep the decorative tree behind the links (v0.1.2) */
.a4k-mobile { overflow-x: hidden; }
.a4k-mobile .a4k-ill-mini { bottom: 16px; right: -70px; opacity: .35; z-index: 0; }
.a4k-mobile-top, .a4k-mobile-nav, .a4k-mobile .a4k-pill, .a4k-mobile-bottom { position: relative; z-index: 1; }

/* Header fits on one line down to 1180px; calmer hero titles (v0.1.3) */
.a4k-header { gap: 16px 24px; }
.a4k-word { font-size: 24px; }
.a4k-nav ul { gap: 8px 22px; flex-wrap: nowrap; white-space: nowrap; }
.a4k-hero--home h1 { font-size: clamp(44px, 5.6vw, 88px); }
.a4k-hero h1 { font-size: clamp(44px, 6vw, 84px); max-width: 15em; }
.a4k-hero--home h1 { max-width: none; font-size: clamp(44px, 5.6vw, 88px); }
@media (min-width: 1181px) and (max-width: 1320px) {
	.a4k-nav ul { gap: 8px 18px; font-size: 14.5px; }
	.a4k-actions { gap: 14px; }
}
@media (max-width: 600px) {
	.a4k-header .a4k-word { font-size: 21px; }
}
/* Tighter hero so the buttons stay above the fold on laptops (v0.1.4) */
.a4k-hero { padding-top: clamp(40px, 4.5vw, 64px); }
.a4k-hero--home .a4k-hero-text { padding-top: 0; }
.a4k-hero .is-style-lead { margin-top: 28px; }
.a4k-hero .wp-block-buttons { margin-top: 28px; }
/* Hero sized to the screen height as well as its width (v0.1.5) */
.a4k-hero { padding-top: clamp(28px, 3.5vw, 52px); }
@media (min-width: 782px) {
	.a4k-hero--home .a4k-hero-text { flex-basis: 64% !important; }
	.a4k-hero--home h1 { font-size: clamp(44px, min(5.6vw, 10vh), 88px); line-height: .94; }
	.a4k-hero h1 { font-size: clamp(42px, min(6vw, 10.5vh), 84px); }
	.a4k-hero--home h1 { font-size: clamp(44px, min(5.6vw, 10vh), 88px); }
	.a4k-hero--home .is-style-lead { font-size: 18px; max-width: 38em; margin-top: 24px; }
	.a4k-hero--home .wp-block-buttons { margin-top: 24px; }
	.a4k-hero--home .a4k-hero-text { padding-bottom: clamp(40px, 6vh, 72px); }
}
/* Highlighted word: keep clear of the descenders of the line above (v0.1.6) */
:is(h1, h2, h3) mark { margin-block: .1em .02em; line-height: .96; padding: .02em .15em .07em; }
.a4k-hero h1 { line-height: 1; }
/* More room above the highlighted word (v0.1.7) */
:is(h1, h2, h3) mark { margin-block: .2em .04em; transform: rotate(-1deg); }
.a4k-hero h1 { line-height: 1.04; }
.a4k-hero--home h1 mark { animation: none; }
/* Home illustration shown whole, never cropped (v0.1.8) */
.a4k-hero--home { padding-bottom: clamp(32px, 4vw, 56px); }
.a4k-hero--home .a4k-hero-cols { overflow: visible; align-items: center !important; }
.a4k-hero--home .a4k-hero-text { padding-bottom: 0 !important; }
.a4k-hero--home .a4k-hero-art { display: flex; align-items: center; justify-content: center; }
.a4k-hero--home .a4k-hero-art .a4k-illustration { width: 100%; max-width: min(460px, 56vh); margin-inline: auto; }
.a4k-hero .a4k-illustration--airway-tree svg,
.a4k-hero--home .a4k-illustration--airway-tree svg { width: 100%; max-width: 100%; height: auto; margin: 0; }
@media (max-width: 781px) {
	.a4k-hero--home .a4k-hero-art .a4k-illustration { max-width: 340px; }
}
/* Home hero fills the first screen; plain-text desktop menu (v0.1.9) */
.a4k-nav ul { gap: 8px 30px; font-size: 15.5px; }
@media (min-width: 1181px) and (max-width: 1320px) {
	.a4k-nav ul { gap: 8px 24px; font-size: 15px; }
}
@media (min-width: 782px) {
	.a4k-hero--home { min-height: calc(100svh - 100px); display: flex; flex-direction: column; justify-content: center; padding-top: clamp(24px, 4vh, 56px); padding-bottom: clamp(24px, 4vh, 56px); }
	.a4k-hero--home > .a4k-inner { width: 100%; }
	.a4k-hero--home .a4k-hero-text { flex-basis: 62% !important; }
	.a4k-hero--home h1 { font-size: clamp(44px, min(6.4vw, 11.5vh), 96px); }
	.a4k-hero--home .a4k-hero-art .a4k-illustration { max-width: min(560px, 72vh); }
}

/* Home title sized to its column, wider tree column on large screens (v0.1.10) */
@media (min-width: 782px) {
	.a4k-hero--home .a4k-hero-text { container-type: inline-size; }
	.a4k-hero--home h1 { font-size: clamp(40px, min(6.4vw, 11.5vh), 96px); font-size: clamp(40px, min(10.2cqi, 11.5vh), 96px); }
}
@media (min-width: 1181px) {
	.a4k-hero--home .a4k-hero-text { flex-basis: 58% !important; }
	.a4k-hero--home .a4k-hero-art .a4k-illustration { max-width: min(600px, 74vh); }
}

/* Back link on news items, form privacy note (v0.1.11) */
.a4k-back { margin-top: 64px !important; padding-top: 24px; border-top: 1px solid var(--a4k-mist, #D6E2EC); font-size: 16px !important; }
.a4k-back a { color: var(--a4k-ink); font-weight: 600; text-decoration: none; }
.a4k-back a::before { content: "\2190\00a0"; }
.a4k-back a:hover, .a4k-back a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.wpcf7 .a4k-form-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--a4k-muted); }
.wpcf7 .a4k-form-note a { color: var(--a4k-ink); }
.a4k-prose .wp-block-quote p { font-size: 22px; line-height: 1.45; color: var(--a4k-ink); font-weight: 500; }
.a4k-prose .wp-block-quote cite { display: block; margin-top: 10px; font-size: 14px; font-style: normal; color: var(--a4k-muted); }

/* Readable intros and lists in long texts: news, legal pages (v0.1.12) */
.a4k-prose p.is-style-lead { font-size: var(--wp--preset--font-size--large); color: var(--a4k-ink); max-width: none; }
.a4k-prose li + li { margin-top: 10px; }

/* Original ACT4KIDS logo on a light band; yellow starts with the page content (v0.1.13) */
.a4k-masthead { background: #F5F5F5; }
.a4k-header { border-bottom: 0; padding: 14px 0; }
.a4k-logo { line-height: 0; }
.a4k-logo img { display: block; width: auto; height: 74px; }
.a4k-logo-badge { display: inline-block; padding: 8px 14px; border-radius: 16px; background: #F5F5F5; }
.a4k-footer-about .a4k-logo img { height: 62px; }
.a4k-mobile-top .a4k-logo img { height: 42px; }
.a4k-mobile-top .a4k-logo-badge { padding: 6px 10px; border-radius: 12px; }
@media (max-width: 1180px) {
	.a4k-header { padding: 12px 0; }
	.a4k-header .a4k-logo img { height: 56px; }
}
@media (max-width: 480px) {
	.a4k-header .a4k-logo img { height: 50px; }
}

/* Slimmer light band: the logo sets the height, keep it close to the menu (v0.1.14) */
.a4k-header { padding: 9px 0; }
.a4k-header .a4k-logo img { height: 58px; }
@media (max-width: 1180px) {
	.a4k-header { padding: 8px 0; }
	.a4k-header .a4k-logo img { height: 48px; }
}
@media (max-width: 480px) {
	.a4k-header .a4k-logo img { height: 44px; }
}

/* Home banner fills exactly what the slimmer header leaves (v0.1.15) */
@media (min-width: 782px) { .a4k-hero--home { min-height: calc(100svh - 70px); } }
@media (min-width: 1181px) { .a4k-hero--home { min-height: calc(100svh - 82px); } }

/* Larger menu, in proportion with the logo band (v0.1.16) */
.a4k-nav ul { gap: 8px 34px; font-size: 17.5px; }
@media (min-width: 1181px) and (max-width: 1320px) { .a4k-nav ul { gap: 8px 24px; font-size: 16.5px; } }
