/* =====================================================================
   v7 — "Soil, paper & slate"
   Loaded after site.css. Switch off with: wp option update ns_design v6
   - Background: warm earth and dark soil textures (connection to the land)
   - Buttons & tabs: paper cut-outs (torn edges, tilt, paper shadow)
   - Small photos: framed as school slates (wooden frame, slate board)
   - Colours: brighter and more positive (marigold, saffron, parrot green, sky, pink)
   ===================================================================== */
:root {
	--earth-light: #f8ebd6;
	--earth: #efd6b2;
	--clay: #d99a62;
	--soil: #5a3820;
	--soil-dark: #3f2615;
	--marigold: #ffc234;
	--saffron-v: #ff7a00;
	--saffron-ink: #c4470a;   /* text-safe saffron on earth */
	--leaf-v: #2fa84f;
	--leaf-ink: #1f7a3a;      /* white text passes on this */
	--sky: #1677c9;
	--pink: #d6336c;
	--ink-v: #3a2212;
	--wood: #a8693a;
	--wood-dark: #7a4a25;
	--slate: #2f3b37;
	/* re-point the shared tokens so every component brightens */
	--forest: #1f6b35;
	--forest-2: #26833f;
	--forest-dark: #3f2615;
	--saffron: #ff8a1f;
	--saffron-deep: #c4470a;
	--leaf: #8cc63f;
	--cream: var(--earth);
	--paper: var(--earth-light);
	--ink: var(--ink-v);
	--line: #e2c49c;
	--shadow: 0 10px 26px rgba(90, 56, 32, .14);
	--paper-cut: polygon(0% 7%, 5% 0%, 19% 5%, 34% 0%, 51% 4%, 68% 0%, 84% 5%, 100% 1%, 98% 32%, 100% 63%, 97% 100%, 81% 94%, 63% 100%, 45% 95%, 27% 100%, 10% 94%, 0% 100%, 2% 64%, 0% 34%);
	--fun: "Baloo 2", "Open Sans", sans-serif;
}

/* ---------- Earth & soil backgrounds ---------- */
body, .editor-styles-wrapper { background: var(--earth-light) url("earth-light.jpg") 0 0 / 600px; }
.wp-block-group.is-style-ns-paper, .wp-block-group.ns-journey, .wp-block-group.ns-orbit, .wp-block-group.ns-trust {
	background: var(--earth-light) url("earth-light.jpg") 0 0 / 600px !important;
}
.wp-block-group.is-style-ns-cream, .wp-block-group.ns-home-hero {
	background: var(--earth) url("earth.jpg") 0 0 / 600px !important;
}
/* Dark, rich soil for the emotional bands */
.wp-block-group.is-style-ns-forest, .wp-block-group.ns-team {
	background: var(--soil) url("soil-dark.jpg") 0 0 / 600px !important;
}
.wp-block-group.ns-helpzone { background: #ffe39a url("grain.svg") !important; }   /* turmeric */
.wp-block-group.ns-work { background: var(--marigold) url("grain.svg") !important; }
.wp-block-group.ns-proud { background: #dff1c9 url("grain.svg") !important; }        /* fresh leaf */
.wp-block-group.ns-wave { background: #ffe8c2 url("grain.svg") !important; }
.wp-block-group.ns-ticker { background: var(--soil) url("soil-dark.jpg") 0 0 / 600px; border-color: var(--marigold); }
.wp-block-group.ns-ticker em { color: var(--marigold); }

/* Header & footer on the same earth */
.ct-header [data-row="top"] { background: var(--soil) url("soil-dark.jpg") 0 0 / 600px !important; }
.ct-header [data-row="middle"] { background: var(--earth-light) url("earth-light.jpg") 0 0 / 600px !important; border-bottom: 4px solid var(--marigold); }
.ct-footer { background: var(--soil-dark) url("soil-dark.jpg") 0 0 / 600px !important; border-top: 6px solid var(--marigold); }
.ct-footer h3, .ct-footer h4 { color: var(--marigold); }

/* ---------- Brighter type colours ---------- */
.wp-block-heading, h1, h2, h3 { color: var(--forest); }
.ns-script { color: var(--saffron-v); text-shadow: 0 1px 0 rgba(90, 56, 32, .15); }
.ns-kicker { color: var(--pink) !important; }
.ns-eyebrow::after { background: var(--saffron-v); height: 3px; border-radius: 2px; }
.wp-block-group.is-style-ns-forest .wp-block-heading, .wp-block-group.ns-team h2 { color: #fff7e6; }
.wp-block-group.is-style-ns-forest p, .wp-block-group.ns-team p:not(.ns-role):not(.ns-bio) { color: #f5e6cf; }
.wp-block-group.is-style-ns-forest .ns-script { color: var(--marigold); }

/* ---------- Paper cut-out buttons & tabs ---------- */
.wp-block-button__link,
.ns-form button,
.ns-ssc-tabs button,
.ct-header .ct-button {
	font-family: var(--fun) !important; font-weight: 800 !important; letter-spacing: .01em !important; text-transform: none !important;
	border: 0 !important; border-radius: 2px !important; box-shadow: none !important;
	clip-path: var(--paper-cut);
	padding: 14px 28px !important;
	background-image: url("paper.svg") !important; background-blend-mode: soft-light;
	transform: rotate(-1.2deg); transition: transform .18s ease, filter .18s ease;
}
.wp-block-button { filter: drop-shadow(3px 4px 0 rgba(58, 34, 18, .28)); }
.wp-block-button:nth-child(even) .wp-block-button__link { transform: rotate(1.3deg); }
.wp-block-button__link:hover, .ns-ssc-tabs button:hover, .ct-header .ct-button:hover { transform: rotate(0deg) scale(1.04); }
/* colour by role: marigold to give, leaf to read on, sky / pink for variety */
.is-style-ns-donate .wp-block-button__link, .ct-header .ct-button, .ns-form button { background-color: var(--marigold) !important; color: var(--ink-v) !important; }
.wp-block-button.is-style-ns-forest .wp-block-button__link { background-color: var(--leaf-ink) !important; color: #fff !important; }
.is-style-ns-ghost .wp-block-button__link { background-color: #fffaf0 !important; color: var(--ink-v) !important; }
.wp-block-group.is-style-ns-forest .wp-block-button.is-style-ns-forest .wp-block-button__link { background-color: var(--sky) !important; color: #fff !important; }
.ns-work-card .wp-block-button__link, .ns-panel .wp-block-button__link { background-color: #fffaf0 !important; color: var(--ink-v) !important; border: 0 !important; }
.ns-help > .wp-block-column:nth-child(3n+2) .is-style-ns-donate .wp-block-button__link { background-color: #ff9d4d !important; }
.ns-help > .wp-block-column:nth-child(3n) .is-style-ns-donate .wp-block-button__link { background-color: #9fd356 !important; }
.ct-header .ct-button { filter: drop-shadow(2px 3px 0 rgba(58, 34, 18, .3)); }
.ct-header .ct-button::before, .is-style-ns-donate .wp-block-button__link::before { color: var(--pink); }

/* Tabs as paper tags */
.ns-ssc-tabs button { background-color: #fffaf0 !important; color: var(--ink-v) !important; filter: drop-shadow(2px 3px 0 rgba(58, 34, 18, .2)); }
.ns-ssc-tabs button:nth-child(odd) { transform: rotate(1.2deg); }
.ns-ssc-tabs button.on { background-color: var(--leaf-ink) !important; color: #fff !important; }
/* Round arrow buttons become paper circles */
.ns-arrows button { background: var(--marigold) url("paper.svg"); color: var(--ink-v); font-weight: 800; box-shadow: 3px 4px 0 rgba(58, 34, 18, .28); border-radius: 46% 54% 50% 48% / 52% 46% 54% 48%; }
.ns-arrows button + button { background-color: var(--leaf-v); color: #fff; }

/* Small labels become paper strips */
p.ns-eyebrow { display: inline-flex; background: #fffaf0 url("paper.svg"); padding: 6px 14px 5px; clip-path: var(--paper-cut); color: var(--ink-v); transform: rotate(-1deg); }
p.ns-eyebrow::after { display: none; }
.is-style-ns-hero p.ns-eyebrow, .is-style-ns-banner p.ns-eyebrow { background-color: var(--marigold); }
.ns-help p.ns-chip { clip-path: var(--paper-cut); border-radius: 0; padding: 7px 16px !important; }
.ns-chip-saffron { background: var(--saffron-v); } .ns-chip-forest { background: var(--sky); } .ns-chip-leaf { background: var(--leaf-ink); }
p.ns-trustline { clip-path: var(--paper-cut); border-radius: 0; background: #fffaf0 url("paper.svg"); }

/* ---------- Photos as school slates (not banners / covers) ---------- */
.ns-stagger .wp-block-image,
.ns-orbit-photo .wp-block-image,
.ns-smear .wp-block-image,
.ns-tiles .wp-block-image,
.ns-road .wp-block-image,
.entry-content .wp-block-gallery .wp-block-image,
.entry-content > .wp-block-group .wp-block-columns > .wp-block-column > .wp-block-image:not(.ns-logo) {
	position: relative; background: var(--slate); padding: 10px; border-radius: 10px;
	border: 12px solid var(--wood);
	box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .25), 0 12px 24px rgba(58, 34, 18, .28), 0 0 0 2px var(--wood-dark);
	transform: rotate(-1deg);
}
.ns-stagger > .wp-block-column:nth-child(even) .wp-block-image,
.ns-tiles .wp-block-column:nth-child(even) .wp-block-image { transform: rotate(1.4deg); }
/* the little string hole of a slate */
.ns-stagger .wp-block-image::before,
.ns-orbit-photo .wp-block-image::before,
.ns-smear .wp-block-image::before {
	content: ""; position: absolute; top: -9px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%;
	background: var(--wood-dark); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .6);
}
.ns-stagger .wp-block-image img,
.ns-orbit-photo .wp-block-image img,
.ns-smear .wp-block-image img,
.ns-tiles .wp-block-image img,
.entry-content .wp-block-gallery .wp-block-image img,
.entry-content > .wp-block-group .wp-block-columns > .wp-block-column > .wp-block-image img {
	border-radius: 3px !important; -webkit-mask: none !important; mask: none !important;
}
/* brush frames & smears are replaced by the slate */
.ns-smear::before { display: none; }
.ns-orbit-grid .wp-block-image img { border-radius: 3px; }
.ns-orbit-photo p { left: 34px; bottom: 30px; font-family: var(--script); }
/* road stops: small round slates */
.ns-road .wp-block-image { width: 150px; border-radius: 16px; padding: 6px; border-width: 9px; }
.ns-road .wp-block-image img { width: 100%; height: 110px; border-radius: 3px; border: 0; box-shadow: none; }
/* chalk captions on slates where a caption sits under the photo */
.ns-stagger figcaption, .ns-tiles figcaption { color: #f4f1e8; font-family: var(--script); text-align: center; }

/* Help & team cards: paper on earth, photo inside a slate */
.wp-block-columns.ns-help > .wp-block-column { background: #fffaf0 url("paper.svg") !important; border-radius: 6px; box-shadow: 4px 6px 0 rgba(58, 34, 18, .18) !important; }
.ns-help .wp-block-image { margin: 12px 12px 0; background: var(--slate); padding: 8px; border: 9px solid var(--wood); border-radius: 8px; }
.ns-help .wp-block-image img { border-radius: 3px; }
.ns-help p.ns-chip { margin: -16px 0 0 26px !important; }
.ns-team-row > .wp-block-column { background: #fffaf0 url("paper.svg") !important; border-bottom-color: var(--marigold) !important; }
.ns-team-row .wp-block-image { background: radial-gradient(circle at 50% 70%, #ffb547 0 48%, #ffe7b3 49% 100%) !important; }
.ns-team-row p.ns-role { color: var(--pink) !important; }

/* Cards, stats, quotes and panels pick up the brighter palette */
.is-style-ns-stat { background: #fffaf0 url("paper.svg"); border-bottom-color: var(--leaf-v); }
.wp-block-column.is-style-ns-stat .wp-block-heading { color: var(--saffron-ink); }
.is-style-ns-card { background: #fffaf0 url("paper.svg"); border-top-color: var(--marigold); }
.wp-block-quote.is-style-ns-card { border-left-color: var(--pink); }
.wp-block-quote.is-style-ns-card::before { color: var(--pink); }
.wp-block-group.ns-panel { background: var(--saffron-v) url("grain.svg") !important; }
.ns-ico h3 strong { color: var(--saffron-ink); }
.ns-ico > * { background: transparent; }
.ns-proud .ns-counts .wp-block-column { background: #fffaf0 url("paper.svg"); border-left-color: var(--pink); }
.ns-proud .ns-counts .wp-block-column:nth-child(2) { border-left-color: var(--sky); }
.ns-proud .ns-counts .wp-block-column:nth-child(3) { border-left-color: var(--leaf-v); }
.ns-proud .ns-counts .wp-block-column:nth-child(4) { border-left-color: var(--saffron-v); }
.ns-ssc { background: #fffaf0 url("paper.svg"); }
.ns-ssc-stats > div { background: var(--earth-light); }
.ns-trust .wp-block-column { border-right-color: var(--clay); }
.wp-block-table th { background: var(--leaf-ink); }
.ns-faq-card { background: #fffaf0 url("paper.svg"); }
.ns-faq-card summary::after { color: var(--pink) !important; }

/* Verse bands: brighter wash on earth */
.wp-block-group.is-style-ns-verse {
	background:
		radial-gradient(ellipse 45% 95% at 4% 0%, rgba(255, 122, 0, .75), rgba(255, 194, 52, .3) 45%, transparent 75%),
		radial-gradient(ellipse 45% 95% at 96% 100%, rgba(47, 168, 79, .7), rgba(140, 198, 63, .3) 45%, transparent 75%),
		var(--earth) url("grain.svg") !important;
}

@media (max-width: 781px) {
	.ns-stagger .wp-block-image, .ns-smear .wp-block-image, .ns-orbit-photo .wp-block-image { border-width: 8px; padding: 6px; }
	.wp-block-button__link { padding: 12px 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link, .ns-ssc-tabs button { transition: none; }
}

/* Not slates: illustrations, team cut-outs, the hero photo (keeps its brush edge), logos */
.ns-proud .wp-block-image, .ns-results-hero .wp-block-image, .ns-team-row .wp-block-image,
.ns-home-hero .wp-block-image, .ns-logo, .ns-help .wp-block-image::before {
	border: 0 !important; padding: 0 !important; box-shadow: none !important; transform: none !important; border-radius: 0 !important;
}
.ns-proud .wp-block-image, .ns-results-hero .wp-block-image, .ns-home-hero .wp-block-image { background: transparent !important; }
.ns-proud .wp-block-image::before, .ns-results-hero .wp-block-image::before, .ns-home-hero .wp-block-image::before { display: none; }
.ns-home-hero .ns-brush img {
	-webkit-mask: url("brush-mask.svg") center / 100% 100% no-repeat !important; mask: url("brush-mask.svg") center / 100% 100% no-repeat !important;
}
.ns-home-hero .ns-smear::before { display: block; }

/* Paper-strip labels hug their text and never clip the first letter. */
p.ns-eyebrow { display: block !important; width: fit-content; max-width: 100%; padding: 7px 20px 6px 22px !important; margin-bottom: 14px; }
.ns-prayer p.ns-eyebrow, .ns-love p.ns-eyebrow, .ns-slides p.ns-eyebrow { margin-left: auto !important; margin-right: auto !important; }
.ns-prayer p.ns-eyebrow, .ns-love p.ns-eyebrow { background-color: var(--marigold); }
.ns-prayer p.ns-eyebrow, .ns-love p.ns-eyebrow, .is-style-ns-banner p.ns-eyebrow, .is-style-ns-hero p.ns-eyebrow, .ns-visit p.ns-eyebrow { color: var(--ink-v) !important; }

/* ---------- Soil-real + brush-painted section edges (CRY-style) ----------
   Each full-width band is masked with a dry-brush edge so it looks painted
   onto the earth; the soil shows through between bands. */
.wp-block-group.ns-helpzone, .wp-block-group.ns-work, .wp-block-group.ns-proud, .wp-block-group.ns-wave, .wp-block-group.ns-panel {
	background-blend-mode: multiply; background-size: 600px !important;
}
.wp-block-group.ns-helpzone { background-image: url("earth-light.jpg") !important; }
.wp-block-group.ns-work { background-image: url("earth-light.jpg") !important; }
.wp-block-group.ns-proud { background-image: url("earth-light.jpg") !important; background-color: #e9f7d6 !important; }
.wp-block-group.ns-wave { background-image: url("earth-light.jpg") !important; }

/* retire the older torn/wave/paint edges in favour of the brush masks */
.ns-torn::after, .wp-block-cover.is-style-ns-banner::after,
.wp-block-group.ns-wave::before, .wp-block-group.ns-wave::after,
.wp-block-group.ns-team::after { display: none !important; }

.entry-content > .alignfull.wp-block-group:not(.ns-ticker),
.entry-content > .alignfull.wp-block-cover {
	--e: 90px;
	position: relative;
	margin-top: -40px !important; margin-bottom: 0 !important;
	-webkit-mask: url("brush-top-1.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-1.svg") bottom / 100% var(--e) no-repeat;
	        mask: url("brush-top-1.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-1.svg") bottom / 100% var(--e) no-repeat;
}
.entry-content > .alignfull.wp-block-group:not(.ns-ticker):nth-child(3n+2),
.entry-content > .alignfull.wp-block-cover:nth-child(3n+2) {
	-webkit-mask: url("brush-top-2.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-2.svg") bottom / 100% var(--e) no-repeat;
	        mask: url("brush-top-2.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-2.svg") bottom / 100% var(--e) no-repeat;
}
.entry-content > .alignfull.wp-block-group:not(.ns-ticker):nth-child(3n),
.entry-content > .alignfull.wp-block-cover:nth-child(3n) {
	-webkit-mask: url("brush-top-3.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-3.svg") bottom / 100% var(--e) no-repeat;
	        mask: url("brush-top-3.svg") top / 100% var(--e) no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--e) + 2px) no-repeat, url("brush-bot-3.svg") bottom / 100% var(--e) no-repeat;
}
/* first band (hero / page banner) is only painted at the bottom */
.entry-content > .alignfull:first-child {
	margin-top: 0 !important;
	-webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--e) + 1px) no-repeat, url("brush-bot-2.svg") bottom / 100% var(--e) no-repeat !important;
	        mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--e) + 1px) no-repeat, url("brush-bot-2.svg") bottom / 100% var(--e) no-repeat !important;
}
/* the shloka ticker is a thin painted strip */
.entry-content > .alignfull.ns-ticker {
	position: relative; z-index: 2; margin-top: -10px !important; margin-bottom: -10px !important; border: 0 !important;
	-webkit-mask: url("brush-top-3.svg") top / 100% 16px no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 30px) no-repeat, url("brush-bot-3.svg") bottom / 100% 16px no-repeat;
	        mask: url("brush-top-3.svg") top / 100% 16px no-repeat, linear-gradient(#000 0 0) center / 100% calc(100% - 30px) no-repeat, url("brush-bot-3.svg") bottom / 100% 16px no-repeat;
}
/* footer painted onto the soil too */
.ct-footer {
	border-top: 0 !important; margin-top: -10px;
	-webkit-mask: url("brush-top-2.svg") top / 100% 80px no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - 79px) no-repeat;
	        mask: url("brush-top-2.svg") top / 100% 80px no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - 79px) no-repeat;
}
@media (max-width: 760px) {
	.entry-content > .alignfull.wp-block-group:not(.ns-ticker), .entry-content > .alignfull.wp-block-cover { --e: 44px; margin-top: -18px !important; }
}
/* keep the leaf band fresh (not olive) and the team eyebrow readable */
.wp-block-group.ns-proud { background-blend-mode: luminosity; background-color: #6fae4a !important; }
.wp-block-group.ns-team .ns-eyebrow { color: var(--ink-v) !important; }

/* ---------- Readability pass ----------
   Real soil stays on the dark bands, header, footer and ticker. Reading
   surfaces get a calm cream earth with only a hint of grain. */
body, .editor-styles-wrapper,
.wp-block-group.is-style-ns-paper, .wp-block-group.ns-journey, .wp-block-group.ns-orbit, .wp-block-group.ns-trust {
	background: #f8eedd url("earth-soft.jpg") 0 0 / 600px !important;
}
.wp-block-group.is-style-ns-cream, .wp-block-group.ns-home-hero {
	background: #f1e0c4 url("earth-hero.jpg") 0 0 / 600px !important;
}
.ct-header [data-row="middle"] { background: #fbf4e8 !important; }
/* coloured bands: clean, bright colour with the faintest grain */
.wp-block-group.ns-helpzone, .wp-block-group.ns-work, .wp-block-group.ns-proud, .wp-block-group.ns-wave, .wp-block-group.ns-panel {
	background-image: url("earth-soft.jpg") !important; background-blend-mode: multiply;
}
.wp-block-group.ns-helpzone { background-color: #ffe7a6 !important; }
.wp-block-group.ns-work { background-color: #ffcf52 !important; }
.wp-block-group.ns-proud { background-color: #e3f5cf !important; }
.wp-block-group.ns-wave { background-color: #ffeccc !important; }
/* dark soil: a light veil underneath the texture keeps white text crisp */
.wp-block-group.is-style-ns-forest, .wp-block-group.ns-team {
	background: linear-gradient(rgba(40, 24, 12, .35), rgba(40, 24, 12, .35)), var(--soil) url("soil-dark.jpg") 0 0 / 600px !important;
}
/* stronger, warmer default text (low specificity so bands/photos keep their own colours) */
body { color: #33251a; }
:where(.entry-content) :where(p, li) { color: #3a2a1d; }
:where(.ns-ico, .ns-road, .ns-stop, .ns-orbit) :where(p) { color: #5a4532; }
:root { --muted: #5a4532; }
.wp-block-group.ns-panel p { color: #fff !important; }

/* ---------- Plain-colour variant (/home-plain/) ----------
   Same design, flat colours instead of the textured soil/grain. */
body.ns-plain, body.ns-plain .wp-block-group, body.ns-plain .ct-header [data-row], body.ns-plain .ct-footer { background-image: none !important; }
body.ns-plain { background-color: #fbf3e6 !important; }
body.ns-plain .wp-block-group.is-style-ns-paper, body.ns-plain .wp-block-group.ns-journey,
body.ns-plain .wp-block-group.ns-orbit, body.ns-plain .wp-block-group.ns-trust { background-color: #fbf3e6 !important; }
body.ns-plain .wp-block-group.is-style-ns-cream, body.ns-plain .wp-block-group.ns-home-hero { background-color: #f6e4c6 !important; }
body.ns-plain .wp-block-group.is-style-ns-forest, body.ns-plain .wp-block-group.ns-team,
body.ns-plain .wp-block-group.ns-ticker, body.ns-plain .ct-header [data-row="top"] { background-color: #4a2e1a !important; }
body.ns-plain .ct-footer { background-color: #3f2615 !important; }
body.ns-plain .ct-header [data-row="middle"] { background-color: #fffaf2 !important; }

/* ---------- Hero video in a paint splash (CRY-inspired) ----------
   The prayer clip plays inside a ragged brush shape, sitting on a
   big marigold paint splash with splatter drops. */
.ns-home-hero .ns-splash { position: relative; isolation: isolate; margin: 0 !important; }
.ns-home-hero .ns-splash::before {
	content: ""; display: block !important; position: absolute; z-index: -1; inset: -4% -10% -20% -16%;
	background: url("paint-splash.svg") center / 100% 100% no-repeat !important; opacity: 1;
	animation: ns-splash-in 1.1s cubic-bezier(.2, .8, .2, 1) both;
}
.ns-home-hero .ns-hero-video { margin: 0 !important; border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.ns-home-hero .ns-hero-video::before { display: none !important; }
.ns-home-hero .ns-hero-video video {
	display: block; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1.05 !important; max-height: none !important; object-fit: cover; object-position: 40% 60%;
	-webkit-mask: url("splash-mask.svg") center / 100% 100% no-repeat !important; mask: url("splash-mask.svg") center / 100% 100% no-repeat !important;
	filter: saturate(1.15) contrast(1.05);
}
@keyframes ns-splash-in { from { transform: scale(.82) rotate(-4deg); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .ns-home-hero .ns-splash::before { animation: none; } }
@media (max-width: 760px) {
	.ns-home-hero .ns-splash::before { inset: -6% -4% -7% -6%; }
	.ns-home-hero .ns-hero-video video { aspect-ratio: 1 / 1 !important; }
}

/* ==========================================================
   16 Oct feedback
   ========================================================== */

/* 1. Photo slider a little quicker: 4.5s per slide instead of 6s */
.wp-block-group.ns-slides > .wp-block-cover { animation-duration: 22.5s; }
.ns-slides > .wp-block-cover:nth-child(2) { animation-delay: 4.5s; }
.ns-slides > .wp-block-cover:nth-child(3) { animation-delay: 9s; }
.ns-slides > .wp-block-cover:nth-child(4) { animation-delay: 13.5s; }
.ns-slides > .wp-block-cover:nth-child(5) { animation-delay: 18s; }
.ns-slides .wp-block-cover__image-background { animation-duration: 22.5s; }
.wp-block-group.ns-ticker > p { font-size: 18px; }

/* 2. Photo frames: paper cut-outs (torn white paper border + a strip of tape)
      replacing the wooden slates everywhere. */
.ns-stagger .wp-block-image,
.ns-orbit-photo .wp-block-image,
.ns-smear .wp-block-image,
.ns-tiles .wp-block-image,
.ns-road .wp-block-image,
.ns-help .wp-block-image,
.entry-content .wp-block-gallery .wp-block-image,
.entry-content > .wp-block-group .wp-block-columns > .wp-block-column > .wp-block-image:not(.ns-logo) {
	background: none !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	border: 20px solid transparent !important;
	background: #fffaf0 padding-box !important; border-image: url("paper-frame.svg") 40 / 20px stretch !important;
}
.ns-road .wp-block-image, .ns-help .wp-block-image { border-width: 14px !important; border-image-width: 14px !important; }
.ns-help .wp-block-image { margin: 10px 10px 0 !important; }
.ns-stagger .wp-block-image::before,
.ns-orbit-photo .wp-block-image::before,
.ns-smear .wp-block-image::before,
.ns-tiles .wp-block-image::before,
.entry-content .wp-block-gallery .wp-block-image::before,
.entry-content > .wp-block-group .wp-block-columns > .wp-block-column > .wp-block-image:not(.ns-logo)::before {
	content: ""; position: absolute; z-index: 2; top: -30px; left: 50%; width: 92px; height: 26px; margin: 0 0 0 -46px;
	border-radius: 0; box-shadow: none;
	background: rgba(255, 214, 120, .78);
	clip-path: polygon(3% 0, 97% 4%, 100% 30%, 96% 55%, 100% 100%, 4% 96%, 0 66%, 4% 40%);
	transform: rotate(-3deg); display: block;
}
.ns-tiles .wp-block-column:nth-child(even) .wp-block-image::before,
.ns-stagger > .wp-block-column:nth-child(even) .wp-block-image::before { background: rgba(140, 210, 120, .75); transform: rotate(4deg); }
.ns-stagger .wp-block-image img, .ns-orbit-photo .wp-block-image img, .ns-smear .wp-block-image img,
.ns-tiles .wp-block-image img, .ns-road .wp-block-image img, .ns-help .wp-block-image img,
.entry-content .wp-block-gallery .wp-block-image img,
.entry-content > .wp-block-group .wp-block-columns > .wp-block-column > .wp-block-image img { border-radius: 0 !important; }
.ns-stagger figcaption, .ns-tiles figcaption { color: var(--ink-v); }
/* the illustrations, team cut-outs, hero and logos stay unframed */
.ns-proud .wp-block-image, .ns-results-hero .wp-block-image, .ns-team-row .wp-block-image, .ns-home-hero .wp-block-image {
	border: 0 !important; border-image: none !important;
}
.ns-proud .wp-block-image::before, .ns-results-hero .wp-block-image::before, .ns-team-row .wp-block-image::before { display: none !important; }
.ns-home-hero .ns-smear .wp-block-image::before { display: none !important; }

/* 4. Menu: clear, readable hover and active states */
.ct-header [data-row="middle"] .ct-menu-link { color: var(--ink-v) !important; }
.ct-header [data-row="middle"] .menu > li > .ct-menu-link:hover,
.ct-header [data-row="middle"] .menu > li:hover > .ct-menu-link,
.ct-header [data-row="middle"] .menu > li.current-menu-item > .ct-menu-link,
.ct-header [data-row="middle"] .menu > li.current-menu-ancestor > .ct-menu-link { color: var(--saffron-ink) !important; }
.ct-header [data-row="middle"] .menu > li > .ct-menu-link::after { background: var(--saffron-v) !important; height: 3px !important; }
.ct-header .sub-menu { background: #fffaf0 !important; border-top: 3px solid var(--marigold); box-shadow: 0 14px 30px rgba(58, 34, 18, .18) !important; }
.ct-header .sub-menu .ct-menu-link { color: var(--ink-v) !important; }
.ct-header .sub-menu li:hover > .ct-menu-link,
.ct-header .sub-menu .ct-menu-link:hover,
.ct-header .sub-menu .current-menu-item > .ct-menu-link { background: var(--marigold) !important; color: var(--ink-v) !important; }
.ct-header [data-row="top"] a:hover { color: var(--marigold) !important; }
.ct-header .sub-menu { width: max-content !important; min-width: 240px; }
.ct-header .sub-menu .ct-menu-link { white-space: nowrap; padding-top: 11px !important; padding-bottom: 11px !important; }

/* ==========================================================
   17 Oct feedback — readability + paper cut on the outside
   ========================================================== */

/* Brush edges are shorter, and every band has enough padding that the
   ragged edge never runs through text. */
.entry-content > .alignfull.wp-block-group:not(.ns-ticker), .entry-content > .alignfull.wp-block-cover { --e: 60px; margin-top: -24px !important; }
.entry-content > .alignfull.wp-block-group:not(.ns-ticker):not(.ns-slides):not(.ns-home-hero) { padding-top: 112px !important; padding-bottom: 112px !important; }
.entry-content > .alignfull.wp-block-cover:not(.ns-slide) { padding-top: 112px !important; padding-bottom: 112px !important; }
.entry-content > .alignfull.is-style-ns-banner:first-child { padding-top: 80px !important; padding-bottom: 104px !important; }
.entry-content > .alignfull.ns-home-hero { padding-bottom: 96px !important; }
@media (max-width: 760px) {
	.entry-content > .alignfull.wp-block-group:not(.ns-ticker), .entry-content > .alignfull.wp-block-cover { --e: 32px; margin-top: -12px !important; }
	.entry-content > .alignfull.wp-block-group:not(.ns-ticker):not(.ns-slides):not(.ns-home-hero),
	.entry-content > .alignfull.wp-block-cover:not(.ns-slide) { padding-top: 72px !important; padding-bottom: 72px !important; }
	.entry-content > .alignfull.is-style-ns-banner:first-child { padding-bottom: 68px !important; }
}
/* Banner words sit on a darker wash so they always read */
.is-style-ns-banner .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(180deg, rgba(30, 18, 8, .25) 0%, rgba(30, 18, 8, .55) 55%, rgba(30, 18, 8, .8) 100%) !important; }
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover p { text-shadow: 0 2px 10px rgba(0, 0, 0, .45); }
.wp-block-cover .ns-eyebrow { text-shadow: none; }

/* Cards: the paper cut is the card's own outer edge; photos inside sit plain. */
.entry-content .wp-block-columns.ns-team-row > .wp-block-column,
.entry-content .wp-block-columns.ns-help > .wp-block-column,
.entry-content .wp-block-column.is-style-ns-stat,
.entry-content .wp-block-column.is-style-ns-card,
.entry-content .wp-block-group.is-style-ns-card,
.entry-content .ns-proud .ns-counts .wp-block-column {
	background: none !important; border-radius: 0 !important; box-shadow: none !important;
	border: 18px solid transparent !important;
	background: #fffaf0 padding-box !important; border-image: url("paper-frame.svg") 40 / 18px stretch !important;
}
.entry-content .wp-block-columns.ns-team-row > .wp-block-column .wp-block-image,
.entry-content .wp-block-columns.ns-help > .wp-block-column .wp-block-image,
.entry-content > .wp-block-group .wp-block-columns.ns-team-row > .wp-block-column > .wp-block-image,
.entry-content > .wp-block-group .wp-block-columns.ns-help > .wp-block-column > .wp-block-image {
	border: 0 !important; border-image: none !important; padding: 0 !important; margin: 0 !important; transform: none !important;
}
.entry-content .wp-block-columns.ns-team-row > .wp-block-column .wp-block-image::before,
.entry-content > .wp-block-group .wp-block-columns.ns-team-row > .wp-block-column > .wp-block-image::before,
.entry-content > .wp-block-group .wp-block-columns.ns-help > .wp-block-column > .wp-block-image::before { display: none !important; }
/* a strip of tape holds each card on the earth */
.entry-content .wp-block-columns.ns-team-row > .wp-block-column,
.entry-content .wp-block-columns.ns-help > .wp-block-column { position: relative; overflow: visible !important; }
.entry-content .wp-block-columns.ns-team-row > .wp-block-column::after,
.entry-content .wp-block-columns.ns-help > .wp-block-column::after {
	content: ""; position: absolute; z-index: 3; top: -30px; left: 50%; width: 86px; height: 24px; margin-left: -43px;
	background: rgba(255, 214, 120, .8); transform: rotate(-3deg);
	clip-path: polygon(3% 0, 97% 4%, 100% 30%, 96% 55%, 100% 100%, 4% 96%, 0 66%, 4% 40%);
}
.entry-content .wp-block-columns.ns-team-row > .wp-block-column:nth-child(even)::after,
.entry-content .wp-block-columns.ns-help > .wp-block-column:nth-child(even)::after { background: rgba(140, 210, 120, .8); transform: rotate(3deg); }
.ns-help p.ns-chip { margin: -14px 0 0 12px !important; }

/* Illustrations (proud / results hero) are never framed */
.entry-content > .wp-block-group.ns-proud .wp-block-columns > .wp-block-column > .wp-block-image,
.entry-content > .wp-block-group.ns-results-hero .wp-block-columns > .wp-block-column .wp-block-image,
.entry-content > .wp-block-group.ns-home-hero .wp-block-columns > .wp-block-column .wp-block-image {
	border: 0 !important; border-image: none !important; transform: none !important;
}
.entry-content > .wp-block-group.ns-proud .wp-block-columns > .wp-block-column > .wp-block-image::before { display: none !important; }

/* Card rows that scroll sideways need room above for the tape */
.wp-block-columns.ns-help { padding-top: 38px !important; }
.wp-block-columns.ns-help > .wp-block-column { padding-bottom: 8px !important; }

/* ---------- Impact: Stories + In their words ---------- */
.entry-content .wp-block-latest-posts { gap: 34px 26px; padding-top: 30px; }
.entry-content .wp-block-latest-posts li,
.entry-content .wp-block-quote.is-style-ns-card {
	position: relative; overflow: visible !important; background: none !important; border-radius: 0 !important; box-shadow: none !important;
	border: 18px solid transparent !important;
	background: #fffaf0 padding-box !important; border-image: url("paper-frame.svg") 40 / 18px stretch !important;
}
.entry-content .wp-block-latest-posts li { padding-bottom: 8px; }
.entry-content .wp-block-latest-posts li::after,
.entry-content .wp-block-quote.is-style-ns-card::after {
	content: ""; position: absolute; z-index: 3; top: -32px; left: 50%; width: 86px; height: 24px; margin-left: -43px;
	background: rgba(255, 214, 120, .8); transform: rotate(-3deg);
	clip-path: polygon(3% 0, 97% 4%, 100% 30%, 96% 55%, 100% 100%, 4% 96%, 0 66%, 4% 40%);
}
.entry-content .wp-block-latest-posts li:nth-child(even)::after,
.wp-block-column:nth-child(even) > .wp-block-quote.is-style-ns-card::after { background: rgba(140, 210, 120, .8); transform: rotate(3deg); }
.entry-content .wp-block-latest-posts img { border-radius: 0; }
.entry-content .wp-block-latest-posts li > a { margin-top: 12px; line-height: 1.3; }
.entry-content .wp-block-latest-posts .wp-block-latest-posts__post-excerpt { color: #3a2a1d; padding-bottom: 6px; }
.entry-content .wp-block-latest-posts__post-excerpt a { color: var(--saffron-ink); font-family: var(--sans); font-size: 14px; }
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-quote.is-style-ns-card) { gap: 34px 26px; padding-top: 26px; }
.entry-content .wp-block-quote.is-style-ns-card { padding: 10px 14px 6px !important; margin: 0 !important; height: 100%; }
.entry-content .wp-block-quote.is-style-ns-card::before { font-family: var(--script); color: var(--saffron-v) !important; font-size: 3.6rem; }
.entry-content .wp-block-quote.is-style-ns-card p { font-size: 1.05rem; color: #3a2a1d !important; line-height: 1.55; }
.entry-content .wp-block-quote.is-style-ns-card cite { color: var(--pink) !important; font-weight: 700; }

/* ---------- Results page: same paper language as the rest of the site ---------- */
.ns-ssc-tiles { padding-top: 6px; gap: 22px !important; }
.ns-ssc-tiles > .wp-block-column {
	background: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 14px 6px !important;
	border: 18px solid transparent !important; background: #fffaf0 padding-box !important; border-image: url("paper-frame.svg") 40 / 18px stretch !important;
}
.ns-ssc-tiles h3 { color: var(--saffron-ink) !important; }
.ns-ssc-tiles > .wp-block-column:nth-child(odd) h3 { color: var(--leaf-ink) !important; }
.ns-ssc-tiles p { color: #5a4532 !important; }
.ns-ssc {
	background: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 18px 16px !important;
	border: 24px solid transparent; background: #fffaf0 padding-box; border-image: url("paper-frame.svg") 40 / 24px stretch;
}
.ns-ssc-tabs button {
	background: #ffe7a6 !important; border: 0 !important; border-radius: 0 !important; color: var(--ink-v) !important;
	clip-path: var(--paper-cut); font-family: "Baloo 2", var(--sans); font-weight: 700; font-size: 15px; padding: 10px 20px !important;
	transform: rotate(-1deg); filter: drop-shadow(2px 3px 0 rgba(58, 34, 18, .18));
}
.ns-ssc-tabs button:nth-child(even) { transform: rotate(1deg); }
.ns-ssc-tabs button:hover { background: var(--marigold) !important; }
.ns-ssc-tabs button.on { background: var(--leaf-ink) !important; color: #fff !important; }
.ns-ssc-stats > div { background: #fdf4e3 !important; border-radius: 0 !important; clip-path: var(--paper-cut); border-left: 0 !important; border-top: 6px solid var(--ink-v); padding: 18px 20px !important; }
.ns-ssc-stats > div.g { border-top-color: var(--leaf-ink); } .ns-ssc-stats > div.s { border-top-color: var(--saffron-v); } .ns-ssc-stats > div.l { border-top-color: #8cc63f; }
.ns-ssc-stats b { color: var(--leaf-ink) !important; }
.ns-ssc-stats span, .ns-donut-mid span { color: #5a4532 !important; }
.ns-ssc-note { background: #ffe7a6 !important; border-radius: 0 !important; clip-path: var(--paper-cut); color: var(--ink-v); }
.ns-donut-mid { background: #fffaf0 !important; }
.ns-donut-mid b { color: var(--leaf-ink) !important; }
.ns-trend { border-top: 2px dashed rgba(168, 105, 58, .4) !important; }
.ns-bar-cols i { background: var(--leaf-ink) !important; border-radius: 4px 4px 0 0 !important; }
.ns-bar-cols i.b2 { background: var(--saffron-v) !important; }
.ns-legend .g::before { background: var(--leaf-ink) !important; } .ns-legend .s::before { background: var(--saffron-v) !important; }
.entry-content .wp-block-table { border: 20px solid transparent; background: #fffaf0 padding-box; border-image: url("paper-frame.svg") 40 / 20px stretch; margin-top: 10px; }
.entry-content .wp-block-table table { background: transparent !important; border-radius: 0 !important; }
.entry-content .wp-block-table th { background: var(--leaf-ink) !important; font-family: "Baloo 2", var(--sans); font-size: 15px; }
.entry-content .wp-block-table td { border-color: #ead9bd !important; color: #3a2a1d; }
.entry-content .wp-block-table tr:nth-child(even) td { background: #fbf1df !important; }
.entry-content .wp-block-table tr:last-child td { font-weight: 700; background: #ffe7a6 !important; }

/* ---------- Donate ---------- */
.wp-block-group.ns-give-zone > * { text-align: center; margin-left: auto !important; margin-right: auto !important; }
.wp-block-group.ns-give-zone p.ns-eyebrow, .wp-block-group.ns-give-zone p.ns-trustline { margin-left: auto !important; margin-right: auto !important; }
.wp-block-columns.ns-help.ns-give { justify-content: center; overflow: visible; flex-wrap: wrap !important; text-align: left; max-width: 1080px; }
.wp-block-columns.ns-help.ns-give > .wp-block-column { flex: 0 1 320px !important; }
.ns-give p.ns-chip { font-size: 18px !important; font-family: "Baloo 2", var(--sans); }
.ns-give .wp-block-heading { font-size: 17px; }
.wp-block-group.ns-pledge > .wp-block-columns { gap: 48px; align-items: flex-start; }
.wp-block-group.ns-pledge > .wp-block-columns > .wp-block-column:first-child { flex-basis: 56% !important; padding: 14px 18px !important; }
.wp-block-group.ns-pledge .wp-block-heading { scroll-margin-top: 120px; }
.wp-block-group.ns-pledge h3.wp-block-heading { font-size: 1.3rem; margin-top: 26px; }
.wp-block-group.ns-pledge .wp-block-quote.is-style-ns-card { margin-bottom: 18px !important; height: auto; }
.wp-block-group.ns-pledge p.ns-trustline { font-size: 13px; margin-top: 18px; }
@media (max-width: 781px) { .wp-block-group.ns-pledge > .wp-block-columns { gap: 28px; } }
.wp-block-columns.ns-help.ns-give { -webkit-mask-image: none !important; mask-image: none !important; padding: 38px 0 10px !important; margin-left: auto !important; margin-right: auto !important; }
.wp-block-group.ns-give-zone p.ns-trustline { width: fit-content; max-width: 100%; padding-left: 26px !important; padding-right: 26px !important; }
/* pledge: the form itself is the paper card; side column gets a fair share */
.wp-block-group.ns-pledge > .wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 58% !important; border: 0 !important; border-image: none !important; padding: 0 !important; background: none !important;
}
.wp-block-group.ns-pledge > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 0 !important; min-width: 0; }
.entry-content .ns-form {
	background: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 16px 18px !important;
	border: 22px solid transparent !important; background: #fffaf0 padding-box !important; border-image: url("paper-frame.svg") 40 / 22px stretch !important;
}
@media (max-width: 781px) { .wp-block-group.ns-pledge > .wp-block-columns > .wp-block-column:first-child { flex-basis: 100% !important; } }
.entry-content .wp-block-group.ns-give-zone > p.ns-trustline { margin-left: auto !important; margin-right: auto !important; display: block; }
.ns-ssc, .entry-content .wp-block-table { background: #fffaf0 padding-box !important; }
.entry-content > .wp-block-group.ns-proud .wp-block-columns > .wp-block-column > .wp-block-image,
.entry-content > .wp-block-group.ns-results-hero .wp-block-columns > .wp-block-column .wp-block-image,
.entry-content > .wp-block-group.ns-home-hero .wp-block-columns > .wp-block-column .wp-block-image { background: none !important; }
/* team cut-outs keep their marigold sun behind them */
.entry-content > .wp-block-group .wp-block-columns.ns-team-row > .wp-block-column > .wp-block-image,
.entry-content .wp-block-columns.ns-team-row > .wp-block-column .wp-block-image { background: radial-gradient(circle at 50% 70%, #ffb547 0 48%, #ffe7b3 49% 100%) !important; }

/* ---------- Contrast pass (WCAG AA) — measured on every page ---------- */
:root { --pink: #b81f55; --saffron-ink: #a83c08; }
.ns-script { color: #d24f06 !important; }                                  /* large script words: ≥3:1 */
.ns-helpzone .ns-script, .ns-work .ns-script, .ns-proud .ns-script { color: #b43f04 !important; }
.ns-chip-saffron { background: #c4470a !important; }
.wp-block-group.ns-panel { background-color: #c4470a !important; }
p.ns-sub { color: var(--saffron-ink) !important; }
.entry-content a:not(.wp-block-button__link):not(.ct-menu-link) { color: #9a3a0a; }
.ns-role, p.ns-kicker, .entry-content cite { color: var(--pink) !important; }
p.ns-eyebrow, .is-style-ns-forest p.ns-eyebrow, .ns-team p.ns-eyebrow { color: var(--ink-v) !important; }
.ct-footer a, .ct-footer .ct-menu-link { color: #fbe9cf !important; }
.ct-footer a:hover, .ct-footer .ct-menu-link:hover { color: var(--marigold) !important; }
.ct-header [data-row="top"] a, .ct-header [data-row="top"] .entry-content a, .ct-header [data-row="top"] p { color: #fbe9cf !important; }

/* ==========================================================
   Logo + mobile menu
   ========================================================== */
.ct-header .site-logo-container img, .ct-header .custom-logo { background: none !important; filter: drop-shadow(0 2px 3px rgba(58, 34, 18, .18)); }
.ct-header .site-title { font-size: 21px !important; line-height: 1.1; }
.ct-header .site-title a { color: var(--leaf-ink) !important; }
.ct-header .site-description { color: var(--saffron-ink) !important; font-size: 12.5px !important; }
@media (max-width: 999px) {
	.ct-header [data-device="mobile"] .site-title { font-size: 17px !important; }
	.ct-header [data-device="mobile"] .site-description { display: none; }
	.ct-header [data-device="mobile"] .ct-button { padding: 0 14px !important; font-size: 13px !important; }
	/* bigger, clearer hamburger */
	.ct-header-trigger { width: 46px !important; min-width: 46px; height: 46px; padding: 0 !important; display: grid !important; place-items: center; background: var(--marigold) !important; clip-path: var(--paper-cut); }
	.ct-header-trigger svg { width: 22px !important; height: 18px !important; }
	.ct-header-trigger svg rect { fill: var(--ink-v) !important; }
}
/* the Donate entry exists for the mobile menu only */
.ct-header [data-device="desktop"] .ns-menu-donate { display: none !important; }

/* Off-canvas panel: solid paper, large tap targets */
#offcanvas { --theme-link-initial-color: var(--ink-v); --theme-link-hover-color: var(--saffron-ink); }
#offcanvas .ct-panel-inner { background: #fbf3e6 url("earth-soft.jpg") 0 0 / 600px !important; box-shadow: -10px 0 40px rgba(30, 18, 8, .35); }
#offcanvas.ct-panel { background: rgba(30, 18, 8, .55) !important; backdrop-filter: blur(2px); }
#offcanvas .ct-panel-actions { padding: 14px 18px !important; border-bottom: 3px solid var(--marigold); background: url("logo-mark-small.png") 20px center / auto 44px no-repeat; min-height: 72px; }
#offcanvas .ct-toggle-close { width: 44px; height: 44px; background: var(--ink-v) !important; border-radius: 50% !important; --theme-icon-color: #fff; color: #fff; }
#offcanvas .ct-toggle-close svg { fill: #fff !important; }
#offcanvas .ct-panel-content-inner { padding: 8px 20px 28px !important; }
#offcanvas .mobile-menu ul { margin: 0; }
#offcanvas .mobile-menu > ul > li { border-bottom: 1px dashed rgba(168, 105, 58, .35); }
#offcanvas .mobile-menu .ct-menu-link { font-family: "Baloo 2", var(--sans) !important; font-size: 19px !important; font-weight: 700 !important; color: var(--ink-v) !important; padding: 13px 4px !important; min-height: 50px; }
#offcanvas .mobile-menu .current-menu-item > .ct-sub-menu-parent > .ct-menu-link,
#offcanvas .mobile-menu .current-menu-item > .ct-menu-link { color: var(--saffron-ink) !important; }
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile { width: 44px; height: 44px; border-radius: 50%; background: #ffe7a6; display: grid; place-items: center; }
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg { fill: var(--ink-v) !important; width: 12px; height: 12px; }
#offcanvas .mobile-menu .sub-menu { background: rgba(255, 231, 166, .45); border-left: 4px solid var(--marigold); margin: 0 0 12px !important; padding: 4px 0 !important; }
#offcanvas .mobile-menu .sub-menu .ct-menu-link { font-family: var(--sans) !important; font-size: 16px !important; font-weight: 600 !important; padding: 11px 16px !important; min-height: 44px; }
#offcanvas .mobile-menu .sub-menu li + li { border-top: 1px solid rgba(168, 105, 58, .15); }
/* Donate Now as a big paper-cut button */
#offcanvas .mobile-menu > ul > li.ns-menu-donate { border: 0; margin-top: 22px; }
#offcanvas .mobile-menu li.ns-menu-donate > .ct-menu-link {
	justify-content: center; background: var(--marigold); color: var(--ink-v) !important; clip-path: var(--paper-cut);
	font-size: 20px !important; padding: 16px !important; filter: drop-shadow(3px 4px 0 rgba(58, 34, 18, .2));
}
#offcanvas .mobile-menu li.ns-menu-donate > .ct-menu-link::before { content: "♥"; color: var(--pink); margin-right: 8px; }
/* contact line under the menu */
#offcanvas .ct-header-text { margin-top: 24px; padding: 16px; background: #fffaf0; clip-path: var(--paper-cut); font-size: 15px; line-height: 1.8; color: var(--ink-v); }
#offcanvas .ct-header-text p { color: var(--ink-v) !important; margin: 0; }
#offcanvas .ct-header-text a { color: var(--leaf-ink) !important; font-weight: 700; display: block; }
#offcanvas .ct-header-text .ns-badge { display: inline-block; margin-top: 6px; }

/* small text on phones: nothing under 13px */
@media (max-width: 781px) {
	.ns-team-row p.ns-bio, .ns-help p, .ns-ico p, .ns-road p, .ns-ssc-stats span, .ns-ssc-tiles p, p.ns-trustline, .ns-chip, p.ns-role, p.ns-kicker, .entry-content cite { font-size: 13.5px !important; }
	.wp-block-latest-posts time { font-size: 13px !important; }
}
@media (max-width: 999px) { .ct-header [data-device="mobile"] .site-logo-container { --logo-max-height: 56px; } .ct-header [data-device="mobile"] .site-logo-container img { height: 56px !important; max-height: 56px !important; } }
#offcanvas .ct-toggle-dropdown-mobile { width: 42px !important; height: 42px !important; min-width: 42px; border-radius: 50% !important; background: #ffe7a6 !important; display: grid !important; place-items: center; margin-left: 10px; }
#offcanvas .ct-toggle-dropdown-mobile svg { width: 14px !important; height: 14px !important; fill: var(--ink-v) !important; }
#offcanvas .ct-toggle-dropdown-mobile[aria-expanded="true"] { background: var(--marigold) !important; }
#offcanvas .ct-header-text { width: 100%; }
#offcanvas .ct-header-text p { font-size: 0 !important; display: grid; gap: 6px; }
#offcanvas .ct-header-text p a { font-size: 16px !important; text-decoration: none; }
#offcanvas .ct-header-text p a[href^="tel"]::before { content: "📞 "; }
#offcanvas .ct-header-text p a[href^="mailto"]::before { content: "✉️ "; }
#offcanvas .ct-header-text .ns-badge { font-size: 12px !important; width: fit-content; background: var(--leaf-ink) !important; color: #fff !important; border: 0 !important; padding: 4px 10px; margin-top: 4px; }
