/* ============================================================
   SIF — main stylesheet
   ============================================================
   Page-specific styles only. All tokens live in sif-tokens.css
   (imported via WordPress enqueue before this file loads).

   Sections in order:
     1. Nav
     2. Hero
     3. Impact strip
     4. What we do (pillars)
     5. Closing CTA
     6. Footer
     7. Nav-button override
     8. Trust strip (80G / 12A / Darpan / CSR)
     9. Responsive tweaks
   ============================================================ */


/* --- 1. Nav ---------------------------------------------------- */
.site-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--sif-cream);
	border-bottom: 1px solid var(--sif-cream-shadow);
	padding: var(--space-4) 0;
}
.site-nav__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-5);
}
.site-nav__brand {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	text-decoration: none;
}
.site-nav__brand img,
.site-nav__brand svg {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
}
.site-nav__brand-text {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-lg);
	line-height: 1.05;
	color: var(--sif-forest-deep);
}
.site-nav__brand-text em {
	font-style: italic;
	color: var(--sif-rose);
}
.site-nav__links {
	display: flex;
	gap: var(--space-5);
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: center;
}
.site-nav__links a {
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--sif-forest-deep);
	text-decoration: none;
	letter-spacing: var(--ls-wide);
	transition: color var(--dur-fast) var(--ease-out);
}
.site-nav__links a:hover {
	color: var(--sif-rose);
}


/* --- 7. Nav donate button override ----------------------------- */
/* The donate button in the nav is smaller than the page buttons */
.btn--nav {
	padding: var(--space-2) var(--space-5) !important;
	font-size: var(--fs-sm) !important;
}


/* --- 2. Hero --------------------------------------------------- */
.hero {
	padding: var(--space-9) 0 var(--space-8);
	background: var(--sif-cream);
	position: relative;
	overflow: hidden;
}
.hero__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: var(--space-8);
	align-items: center;
}
.hero__eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose);
	margin-bottom: var(--space-4);
}
.hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(3rem, 7vw, 5rem);
	line-height: 0.98;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-5);
	max-width: 12ch;
}
.hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 0 var(--space-6);
	max-width: 52ch;
}
.hero__ctas {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}
.hero__visual {
	aspect-ratio: 4/5;
	background: var(--sif-forest);
	background-image: radial-gradient(circle at 30% 30%, var(--sif-forest-700), var(--sif-forest-deep));
	border-radius: var(--radius-xl);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.hero__visual img,
.hero__visual svg {
	width: 60%;
	height: auto;
	opacity: 0.95;
}


/* --- 8. Trust strip (80G / 12A / Darpan / CSR) ---------------- */
/* Sits directly under the hero — the "credibility" half of the hybrid */
.trust {
	padding: var(--space-5) 0;
	background: var(--sif-cream-warm);
	border-top: 1px solid var(--sif-cream-shadow);
	border-bottom: 1px solid var(--sif-cream-shadow);
}
.trust__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5) var(--space-7);
	align-items: center;
	justify-content: center;
}
.trust__item {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}
.trust__mark {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-lg);
	color: var(--sif-forest);
	line-height: 1;
}
.trust__label {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-ink-muted);
	line-height: 1.3;
}


/* --- 3a. Regional message strip (under hero) ------------------ */
/* Forest-green band with 4 short messages, each in a different
   Indian script. The script is the hero — English subtitle is supportive,
   not equal weight. */
.regional {
	padding: var(--space-8) 0;
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
}
.regional__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-7) var(--space-6);
}
.regional__item {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.regional__lang {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose-warm);
	margin: 0;
}
.regional__line {
	font-size: var(--fs-lg);
	font-weight: 600;
	line-height: 1.45;
	color: var(--sif-cream);
	margin: 0;
}
/* Per-script font assignments. Each line gets the correct Noto font
   in a stack ahead of Poppins, so the script renders even on devices
   that don't have it system-installed. */
.regional__line--devanagari {
	font-family: 'Noto Sans Devanagari', 'Poppins', sans-serif;
}
.regional__line--kannada {
	font-family: 'Noto Sans Kannada', 'Poppins', sans-serif;
}
.regional__line--tamil {
	font-family: 'Noto Sans Tamil', 'Poppins', sans-serif;
}
.regional__english {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-base);
	line-height: var(--lh-snug);
	color: rgba(250, 246, 240, 0.65);
	margin: 0;
	max-width: 32ch;
}


/* --- 3b. Awareness strip (before footer) --------------------- */
/* Cream-warm band with 4 English statements that reframe how the
   reader thinks about street animals. Larger, more space, more weight
   per line. */
.awareness {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
	border-top: 1px solid var(--sif-cream-shadow);
}
.awareness__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.awareness__head {
	max-width: 48ch;
	margin-bottom: var(--space-7);
}
.awareness__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-6) var(--space-7);
}
.awareness__item {
	display: flex;
	gap: var(--space-4);
	align-items: flex-start;
}
.awareness__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-2xl);
	color: var(--sif-rose);
	line-height: 1;
	flex-shrink: 0;
	min-width: 2.5ch;
}
.awareness__line {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	line-height: var(--lh-snug);
	color: var(--sif-forest-deep);
	margin: 0;
}
@media (max-width: 760px) {
	.awareness__grid { grid-template-columns: 1fr; }
	.awareness__line { font-size: var(--fs-lg); }
}


/* --- 4. What we do -------------------------------------------- */
.what {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.what__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.what__head {
	max-width: 48ch;
	margin-bottom: var(--space-7);
}
.what__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--space-5);
}
.pillar {
	padding: var(--space-6) var(--space-5);
	background: var(--sif-cream);
	border-radius: var(--radius-lg);
	border: 1px solid var(--sif-cream-shadow);
	transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.pillar:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.pillar__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
}
.pillar h3 {
	font-size: var(--fs-xl);
	margin: 0 0 var(--space-3);
}
.pillar p {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	margin: 0;
}


/* --- 5. Closing CTA ------------------------------------------- */
.close-cta {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
	text-align: center;
}
.close-cta__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.close-cta h2 {
	margin: 0 0 var(--space-4);
}
.close-cta p {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	margin: 0 0 var(--space-6);
}


/* --- 6. Footer ------------------------------------------------ */
.site-foot {
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
	padding: var(--space-8) 0 var(--space-5);
}
.site-foot__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: var(--space-6);
	margin-bottom: var(--space-6);
}
.site-foot h4 {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose-warm);
	margin: 0 0 var(--space-3);
}
.site-foot ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-foot li { margin-bottom: var(--space-2); }
.site-foot a {
	color: rgba(250, 246, 240, 0.8);
	text-decoration: none;
	font-size: var(--fs-sm);
	transition: color var(--dur-fast) var(--ease-out);
}
.site-foot a:hover { color: var(--sif-cream); }
.site-foot__baseline {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding: var(--space-4) var(--space-5) 0;
	border-top: 1px solid rgba(250, 246, 240, 0.12);
	display: flex;
	justify-content: space-between;
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-wide);
	color: rgba(250, 246, 240, 0.5);
	flex-wrap: wrap;
	gap: var(--space-3);
}
.site-foot__contact {
	font-size: var(--fs-sm);
	color: rgba(250, 246, 240, 0.7);
	margin: var(--space-4) 0 0;
	line-height: var(--lh-normal);
}
.site-foot__contact a {
	font-size: inherit;
	color: rgba(250, 246, 240, 0.85);
}


/* --- 9. Responsive tweaks ------------------------------------- */
@media (max-width: 900px) {
	.hero__inner { grid-template-columns: 1fr; }
	.hero__visual { max-height: 420px; order: -1; }
}

/* --- Hamburger button + mobile panel -------------------------- */
/* Hidden on desktop, shown on mobile. */
.site-nav__toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: var(--space-2);
	background: transparent;
	border: 0;
	cursor: pointer;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
}
.site-nav__toggle-bar {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--sif-forest-deep);
	border-radius: 1px;
	transition: transform var(--dur-base) var(--ease-out),
	            opacity var(--dur-fast) var(--ease-out);
	transform-origin: center;
}
/* Animate to X when open */
.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-bar:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}
.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-bar:nth-child(2) {
	opacity: 0;
}
.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-bar:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

/* Mobile panel — sits below the sticky nav so brand + close-X stay visible */
.site-nav__mobile {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--sif-cream);
	z-index: 90;
	padding-top: 76px; /* clears the sticky nav (nav height ~ 60px + spacing) */
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	transition: opacity var(--dur-base) var(--ease-out),
	            visibility 0s linear var(--dur-base);
}
.site-nav__mobile[aria-hidden="false"] {
	visibility: visible;
	opacity: 1;
	transition: opacity var(--dur-base) var(--ease-out);
}
.site-nav__mobile-inner {
	max-width: var(--container-md);
	margin-inline: auto;
	padding: var(--space-7) var(--space-5);
}
.site-nav__mobile-links,
.site-nav__mobile-fallback ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-nav__mobile-links li,
.site-nav__mobile-fallback li {
	border-bottom: 1px solid var(--sif-cream-shadow);
}
.site-nav__mobile-links a,
.site-nav__mobile-fallback a {
	display: block;
	padding: var(--space-5) var(--space-3);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-2xl);
	color: var(--sif-forest-deep);
	text-decoration: none;
	letter-spacing: var(--ls-tight);
}
.site-nav__mobile-links a:hover,
.site-nav__mobile-fallback a:hover {
	color: var(--sif-rose);
}
/* Donate button stands out in the panel too */
.site-nav__mobile-links li a.btn--donate,
.site-nav__mobile-fallback li a.btn--donate {
	display: inline-flex;
	margin-top: var(--space-5);
	padding: var(--space-4) var(--space-6);
	font-size: var(--fs-base);
	color: var(--sif-cream);
	letter-spacing: var(--ls-wide);
}
.site-nav__mobile-tagline {
	margin: var(--space-7) 0 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--fs-base);
	color: var(--sif-rose);
}

/* Lock body scroll when panel is open */
body.sif-nav-open {
	overflow: hidden;
}

@media (max-width: 760px) {
	.site-nav__toggle { display: flex; }
	.site-nav__links--desktop,
	.site-nav__desktop-fallback { display: none !important; }
	.site-nav__brand-text { font-size: var(--fs-base); }
}

@media (max-width: 700px) {
	.site-foot__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
	.site-foot__inner { grid-template-columns: 1fr; }
	.hero { padding: var(--space-8) 0 var(--space-7); }
	.what,
	.close-cta { padding: var(--space-8) 0; }
}


/* ============================================================
   DELIVERY 2 — page templates
   ============================================================ */


/* --- Donate page --------------------------------------------- */
.donate-hero {
	padding: var(--space-9) 0 var(--space-7);
	background: var(--sif-cream);
}
.donate-hero__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.donate-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-4);
}
.donate-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.donate-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
}

.donate-context {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.donate-context__inner {
	max-width: var(--container-lg);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.donate-context__head {
	max-width: 56ch;
	margin: 0 auto var(--space-7);
	text-align: center;
}
.donate-context__head p {
	font-size: var(--fs-base);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
}
.donate-context__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-5);
}
.donate-context__list li {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.donate-context__amount {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-2xl);
	color: var(--sif-rose);
	line-height: 1;
}
.donate-context__detail {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
}

.donate-form {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
}
.donate-form__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.donate-form__head {
	text-align: center;
	margin-bottom: var(--space-7);
}
.donate-form__embed {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-5);
	min-height: 200px;
}
.donate-form__embed iframe {
	width: 100% !important;
	min-height: 600px;
	border: 0;
	display: block;
}
.donate-form__receipt-note {
	margin-top: var(--space-6);
	padding: var(--space-5);
	background: var(--sif-forest-50);
	border-left: 3px solid var(--sif-forest);
	border-radius: var(--radius-md);
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
}
.donate-form__receipt-note strong {
	color: var(--sif-forest-deep);
	font-weight: var(--fw-semibold);
}


/* --- About page ---------------------------------------------- */
.about-hero {
	padding: var(--space-9) 0 var(--space-8);
	background: var(--sif-cream);
}
.about-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.about-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
}
.about-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.about-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	max-width: 56ch;
	margin: 0 auto;
}

.about-principles {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.about-principles__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.about-principles__head {
	max-width: 48ch;
	margin-bottom: var(--space-7);
	text-align: center;
	margin-inline: auto;
}
.about-principles__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-6);
}
.principle {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-7) var(--space-6);
}
.principle__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-2xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-4);
	line-height: 1;
}
.principle h3 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-4);
	line-height: var(--lh-snug);
}
.principle p,
.principle__body p {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 0 var(--space-3);
}
.principle__body p:last-child { margin: 0; }

.about-extra {
	padding: var(--space-8) 0;
	background: var(--sif-cream);
}
.about-extra__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
}
.about-extra__inner h2,
.about-extra__inner h3 {
	margin-top: var(--space-7);
}
.about-extra__inner img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
}


/* --- Our Work page ------------------------------------------- */
.work-hero {
	padding: var(--space-9) 0 var(--space-8);
	background: var(--sif-cream);
}
.work-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.work-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
}
.work-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.work-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 auto;
	max-width: 56ch;
}

.work-pillar {
	padding: var(--space-9) 0;
}
.work-pillar--alt {
	background: var(--sif-cream-warm);
}
.work-pillar__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--space-8);
	align-items: center;
}
.work-pillar__inner--reverse {
	grid-template-columns: 1fr 1.4fr;
}
.work-pillar__inner--reverse .work-pillar__copy {
	order: 2;
}
.work-pillar__inner--reverse .work-pillar__visual {
	order: 1;
}
.work-pillar__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	line-height: 1;
}
.work-pillar__copy h2 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-5);
	line-height: 1;
}
.work-pillar__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 0 var(--space-5);
}
.work-pillar__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.work-pillar__list li {
	position: relative;
	padding-left: var(--space-5);
	margin-bottom: var(--space-3);
	font-size: var(--fs-base);
	color: var(--sif-ink);
	line-height: var(--lh-normal);
}
.work-pillar__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sif-rose);
}
.work-pillar__pull {
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
	border-radius: var(--radius-xl);
	padding: var(--space-7) var(--space-6);
}
.work-pillar__pull-text {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	line-height: var(--lh-snug);
	color: var(--sif-cream);
	margin: 0 0 var(--space-4);
}
.work-pillar__pull-attr {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose-warm);
	margin: 0;
}

.work-flow {
	padding: var(--space-9) 0;
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
}
.work-flow__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.work-flow__head {
	max-width: 56ch;
	margin-bottom: var(--space-7);
	text-align: center;
	margin-inline: auto;
}
.work-flow__head h2 {
	color: var(--sif-cream);
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0 0 var(--space-4);
}
.work-flow__head p {
	color: rgba(250, 246, 240, 0.8);
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
}
.work-flow__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--space-5);
	counter-reset: step;
}
.work-flow__steps li {
	background: rgba(250, 246, 240, 0.05);
	border: 1px solid rgba(250, 246, 240, 0.1);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
}
.work-flow__step-num {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose-warm);
	margin: 0 0 var(--space-3);
}
.work-flow__steps li h3 {
	color: var(--sif-cream);
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-lg);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.work-flow__steps li p {
	color: rgba(250, 246, 240, 0.75);
	font-size: var(--fs-sm);
	line-height: var(--lh-normal);
	margin: 0;
}

@media (max-width: 800px) {
	.work-pillar__inner,
	.work-pillar__inner--reverse {
		grid-template-columns: 1fr;
	}
	.work-pillar__inner--reverse .work-pillar__copy { order: 1; }
	.work-pillar__inner--reverse .work-pillar__visual { order: 2; }
}


/* --- Archive / blog cards ------------------------------------ */
.archive-head {
	padding: var(--space-9) 0 var(--space-7);
	background: var(--sif-cream);
}
.archive-head__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.archive-head__inner h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin: var(--space-3) 0 var(--space-4);
}
.archive-head__inner p {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	margin: 0;
}

.archive-grid {
	padding: 0 0 var(--space-9);
	background: var(--sif-cream);
}
.archive-grid__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.story-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: var(--space-6);
}
.story-card {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.story-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.story-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.story-card__media {
	margin: 0;
	aspect-ratio: 3/2;
	overflow: hidden;
	background: var(--sif-forest-50);
}
.story-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.story-card__media--placeholder {
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
	display: flex;
	align-items: center;
	justify-content: center;
}
.story-card__media--placeholder img {
	width: 35%;
	height: auto;
	opacity: 0.85;
	object-fit: contain;
}
.story-card__body {
	padding: var(--space-6) var(--space-5);
}
.story-card__meta {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-ink-soft);
	margin: 0 0 var(--space-3);
}
.story-card__cat {
	color: var(--sif-rose);
}
.story-card__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	line-height: var(--lh-snug);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
}
.story-card:hover .story-card__title {
	color: var(--sif-rose);
}
.story-card__excerpt {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin-bottom: var(--space-4);
}
.story-card__excerpt p { margin: 0; }
.story-card__readmore {
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wide);
	color: var(--sif-rose);
	margin: 0;
}

.archive-pagination {
	margin-top: var(--space-8);
	display: flex;
	justify-content: center;
}
.archive-pagination .nav-links {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
	align-items: center;
}
.archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 var(--space-3);
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
	color: var(--sif-forest-deep);
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	text-decoration: none;
	transition: all var(--dur-fast) var(--ease-out);
}
.archive-pagination .page-numbers:hover,
.archive-pagination .page-numbers.current {
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
	border-color: var(--sif-forest-deep);
}

.archive-empty {
	max-width: 480px;
	margin: var(--space-7) auto;
	padding: var(--space-7);
	text-align: center;
	background: var(--sif-cream-warm);
	border-radius: var(--radius-lg);
}


/* --- Single post -------------------------------------------- */
.post-single {
	background: var(--sif-cream);
}
.post-single__head {
	padding: var(--space-9) 0 var(--space-7);
}
.post-single__head-inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.post-single__meta {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-ink-soft);
	margin: 0 0 var(--space-4);
}
.post-single__cat {
	color: var(--sif-rose);
}
.post-single__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-5);
}
.post-single__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
	max-width: 56ch;
	margin-inline: auto;
}
.post-single__hero {
	max-width: var(--container-lg);
	margin: 0 auto var(--space-7);
	padding: 0 var(--space-5);
}
.post-single__hero-img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-lg);
}
.post-single__body {
	padding: 0 0 var(--space-9);
}
.post-single__body-inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	font-size: var(--fs-lg);
	line-height: var(--lh-relaxed);
	color: var(--sif-ink);
}
.post-single__body-inner h2,
.post-single__body-inner h3 {
	margin-top: var(--space-7);
}
.post-single__body-inner img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
	margin: var(--space-5) 0;
}
.post-single__body-inner blockquote {
	border-left: 3px solid var(--sif-rose);
	padding: var(--space-3) 0 var(--space-3) var(--space-5);
	margin: var(--space-6) 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
}
.post-single__tags {
	margin-top: var(--space-7);
	padding-top: var(--space-5);
	border-top: 1px solid var(--sif-cream-shadow);
}
.post-single__tags ul {
	list-style: none;
	padding: 0;
	margin: var(--space-3) 0 0;
	display: flex;
	gap: var(--space-2);
	flex-wrap: wrap;
}
.post-single__tags a {
	display: inline-block;
	padding: var(--space-2) var(--space-4);
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	color: var(--sif-forest-deep);
	text-decoration: none;
	letter-spacing: var(--ls-wide);
}
.post-single__tags a:hover {
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
}

/* Skip link — accessibility */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
}
.skip-link:focus {
	left: var(--space-3);
	top: var(--space-3);
	z-index: var(--z-modal);
	padding: var(--space-3) var(--space-5);
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}


/* ============================================================
   DELIVERY 3 — sponsor, contact, team
   ============================================================ */


/* --- Generic large-button modifier (used on contact emergency band) - */
.btn--lg {
	padding: var(--space-5) var(--space-7);
	font-size: var(--fs-lg);
}


/* --- About — Team section ----------------------------------- */
.about-team {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
}
.about-team__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.about-team__head {
	max-width: 48ch;
	margin: 0 auto var(--space-7);
	text-align: center;
}

/* Founder card — large, photo left, bio right */
.about-team__founders {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
	margin-bottom: var(--space-8);
}
.team-card--founder {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: var(--space-7);
	align-items: start;
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-xl);
	padding: var(--space-7);
}
.team-card--founder .team-card__photo-wrap {
	aspect-ratio: 1 / 1;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--sif-forest-50);
}
.team-card--founder .team-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.team-card--founder .team-card__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
}
.team-card--founder .team-card__photo--placeholder img {
	width: 45%;
	height: auto;
	opacity: 0.85;
}
.team-card--founder .team-card__name {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--sif-forest-deep);
	line-height: 1.05;
	margin: 0 0 var(--space-3);
}
.team-card--founder .team-card__role {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose);
	margin: 0 0 var(--space-5);
}
.team-card--founder .team-card__bio {
	font-size: var(--fs-base);
	color: var(--sif-ink);
	line-height: var(--lh-relaxed);
}
.team-card--founder .team-card__bio p { margin: 0 0 var(--space-3); }
.team-card--founder .team-card__bio p:last-child { margin: 0; }

/* Team grid — smaller cards, photo on top */
.about-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--space-6);
}
.team-card--team {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.team-card--team .team-card__photo-wrap {
	aspect-ratio: 1 / 1;
	background: var(--sif-forest-50);
}
.team-card--team .team-card__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.team-card--team .team-card__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
	width: 100%;
	height: 100%;
}
.team-card--team .team-card__photo--placeholder img {
	width: 40%;
	height: auto;
	opacity: 0.85;
}
.team-card--team .team-card__body {
	padding: var(--space-5);
}
.team-card--team .team-card__name {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-lg);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-2);
	line-height: var(--lh-snug);
}
.team-card--team .team-card__role {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
}
.team-card--team .team-card__bio {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
}
.team-card--team .team-card__bio p { margin: 0 0 var(--space-2); }
.team-card--team .team-card__bio p:last-child { margin: 0; }

@media (max-width: 700px) {
	.team-card--founder {
		grid-template-columns: 1fr;
		padding: var(--space-5);
	}
	.team-card--founder .team-card__photo-wrap {
		max-width: 240px;
		margin-inline: auto;
	}
}


/* --- Sponsor / Celebrate With Us page ----------------------- */
.sponsor-hero {
	padding: var(--space-9) 0 var(--space-8);
	background: var(--sif-cream);
}
.sponsor-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.sponsor-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
}
.sponsor-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.sponsor-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 auto;
	max-width: 56ch;
}

.sponsor-occasions {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.sponsor-occasions__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor-occasions__head {
	max-width: 48ch;
	margin: 0 auto var(--space-7);
	text-align: center;
}
.sponsor-occasions__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-5);
}
.occasion-card {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
	transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.occasion-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.occasion-card__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	line-height: 1;
}
.occasion-card h3 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.occasion-card p {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
}

.sponsor-how {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
}
.sponsor-how__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor-how__head {
	max-width: 48ch;
	margin: 0 auto var(--space-7);
	text-align: center;
}
.sponsor-how__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-6);
}
.sponsor-how__steps li {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-7) var(--space-5);
}
.sponsor-how__step-num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-2xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	line-height: 1;
}
.sponsor-how__steps h3 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.sponsor-how__steps p {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
}

.sponsor-form {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.sponsor-form__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor-form__head {
	text-align: center;
	margin-bottom: var(--space-7);
}
.sponsor-form__head p {
	font-size: var(--fs-base);
	color: var(--sif-ink-muted);
	margin-top: var(--space-3);
}
.sponsor-form__embed {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	min-height: 200px;
}


/* --- Contact page ------------------------------------------ */
.contact-hero {
	padding: var(--space-9) 0 var(--space-7);
	background: var(--sif-cream);
}
.contact-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.contact-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
}
.contact-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.contact-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 auto;
	max-width: 56ch;
}

.contact-emergency {
	padding: var(--space-8) 0;
	background: var(--sif-forest-deep);
	color: var(--sif-cream);
}
.contact-emergency__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--space-7);
	align-items: center;
}
.contact-emergency__copy h2 {
	color: var(--sif-cream);
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0 0 var(--space-4);
}
.contact-emergency__copy p {
	color: rgba(250, 246, 240, 0.85);
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	margin: 0;
}
.contact-emergency__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.contact-emergency .btn--primary {
	background: var(--sif-cream);
	color: var(--sif-forest-deep);
}
.contact-emergency .btn--primary:hover {
	background: var(--sif-cream-warm);
	color: var(--sif-forest-deep);
}
@media (max-width: 760px) {
	.contact-emergency__inner { grid-template-columns: 1fr; }
}

.contact-tracks {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
}
.contact-tracks__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.contact-tracks__head {
	max-width: 56ch;
	margin: 0 auto var(--space-8);
	text-align: center;
}
.contact-tracks__head p {
	font-size: var(--fs-base);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin-top: var(--space-3);
}
.contact-tracks__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--space-6);
}
.contact-track {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-6) var(--space-5);
	display: flex;
	flex-direction: column;
}
.contact-track__num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	line-height: 1;
}
.contact-track h3 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.contact-track__lede {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 0 var(--space-5);
}
.contact-track__form {
	margin-top: auto;
}
.contact-track__form .wpforms-container input[type="text"],
.contact-track__form .wpforms-container input[type="email"],
.contact-track__form .wpforms-container input[type="tel"],
.contact-track__form .wpforms-container textarea {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-md);
}

.contact-where {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.contact-where__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: var(--space-7);
	align-items: center;
}
.contact-where__copy h2 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
	line-height: 1;
}
.contact-where__address {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-lg);
	color: var(--sif-forest-deep);
	line-height: var(--lh-snug);
	margin: 0 0 var(--space-5);
}
.contact-where__contact {
	font-size: var(--fs-base);
	color: var(--sif-ink);
	line-height: var(--lh-relaxed);
	margin: 0;
}
.contact-where__contact strong {
	color: var(--sif-forest-deep);
	font-family: var(--font-body);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	display: inline-block;
	min-width: 80px;
}
.contact-where__map {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--sif-cream-shadow);
}
@media (max-width: 800px) {
	.contact-where__inner { grid-template-columns: 1fr; }
}


/* ============================================================
   SPONSOR PAGE V2 — story-first version
   ============================================================
   Replaces the v1 sponsor page styling. Old .sponsor-* classes
   left in place for backward compatibility (in case any other
   page references them); new template uses .sponsor2-*.
   ============================================================ */


/* --- Hero — narrow, evocative, no buttons -------------------- */
.sponsor2-hero {
	padding: var(--space-9) 0 var(--space-7);
	background: var(--sif-cream);
}
.sponsor2-hero__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--space-5);
	text-align: center;
}
.sponsor2-hero__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(2.5rem, 5.5vw, 4.5rem);
	line-height: 1.05;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: var(--space-3) 0 var(--space-5);
}
.sponsor2-hero__title em {
	font-style: italic;
	color: var(--sif-rose);
}
.sponsor2-hero__lede {
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0 auto;
	max-width: 56ch;
}


/* --- Stories — the centerpiece ------------------------------- */
.sponsor2-stories {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.sponsor2-stories__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor2-stories__head {
	max-width: 56ch;
	margin: 0 auto var(--space-8);
	text-align: center;
}
.sponsor2-stories__note {
	font-size: var(--fs-sm);
	color: var(--sif-ink-soft);
	font-style: italic;
	line-height: var(--lh-relaxed);
	margin: var(--space-3) 0 0;
	max-width: 52ch;
	margin-inline: auto;
}

.sponsor2-stories__grid {
	display: flex;
	flex-direction: column;
	gap: var(--space-9);
}

/* Story feature — two-column with photo and copy */
.story-feature {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: var(--space-7);
	align-items: center;
}
.story-feature--reverse {
	grid-template-columns: 1.1fr 1fr;
}
.story-feature--reverse .story-feature__visual { order: 2; }
.story-feature--reverse .story-feature__copy   { order: 1; }

.story-feature__visual {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.story-feature__photo {
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-md);
}
.story-feature__photo img {
	width: 40%;
	height: auto;
	opacity: 0.85;
}
.story-feature__photo--placeholder {
	/* photo slot until real images exist */
}
.story-feature__caption {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
	color: var(--sif-ink-soft);
	margin: 0;
	padding-left: var(--space-3);
}

.story-feature__tag {
	display: inline-block;
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose);
	margin-bottom: var(--space-4);
}
.story-feature__title {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: var(--ls-tight);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-5);
}
.story-feature__body {
	font-size: var(--fs-base);
	line-height: var(--lh-relaxed);
	color: var(--sif-ink);
	margin-bottom: var(--space-5);
}
.story-feature__body p {
	margin: 0 0 var(--space-3);
}
.story-feature__body p:last-child { margin: 0; }

.story-feature__pull {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-xl);
	line-height: var(--lh-snug);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	padding-left: var(--space-5);
	border-left: 3px solid var(--sif-rose);
}
.story-feature__attr {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-ink-soft);
	margin: 0;
	padding-left: var(--space-5);
}

@media (max-width: 800px) {
	.story-feature,
	.story-feature--reverse {
		grid-template-columns: 1fr;
		gap: var(--space-5);
	}
	.story-feature--reverse .story-feature__visual { order: 1; }
	.story-feature--reverse .story-feature__copy   { order: 2; }
}


/* --- Pivot — quiet bridge ------------------------------------ */
.sponsor2-pivot {
	padding: var(--space-8) 0;
	background: var(--sif-cream);
	text-align: center;
}
.sponsor2-pivot__inner {
	max-width: var(--container-md);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor2-pivot__text {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--sif-rose);
	margin: 0;
	line-height: 1.2;
}


/* --- Occasions — quieter, smaller, more like a footnote ------ */
.sponsor2-occasions {
	padding: var(--space-7) 0 var(--space-9);
	background: var(--sif-cream);
}
.sponsor2-occasions__inner {
	max-width: var(--container-lg);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor2-occasions__head {
	text-align: center;
	margin-bottom: var(--space-7);
}
.sponsor2-occasions__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-5);
}
.occasion-mini {
	padding: var(--space-5) var(--space-4);
	border-top: 2px solid var(--sif-cream-shadow);
}
.occasion-mini__name {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-lg);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.occasion-mini__detail {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
}


/* --- How it works — same as v1, narrower scope --------------- */
.sponsor2-how {
	padding: var(--space-9) 0;
	background: var(--sif-cream-warm);
}
.sponsor2-how__inner {
	max-width: var(--container-xl);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor2-how__head {
	max-width: 48ch;
	margin: 0 auto var(--space-7);
	text-align: center;
}
.sponsor2-how__steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-6);
}
.sponsor2-how__steps li {
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-7) var(--space-5);
}
.sponsor2-how__step-num {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: var(--fw-bold);
	font-size: var(--fs-2xl);
	color: var(--sif-rose);
	margin: 0 0 var(--space-3);
	line-height: 1;
}
.sponsor2-how__steps h3 {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: var(--fs-xl);
	color: var(--sif-forest-deep);
	margin: 0 0 var(--space-3);
	line-height: var(--lh-snug);
}
.sponsor2-how__steps p {
	font-size: var(--fs-sm);
	color: var(--sif-ink-muted);
	line-height: var(--lh-relaxed);
	margin: 0;
}


/* --- Form — softer headline, same shape ---------------------- */
.sponsor2-form {
	padding: var(--space-9) 0;
	background: var(--sif-cream);
}
.sponsor2-form__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: var(--space-5);
}
.sponsor2-form__head {
	text-align: center;
	margin-bottom: var(--space-7);
}
.sponsor2-form__head p {
	font-size: var(--fs-base);
	color: var(--sif-ink-muted);
	margin-top: var(--space-3);
}
.sponsor2-form__embed {
	background: var(--sif-cream-warm);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	min-height: 200px;
}


/* ============================================================
   Sponsor — Featured story variant
   ============================================================
   When admin marks a celebration as "Featured," it renders larger
   and stands apart from the standard alternating grid below.
   ============================================================ */

.sponsor2-stories__featured {
	margin-bottom: var(--space-9);
}

.story-feature--featured {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--space-8);
	align-items: center;
	background: var(--sif-cream);
	border: 1px solid var(--sif-cream-shadow);
	border-radius: var(--radius-xl);
	padding: var(--space-8);
	box-shadow: var(--shadow-md);
}
.story-feature--featured .story-feature__photo {
	aspect-ratio: 4 / 5;
	box-shadow: var(--shadow-lg);
}
.story-feature--featured .story-feature__title {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	line-height: 1.05;
	margin-bottom: var(--space-6);
}
.story-feature--featured .story-feature__body {
	font-size: var(--fs-lg);
	margin-bottom: var(--space-6);
}
.story-feature--featured .story-feature__pull {
	font-size: clamp(1.25rem, 2vw, 1.6rem);
}
.story-feature--featured .story-feature__tag {
	font-size: var(--fs-sm);
}
.story-feature--featured .story-feature__tag::before {
	content: '★ ';
	color: var(--sif-rose);
	margin-right: var(--space-1);
}

@media (max-width: 800px) {
	.story-feature--featured {
		grid-template-columns: 1fr;
		padding: var(--space-5);
		gap: var(--space-5);
	}
}


/* ============================================================
   Story photo slider — multi-photo carousel inside a celebration
   ============================================================ */

.story-slider {
	position: relative;
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
	aspect-ratio: 4 / 5;
	box-shadow: var(--shadow-md);
}
.story-slider__track {
	display: flex;
	width: 100%;
	height: 100%;
	transition: transform var(--dur-slow) var(--ease-out);
	will-change: transform;
}
.story-slider__slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.story-slider__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Prev / Next buttons */
.story-slider__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(250, 246, 240, 0.92);
	color: var(--sif-forest-deep);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-md);
	transition: background var(--dur-fast) var(--ease-out),
	            transform var(--dur-fast) var(--ease-out);
	z-index: 2;
	font-family: var(--font-display);
	padding: 0;
}
.story-slider__btn:hover {
	background: var(--sif-cream);
	transform: translateY(-50%) scale(1.05);
}
.story-slider__btn:focus-visible {
	outline: 3px solid var(--sif-rose);
	outline-offset: 2px;
}
.story-slider__btn--prev { left: var(--space-3); }
.story-slider__btn--next { right: var(--space-3); }
.story-slider__btn[disabled] {
	opacity: 0.35;
	cursor: not-allowed;
}

/* Dots */
.story-slider__dots {
	position: absolute;
	bottom: var(--space-4);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: var(--space-2);
	z-index: 2;
}
.story-slider__dot {
	width: 8px;
	height: 8px;
	border: 0;
	border-radius: 50%;
	background: rgba(250, 246, 240, 0.45);
	cursor: pointer;
	padding: 0;
	transition: background var(--dur-fast) var(--ease-out),
	            transform var(--dur-fast) var(--ease-out);
}
.story-slider__dot.is-active {
	background: var(--sif-cream);
	transform: scale(1.4);
}
.story-slider__dot:hover {
	background: var(--sif-cream);
}

/* Touch-friendly tweak: bigger buttons on small screens */
@media (max-width: 600px) {
	.story-slider__btn {
		width: 38px;
		height: 38px;
		font-size: 22px;
	}
}


/* Empty-state on Sponsor page (when no celebrations exist) */
.sponsor2-stories__empty {
	max-width: 56ch;
	margin: 0 auto;
	padding: var(--space-7) var(--space-5);
	text-align: center;
	background: var(--sif-cream);
	border: 1px dashed var(--sif-cream-shadow);
	border-radius: var(--radius-lg);
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--fs-lg);
	color: var(--sif-ink-muted);
}
.sponsor2-stories__empty a {
	color: var(--sif-rose);
	font-weight: 700;
}


/* ============================================================
   Team card — social link icons (v1.7.3)
   ============================================================ */

.team-card__social {
	list-style: none;
	margin: var(--space-4) 0 0;
	padding: 0;
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}

.team-card--founder .team-card__social {
	gap: var(--space-3);
}

.team-card__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--sif-cream-shadow);
	color: var(--sif-forest-deep);
	text-decoration: none;
	transition: background var(--dur-fast) var(--ease-out),
	            color var(--dur-fast) var(--ease-out),
	            transform var(--dur-fast) var(--ease-out);
}

.team-card__social-link:hover,
.team-card__social-link:focus-visible {
	background: var(--sif-forest);
	color: var(--sif-cream);
	transform: translateY(-1px);
}

.team-card__social-link svg {
	display: block;
}

.team-card--founder .team-card__social-link {
	width: 38px;
	height: 38px;
}


/* ============================================================
   Team — clickable cards + modal popup (v1.7.4)
   ============================================================ */

/* The trigger wraps the entire card content as a button. */
.team-card__trigger {
	all: unset;
	display: flex;
	flex-direction: column;
	width: 100%;
	cursor: pointer;
	background: transparent;
	color: inherit;
	box-sizing: border-box;
}
.team-card__trigger:focus-visible {
	outline: 3px solid var(--sif-rose);
	outline-offset: 4px;
	border-radius: var(--radius-lg);
}

/* Photo zoom-on-hover + "Read more" pill that appears on hover. */
.team-card--team {
	transition: transform var(--dur-base) var(--ease-out),
	            box-shadow var(--dur-base) var(--ease-out);
}
.team-card--team:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-md);
}
.team-card--team .team-card__photo-wrap {
	position: relative;
	overflow: hidden;
}
.team-card--team .team-card__photo {
	transition: transform var(--dur-slow) var(--ease-out),
	            filter var(--dur-base) var(--ease-out);
}
.team-card--team:hover .team-card__photo {
	transform: scale(1.04);
	filter: brightness(0.85);
}

.team-card__hint {
	position: absolute;
	left: 50%;
	bottom: var(--space-4);
	transform: translateX(-50%) translateY(8px);
	background: var(--sif-cream);
	color: var(--sif-forest-deep);
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
	padding: var(--space-2) var(--space-4);
	border-radius: 999px;
	box-shadow: var(--shadow-md);
	opacity: 0;
	transition: opacity var(--dur-base) var(--ease-out),
	            transform var(--dur-base) var(--ease-out);
	pointer-events: none;
	white-space: nowrap;
}
.team-card--team:hover .team-card__hint,
.team-card__trigger:focus-visible .team-card__hint {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Always show the hint on touch devices (no hover available). */
@media (hover: none) {
	.team-card__hint {
		opacity: 1;
		transform: translateX(-50%) translateY(0);
	}
}

/* Bio is hidden in the team card — lives in modal instead. */
.team-card--team .team-card__bio { display: none; }
.team-card--team .team-card__social { display: none; }

/* ============================================================
   Modal
   ============================================================ */
.team-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--space-5);
}
.team-modal.is-open {
	display: flex;
	animation: sif-modal-fade var(--dur-base) var(--ease-out);
}
@keyframes sif-modal-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.team-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(30, 40, 32, 0.72);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	cursor: pointer;
}

.team-modal__panel {
	position: relative;
	background: var(--sif-cream);
	border-radius: var(--radius-xl);
	max-width: 780px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, 0.3));
	display: grid;
	grid-template-columns: 280px 1fr;
	animation: sif-modal-slide var(--dur-slow) var(--ease-out);
}
@keyframes sif-modal-slide {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

.team-modal__close {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: var(--sif-cream-warm);
	color: var(--sif-forest-deep);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: background var(--dur-fast) var(--ease-out);
}
.team-modal__close:hover {
	background: var(--sif-rose);
	color: var(--sif-cream);
}

.team-modal__photo {
	background: var(--sif-forest-50);
	overflow: hidden;
}
.team-modal__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.team-modal__photo .team-card__photo--placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--sif-forest-deep), var(--sif-forest));
}
.team-modal__photo .team-card__photo--placeholder img {
	width: 40%;
	height: auto;
	opacity: 0.85;
}

.team-modal__body {
	padding: var(--space-7) var(--space-6);
}

.team-modal__name {
	font-family: var(--font-display);
	font-weight: var(--fw-black);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	color: var(--sif-forest-deep);
	line-height: var(--lh-snug);
	margin: 0 0 var(--space-2);
}
.team-modal__role {
	font-family: var(--font-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-wider);
	text-transform: uppercase;
	color: var(--sif-rose);
	margin: 0 0 var(--space-5);
}
.team-modal__bio {
	font-size: var(--fs-base);
	color: var(--sif-ink);
	line-height: var(--lh-relaxed);
	margin-bottom: var(--space-5);
}
.team-modal__bio p { margin: 0 0 var(--space-3); }
.team-modal__bio p:last-child { margin: 0; }

/* Social icons inside modal — visible (override the team-card hide above). */
.team-modal .team-card__social,
.team-modal__social {
	display: flex !important;
	gap: var(--space-3);
	margin-top: var(--space-5);
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

/* Modal mobile layout */
@media (max-width: 700px) {
	.team-modal__panel {
		grid-template-columns: 1fr;
		max-height: 95vh;
	}
	.team-modal__photo {
		aspect-ratio: 16 / 10;
	}
	.team-modal__body {
		padding: var(--space-5);
	}
}

/* Body lock when modal is open */
body.sif-modal-open {
	overflow: hidden;
}

/* Screen-reader-only utility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
