/*
Theme Name: Advocacy for Human Value
Theme URI: https://advocacyforhumanvalue.org/
Author: Built for the Advocacy for Human Value Foundation
Description: A content-driven theme for humanitarian organisations. Every heading, paragraph and fact on the site is editable without touching code: facts live on one settings screen, copy lives in the Customiser with click-to-edit pencils on the page itself, and everything repeatable is a normal WordPress post type. Ships with a one-click setup that builds the pages, the menus and the starter content.
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ahvf
Tags: nonprofit, charity, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   Tokens. The palette is sampled from the logo: forest green for the
   institution, field green for growth, sun orange for donation and nothing
   else. Neutrals carry a slight green bias so paper and rules sit inside the
   brand rather than beside it.
   ========================================================================== */

:root{
	--forest:#044C31; --forest-deep:#02341F; --field:#00923F; --harvest:#E67817;
	--paper:#F3F6F2; --surface:#FFFFFF; --surface-2:#E9EFE9; --line:#D5E0D6;
	--ink:#0E1F16; --muted:#57685D;
	--ok:#1F7A4D; --ok-soft:#DDEEE3; --attention:#C2650E; --attention-soft:#FBEBDA;
	--critical:#9E2F22; --critical-soft:#F7E1DD;
	--brand:var(--forest); --brand-on:#FFFFFF; --accent:var(--harvest);
	--band:var(--forest); --band-ink:#EAF2EC; --band-muted:#9DBBA8; --band-line:#1B5E42;
	--big-n:#FFFFFF;
	--gutter:clamp(22px,4.6vw,46px);
	--shadow:0 1px 2px rgba(4,44,28,.06), 0 10px 28px -14px rgba(4,44,28,.28);
}

/* Three theme states: an explicit choice stamps data-theme, and the default
   system setting stamps nothing, so prefers-color-scheme has to carry it. */
@media (prefers-color-scheme: dark){
	:root:not([data-theme="light"]){
		--paper:#0A130E; --surface:#101D15; --surface-2:#182920; --line:#27392E;
		--ink:#E6EFE8; --muted:#93A79A;
		--brand:#4FD98A; --brand-on:#04261A; --field:#4FD98A; --accent:#F7A14A;
		--ok:#5FC98C; --ok-soft:#12301F; --attention:#F0A055; --attention-soft:#33220F;
		--critical:#E28073; --critical-soft:#331A16;
		--band:#08170F; --band-ink:#E6EFE8; --band-muted:#7E9A88; --band-line:#20402F;
		--big-n:#E6EFE8;
		--shadow:0 1px 2px rgba(0,0,0,.5), 0 10px 28px -14px rgba(0,0,0,.7);
	}
}
:root[data-theme="dark"]{
	--paper:#0A130E; --surface:#101D15; --surface-2:#182920; --line:#27392E;
	--ink:#E6EFE8; --muted:#93A79A;
	--brand:#4FD98A; --brand-on:#04261A; --field:#4FD98A; --accent:#F7A14A;
	--ok:#5FC98C; --ok-soft:#12301F; --attention:#F0A055; --attention-soft:#33220F;
	--critical:#E28073; --critical-soft:#331A16;
	--band:#08170F; --band-ink:#E6EFE8; --band-muted:#7E9A88; --band-line:#20402F;
	--big-n:#E6EFE8;
	--shadow:0 1px 2px rgba(0,0,0,.5), 0 10px 28px -14px rgba(0,0,0,.7);
}

/* ========================= base ========================= */

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
	font-family:"Newsreader",Georgia,serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--field);text-underline-offset:2px}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:var(--surface);padding:10px 16px;border-radius:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.wrap{max-width:1216px;margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:860px}

h1,h2,h3,h4,h5,.label,.btn,.pnum,.metaline,.rl,.nm,.k,.v,.yr,.n,.t,.kicker,.hd,.hn,.fbtn,.rbtn,.rcount,.themebtn,.h3,.h4,.fieldlabel{
	font-family:"Archivo","Helvetica Neue",Arial,sans-serif}

h1{font-weight:800;font-size:clamp(2rem,5.4vw,3.5rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 16px;text-wrap:balance}
h2{font-weight:800;font-size:clamp(1.55rem,3.4vw,2.35rem);letter-spacing:-.032em;line-height:1.08;margin:0;text-wrap:balance}
h3{font-weight:700;font-size:1.1rem;letter-spacing:-.015em;margin:0;line-height:1.28}
h3.big{font-size:1.28rem}
h4{font-weight:700;font-size:1rem;letter-spacing:-.012em;margin:0}
p{margin:0 0 14px}
.label{font-size:10.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.blocklabel{display:block;margin-bottom:13px}
.lede{font-size:1.1rem;color:var(--muted);max-width:62ch}
.muted{color:var(--muted)}
.small{font-size:.94rem}
.helper{font-size:.82rem;color:var(--muted)}
.prose p{max-width:68ch}
.prose ul,.prose ol{max-width:66ch;padding-left:20px}
.prose li{margin-bottom:7px}
.field-c,.metaline.field{color:var(--field)}

/* spacing utilities, kept few and named for what they are */
.pt0{padding-top:0}
.mt4{margin-top:4px}.mt5{margin-top:5px}.mt6{margin-top:6px}.mt10{margin-top:10px}
.mt12{margin-top:12px}.mt14{margin-top:14px}.mt16{margin-top:16px}.mt18{margin-top:18px}
.mt20{margin-top:20px}.mt24{margin-top:24px}
.mb12{margin-bottom:12px}.mb14{margin-bottom:14px}.mb16{margin-bottom:16px}
.mb20{margin-bottom:20px}.mb22{margin-bottom:22px}
.self-start{align-self:flex-start}
.stack14{display:flex;flex-direction:column;gap:14px}
.stack15{display:flex;flex-direction:column;gap:15px}

/* ========================= buttons ========================= */

.btn{font-weight:700;font-size:.85rem;letter-spacing:.04em;border-radius:6px;padding:13px 21px;
	border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;
	justify-content:center;gap:9px;text-decoration:none;transition:transform .12s ease,filter .12s ease}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-donate{background:var(--accent);color:#2B1403;border-color:var(--accent)}
.btn-donate:hover{filter:brightness(1.07)}
.btn-primary{background:var(--brand);color:var(--brand-on);border-color:var(--brand)}
.btn-primary:hover{filter:brightness(1.1)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btnrow{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.arrowlink{font-family:"Archivo",sans-serif;font-weight:700;font-size:.83rem;letter-spacing:.05em;
	color:var(--field);text-decoration:none;display:inline-flex;gap:7px;align-items:center;
	background:none;border:0;padding:0;cursor:pointer}
.arrowlink::after{content:"\2192";transition:transform .15s ease}
.arrowlink:hover::after{transform:translateX(4px)}

/* ========================= header ========================= */

header.top{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 94%,transparent);
	backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}

/* Three zones: brand left, menu centred, tools right. The menu takes the
   remaining space and centres inside it, so it stays optically centred even
   when the brand and the tools are different widths. */
.navrow{display:flex;align-items:center;gap:14px;padding:12px 0;min-height:72px}
.brand{flex:0 0 auto;line-height:0;display:block}
.brand .custom-logo-link{display:block;line-height:0}

/* The logo is capped by HEIGHT, not width. A width cap lets a tall logo blow
   the header open, and a site that already had a custom logo set by a previous
   theme would otherwise render it at its natural size. !important is here on
   purpose: plugin and page-builder stylesheets left behind by an old theme
   routinely set img rules that would win otherwise. */
.brand img,
.brand .custom-logo,
.custom-logo-link img{
	width:auto !important;
	height:auto !important;
	max-height:46px !important;
	max-width:220px !important;
	object-fit:contain;
	display:block
}
.mark.dk{display:none}
:root[data-theme="dark"] .mark.lt{display:none}
:root[data-theme="dark"] .mark.dk{display:block}
@media (prefers-color-scheme: dark){
	:root:not([data-theme="light"]) .mark.lt{display:none}
	:root:not([data-theme="light"]) .mark.dk{display:block}
}

nav.main{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
nav.main ul{display:flex;gap:2px;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
nav.main li{position:relative;flex:0 0 auto}
nav.main a{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-size:.8rem;font-weight:600;
	letter-spacing:.02em;color:var(--ink);text-decoration:none;padding:9px 10px;border-radius:6px;
	display:block;white-space:nowrap;line-height:1.2}
nav.main a:hover{background:var(--surface-2);color:var(--field)}
nav.main .current-menu-item > a,nav.main .current_page_item > a{color:var(--field);background:var(--surface-2)}
/* A parent with a dropdown says so, and the caret turns when it is open. */
nav.main .menu-item-has-children > a{padding-right:24px;position:relative}
nav.main .menu-item-has-children > a::after{
	content:"";position:absolute;right:9px;top:50%;width:6px;height:6px;
	border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
	transform:translateY(-70%) rotate(45deg);opacity:.6;transition:transform .15s ease}
nav.main .menu-item-has-children:hover > a::after,
nav.main .menu-item-has-children:focus-within > a::after{transform:translateY(-30%) rotate(-135deg);opacity:1}

/* The dropdown is a single vertical column, left aligned, and every row is the
   full width of the panel so the whole row is clickable rather than just the
   words. The parent ul is a horizontal flex row, so both of those have to be
   said again here or the items inherit centring and sit ragged. */
nav.main .sub-menu{
	position:absolute;top:100%;left:0;margin:0;padding:7px;
	min-width:232px;max-width:300px;
	background:var(--surface);border:1px solid var(--line);border-radius:10px;
	box-shadow:0 18px 40px -16px rgba(0,0,0,.35);
	display:none;flex-direction:column;align-items:stretch;gap:1px;
	z-index:70;text-align:left}
/* The 8px gap under the panel used to be real space, and the dropdown closed
   when the pointer crossed it. It is padding on the parent now, so the pointer
   never leaves the item on its way down. */
nav.main .menu-item-has-children{padding-bottom:8px;margin-bottom:-8px}
nav.main li:hover > .sub-menu,nav.main li:focus-within > .sub-menu{display:flex}
nav.main .sub-menu li{width:100%;flex:0 0 auto}
nav.main .sub-menu a{display:block;width:100%;font-size:.85rem;font-weight:600;
	padding:10px 12px;white-space:nowrap;border-radius:6px;text-align:left}
nav.main .sub-menu .current_page_item > a,
nav.main .sub-menu .current-menu-item > a{color:var(--field);background:var(--surface-2)}
@media (prefers-reduced-motion:reduce){nav.main .menu-item-has-children > a::after{transition:none}}

.navtools{flex:0 0 auto;display:flex;gap:8px;align-items:center;margin-left:auto}
.themebtn{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
	background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:99px;
	padding:7px 12px;cursor:pointer;white-space:nowrap}
.themebtn:hover{color:var(--ink);border-color:var(--ink)}
.navtools .btn{white-space:nowrap;padding:11px 18px;font-size:.82rem}

.burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;
	background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--ink);
	flex:0 0 auto}
.burger svg{width:20px;height:20px}
.burger .x{display:none}
.burger[aria-expanded="true"] .x{display:block}
.burger[aria-expanded="true"] .m{display:none}

#mobilenav{display:none;border-top:1px solid var(--line);background:var(--paper);
	padding-bottom:18px;max-height:calc(100vh - 84px);overflow-y:auto}
#mobilenav.open{display:block}
#mobilenav ul{list-style:none;margin:0;padding:6px 0}
#mobilenav a{display:block;padding:14px 2px;font-family:"Archivo",sans-serif;font-weight:600;
	font-size:1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
#mobilenav a:hover{color:var(--field)}
/* On a phone there is no hover, so the children are simply always visible,
   indented under their parent rather than hidden behind a tap. */
#mobilenav .sub-menu{margin:0 0 4px;padding:0 0 0 14px;border-left:2px solid var(--line)}
#mobilenav .sub-menu a{padding:11px 2px;font-weight:500;font-size:.93rem;color:var(--muted);border-bottom:0}
#mobilenav .sub-menu a:hover{color:var(--field)}
#mobilenav .sub-menu li:last-child > a{border-bottom:0}
#mobilenav .menu-item-has-children > a{border-bottom:0;padding-bottom:6px}
.mobcta{padding:18px 0 4px;display:flex;flex-direction:column;gap:10px}
.navnote{padding:14px 0;font-family:"Archivo",sans-serif;font-size:.82rem;color:var(--muted)}

/* The desktop menu hides rather than wraps. Grouping the pages under About,
   Our Work, Impact and Get Involved took the row from seven long items to six
   short ones, about 480px, so the menu now survives to 1000px instead of the
   1180px the flat list needed. */
@media (max-width:1000px){
	nav.main{display:none}
	.burger{display:flex}
	.navtools{margin-left:auto}
}
@media (max-width:720px){
	.navrow{gap:9px;padding:10px 0;min-height:64px}
	.brand img,.brand .custom-logo,.custom-logo-link img{max-height:38px !important;max-width:160px !important}
	.themebtn{display:none}
	.navtools .btn{padding:10px 14px;font-size:.78rem}
}
@media (max-width:420px){
	.brand img,.brand .custom-logo,.custom-logo-link img{max-height:32px !important;max-width:130px !important}
	.navtools .btn{padding:9px 11px;font-size:.74rem}
}

/* ========================= layout ========================= */

section{padding:clamp(46px,6vw,76px) 0}
.sechead{display:flex;flex-direction:column;gap:11px;margin-bottom:clamp(22px,3vw,32px);max-width:64ch}
.sechead.centered{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.grid{display:grid;gap:17px}
.g2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(222px,1fr))}
.split2,.splitgrid,.founder{display:grid;gap:30px;grid-template-columns:1fr}
@media (min-width:920px){
	.split2{grid-template-columns:1fr 1fr;gap:50px;align-items:start}
	.herogrid{grid-template-columns:1.02fr .98fr;gap:50px}
}
@media (min-width:880px){
	.splitgrid{grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}
	.founder{grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center}
}

/* ========================= hero and bands ========================= */

.hero{padding:clamp(40px,6vw,68px) 0 0}
.herogrid{display:grid;gap:32px;grid-template-columns:1fr;align-items:center}
.eyebrow-rule{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.eyebrow-rule svg{flex:1;height:10px;color:var(--field);min-width:40px}
.heroimg{position:relative;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);margin:0}
.heroimg img{width:100%;height:clamp(260px,46vw,470px);object-fit:cover}
.heroimg figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 15px 12px;
	background:linear-gradient(transparent,rgba(2,52,31,.88));color:#EAF2EC;
	font-family:"Archivo",sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}

.phero{background:var(--band);color:var(--band-ink)}
.phero .wrap{padding-top:clamp(38px,5.5vw,64px);padding-bottom:clamp(30px,4vw,44px)}
.phero .label{color:var(--band-muted)}
.phero h1{margin-bottom:12px}
.phero p{color:var(--band-muted);max-width:62ch;margin:0}
.phero.band .wrap{padding-bottom:0}
.crumb{display:flex;gap:8px;align-items:center;margin-bottom:14px;font-family:"Archivo",sans-serif;
	font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted);flex-wrap:wrap}
.crumb a{color:var(--band-muted);text-decoration:none}
.crumb a:hover{color:var(--band-ink)}
.horizon{display:block;width:100%;height:38px}

.bigstat{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin:12px 0 26px}
.bigstat .n{font-weight:800;font-size:clamp(3rem,11vw,7rem);letter-spacing:-.05em;line-height:.88;
	color:var(--big-n);font-variant-numeric:tabular-nums}
.bigstat .t{font-weight:700;font-size:clamp(.98rem,2.2vw,1.3rem);letter-spacing:-.01em;max-width:20ch}
.substats{display:grid;gap:1px;background:var(--band-line);border-top:1px solid var(--band-line);
	grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}
.substat{background:var(--band);padding:19px 17px 25px;display:flex;flex-direction:column;gap:3px}
.substat .n{font-weight:800;font-size:1.8rem;letter-spacing:-.035em;line-height:1;color:#7FE3AC;
	font-variant-numeric:tabular-nums}
.substat .t{font-weight:600;font-size:.86rem}
.substat .s{font-size:.81rem;color:var(--band-muted);line-height:1.4}

/* ========================= components ========================= */

.pill{display:inline-flex;align-items:center;gap:6px;font-family:"Archivo",sans-serif;font-size:10px;
	font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding:4px 9px;border-radius:99px}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.att{background:var(--attention-soft);color:var(--attention)}
.pill.neu{background:var(--surface-2);color:var(--muted)}
.pillrow{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.metaline{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:10.5px;font-weight:600;
	letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pnum{font-family:"Archivo",sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;
	text-transform:uppercase;color:var(--field)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:19px 20px;
	box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px;height:100%}
.card p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}
.card > .btn{margin-top:auto;align-self:flex-start}

.cardimg{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;
	box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.cardimg img{width:100%;height:170px;object-fit:cover}
.cardimg .cb{padding:17px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.cardimg p,.cardimg .p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5;display:block}
.cardimg .h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.015em;line-height:1.28}
.cardimg .cb > .arrowlink{margin-top:auto;padding-top:4px}
a.cardimg.tile,a.tile{transition:border-color .15s ease,transform .15s ease}
a.tile:hover{border-color:var(--field);transform:translateY(-2px)}
a.tile:hover .h3,a.tile:hover h3,a.tile:hover .v{color:var(--field)}

.case{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.casegrid{display:grid;grid-template-columns:1fr}
.case img{width:100%;height:100%;min-height:250px;max-height:420px;object-fit:cover}
.casebody{padding:24px;display:flex;flex-direction:column;gap:12px}
@media (min-width:860px){.casegrid{grid-template-columns:1.05fr 1fr}.casebody{padding:28px}}
@media (max-width:860px){.case img{max-height:300px}}

figure.framed{margin:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
figure.framed img{width:100%;height:clamp(230px,32vw,340px);object-fit:cover}

.rows{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}
.rows > *{background:var(--surface);padding:17px 19px}
.rows > a{display:grid;text-decoration:none;color:inherit}
a.tilerow:hover{background:var(--surface-2)}
a.tilerow:hover .h4{color:var(--field)}
.tlrow,.nrow{display:grid;gap:5px 22px;grid-template-columns:1fr}
@media (min-width:680px){
	.tlrow{grid-template-columns:104px minmax(0,1fr);align-items:baseline}
	.nrow{grid-template-columns:132px minmax(0,1fr);align-items:baseline}
}
.tlrow .yr{font-weight:800;font-size:1.25rem;letter-spacing:-.03em;color:var(--field);font-variant-numeric:tabular-nums}
.tlrow p,.nrow p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}
.nrow .h4{font-family:"Archivo",sans-serif;font-weight:700;font-size:1rem;display:block}
.nrow .p{display:block;font-size:.9rem;margin-top:4px}

.kv{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;
	overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(184px,1fr))}
.kv .c{background:var(--surface);padding:17px;display:flex;flex-direction:column;gap:4px}
.kv .k{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.kv .v{font-weight:700;font-size:.98rem;letter-spacing:-.01em}
.kv .v a{color:inherit;text-decoration:none}
.kv .s{font-size:.82rem;color:var(--muted);line-height:1.4}
a.c.tile{text-decoration:none;color:inherit}
a.c.tile:hover{background:var(--surface-2)}

.stats{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;
	overflow:hidden;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.stat{background:var(--surface);padding:20px 18px;display:flex;flex-direction:column;gap:3px}
.stat .n{font-weight:800;font-size:1.85rem;letter-spacing:-.035em;line-height:1;color:var(--field);
	font-variant-numeric:tabular-nums}
.stat .t{font-weight:600;font-size:.87rem}
.stat .s{font-size:.82rem;color:var(--muted);line-height:1.4}

.quote{font-family:"Newsreader",serif;font-style:italic;font-size:clamp(1.2rem,2.6vw,1.65rem);
	line-height:1.4;border-left:3px solid var(--accent);padding-left:19px;margin:0 0 16px;max-width:38ch}
.quote.wide{max-width:none}
.vquote{font-family:"Newsreader",serif;font-style:italic;font-size:.95rem;line-height:1.5;
	border-left:2px solid var(--accent);padding-left:12px;margin:8px 0 0}

.note{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--field);
	border-radius:0 8px 8px 0;padding:17px 19px}
.note.warn{border-left-color:var(--accent)}
.note p:last-child{margin-bottom:0}
.note .label{display:block;margin-bottom:7px}

.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:540px;font-size:.9rem}
th,td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-family:"Archivo",sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
	color:var(--muted);background:var(--surface-2);font-weight:700}
tbody tr:last-child td{border-bottom:none}
td.num{font-variant-numeric:tabular-nums}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.fbtn{font-weight:700;font-size:.82rem;letter-spacing:.04em;padding:9px 15px;border:1.5px solid var(--line);
	border-radius:99px;background:var(--surface);color:var(--ink);cursor:pointer}
.fbtn:hover{border-color:var(--field);color:var(--field)}
.fbtn.on{background:var(--field);border-color:var(--field);color:#fff}
:root[data-theme="dark"] .fbtn.on{color:#04261A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fbtn.on{color:#04261A}}

/* ========================= people ========================= */

.lead{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;
	box-shadow:var(--shadow);max-width:520px;margin:0 auto}
.lead.narrowcard{max-width:400px}
.lead .ph{aspect-ratio:4/5;overflow:hidden;background:var(--surface-2)}
.lead .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.goldband{background:linear-gradient(100deg,#B9902F 0%,#E8C86B 22%,#FBEEBF 48%,#E2BE5E 72%,#A87C22 100%);
	color:#231703;padding:18px 22px;text-align:center}
.goldband .nm{font-weight:800;font-size:1.28rem;letter-spacing:-.02em;line-height:1.1}
.goldband .rl{font-weight:600;font-style:italic;font-size:.9rem;margin-top:3px}
.leadbio{max-width:660px;margin:26px auto 0}

.peoplegrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.person{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;
	box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}
.person .ph{aspect-ratio:1/1;overflow:hidden;background:var(--surface-2)}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.person .mono{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(150deg,var(--surface-2),var(--line));
	font-family:"Archivo",sans-serif;font-weight:800;font-size:2.4rem;letter-spacing:-.03em;color:var(--field)}
.person .pb{padding:15px 17px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.person .nm{font-weight:700;font-size:1rem;letter-spacing:-.015em;line-height:1.25}
.person .rl{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--field)}
.person p{margin:6px 0 0;font-size:.87rem;color:var(--muted);line-height:1.5}

/* ========================= gallery ========================= */

.gal{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.gal figure{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;
	background:var(--surface);box-shadow:var(--shadow)}
.gal img{width:100%;height:210px;object-fit:cover}
.gal figcaption{padding:12px 14px 14px;font-size:.86rem;color:var(--muted);line-height:1.45}
.gal figcaption b{display:block;font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;
	color:var(--ink);margin-bottom:3px;letter-spacing:-.01em}

/* ========================= reports and reader ========================= */

.report{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--line);
	border-radius:9px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
@media (max-width:560px){.report{grid-template-columns:1fr}}
.cover{background:linear-gradient(165deg,#044C31,#02341F);color:#EAF2EC;padding:20px 16px;
	display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:200px}
.cover .yr{font-weight:800;font-size:2.3rem;letter-spacing:-.045em;line-height:1}
.cover .kicker{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9DBBA8}
.cover.slot{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 9px,var(--surface) 9px,var(--surface) 18px);
	color:var(--muted);border-right:1px dashed var(--line)}
.cover.slot .kicker{color:var(--muted)}
.rbody{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.rstats{display:flex;flex-wrap:wrap;gap:6px 22px}
.rstats div{display:flex;flex-direction:column}
.rstats b{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.18rem;letter-spacing:-.025em;
	color:var(--field);font-variant-numeric:tabular-nums}
.rstats span{font-family:"Archivo",sans-serif;font-size:10px;font-weight:600;letter-spacing:.11em;
	text-transform:uppercase;color:var(--muted)}

.reader{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:20px}
.book{display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:720px;margin:0 auto}
@media (max-width:620px){.book{grid-template-columns:1fr}.book .pg.left{display:none}}
.pg{aspect-ratio:1/1.414;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.pg img{width:100%;height:100%;object-fit:contain;background:var(--surface)}
.pg.blank{visibility:hidden}
.pg.left{border-radius:4px 0 0 4px}
.pg.right{border-radius:0 4px 4px 0}
.readerbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:16px}
.rbtn{font-weight:700;font-size:.82rem;letter-spacing:.04em;background:var(--surface);color:var(--ink);
	border:1.5px solid var(--line);border-radius:6px;padding:9px 15px;cursor:pointer;text-decoration:none}
.rbtn:hover:not([disabled]){border-color:var(--field);color:var(--field)}
.rbtn[disabled]{opacity:.4;cursor:not-allowed}
.rcount{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
	font-variant-numeric:tabular-nums;min-width:130px;text-align:center}
.rail{display:flex;gap:6px;overflow-x:auto;padding:14px 2px 4px;margin-top:6px}
.rail button{flex:0 0 auto;width:46px;padding:0;border:1.5px solid var(--line);border-radius:3px;
	background:var(--surface);cursor:pointer;overflow:hidden;line-height:0}
.rail button[aria-current="true"]{border-color:var(--field);
	box-shadow:0 0 0 2px color-mix(in srgb,var(--field) 30%,transparent)}
.rail img{width:100%;aspect-ratio:1/1.414;object-fit:cover;object-position:top}

/* ========================= events and social ========================= */

.evt{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);
	padding:24px;display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:760px){.evt{grid-template-columns:1fr 250px;align-items:center;padding:28px}}
.evtmeta{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.evtmeta div{background:var(--surface-2);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.evtmeta .k{font-family:"Archivo",sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.15em;
	text-transform:uppercase;color:var(--muted)}
.evtmeta .v{font-family:"Archivo",sans-serif;font-weight:700;font-size:.92rem;letter-spacing:-.01em}

.socgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(226px,1fr))}
a.soc{display:flex;gap:14px;align-items:flex-start;text-decoration:none;background:var(--surface);
	border:1px solid var(--line);border-radius:9px;padding:17px 18px;box-shadow:var(--shadow);
	transition:border-color .15s ease,transform .15s ease}
a.soc:hover{border-color:var(--field);transform:translateY(-2px)}
a.soc .ic{flex:0 0 auto;width:40px;height:40px;border-radius:9px;display:flex;align-items:center;
	justify-content:center;background:var(--surface-2);color:var(--forest)}
:root[data-theme="dark"] a.soc .ic{color:var(--band-ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) a.soc .ic{color:var(--band-ink)}}
a.soc .ic svg{width:20px;height:20px}
a.soc .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
a.soc .hd{font-weight:700;font-size:.92rem;color:var(--ink)}
a.soc .hn{font-size:.8rem;font-weight:500;color:var(--field);overflow-wrap:anywhere}

/* ========================= forms ========================= */

form.fcard{display:flex;flex-direction:column;gap:15px;background:var(--surface);border:1px solid var(--line);
	border-radius:10px;padding:22px;box-shadow:var(--shadow)}
@media (min-width:560px){form.fcard{padding:26px}}
.field{display:flex;flex-direction:column;gap:6px}
.field > label,.fieldlabel{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:700;
	letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.req{color:var(--accent)}
.f2{display:grid;gap:15px;grid-template-columns:1fr}
@media (min-width:520px){.f2{grid-template-columns:1fr 1fr}}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],select,textarea{
	font-family:"Archivo",sans-serif;font-size:1rem;padding:12px 13px;border:1.5px solid var(--line);
	border-radius:6px;background:var(--surface);color:var(--ink);width:100%;
	transition:border-color .15s ease,box-shadow .15s ease}
textarea{min-height:96px;resize:vertical;line-height:1.5}
input:hover,select:hover,textarea:hover{border-color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--field);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--field) 22%,transparent)}
.checks{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.chk{display:flex;gap:9px;align-items:flex-start;font-family:"Archivo",sans-serif;font-size:.85rem;
	font-weight:500;color:var(--ink);border:1.5px solid var(--line);border-radius:6px;padding:10px 12px;cursor:pointer}
.chk:hover{border-color:var(--field)}
.chk input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--field);flex:0 0 auto}
.chk:has(input:checked){border-color:var(--field);background:var(--ok-soft)}
.err{border-color:var(--critical) !important}
.errmsg{font-family:"Archivo",sans-serif;font-size:12px;font-weight:600;color:var(--critical)}
.secure{display:flex;align-items:flex-start;gap:9px;font-family:"Archivo",sans-serif;font-size:11.5px;
	font-weight:600;letter-spacing:.04em;color:var(--muted);line-height:1.45}
.secure svg{width:15px;height:15px;flex:0 0 auto;margin-top:2px}
.amtrow{display:flex;flex-wrap:wrap;gap:8px}
.amt{font-family:"Archivo",sans-serif;font-weight:700;font-size:.88rem;padding:10px 14px;
	border:1.5px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);
	cursor:pointer;font-variant-numeric:tabular-nums}
.amt:hover{border-color:var(--field)}
.amt[aria-pressed="true"]{background:var(--field);border-color:var(--field);color:#fff}
:root[data-theme="dark"] .amt[aria-pressed="true"]{color:#04261A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .amt[aria-pressed="true"]{color:#04261A}}
.buys{background:var(--ok-soft);color:var(--ok);border-radius:6px;padding:11px 13px;
	font-family:"Archivo",sans-serif;font-size:.84rem;font-weight:600;line-height:1.4}
.give{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.give b{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.02rem;color:var(--field);
	flex:0 0 96px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.give span{font-size:.9rem;flex:1;min-width:170px}
.done{display:flex;flex-direction:column;gap:11px;align-items:flex-start;padding:8px 0 4px}
.donemark{width:42px;height:42px;border-radius:99px;background:var(--ok-soft);color:var(--ok);
	display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700}

/* ========================= footer ========================= */

footer.site{background:var(--band);color:var(--band-ink);padding:clamp(44px,6vw,68px) 0 30px}
footer.site .label{color:var(--band-muted)}
footer.site .mark{width:206px;margin-bottom:14px}
.fgrid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}
.fcol{display:flex;flex-direction:column;gap:9px}
.fcol a{color:var(--band-ink);text-decoration:none;font-family:"Archivo",sans-serif;font-size:.87rem;font-weight:500}
.fcol a:hover{color:#7FE3AC}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.fbot{border-top:1px solid var(--band-line);padding-top:19px;display:flex;flex-wrap:wrap;
	gap:8px 24px;color:var(--band-muted);font-family:"Archivo",sans-serif;font-size:11.5px;letter-spacing:.05em;
	align-items:center}
.fbot ul{list-style:none;margin:0;padding:0;display:flex;gap:8px 24px;flex-wrap:wrap}
.fbot a{color:var(--band-muted);text-decoration:none}
.fbot a:hover{color:var(--band-ink)}
/* The build credit sits at the far end of the bottom bar, quieter than the
   foundation's own lines, and wraps to its own row on a phone. */
.fbot .builtby{margin-left:auto;opacity:.8}
.fbot .builtby a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:760px){.fbot .builtby{margin-left:0;width:100%}}
.socrow{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}
.socrow a{width:40px;height:40px;border-radius:9px;border:1px solid var(--band-line);
	display:flex;align-items:center;justify-content:center;color:var(--band-ink)}
.socrow a:hover{border-color:var(--band-ink);background:rgba(255,255,255,.06)}
.socrow svg{width:19px;height:19px}

@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}


/* ==========================================================================
   Defensive resets.

   A site that previously ran another theme usually still has that theme's page
   builder or plugin stylesheets enqueued. Those set global rules on images,
   containers and lists that would otherwise reach inside this theme. These
   rules only ever target this theme's own containers, so nothing outside them
   is affected.
   ========================================================================== */

.ahvf header.top,
.ahvf #main,
.ahvf footer.site{
	max-width:none;
	float:none;
	position:relative
}
.ahvf header.top{position:sticky}

.ahvf .wrap{width:auto;float:none}

.ahvf #main img,
.ahvf footer.site img{max-width:100%;height:auto}

/* Page builders love to set fixed heights and absolute positioning on rows. */
.ahvf .grid,.ahvf .kv,.ahvf .rows,.ahvf .stats,.ahvf .gal,
.ahvf .peoplegrid,.ahvf .socgrid,.ahvf .substats{float:none;position:static}

/* Lists inside cards must not inherit a builder's list resets. */
.ahvf .prose ul{list-style:disc}
.ahvf .prose ol{list-style:decimal}
.ahvf nav.main ul,.ahvf #mobilenav ul,.ahvf .fcol ul,.ahvf .fbot ul{list-style:none}

/* Buttons: some builders set a global button background. */
.ahvf .btn{text-transform:none;letter-spacing:.04em;line-height:1.2}

/* The footer logo gets the same height discipline as the header one. */
footer.site .mark{width:auto;height:auto;max-height:56px;max-width:240px;object-fit:contain}

/* ============================================================
   Homepage proof sections
   Added in 1.0.2, when the homepage stopped being a table of
   contents and started carrying the argument itself.
   ============================================================ */

/* ---- the scale of the need ---- */
.probgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.prob{background:var(--surface);border:1px solid var(--line);border-radius:12px;
	padding:20px 20px 17px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow)}
.prob .n{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(1.7rem,3.4vw,2.3rem);
	line-height:1;letter-spacing:-.02em;color:var(--critical);font-variant-numeric:tabular-nums}
.prob .t{font-weight:600;font-size:.93rem;line-height:1.35;color:var(--ink)}
.prob .s{font-size:.82rem;color:var(--muted);line-height:1.45}
.prob .cite{margin-top:auto;padding-top:9px;font-size:.73rem;color:var(--muted);
	border-top:1px solid var(--line);line-height:1.4}
.prob .cite a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.prob .cite a:hover{color:var(--field)}
.prob .cite em{font-style:normal;opacity:.75}
.prob .cite em::before{content:"\00A0\00B7\00A0"}

/* the sourcing note under the impact band */
.bandnote{margin-top:18px;font-size:.82rem;color:var(--band-muted);max-width:62ch;line-height:1.5}

/* ---- before and after ---- */
.balist{display:flex;flex-direction:column;gap:26px}
.bapair{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;
	overflow:hidden;box-shadow:var(--shadow)}
.bashots{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line)}
.bashot{position:relative;background:var(--surface-2);min-height:0}
.bashot img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.balabel{position:absolute;left:12px;top:12px;
	font-family:"Archivo",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;
	text-transform:uppercase;padding:6px 11px;border-radius:99px;
	background:rgba(14,31,22,.82);color:#FFFFFF;backdrop-filter:blur(4px)}
.balabel.on{background:var(--brand);color:var(--brand-on)}
.bapair figcaption{padding:18px 20px 20px;display:flex;flex-direction:column;gap:7px}
.bahead{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.bahead h3{margin:0;font-size:1.12rem}
.bapair figcaption .s{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
.bapair figcaption p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.55;max-width:74ch}
@media (max-width:640px){
	.bashots{grid-template-columns:1fr}
	.bashot img{aspect-ratio:16/10}
}

/* ---- where we work ---- */
.mapgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;align-items:start}
.mapwrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;
	padding:16px;box-shadow:var(--shadow)}
.mapwrap svg{display:block;width:100%;height:auto}
.ngst{fill:var(--surface-2);stroke:var(--line);stroke-width:1;transition:fill .18s ease}
.ngst.on{fill:var(--brand)}
.ngst.hq{fill:var(--accent)}
@media (prefers-reduced-motion:reduce){.ngst{transition:none}}
@media (max-width:860px){
	.mapgrid{grid-template-columns:1fr}
}

/* ---- who we helped ---- */
.stories{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.story{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;
	overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.story img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.story .noimg{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;
	background:var(--surface-2);color:var(--muted);
	font-family:"Archivo",sans-serif;font-weight:800;font-size:2.2rem;letter-spacing:.04em}
.story figcaption{padding:18px 19px 20px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto}
.story blockquote{margin:0 0 4px;font-family:"Newsreader",serif;font-size:1.02rem;
	line-height:1.5;color:var(--ink)}
.story blockquote::before{content:"\201C"}
.story blockquote::after{content:"\201D"}
.story .nm{font-family:"Archivo",sans-serif;font-weight:700;font-size:.95rem;color:var(--ink)}
.story .s{font-size:.82rem;color:var(--muted)}
.story .ctx{margin-top:5px;padding-top:9px;border-top:1px solid var(--line);
	font-size:.79rem;color:var(--muted);line-height:1.45}
.emptynote{padding:16px 18px;border:1px dashed var(--line);border-radius:12px;
	background:var(--surface-2);color:var(--muted);font-size:.9rem;line-height:1.55;max-width:74ch}

/* ---- partners ---- */
.partners{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.partner{background:var(--surface);border:1px solid var(--line);border-radius:12px;
	padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;justify-content:flex-start}
.partner img{max-height:44px;width:auto;max-width:100%;object-fit:contain;align-self:flex-start}
.partner .pname{font-family:"Archivo",sans-serif;font-weight:700;font-size:.94rem;
	line-height:1.3;color:var(--ink)}
.partner .s{font-size:.79rem;color:var(--muted);line-height:1.45}

/* ---- where the money goes ---- */
.spendlist{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.spend{background:var(--surface);border:1px solid var(--line);border-radius:12px;
	padding:19px 20px 17px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow)}
.spend .tot{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.5rem;line-height:1.1;
	color:var(--field);font-variant-numeric:tabular-nums;letter-spacing:-.015em}
.spend .ttl{font-weight:600;font-size:.94rem;line-height:1.35;color:var(--ink)}
.spend .s{font-size:.82rem;color:var(--muted)}
.spend .cite{margin-top:auto;padding-top:9px;border-top:1px solid var(--line);
	font-size:.73rem;color:var(--muted)}

/* ---- priced gift levels ---- */
.giftcard{display:flex;flex-direction:column;gap:6px;padding:22px 20px 19px;
	background:var(--surface);border:1px solid var(--line);border-radius:12px;
	text-decoration:none;box-shadow:var(--shadow)}
.giftcard .gv{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.55rem;line-height:1.1;
	color:var(--field);letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.giftcard .ttl{font-family:"Archivo",sans-serif;font-weight:700;font-size:.98rem;color:var(--ink)}
.giftcard .p{font-size:.87rem;color:var(--muted);line-height:1.5}
.giftcard .arrowlink{margin-top:auto;padding-top:12px}
