/* True You Theme — main stylesheet. Built on theme.json tokens. */

html{ font-size:17px; }
html[data-text-size="lg"]{ font-size:21px; }
html[data-text-size="xl"]{ font-size:26px; }

:root,
[data-reading="paper"]{
	/* Fluid layout shell: content grows with the viewport up to --ty-shell,
	   and side gutters scale with --ty-gutter instead of leaving fixed dead
	   margins on large screens. Reading columns keep their own ch-based caps. */
	--ty-shell:1440px;
	--ty-gutter:clamp(20px, 5vw, 72px);
	--bg-wash:
		radial-gradient(900px 600px at 12% -10%, rgba(143,199,158,.18), transparent 60%),
		radial-gradient(700px 500px at 105% 30%, rgba(168,207,234,.14), transparent 65%),
		radial-gradient(600px 400px at 60% 110%, rgba(46,125,68,.08), transparent 70%);
}

[data-reading="dusk"]{
	--wp--preset--color--paper:#0E1A14;
	--wp--preset--color--paper-2:#16241D;
	--wp--preset--color--paper-3:#1B2C24;
	--wp--preset--color--shell:#16241D;
	--wp--preset--color--ink:#F4EEDD;
	--wp--preset--color--ink-2:#C3CFC1;
	--wp--preset--color--ink-3:#9FB2A6;
	--wp--preset--color--line:#1F3026;
	--wp--preset--color--moss-900:#F4EEDD;
	--wp--preset--color--moss-800:#5BAE5F;
	--wp--preset--color--moss-700:#4FA563;
	--wp--preset--color--moss-300:#8FC79E;
	--wp--preset--color--moss-100:#1F3026;
	--wp--preset--color--leaf-700:#7BB5E0;
	--wp--preset--color--leaf-900:#A8CFEA;
	--wp--preset--color--leaf-300:#2B4D6F;
	--wp--preset--color--leaf-100:#1A2E3F;
	--bg-wash:none;
}

[data-reading="high-contrast"]{
	--wp--preset--color--paper:#0A0A0A;
	--wp--preset--color--paper-2:#111;
	--wp--preset--color--paper-3:#161616;
	--wp--preset--color--shell:#111;
	--wp--preset--color--ink:#F4EEDD;
	--wp--preset--color--ink-2:#F4EEDD;
	--wp--preset--color--ink-3:#E8E0CB;
	--wp--preset--color--line:#F4EEDD;
	--wp--preset--color--moss-700:#FFD24D;
	--wp--preset--color--moss-800:#FFD24D;
	--wp--preset--color--moss-900:#FFD24D;
	--wp--preset--color--moss-300:#F4EEDD;
	--wp--preset--color--moss-100:#161616;
	--wp--preset--color--leaf-700:#A8CFEA;
	--bg-wash:none;
}

@media (forced-colors: active){
	:root, [data-reading]{
		--wp--preset--color--paper:Canvas;
		--wp--preset--color--paper-2:Canvas;
		--wp--preset--color--shell:Canvas;
		--wp--preset--color--ink:CanvasText;
		--wp--preset--color--ink-2:CanvasText;
		--wp--preset--color--ink-3:GrayText;
		--wp--preset--color--line:CanvasText;
		--wp--preset--color--moss-700:LinkText;
		--wp--preset--color--moss-900:CanvasText;
		--wp--preset--color--leaf-700:LinkText;
		--bg-wash:none;
	}
	.wp-block-button__link{ forced-color-adjust:none; border:1px solid ButtonText; }
}

@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{
		animation-duration:.01ms !important;
		transition-duration:.01ms !important;
		scroll-behavior:auto !important;
	}
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
	background-image:var(--bg-wash);
	background-repeat:no-repeat;
	background-attachment:fixed;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

:focus-visible{
	outline:3px solid var(--wp--preset--color--leaf-700);
	outline-offset:3px;
	border-radius:4px;
}
[data-reading="dusk"] :focus-visible{ outline-color:#A8CFEA; }
[data-reading="high-contrast"] :focus-visible{ outline-color:#FFD24D; }

.skip-link{
	position:absolute; left:-9999px; top:0;
	background:var(--wp--preset--color--moss-900);
	color:var(--wp--preset--color--shell);
	padding:12px 18px; border-radius:0 0 14px 0;
	font-weight:700; z-index:1000;
}
.skip-link:focus{ left:0; }

/* Screen-reader-only utility */
.sr-only{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Header */
.site-header-wrap{
	position:sticky; top:0; z-index:20;
	background:color-mix(in srgb, var(--wp--preset--color--shell) 92%, transparent);
	backdrop-filter:blur(8px);
	border-bottom:1px solid var(--wp--preset--color--line);
	padding:14px var(--ty-gutter);
}
.site-header-inner{
	max-width:var(--ty-shell); margin:0 auto;
	display:flex; align-items:center; justify-content:space-between;
	gap:24px;
}
.brand-link{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.brand-link .mk{
	width:48px; height:48px;
	display:inline-flex; align-items:center; justify-content:center;
	background:transparent; border:none; padding:0;
}
.brand-link .mk img{
	width:100%; height:100%; object-fit:contain;
	mix-blend-mode:multiply;
}
[data-reading="dusk"] .brand-link .mk img,
[data-reading="high-contrast"] .brand-link .mk img{
	mix-blend-mode:normal;
}
.brand-link .wd{
	font-family:var(--wp--preset--font-family--serif);
	font-size:1.35rem; font-weight:600;
	color:var(--wp--preset--color--moss-900);
	letter-spacing:-.01em; line-height:1;
	font-variation-settings:"SOFT" 50, "opsz" 24;
}
.brand-link .wd .y{ color:var(--wp--preset--color--leaf-700); font-style:italic; }
.brand-link .wd small{
	display:block;
	font-family:var(--wp--preset--font-family--sans);
	font-size:.6rem; letter-spacing:.3em; font-weight:700;
	color:var(--wp--preset--color--moss-700);
	margin-top:6px;
}

.primary-nav{ display:flex; align-items:center; gap:28px; }
.primary-nav a{
	color:var(--wp--preset--color--moss-900);
	text-decoration:none; font-weight:500; font-size:.95rem;
	padding:6px 2px; position:relative;
}
.primary-nav a:hover{ color:var(--wp--preset--color--moss-700); }
.primary-nav a[aria-current="page"]::after{
	content:""; position:absolute; left:0; right:0; bottom:-4px;
	height:2px; background:var(--wp--preset--color--moss-700); border-radius:2px;
}

.header-tools{ display:flex; align-items:center; gap:10px; }
.reading-toggle, .text-toggle{
	background:var(--wp--preset--color--paper-2);
	border:1px solid var(--wp--preset--color--line);
	border-radius:14px;
}
.reading-toggle{
	display:inline-flex; align-items:center; gap:8px;
	padding:8px 12px; min-height:40px;
	font-family:var(--wp--preset--font-family--sans);
	font-size:.8rem; font-weight:700;
	color:var(--wp--preset--color--moss-900); cursor:pointer;
}
.reading-toggle:hover{ background:var(--wp--preset--color--moss-100); }
.reading-toggle svg{ width:14px; height:14px; flex-shrink:0; }
.text-toggle{ display:inline-flex; overflow:hidden; height:40px; }
.text-toggle button{
	background:transparent; border:none;
	padding:0 12px; min-width:40px; min-height:40px;
	font-family:var(--wp--preset--font-family--serif); font-weight:600;
	color:var(--wp--preset--color--moss-900); cursor:pointer;
	border-right:1px solid var(--wp--preset--color--line);
	font-variation-settings:"SOFT" 30, "opsz" 24;
}
.text-toggle button:last-child{ border-right:none; }
.text-toggle button[aria-pressed="true"]{
	background:var(--wp--preset--color--moss-100);
}
.text-toggle .t1{ font-size:.85rem; }
.text-toggle .t2{ font-size:1.05rem; }
.text-toggle .t3{ font-size:1.25rem; }
.burger{
	display:none; width:44px; height:44px; border-radius:12px;
	background:var(--wp--preset--color--paper-2);
	border:1px solid var(--wp--preset--color--line);
	align-items:center; justify-content:center; cursor:pointer; padding:0;
}
.burger svg{ width:22px; height:22px; color:var(--wp--preset--color--moss-900); }

/* Mobile drawer */
.mobile-drawer{
	position:fixed; inset:0;
	background:var(--wp--preset--color--paper);
	z-index:30; padding:24px;
	display:none; flex-direction:column; gap:8px;
}
.mobile-drawer.open{ display:flex; }
.mobile-drawer .drawer-head{
	display:flex; justify-content:space-between; align-items:center;
	padding-bottom:16px; border-bottom:1px solid var(--wp--preset--color--line);
}
.mobile-drawer .close{
	width:44px; height:44px; border-radius:12px;
	background:var(--wp--preset--color--paper-2);
	border:1px solid var(--wp--preset--color--line);
	display:grid; place-items:center; cursor:pointer; padding:0;
}
.mobile-drawer a{
	display:block; padding:14px 4px;
	font-family:var(--wp--preset--font-family--serif);
	font-size:1.4rem; font-weight:500;
	color:var(--wp--preset--color--moss-900);
	text-decoration:none;
	border-bottom:1px solid var(--wp--preset--color--line);
	font-variation-settings:"SOFT" 80, "opsz" 32;
}

/* Safety strip */
.safety-strip{
	background:var(--wp--preset--color--leaf-100);
	border-bottom:1px solid var(--wp--preset--color--leaf-300);
	padding:12px 0;
	color:var(--wp--preset--color--leaf-900);
	font-size:.85rem;
}
[data-reading="dusk"] .safety-strip,
[data-reading="high-contrast"] .safety-strip{
	background:var(--wp--preset--color--paper-2);
	border-bottom-color:var(--wp--preset--color--line);
	color:var(--wp--preset--color--ink);
}
.safety-strip-inner{
	max-width:var(--ty-shell); margin:0 auto;
	padding:0 var(--ty-gutter);
	display:flex; align-items:flex-start; gap:12px;
}
.safety-strip .icon{
	flex:0 0 22px; width:22px; height:22px; border-radius:50%;
	background:var(--wp--preset--color--leaf-700); color:#FFF;
	display:grid; place-items:center;
	font-family:var(--wp--preset--font-family--serif);
	font-weight:700; font-size:.85rem; margin-top:1px;
}

/* Eyebrow with hand-drawn leaf glyph */
.eyebrow{
	font-family:var(--wp--preset--font-family--serif);
	font-size:1rem; font-style:italic; font-weight:500;
	color:var(--wp--preset--color--moss-700);
	display:inline-flex; align-items:center; gap:12px;
	font-variation-settings:"SOFT" 100, "opsz" 24;
}
.eyebrow::before{
	content:""; display:inline-block; width:26px; height:20px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 20' fill='none' stroke='%232E7D44' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 17 C 6 8, 13 4, 24 4' opacity='.9'/><path d='M24 4 C 19 5, 14 8, 12 12' opacity='.7'/><path d='M24 4 C 23 9, 21 13, 17 15' opacity='.7'/></svg>");
	background-repeat:no-repeat; background-position:left center; background-size:contain;
	flex-shrink:0;
}
[data-reading="dusk"] .eyebrow{ color:#8FC79E; }
[data-reading="dusk"] .eyebrow::before{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 20' fill='none' stroke='%238FC79E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 17 C 6 8, 13 4, 24 4'/><path d='M24 4 C 19 5, 14 8, 12 12'/><path d='M24 4 C 23 9, 21 13, 17 15'/></svg>");
}

/* Hand-drawn h2 underline */
.h2-underline{ position:relative; display:inline-block; }
.h2-underline::after{
	content:""; display:block; width:100%; height:14px; margin-top:6px;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 14' fill='none' stroke='%234FA563' stroke-width='2.2' stroke-linecap='round'><path d='M2 10 C 40 4, 80 12, 120 7 S 200 5, 238 9' opacity='.7'/></svg>");
	background-repeat:no-repeat; background-position:left top; background-size:contain;
}

/* Buttons */
.wp-block-button .wp-block-button__link,
.btn{
	border-radius:14px !important;
	font-family:var(--wp--preset--font-family--sans);
	font-weight:700; font-size:.95rem;
	padding:14px 22px;
	display:inline-flex; align-items:center; gap:10px;
	min-height:48px; line-height:1.2;
	text-decoration:none;
	border:1.5px solid transparent;
	transition:transform .08s, background .15s, color .15s, border-color .15s;
	cursor:pointer;
}
.wp-block-button__link:active{ transform:translateY(1px); }
.is-style-secondary .wp-block-button__link{
	background:var(--wp--preset--color--shell);
	color:var(--wp--preset--color--moss-900);
	border-color:var(--wp--preset--color--moss-900);
}
.is-style-secondary .wp-block-button__link:hover{
	background:var(--wp--preset--color--moss-100);
}
.is-style-donate .wp-block-button__link{
	background:var(--wp--preset--color--shell);
	color:var(--wp--preset--color--moss-900);
	border-color:var(--wp--preset--color--moss-900);
	padding-left:14px;
}

/* Pathway cards (Three Doors) */
.pathway-card{
	display:flex; flex-direction:column; gap:14px;
	background:var(--wp--preset--color--shell);
	border:1px solid var(--wp--preset--color--line);
	border-radius:18px; padding:28px;
	text-decoration:none; color:inherit;
	box-shadow:0 1px 0 rgba(15,61,34,.04), 0 2px 6px rgba(15,61,34,.05);
	min-height:260px;
	transition:transform .15s, box-shadow .15s, border-color .15s;
}
.pathway-card:hover{
	transform:translateY(-2px);
	box-shadow:0 2px 0 rgba(15,61,34,.05), 0 10px 28px -10px rgba(15,61,34,.18);
	border-color:var(--wp--preset--color--moss-300);
}
.pathway-card .glyph{
	width:56px; height:56px;
	display:flex; align-items:center; justify-content:center;
	color:var(--wp--preset--color--moss-900);
}
.pathway-card .tag{
	font-family:var(--wp--preset--font-family--serif);
	font-size:.9rem; font-style:italic; font-weight:500;
	color:var(--wp--preset--color--moss-700);
}
.pathway-card h3{
	font-family:var(--wp--preset--font-family--serif);
	font-size:1.55rem; line-height:1.15; font-weight:600;
	color:var(--wp--preset--color--moss-900); margin:0;
	font-variation-settings:"SOFT" 100, "opsz" 48;
}
.pathway-card p{ margin:0; color:var(--wp--preset--color--ink-2); font-size:.95rem; line-height:1.5; }
.pathway-card .more{
	margin-top:auto;
	font-family:var(--wp--preset--font-family--sans);
	font-weight:700; font-size:.85rem;
	color:var(--wp--preset--color--moss-800);
	display:inline-flex; align-items:center; gap:8px;
}

/* Lived-experience quote */
.lived-quote{
	background:var(--wp--preset--color--moss-900);
	color:var(--wp--preset--color--shell);
	border-radius:24px;
	padding:64px 56px 56px;
	margin:88px 0;
	position:relative; overflow:hidden;
}
[data-reading="dusk"] .lived-quote{
	background:#0F3D22; color:#F4EEDD;
}
[data-reading="high-contrast"] .lived-quote{
	background:var(--wp--preset--color--paper-2);
	border:2px solid var(--wp--preset--color--ink);
	color:var(--wp--preset--color--ink);
}
.lived-quote::before{
	content:""; position:absolute; right:-60px; bottom:-60px;
	width:280px; height:280px;
	background:radial-gradient(closest-side, rgba(143,199,158,.3), transparent 70%);
}
.lived-quote q{
	quotes:"\201C" "\201D";
	font-family:var(--wp--preset--font-family--serif);
	font-style:italic; font-weight:400;
	font-size:clamp(1.5rem, 3.2vw, 2.4rem); line-height:1.2;
	letter-spacing:-.005em;
	display:block; max-width:880px; position:relative;
}
.lived-quote q::before{ content:open-quote; opacity:.55; }
.lived-quote q::after{ content:close-quote; opacity:.55; }
.lived-quote .who{
	margin-top:24px;
	font-family:var(--wp--preset--font-family--serif);
	font-style:italic; font-weight:500; font-size:.95rem;
	color:var(--wp--preset--color--moss-300);
	position:relative;
}

/* Resource card */
.resource-card{
	background:var(--wp--preset--color--paper);
	border:1px solid var(--wp--preset--color--line);
	border-radius:14px; padding:24px;
	display:flex; flex-direction:column; gap:10px;
}
.resource-card .chip{
	align-self:flex-start;
	display:inline-flex; align-items:center; gap:8px;
	border-radius:999px; padding:5px 12px 5px 10px;
	background:var(--wp--preset--color--paper-2);
	color:var(--wp--preset--color--moss-900);
	font-family:var(--wp--preset--font-family--sans);
	font-weight:600; font-size:.75rem;
	border:1px solid var(--wp--preset--color--line);
}
.resource-card .chip .dot{
	width:7px; height:7px; border-radius:50%;
	background:var(--wp--preset--color--moss-700);
}
.resource-card h3{
	font-family:var(--wp--preset--font-family--serif);
	font-size:1.2rem; line-height:1.25; font-weight:600;
	color:var(--wp--preset--color--moss-900); margin:0;
}
.resource-card p{
	margin:0; color:var(--wp--preset--color--ink-2);
	font-size:.9rem; line-height:1.5;
}
.resource-card .meta{
	font-family:var(--wp--preset--font-family--sans);
	font-size:.7rem; letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--wp--preset--color--ink-3);
	margin-top:auto; font-weight:600;
}

/* Donate ribbon */
.donate-ribbon{
	height:14px; border-radius:999px;
	background:linear-gradient(90deg,
		var(--wp--preset--color--inf-red) 0 16.6%,
		var(--wp--preset--color--inf-orange) 16.6% 33.3%,
		var(--wp--preset--color--inf-yellow) 33.3% 50%,
		var(--wp--preset--color--inf-green) 50% 66.6%,
		var(--wp--preset--color--inf-blue) 66.6% 83.3%,
		var(--wp--preset--color--inf-purple) 83.3% 100%);
	box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
	max-width:320px;
}

/* Hero logo halo on dark modes */
.hero-art{ position:relative; max-width:460px; margin:0 auto; padding:14px; }
.hero-art img{ width:100%; height:auto; display:block; position:relative; z-index:1; }
[data-reading="dusk"] .hero-art::before,
[data-reading="high-contrast"] .hero-art::before{
	content:""; position:absolute; inset:4%; border-radius:50%;
	background:radial-gradient(closest-side, rgba(244,238,221,.28), rgba(244,238,221,.12) 55%, transparent 78%);
	z-index:0;
}

/* Footer */
.site-footer-wrap{
	background:var(--wp--preset--color--moss-900);
	color:var(--wp--preset--color--moss-100);
	padding:72px var(--ty-gutter) 28px;
}
[data-reading="dusk"] .site-footer-wrap{ background:#08130D; color:#C3CFC1; }
[data-reading="high-contrast"] .site-footer-wrap{
	background:#000;
	color:#fff;
	border-top:2px solid #fff;
}
[data-reading="high-contrast"] .site-footer-wrap a,
[data-reading="high-contrast"] .site-footer-wrap .wordmark,
[data-reading="high-contrast"] .site-footer-wrap .wordmark em,
[data-reading="high-contrast"] .site-footer-wrap h4,
[data-reading="high-contrast"] .site-footer-wrap .legal,
[data-reading="high-contrast"] .site-footer-wrap p{
	color:#fff !important;
}
[data-reading="high-contrast"] .site-footer-wrap .wordmark em{
	color:#FFD24D !important;
}
[data-reading="high-contrast"] .site-footer-wrap a:hover,
[data-reading="high-contrast"] .site-footer-wrap a:focus-visible{
	color:#FFD24D !important;
	text-decoration:underline;
	text-underline-offset:3px;
}
[data-reading="high-contrast"] .site-footer-wrap .legal{
	border-top-color:#fff;
}
.site-footer-inner{
	max-width:var(--ty-shell); margin:0 auto;
	display:grid; grid-template-columns:1.4fr .8fr .8fr .8fr; gap:36px;
}
.site-footer-wrap h4{
	font-family:var(--wp--preset--font-family--sans);
	font-size:.75rem; letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--wp--preset--color--moss-300);
	margin:0 0 14px; font-weight:700;
}
.site-footer-wrap a{
	color:var(--wp--preset--color--shell);
	text-decoration:none; font-size:.95rem;
	display:block; padding:4px 0;
}
.site-footer-wrap a:hover{ color:var(--wp--preset--color--moss-300); }
.site-footer-wrap .wordmark{
	font-family:var(--wp--preset--font-family--serif);
	font-size:2.2rem; font-weight:500;
	color:var(--wp--preset--color--shell);
	letter-spacing:-.01em;
	font-variation-settings:"SOFT" 100, "opsz" 72;
}
.site-footer-wrap .wordmark em{
	color:var(--wp--preset--color--moss-300); font-style:italic;
}
.site-footer-wrap .legal{
	grid-column:1/-1;
	border-top:1px solid rgba(255,255,255,.1);
	margin-top:40px; padding-top:20px;
	font-family:var(--wp--preset--font-family--sans);
	font-size:.7rem; letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--wp--preset--color--moss-300);
	font-weight:600;
	display:flex; justify-content:space-between;
	flex-wrap:wrap; gap:12px;
}

/* ─── Page content utility classes (used by wp:html blocks) ─── */
.ty-page{ padding:88px 0 96px; }
.ty-page > * + * { margin-top:1.2em; }
.ty-page h2{ margin-top:1.6em; }
.ty-page h3{ margin-top:1.2em; }
.ty-rule{
	border:none; border-top:1px solid var(--wp--preset--color--line);
	margin:48px 0;
}

.ty-h1{
	font-family:var(--wp--preset--font-family--serif);
	font-size:clamp(2.4rem, 5.5vw, 4.4rem);
	line-height:1.04; font-weight:500; letter-spacing:-.02em;
	color:var(--wp--preset--color--moss-900);
	font-variation-settings:"SOFT" 100, "opsz" 144;
	max-width:18ch; margin:.4em 0 .4em;
}
.ty-blue{
	color:var(--wp--preset--color--leaf-700);
	font-style:italic; font-weight:500;
}
.ty-lede{
	font-family:var(--wp--preset--font-family--serif);
	font-size:clamp(1.05rem, 1.6vw, 1.3rem);
	line-height:1.5; color:var(--wp--preset--color--ink-2);
	max-width:60ch;
	font-variation-settings:"SOFT" 80, "opsz" 24;
}
.ty-body, .ty-page p{
	max-width:65ch; line-height:1.55;
	color:var(--wp--preset--color--ink);
}
.ty-small{
	font-size:.85rem; color:var(--wp--preset--color--ink-3);
}

.ty-list{ padding-left:1.4em; line-height:1.6; }
.ty-list li{ margin:.4em 0; }

.ty-actions{
	display:flex; flex-wrap:wrap; gap:12px;
	margin-top:1.4em;
}
.ty-actions a{ display:inline-flex; }

.section-head p{ max-width:60ch; font-family:var(--wp--preset--font-family--serif); font-size:1.15rem; line-height:1.5; color:var(--wp--preset--color--ink-2); }

/* Global content container. Every section's inner .wrap centres at 1200px
   and gets consistent horizontal padding so content never butts the edge,
   especially noticeable on Dusk/High contrast where sections have visible
   backgrounds. */
.wrap{
	max-width:var(--ty-shell);
	margin:0 auto;
	padding:0 var(--ty-gutter);
}

/* WordPress wraps page content in a constrained post-content area capped at the
   720px content size, which squeezes every section into a narrow centre column
   on larger screens. The theme controls width itself via .wrap (and full-bleed
   section backgrounds need the full viewport), so let the post-content span
   edge to edge and drop the main's side padding. .wrap handles the gutters. */
.wp-block-post-content{ max-width:none; }
main.has-global-padding{ padding-left:0; padding-right:0; }

/* Interior content pages (About, About John, How we help, Contact, etc.) are
   single articles rather than full-width compositions like the home page. Give
   them a centred reading column so headings, body copy and side panels sit
   balanced in the middle instead of hugging the left edge of the wide shell. */
.wrap.ty-page{ max-width:900px; }

.hero{ padding:88px 0 64px; }
.hero .wrap{ display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:center; }
.ty-section{ padding:64px 0; }

/* Hero buttons inherit the .btn styles already defined */
.btn{
	font-family:var(--wp--preset--font-family--sans); font-weight:700; font-size:.95rem;
	padding:14px 22px; border-radius:14px;
	display:inline-flex; align-items:center; gap:10px;
	min-height:48px; line-height:1.2;
	text-decoration:none; cursor:pointer;
	border:1.5px solid transparent;
	transition:background .15s, color .15s, border-color .15s, transform .08s;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--wp--preset--color--moss-800); color:var(--wp--preset--color--shell); }
.btn-primary:hover{ background:var(--wp--preset--color--moss-900); color:var(--wp--preset--color--shell); }
.btn-secondary{ background:var(--wp--preset--color--shell); color:var(--wp--preset--color--moss-900); border-color:var(--wp--preset--color--moss-900); }
.btn-secondary:hover{ background:var(--wp--preset--color--moss-100); color:var(--wp--preset--color--moss-900); }
.btn-donate{ background:var(--wp--preset--color--shell); color:var(--wp--preset--color--moss-900); border-color:var(--wp--preset--color--moss-900); }
.btn-donate:hover{ background:var(--wp--preset--color--moss-100); color:var(--wp--preset--color--moss-900); }

[data-reading="dusk"] .btn-primary{ background:#2E7D44; color:#F4EEDD; }
[data-reading="dusk"] .btn-primary:hover{ background:#4FA563; color:#F4EEDD; }
[data-reading="dusk"] .btn-secondary,
[data-reading="dusk"] .btn-donate{ background:transparent; color:#F4EEDD; border-color:#F4EEDD; }
[data-reading="dusk"] .btn-secondary:hover,
[data-reading="dusk"] .btn-donate:hover{ background:#1F3026; color:#F4EEDD; }

/* Section variants */
.why{ background:var(--wp--preset--color--paper-2); padding:64px 0; }
.why .body{ max-width:720px; }
.library{ background:var(--wp--preset--color--shell); padding:64px 0; }
.library .cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.donate{
	background:var(--wp--preset--color--paper-3); padding:64px 0;
	border-top:1px solid var(--wp--preset--color--line);
	border-bottom:1px solid var(--wp--preset--color--line);
}
.donate .wrap{ display:grid; grid-template-columns:1.6fr 1fr; gap:48px; align-items:start; }
.ty-quote-section{ padding:0; }

/* Meet John (home founder block) */
.meet-john{ background:var(--wp--preset--color--paper-2); padding:64px 0; }
.meet-john .wrap{ display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:center; }
.meet-john-portrait{ margin:0; max-width:380px; }
.meet-john-portrait img{ width:100%; height:auto; display:block; border-radius:18px; }
.meet-john-body > * + *{ margin-top:1em; }

/* About John page intro (image beside copy) */
.about-john .john-intro{ display:flex; flex-wrap:wrap; gap:clamp(28px, 4vw, 56px); align-items:center; }
.about-john .john-hero{ flex:0 0 clamp(240px, 26%, 360px); max-width:360px; margin:0; }
.about-john .john-hero img{ width:100%; height:auto; display:block; border-radius:20px; }
.about-john .john-intro-body{ flex:1 1 360px; min-width:0; }
.about-john .john-intro-body > * + *{ margin-top:1em; }

/* Three doors layout */
.doors{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.pathway-blue .glyph{ color:var(--wp--preset--color--leaf-700); }
.pathway-blue .tag{ color:var(--wp--preset--color--leaf-700); }
.pathway-blue .more{ color:var(--wp--preset--color--leaf-700); }

/* Chip blue variant */
.chip-blue{
	background:var(--wp--preset--color--leaf-100) !important;
	border-color:var(--wp--preset--color--leaf-300) !important;
}
.chip-blue .dot{ background:var(--wp--preset--color--leaf-700) !important; }

/* Other ways panel */
.other-ways{
	background:var(--wp--preset--color--shell);
	border:1px solid var(--wp--preset--color--line);
	border-radius:18px; padding:28px;
}
.other-ways ul{
	list-style:none; padding:0; margin:14px 0 0;
	font-size:.95rem; line-height:1.8;
}
.other-ways a{ color:var(--wp--preset--color--moss-800); text-decoration:underline; text-underline-offset:3px; }

/* Contact page */
.ty-contact-grid{
	display:grid; grid-template-columns:1.6fr 1fr; gap:48px;
	align-items:start;
	margin-top:32px;
}
.ty-contact-side{
	background:var(--wp--preset--color--shell);
	border:1px solid var(--wp--preset--color--line);
	border-radius:18px; padding:28px;
}

/* Inline quote (smaller variant inside a page body) */
.ty-inline-quote{
	margin:48px 0; padding:40px 36px;
	border-radius:18px;
	max-width:780px;
}
.ty-inline-quote q{
	font-size:clamp(1.3rem, 2.4vw, 1.8rem);
}

/* Coming-soon-specific layout */
.ty-coming-soon{ padding:32px 0 64px; }
.ty-cs-header{ padding-bottom:32px; }
.ty-cs-hero{
	display:grid; grid-template-columns:1.4fr 1fr; gap:56px; align-items:center;
	padding:24px 0 48px;
}
.ty-signup{
	margin-top:18px; padding:22px;
	background:var(--wp--preset--color--shell);
	border:1px solid var(--wp--preset--color--line);
	border-radius:18px; max-width:520px;
}
.ty-cs-foot{
	border-top:1px solid var(--wp--preset--color--line);
	padding-top:24px; font-size:.85rem;
	color:var(--wp--preset--color--ink-3);
}

/* Forminator submit button — brand styling */
.forminator-ui .forminator-button-submit,
.forminator-ui button.forminator-button,
.forminator-button.forminator-button-submit{
	background:var(--wp--preset--color--moss-800) !important;
	color:var(--wp--preset--color--shell) !important;
	border:1.5px solid var(--wp--preset--color--moss-800) !important;
	border-radius:14px !important;
	font-family:var(--wp--preset--font-family--sans) !important;
	font-weight:700 !important;
	font-size:.95rem !important;
	padding:14px 22px !important;
	min-height:48px !important;
	line-height:1.2 !important;
	box-shadow:none !important;
	text-transform:none !important;
}
.forminator-ui .forminator-button-submit:hover,
.forminator-ui button.forminator-button:hover{
	background:var(--wp--preset--color--moss-900) !important;
	border-color:var(--wp--preset--color--moss-900) !important;
}
[data-reading="dusk"] .forminator-ui .forminator-button-submit,
[data-reading="dusk"] .forminator-ui button.forminator-button{
	background:#2E7D44 !important;
	border-color:#2E7D44 !important;
	color:#F4EEDD !important;
}

/* Forminator input field styling */
.forminator-ui input[type="text"],
.forminator-ui input[type="email"],
.forminator-ui input[type="tel"],
.forminator-ui textarea,
.forminator-ui select{
	border-radius:14px !important;
	border:1.5px solid var(--wp--preset--color--line) !important;
	background:var(--wp--preset--color--paper) !important;
	color:var(--wp--preset--color--ink) !important;
	font-family:var(--wp--preset--font-family--sans) !important;
}
.forminator-ui input:focus,
.forminator-ui textarea:focus,
.forminator-ui select:focus{
	border-color:var(--wp--preset--color--leaf-700) !important;
	box-shadow:0 0 0 4px rgba(43,108,176,.18) !important;
}

/* Visually-hidden utility (for aria-live announcer and skip-link offscreen state) */
.screen-reader-text{
	position:absolute !important;
	width:1px; height:1px;
	padding:0; margin:-1px; overflow:hidden;
	clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Cookie consent banner */
.ty-cookie-banner{
	position:fixed;
	left:16px; right:16px; bottom:16px;
	z-index:9999;
	background:var(--wp--preset--color--paper);
	color:var(--wp--preset--color--ink);
	border:1.5px solid var(--wp--preset--color--line);
	border-radius:18px;
	box-shadow:0 18px 48px rgba(20,42,32,.18);
	padding:20px 24px;
	max-width:980px;
	margin:0 auto;
	opacity:0;
	transform:translateY(20px);
	pointer-events:none;
	transition:opacity .35s ease, transform .35s ease;
}
.ty-cookie-banner.is-visible{
	opacity:1;
	transform:translateY(0);
	pointer-events:auto;
}
.ty-cookie-banner[aria-hidden="true"]{
	visibility:hidden;
}
.ty-cookie-banner.is-visible[aria-hidden="false"]{
	visibility:visible;
}
[data-reading="dusk"] .ty-cookie-banner{
	background:#10261A;
	color:#E8DFC8;
	border-color:#1F3D2A;
	box-shadow:0 18px 48px rgba(0,0,0,.5);
}
[data-reading="high-contrast"] .ty-cookie-banner{
	background:#000;
	color:#fff;
	border:2px solid #fff;
	box-shadow:none;
}
.ty-cookie-inner{
	display:grid;
	grid-template-columns:1fr auto;
	gap:24px;
	align-items:center;
}
.ty-cookie-text strong{
	display:block;
	font-family:var(--wp--preset--font-family--serif);
	font-size:1.15rem;
	font-weight:600;
	margin-bottom:6px;
	color:var(--wp--preset--color--moss-900);
}
[data-reading="dusk"] .ty-cookie-text strong{ color:#E8DFC8; }
[data-reading="high-contrast"] .ty-cookie-text strong{ color:#fff; }
.ty-cookie-text p{
	margin:0;
	font-family:var(--wp--preset--font-family--sans);
	font-size:.95rem;
	line-height:1.55;
}
.ty-cookie-text a{
	color:var(--wp--preset--color--leaf-700);
	text-decoration:underline;
	text-underline-offset:3px;
}
.ty-cookie-text a:hover{ text-decoration-thickness:2px; }
[data-reading="dusk"] .ty-cookie-text a{ color:#9BD0A6; }
[data-reading="high-contrast"] .ty-cookie-text a{ color:#FFE45E; }
.ty-cookie-actions{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	justify-content:flex-end;
}
.ty-cookie-btn{
	font-family:var(--wp--preset--font-family--sans);
	font-weight:700;
	font-size:.95rem;
	padding:12px 20px;
	min-height:48px;
	border-radius:14px;
	border:1.5px solid var(--wp--preset--color--moss-800);
	cursor:pointer;
	line-height:1.2;
	transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.ty-cookie-btn:focus-visible{
	outline:3px solid var(--wp--preset--color--leaf-700);
	outline-offset:2px;
}
.ty-cookie-accept{
	background:var(--wp--preset--color--moss-800);
	color:var(--wp--preset--color--shell);
}
.ty-cookie-accept:hover{
	background:var(--wp--preset--color--moss-900);
	border-color:var(--wp--preset--color--moss-900);
}
.ty-cookie-reject{
	background:transparent;
	color:var(--wp--preset--color--moss-900);
}
.ty-cookie-reject:hover{
	background:var(--wp--preset--color--moss-100);
}
[data-reading="dusk"] .ty-cookie-accept{
	background:#2E7D44;
	border-color:#2E7D44;
	color:#F4EEDD;
}
[data-reading="dusk"] .ty-cookie-accept:hover{
	background:#3A9656;
	border-color:#3A9656;
}
[data-reading="dusk"] .ty-cookie-reject{
	color:#E8DFC8;
	border-color:#3D5A48;
}
[data-reading="dusk"] .ty-cookie-reject:hover{
	background:#1A3324;
}
[data-reading="high-contrast"] .ty-cookie-accept{
	background:#FFE45E;
	color:#000;
	border-color:#FFE45E;
}
[data-reading="high-contrast"] .ty-cookie-reject{
	background:#000;
	color:#fff;
	border-color:#fff;
}
[data-reading="high-contrast"] .ty-cookie-btn:focus-visible{
	outline-color:#FFE45E;
}
@media (prefers-reduced-motion: reduce){
	.ty-cookie-banner{ transition:none; }
}

/* Responsive */
/* Tablet landscape: card grids step down to two-up before stacking fully */
@media (max-width: 1024px){
	.doors, .library .cards{ grid-template-columns:repeat(2, 1fr); }
}
/* Tablet portrait / nav switch: stack the two-column page layouts */
@media (max-width: 960px){
	.primary-nav{ display:none; }
	.burger{ display:inline-flex; }
	.site-footer-inner{ grid-template-columns:1fr 1fr; }
	.hero .wrap, .donate .wrap, .ty-contact-grid, .ty-cs-hero, .meet-john .wrap{ grid-template-columns:1fr; gap:32px; }
	.meet-john-portrait{ max-width:300px; }
}
/* Small tablet / large phone: card grids go single column */
@media (max-width: 640px){
	.doors, .library .cards{ grid-template-columns:1fr; gap:20px; }
}
@media (max-width: 700px){
	.ty-cookie-inner{ grid-template-columns:1fr; gap:16px; }
	.ty-cookie-actions{ justify-content:stretch; }
	.ty-cookie-btn{ flex:1 1 auto; }
}
@media (max-width: 600px){
	.site-footer-inner{ grid-template-columns:1fr; }
	.lived-quote{ padding:40px 28px 36px; margin:56px 0; border-radius:18px; }
	.text-toggle{ height:36px; }
	.text-toggle button{ min-width:36px; min-height:36px; padding:0 10px; }
	.reading-toggle{ min-height:36px; padding:7px 10px; }
	.ty-cookie-banner{ left:8px; right:8px; bottom:8px; padding:18px 18px; }
}
