:root {
  --ink: #1e1e1e;
  --cream: #fcf6e6;
  --white: #fff;
  --green: #00be90;
  --yellow: #efcb65;
  --orange: #e0684b;
  --blue: #4060af;
  --pink: #ddc8df;
  --line: rgba(30, 30, 30, .28);
  --display: "elza-condensed", "Arial Narrow", sans-serif;
  --body: "Merriweather", Georgia, serif;
  --mono: "DM Mono", monospace;
  --edge: max(24px, calc((100vw - 1440px) / 2 + 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font: 400 16px/1.58 var(--body); }
body.modal-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: -.025em; line-height: .88; text-transform: uppercase; }
h1 { margin-bottom: 28px; font-size: clamp(58px, 7.1vw, 132px); }
h2 { font-size: clamp(40px, 4.3vw, 76px); }
h3 { font-size: clamp(28px, 2.65vw, 46px); }
.eyebrow, .story-meta, .breadcrumbs, .action-card > p:first-child, .partner-card > p:first-of-type, .product-card > div > p, .listing-rows p, .article-page header > div > p:last-child { font: 500 11px/1.35 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.skip-link { position: fixed; z-index: 300; top: -70px; left: 18px; padding: 10px 14px; color: white; background: var(--ink); }
.skip-link:focus { top: 18px; }

/* Shared header */
.site-header { position: relative; z-index: 40; background: var(--white); }
.header-shell { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; align-items: center; gap: 0; height: 180px; padding: 0 var(--edge); background-color: var(--white); background-image: radial-gradient(circle at 22% 8%, rgba(30,30,30,.5) 0 1px, transparent 1.5px), radial-gradient(circle at 29% 19%, rgba(30,30,30,.26) 0 1px, transparent 1.4px), radial-gradient(circle at 12% 36%, rgba(30,30,30,.3) 0 1px, transparent 1.4px); background-size: 43px 51px, 67px 73px, 79px 61px; background-position: 0 0, 11px 4px, 23px -7px; }
.pwc-logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 78px; color: var(--ink); font: 900 23px/.67 var(--display); letter-spacing: -.035em; }
.pwc-logo-bars { display: flex; align-items: flex-end; gap: 7px; width: 75px; height: 70px; }
.pwc-logo-bars i { display: block; width: 18px; background: var(--ink); }
.pwc-logo-bars i:nth-child(1) { height: 46px; background: #ff5b21; }
.pwc-logo-bars i:nth-child(2) { height: 70px; }
.pwc-logo-bars i:nth-child(3) { height: 54px; background: var(--yellow); }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(17px, 1.8vw, 28px); min-width: 0; margin-left: clamp(80px, 8vw, 152px); }
.nav-group { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.nav-group > a { position: relative; font: 800 clamp(18px, 1.5vw, 23px)/1 var(--display); }
.nav-group > a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; content: ""; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-group > a:hover::after, .nav-group > a.active::after { transform: scaleX(1); }
.nav-toggle { display: grid; width: 24px; height: 24px; padding: 0; place-items: center; color: inherit; background: transparent; border: 0; }
.nav-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 3; }
.header-actions { display: flex; align-items: center; gap: 12px; margin-left: 26px; }
.icon-action { display: grid; width: 42px; height: 49px; padding: 0; place-items: center; color: var(--ink); background: transparent; border: 0; }
.icon-action svg { width: 37px; height: 37px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.header-shop, .header-donate { display: inline-flex; width: 104px; height: 49px; align-items: center; justify-content: center; font: 800 20px/1 var(--display); }
.header-shop { background: var(--yellow); }
.header-donate { color: white; background: var(--orange); }
.header-shop:hover, .header-donate:hover { color: white; background: var(--ink); }
.mobile-menu { display: none; }
.mega-panel { position: absolute; z-index: 5; top: 180px; right: 0; left: 0; color: var(--ink); background: var(--yellow); border-top: 1px solid var(--ink); opacity: 0; transform: translateY(-9px); transition: opacity .18s ease, transform .18s ease; }
.mega-panel.is-open { opacity: 1; transform: none; }
.mega-inner { display: grid; grid-template-columns: 1.3fr 1fr 1fr; max-width: 1440px; gap: 54px; padding: 48px 64px 54px; margin: auto; }
.mega-intro h2 { max-width: 450px; margin-bottom: 20px; font-size: clamp(36px, 3vw, 54px); }
.mega-explore { display: inline-flex; padding-bottom: 3px; font: 800 20px/1 var(--display); border-bottom: 2px solid var(--ink); }
.mega-links { display: flex; flex-direction: column; align-items: flex-start; padding-top: 28px; }
.mega-links a { width: 100%; padding: 11px 0; font: 800 26px/.95 var(--display); border-top: 1px solid rgba(30,30,30,.45); }
.mega-links a:hover { color: var(--orange); }
.mobile-panel { padding: 16px 24px 28px; color: var(--ink); background: var(--cream); border-top: 1px solid var(--ink); }
.mobile-panel details { border-bottom: 1px solid var(--line); }
.mobile-panel summary { display: flex; align-items: center; justify-content: space-between; padding: 17px 0; list-style: none; font: 800 28px/.9 var(--display); cursor: pointer; }
.mobile-panel summary::-webkit-details-marker { display: none; }
.mobile-panel summary svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 3; transition: transform .2s; }
.mobile-panel details[open] summary svg { transform: rotate(180deg); }
.mobile-panel details > div { display: flex; flex-direction: column; padding: 0 0 14px; }
.mobile-panel details a { padding: 8px 0; font: 18px/1.3 var(--body); }
.mobile-panel-utility { display: flex; gap: 14px; padding-top: 20px; font: 800 22px/1 var(--display); }

/* Buttons and small controls */
.black-button, .orange-button, .yellow-button, .outline-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 24px; font: 800 20px/1 var(--display); border: 0; transition: background .2s ease, color .2s ease, transform .2s ease; }
.black-button { color: white; background: var(--ink); }
.orange-button { color: white; background: var(--orange); }
.yellow-button { color: var(--ink); background: var(--yellow); }
.outline-button { color: var(--ink); background: transparent; border: 2px solid var(--ink); }
.outline-button--light { color: white; border-color: white; }
.black-button:hover, .orange-button:hover, .yellow-button:hover, .outline-button:hover { color: white; background: var(--blue); border-color: var(--blue); transform: translateY(-2px); }
.text-arrow { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 3px; font: 800 18px/1 var(--display); border-bottom: 1px solid currentColor; }
.text-arrow::after { content: "↗"; font-size: 18px; }
.round-arrow { display: grid; width: 46px; height: 46px; place-items: center; font-size: 0; border: 1px solid var(--ink); border-radius: 50%; }
.round-arrow::after { content: "→"; font: 25px/1 var(--display); }

/* Homepage */
.home-hero { position: relative; z-index: 1; display: flow-root; min-height: 504px; overflow: visible; background: white; }
.home-hero-copy { position: relative; z-index: 2; width: 32.5%; min-height: 454px; padding: 42px 34px 42px var(--edge); margin-top: 50px; background: var(--green); }
.home-hero-copy .eyebrow, .home-hero-copy .outline-button { display: none; }
.home-hero-copy h1 { width: min(1101px, 77vw); margin: 0; font-size: clamp(72px, 6.875vw, 118px); line-height: 1; }
.home-hero-copy h1 strong { color: white; font-weight: inherit; }
.home-hero-copy > p:not(.eyebrow) { max-width: 350px; margin: 14px 0 0; font-size: 17px; line-height: 28px; }
.home-hero-media { position: absolute; top: 0; right: 0; width: 67.5%; height: 547px; margin: 0; overflow: hidden; background: var(--cream); }
.home-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 57% 42%; }
.image-slot { position: relative; display: grid; width: 100%; height: 100%; min-height: inherit; overflow: hidden; place-items: center; color: rgba(255,255,255,.92); background: var(--blue); background-image: radial-gradient(circle at 78% 20%, var(--yellow) 0 10%, transparent 10.3%), radial-gradient(ellipse at 53% 66%, var(--cream) 0 24%, transparent 24.4%), repeating-conic-gradient(from 50deg at 50% 50%, var(--ink) 0deg 19deg, transparent 20deg 37deg); }
.image-slot::after { position: absolute; inset: 0; content: ""; background: linear-gradient(120deg, rgba(0,0,0,.1), transparent 55%); }
.image-slot span { position: relative; z-index: 1; padding: 8px 10px; color: var(--ink); background: var(--cream); font: 10px/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.image-slot--hero { background-color: #d8eee8; background-image: radial-gradient(circle at 82% 18%, var(--yellow) 0 11%, transparent 11.3%), radial-gradient(ellipse at 68% 74%, var(--cream) 0 25%, transparent 25.4%), linear-gradient(142deg, transparent 0 32%, var(--orange) 32.3% 51%, transparent 51.3%), linear-gradient(35deg, transparent 0 63%, var(--blue) 63.3% 79%, transparent 79.3%); }.image-slot--store { background-color: var(--green); }.image-slot--shop { background-color: var(--orange); }.image-slot--article { background-color: var(--blue); }.image-slot--story { background-color: var(--green); }
.home-pulse { position: relative; z-index: 0; display: grid; grid-template-columns: minmax(390px, .98fr) minmax(500px, 1.2fr); min-height: 328px; color: white; background: var(--ink); }
.monthly-block { padding: 51px 40px 48px var(--edge); }
.monthly-block > p { margin-bottom: 4px; color: var(--orange); font: 800 clamp(30px, 2.55vw, 48px)/.9 var(--display); text-transform: uppercase; }
.monthly-block h2 { max-width: 525px; margin: 0 0 26px; font-size: clamp(36px, 3.1vw, 60px); }
.goal-meter { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; max-width: 505px; margin-bottom: 24px; font: 12px/1 var(--mono); }
.goal-meter i { height: 12px; overflow: hidden; background: #555; border-radius: 9px; }
.goal-meter em { display: block; width: 92%; height: 100%; background: var(--blue); }
.pulse-stories { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 0; padding: 88px var(--edge) 35px 50px; }
.pulse-stories article { min-height: 148px; padding: 0 26px; border-left: 1px solid rgba(255,255,255,.32); }
.pulse-stories article > p { margin-bottom: 18px; color: var(--yellow); font: 12px/1 var(--mono); }
.pulse-stories h3 { font-size: clamp(26px, 2vw, 40px); }
.pulse-social { display: flex; grid-column: 1 / -1; gap: 9px; padding: 17px 26px; }
.pulse-social a { display: grid; width: 30px; height: 30px; place-items: center; font: 12px/1 var(--mono); border: 1px solid rgba(255,255,255,.7); border-radius: 50%; }
.action-showcase { padding: 100px var(--edge) 108px; overflow: hidden; background: var(--cream); }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 25px; padding-bottom: 16px; margin-bottom: 28px; border-bottom: 2px solid var(--ink); }
.section-title h2 { margin: 0; font-size: clamp(50px, 5.8vw, 94px); }
.carousel-button { width: 48px; height: 42px; margin-left: 8px; color: var(--ink); background: transparent; border: 1px solid var(--ink); font: 700 0/1 var(--display); }
.carousel-button::after { font: 28px/1 var(--display); }
.carousel-button:first-child::after { content: "←"; }
.carousel-button:last-child::after { content: "→"; }
.action-rail { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-left: 1px solid var(--ink); }
.action-rail::-webkit-scrollbar { display: none; }
.action-card { display: flex; flex: 0 0 min(33.333%, 420px); min-height: 410px; flex-direction: column; padding: 26px; scroll-snap-align: start; border: 1px solid var(--ink); border-left: 0; }
.action-card h3 { margin: auto 0 17px; font-size: clamp(34px, 3vw, 53px); }
.action-card > p:last-of-type { max-width: 290px; font-size: 14px; }
.action-card--orange { background: var(--orange); }.action-card--green { background: var(--green); }.action-card--yellow { background: var(--yellow); }.action-card--blue { color: white; background: var(--blue); }
.home-store { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 510px; color: white; background: var(--ink); }
.home-store > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 78px var(--edge) 78px 76px; }
.home-store h2 { margin-bottom: 20px; font-size: clamp(62px, 6.6vw, 110px); }
.home-store > div:last-child > p:not(.eyebrow) { max-width: 420px; }
.home-store-media { position: relative; overflow: hidden; min-height: 490px; }
.home-store-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.35), transparent); }
.home-store-media img { height: 100%; object-fit: cover; object-position: 70% center; filter: grayscale(1) contrast(1.1); }
.home-store-media .image-slot { min-height: 100%; }
.home-store-media span { position: absolute; z-index: 1; right: 7%; bottom: 9%; color: var(--yellow); font: 800 clamp(65px, 8vw, 130px)/.73 var(--display); text-align: right; }

/* Homepage image direction: reference-style photo carousel and editorial shop feature. */
.action-showcase { padding: 94px var(--edge) 105px; overflow: hidden; background: white; }
.action-showcase .section-title { padding-bottom: 0; margin-bottom: 30px; border-bottom: 0; }
.carousel-button { width: 40px; height: 40px; color: var(--green); border: 0; }
.action-rail { gap: 18px; border-left: 0; }
.action-card { flex: 0 0 min(30%, 372px); min-width: 300px; min-height: 0; padding: 0; border: 0; }
.action-card-image { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--cream); }
.action-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s ease; }
.action-card:hover .action-card-image img { transform: scale(1.04); }
.action-card-image span { position: absolute; right: 10px; bottom: 10px; padding: 6px 9px; color: var(--ink); background: white; font: 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.action-card > div { padding-top: 17px; }
.action-card > div > p { margin-bottom: 8px; color: var(--green); font: 11px/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.action-card h3 { min-height: 74px; margin: 0 0 17px; font-size: clamp(30px, 2.7vw, 48px); }
.action-card .text-arrow { font-size: 16px; }
.home-store { display: grid; grid-template-columns: minmax(300px, .88fr) 1.12fr; align-items: center; gap: clamp(48px, 8vw, 125px); min-height: 530px; padding: 82px var(--edge); color: var(--ink); background: var(--cream); }
.home-store > div:last-child { padding: 0; }
.home-store h2 { margin-bottom: 20px; font-size: clamp(58px, 6vw, 105px); }
.home-store > div:last-child > p:not(.eyebrow) { max-width: 510px; font-size: 17px; }
.home-store-media { aspect-ratio: 1 / 1; min-height: 0; overflow: hidden; background: var(--green); }
.home-store-media::after { display: none; }
.home-store-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: none; }
.store-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 9px; font: 800 20px/1 var(--display); border-bottom: 2px solid var(--ink); }
.store-link::after { content: "→"; color: var(--green); font-size: 24px; }

/* Page templates */
.page-banner { display: grid; grid-template-columns: 1.5fr .55fr; align-items: end; gap: 76px; min-height: 430px; padding: 81px var(--edge) 64px; }
.page-banner h1 { max-width: 1020px; margin: 20px 0 0; font-size: clamp(65px, 7.8vw, 139px); }
.page-banner > p { max-width: 400px; margin: 0 0 7px; font-size: 17px; }
.page-banner--cream { background: var(--cream); }.page-banner--blue { color: white; background: var(--blue); }.page-banner--green { background: var(--green); }.page-banner--yellow { background: var(--yellow); }.page-banner--orange { color: white; background: var(--orange); }
.breadcrumbs { display: flex; gap: 8px; opacity: .9; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.about-hero { display: grid; grid-template-columns: .68fr 1.32fr; align-items: center; min-height: 540px; padding-left: var(--edge); background: white; }
.about-hero > div:first-child { position: relative; z-index: 1; }
.about-hero h1 { margin-bottom: 37px; font-size: clamp(72px, 8vw, 145px); }
.about-hero p { max-width: 515px; font-size: 19px; }
.about-hero-art { position: relative; height: 460px; margin-top: 90px; overflow: hidden; background: var(--pink); }
.about-hero-art::before { position: absolute; top: -80px; right: -70px; width: 58%; height: 104%; content: ""; background: var(--blue); }
.about-hero-art span, .about-hero-art b { position: absolute; z-index: 1; display: block; width: 240px; height: 240px; background: var(--ink); border-radius: 50%; }
.about-hero-art span { right: 22%; bottom: -90px; }.about-hero-art b { top: 120px; right: -110px; }
.editorial-intro { display: grid; grid-template-columns: .68fr 1.32fr; gap: 66px; max-width: 1130px; padding: 75px 0 120px; margin: auto; }
.editorial-intro > p { font-size: 19px; }
.editorial-intro h2 { margin: 0 0 19px; font-size: 43px; }
.editorial-intro h2:not(:first-child) { margin-top: 55px; }
.editorial-intro div p { max-width: 640px; }
.feature-links { display: grid; grid-template-columns: repeat(2, 1fr); }
.feature-link { min-height: 390px; padding: 54px var(--edge); }
.feature-link:nth-child(odd) { padding-right: 15%; }.feature-link:nth-child(even) { padding-left: 15%; }
.feature-link h2 { max-width: 460px; margin-bottom: 14px; }.feature-link p { max-width: 360px; }
.feature-link--blue { color: white; background: var(--blue); }.feature-link--pink { background: var(--pink); }.feature-link--green { background: var(--green); }.feature-link--yellow { background: var(--yellow); }
.support-band { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 75px var(--edge); color: white; background: var(--ink); }
.support-band h2 { max-width: 770px; margin: 0; }.support-band .eyebrow { color: var(--yellow); }
.principle-grid, .action-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0 var(--edge); background: var(--cream); }
.principle-grid article, .action-options article { min-height: 365px; padding: 40px 28px 48px 0; border-top: 1px solid var(--ink); }
.principle-grid article:not(:first-child), .action-options article:not(:first-child) { padding-left: 28px; border-left: 1px solid var(--ink); }
.principle-grid span, .action-options span { font: 12px/1 var(--mono); }.principle-grid h2, .action-options h2 { margin: 70px 0 14px; font-size: 44px; }
.people-grid, .partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: 72px var(--edge) 106px; }
.person-card, .partner-card { min-height: 400px; padding: 24px; border-top: 1px solid var(--ink); border-right: 1px solid var(--ink); }
.person-card:last-child, .partner-card:nth-child(3n) { border-right: 0; }
.person-image { height: 220px; margin-bottom: 24px; background: linear-gradient(125deg, var(--yellow) 0 45%, var(--ink) 45% 55%, transparent 55%), var(--green); }
.person-card--blue .person-image { background-color: var(--blue); }.person-card--orange .person-image { background-color: var(--orange); }
.listing-page { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; padding: 95px var(--edge); }
.listing-page h2 { max-width: 480px; }.listing-rows article { padding: 24px 0; border-top: 1px solid var(--ink); }.listing-rows h3 { margin-bottom: 11px; }
.editorial-single { max-width: 960px; padding: 108px 24px 130px; margin: auto; }.editorial-single h2 { max-width: 800px; }.editorial-single > p { max-width: 690px; font-size: 19px; }
.resource-stack { margin-top: 50px; }.resource-stack a { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; font: 800 29px/.95 var(--display); border-top: 1px solid var(--ink); }.resource-stack span { font: 12px var(--mono); }
.work-statement { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; padding: 102px var(--edge); background: white; }.work-statement h2 { max-width: 910px; margin: 0; }
.work-rows { padding: 0 var(--edge) 105px; background: white; }.work-rows article { display: grid; grid-template-columns: .25fr 1.2fr .85fr 56px; align-items: start; gap: 26px; padding: 42px 0; border-top: 1px solid var(--ink); }.work-rows article > span { font: 14px var(--mono); }.work-rows h2 { margin: 8px 0 0; font-size: clamp(40px, 4vw, 68px); }.work-rows div > p { margin: 0; font: 12px var(--mono); }.work-rows > article > p { margin: 30px 0 0; font-size: 15px; }
.work-quote { padding: 120px max(24px, 20vw); text-align: center; color: white; background: var(--blue); }.work-quote blockquote { max-width: 1050px; margin: 0 auto 20px; font: 800 clamp(43px, 5.2vw, 88px)/.93 var(--display); text-transform: uppercase; }.work-quote p { font: 11px var(--mono); text-transform: uppercase; }
.partner-intro { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding: 90px var(--edge) 36px; }.partner-intro h2 { max-width: 730px; margin: 0; }.partner-intro label { display: grid; gap: 8px; min-width: 240px; font: 11px var(--mono); text-transform: uppercase; }.partner-intro select { padding: 12px; color: var(--ink); background: white; border: 1px solid var(--ink); }
.partner-card { min-height: 335px; }.partner-mark { display: grid; width: 68px; height: 68px; place-items: center; margin-bottom: 28px; font: 800 25px/1 var(--display); border-radius: 50%; }.partner-card--green .partner-mark { background: var(--green); }.partner-card--blue .partner-mark { color: white; background: var(--blue); }.partner-card--orange .partner-mark { background: var(--orange); }.partner-card--yellow .partner-mark { background: var(--yellow); }.partner-card--ink .partner-mark { color: white; background: var(--ink); }.partner-card h2 { margin-bottom: 10px; font-size: 43px; }.partner-card > p:last-of-type { font-size: 15px; }
.archive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 35px var(--edge); border-bottom: 1px solid var(--ink); }.filter-list { display: flex; flex-wrap: wrap; gap: 8px; }.filter-list button { padding: 8px 13px; background: transparent; border: 1px solid var(--ink); border-radius: 30px; font: 14px/1 var(--display); }.filter-list button.active, .filter-list button:hover { color: white; background: var(--ink); }.archive-search { display: inline-flex; gap: 8px; align-items: center; background: transparent; border: 0; font: 800 18px/1 var(--display); }.archive-search svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 58px 22px; padding: 72px var(--edge) 88px; }.story-card { display: flex; flex-direction: column; }.story-media { position: relative; height: 275px; overflow: hidden; margin-bottom: 19px; background: var(--yellow); }.story-media img { width: 100%; height: 100%; object-fit: cover; }.story-media .image-slot { min-height: 100%; }.story-media::before, .story-media::after { position: absolute; content: ""; }.story-media--green { background: repeating-linear-gradient(50deg, var(--green) 0 26px, var(--ink) 27px 46px); }.story-media--orange { background: var(--orange); }.story-media--orange::before { inset: 17% 15%; background: var(--green); clip-path: polygon(50% 0, 62% 34%, 100% 25%, 72% 51%, 88% 87%, 55% 68%, 24% 100%, 30% 61%, 0 48%, 35% 36%); }.story-media--blue { background: var(--blue); }.story-media--blue::before { width: 75%; height: 130%; top: -12%; left: 18%; background: var(--yellow); border-radius: 50%; }.story-media--ink { background: var(--ink); }.story-media--ink::before { width: 70%; height: 70%; top: 16%; left: 15%; background: var(--orange); border-radius: 50%; }.story-media--yellow::before { width: 110%; height: 45%; top: 33%; left: -5%; background: var(--blue); transform: rotate(-28deg); }.story-media span { position: absolute; right: 10px; bottom: 10px; z-index: 1; padding: 5px 8px; background: white; font: 10px var(--mono); text-transform: uppercase; }.story-card h3 { margin: 0 0 12px; font-size: clamp(30px, 2.7vw, 45px); }.story-card > p:not(.story-meta) { margin-bottom: 20px; font-size: 14px; }.story-card .text-arrow { margin-top: auto; align-self: flex-start; }.load-more { padding: 0 0 96px; text-align: center; }
.article-page header { display: grid; grid-template-columns: 1.1fr .9fr; gap: 8vw; align-items: center; padding: 86px max(24px, 13vw) 74px; background: white; }.article-page header h1 { margin: 18px 0 24px; font-size: clamp(62px, 6.2vw, 110px); }.article-lede { max-width: 620px; font-size: 20px; }.article-media { min-height: 420px; overflow: hidden; background: var(--green); }.article-media img { height: 100%; object-fit: cover; }.article-copy { max-width: 735px; padding: 90px 24px 105px; margin: auto; font-size: 18px; }.article-copy .lead { font-size: 28px; }.article-copy h2 { margin-top: 54px; font-size: 54px; }.article-copy blockquote { padding: 32px 0 32px 32px; margin: 44px -80px; font: 800 39px/1 var(--display); border-left: 4px solid var(--orange); }.article-more { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 48px var(--edge); color: white; background: var(--ink); }.article-more .eyebrow { grid-column: 1 / -1; color: var(--yellow); }.article-more a { padding-top: 14px; font: 800 31px/.95 var(--display); border-top: 1px solid rgba(255,255,255,.5); }
.article-media .image-slot { min-height: 100%; }
.contact-page { display: grid; grid-template-columns: 1fr .82fr; gap: 10vw; padding: 105px max(24px, 14vw); background: white; }.contact-page h1 { font-size: clamp(62px, 6vw, 110px); }.contact-page > div > p:not(.eyebrow) { max-width: 520px; font-size: 18px; }.contact-form, .donation-form, .modal form { display: flex; flex-direction: column; gap: 18px; }.contact-form label, .donation-form label, .modal label { display: flex; flex-direction: column; gap: 7px; font: 14px/1.2 var(--display); text-transform: uppercase; }.contact-form input, .contact-form select, .contact-form textarea, .donation-form input, .modal input, .option-label select { padding: 12px 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--ink); }.contact-form textarea { resize: vertical; }

/* Store */
.store-header { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 18px var(--edge); background: white; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }.store-header > div { display: flex; align-items: center; gap: 21px; }.store-brand { font: 800 24px/1 var(--display); }.store-header button { padding: 0; background: transparent; border: 0; font: 800 18px/1 var(--display); }.store-header button.active { text-decoration: underline; text-underline-offset: 4px; }.store-icon { display: grid; width: 26px; height: 26px; place-items: center; }.store-icon svg, .store-cart svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; }.store-cart { display: inline-flex; align-items: center; gap: 6px; font: 800 18px/1 var(--display); }
.shop-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 585px; color: white; background: var(--ink); }.shop-hero > div:first-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 74px var(--edge); }.shop-hero h1 { max-width: 570px; margin-bottom: 22px; font-size: clamp(68px, 7.2vw, 126px); }.shop-hero > div:first-child > p:not(.eyebrow) { max-width: 480px; }.shop-hero-media { position: relative; overflow: hidden; }.shop-hero-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(0,0,0,.2), transparent); }.shop-hero-media img { height: 100%; object-fit: cover; object-position: 70% center; }.shop-hero-media b { position: absolute; z-index: 1; right: 8%; bottom: 9%; color: var(--yellow); font: 800 clamp(72px, 8vw, 135px)/.72 var(--display); text-align: right; }
.shop-hero-media .image-slot { min-height: 100%; }
.store-products { padding: 92px var(--edge) 106px; }.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px 22px; }.product-card { display: grid; grid-template-rows: 270px auto auto; gap: 15px; }.product-art { position: relative; display: grid; overflow: hidden; place-items: center; min-height: 250px; color: var(--ink); background: var(--yellow); }.product-art > span { position: relative; z-index: 2; font: 800 clamp(46px, 5vw, 80px)/.72 var(--display); text-align: center; transform: rotate(-6deg); }.product-art::before, .product-art::after { position: absolute; content: ""; }.product-art--tee { background: var(--yellow); }.product-art--tee::before { width: 62%; height: 70%; background: var(--ink); clip-path: polygon(22% 0, 39% 9%, 61% 9%, 78% 0, 100% 28%, 82% 46%, 82% 100%, 18% 100%, 18% 46%, 0 28%); }.product-art--tote { background: var(--green); }.product-art--tote::before { width: 52%; height: 59%; border: 18px solid var(--cream); border-top: 0; }.product-art--tote::after { top: 20%; width: 28%; height: 28%; border: 16px solid var(--cream); border-bottom: 0; border-radius: 50% 50% 0 0; }.product-art--print { background: var(--orange); }.product-art--print::before { width: 58%; height: 70%; background: var(--cream); box-shadow: 18px 18px 0 var(--ink); }.product-art--sweatshirt { color: white; background: var(--blue); }.product-art--sweatshirt::before { width: 62%; height: 70%; background: var(--yellow); clip-path: polygon(22% 0, 39% 9%, 61% 9%, 78% 0, 100% 28%, 82% 46%, 82% 100%, 18% 100%, 18% 46%, 0 28%); }.product-art--cap { background: var(--green); }.product-art--cap::before { width: 53%; height: 34%; background: var(--ink); border-radius: 48% 48% 20% 20%; }.product-art--cap::after { right: 17%; bottom: 25%; width: 48%; height: 14%; background: var(--ink); border-radius: 0 100% 100% 0; transform: rotate(7deg); }.product-art--poster { background: var(--yellow); }.product-art--poster::before { width: 56%; height: 68%; background: var(--blue); box-shadow: 15px 15px 0 var(--orange); }.product-card h3 { margin: 4px 0 4px; font-size: 39px; }.product-card strong { font: 800 24px/1 var(--display); }.product-add { justify-self: start; padding: 0; background: transparent; border: 0; font: 800 19px/1 var(--display); text-decoration: underline; text-underline-offset: 5px; }
.store-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; padding: 76px var(--edge); color: white; background: var(--blue); }.store-principles article { display: grid; grid-template-columns: 48px 1fr; column-gap: 16px; }.store-principles span { grid-row: 1 / 3; font: 58px/.7 var(--display); color: var(--yellow); }.store-principles h3 { margin: 0 0 8px; font-size: 31px; }.store-principles p { margin: 0; font-size: 13px; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; align-items: center; padding: 88px max(24px, 11vw); background: white; }.product-detail > .product-art { min-height: 560px; }.product-detail h1 { margin: 24px 0 14px; font-size: clamp(66px, 6vw, 110px); }.product-price { display: block; margin-bottom: 22px; font: 800 33px/1 var(--display); }.product-detail > div:last-child > p { max-width: 460px; }.option-label { display: flex; max-width: 300px; flex-direction: column; gap: 7px; margin: 26px 0; font: 13px var(--display); text-transform: uppercase; }.product-detail .text-arrow { margin: 25px 0 0 20px; }
.cart-page { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8vw; padding: 90px max(24px, 12vw); background: white; }.cart-items article { display: grid; grid-template-columns: 135px 1fr auto; gap: 24px; align-items: center; padding: 20px 0; border-top: 1px solid var(--ink); }.cart-art { min-height: 130px; }.cart-items h2 { margin: 0 0 9px; font-size: 40px; }.quantity-button, .remove-item { margin-right: 8px; padding: 6px 10px; background: transparent; border: 1px solid var(--ink); }.remove-item { margin-left: 18px; font: 14px var(--display); }.cart-summary { height: max-content; padding: 28px; background: var(--cream); }.cart-summary h2 { margin-bottom: 30px; }.cart-summary p { display: flex; justify-content: space-between; }.empty-cart { grid-column: 1 / -1; min-height: 220px; text-align: center; }

/* Donation, notices, dialogs */
.donation-page { display: grid; grid-template-columns: .9fr .7fr; gap: 10vw; padding: 102px max(24px, 14vw); background: white; }.donation-page h2 { max-width: 570px; }.donation-page > div > p:not(.eyebrow) { max-width: 530px; }.donation-form { padding: 29px; background: var(--cream); }.amount-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }.amount-picker button { min-height: 54px; color: var(--ink); background: white; border: 1px solid var(--ink); font: 800 24px/1 var(--display); }.amount-picker button.selected, .amount-picker button:hover { color: white; background: var(--blue); }
.donation-toast { position: fixed; z-index: 90; bottom: 30px; left: 24px; display: grid; grid-template-columns: minmax(0, 1fr) 137px 14px; gap: 8px; align-items: center; width: min(360px, calc(100vw - 48px)); min-height: 78px; padding: 11px 11px 11px 12px; color: white; background: var(--ink); border: 1px solid rgba(255,255,255,.82); box-shadow: none; animation: toast-in .3s ease both; }.donation-toast strong { display: block; font: 800 18px/1 var(--display); white-space: nowrap; }.donation-toast strong span { font-family: sans-serif; }.donation-toast p { margin: 4px 0 0; overflow: hidden; font: 11px/1.15 var(--body); text-overflow: ellipsis; white-space: nowrap; }.toast-donate { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 11px; color: white; background: var(--orange); font: 800 18px/1 var(--display); }.donation-toast button { align-self: start; padding: 0; color: white; background: transparent; border: 0; font: 22px/.7 var(--display); opacity: .9; }.donation-toast.is-leaving { animation: toast-out .26s ease both; }
@keyframes toast-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes toast-out { to { opacity: 0; transform: translateY(10px); } }
.site-toast { position: fixed; z-index: 200; right: 22px; bottom: 22px; max-width: 390px; padding: 15px 18px; color: white; background: var(--blue); box-shadow: 8px 8px 0 var(--yellow); font-size: 13px; opacity: 0; transform: translateY(12px); transition: .2s ease; }.site-toast.is-visible { opacity: 1; transform: none; }
.cookie-notice { position: fixed; z-index: 120; right: 22px; bottom: 22px; width: min(510px, calc(100vw - 44px)); padding: 28px; color: var(--ink); background: white; box-shadow: 0 8px 30px rgba(0,0,0,.16); }.cookie-notice h2 { margin-bottom: 14px; font-size: 34px; }.cookie-notice p { font-size: 14px; }.cookie-notice > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }.cookie-outline, .blue-button { min-height: 46px; padding: 0 14px; background: white; border: 1px solid var(--blue); color: var(--blue); font: 800 18px/1 var(--display); }.blue-button { color: white; background: var(--blue); }
.modal-layer { position: fixed; z-index: 110; inset: 0; pointer-events: none; }.modal-layer:not(:empty) { pointer-events: auto; }.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.65); backdrop-filter: blur(3px); }.modal { position: relative; width: min(570px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; padding: 54px; margin: min(14vh, 118px) auto; color: var(--ink); background: var(--cream); box-shadow: 16px 16px 0 var(--yellow); }.modal h2 { margin-bottom: 20px; }.modal-close { position: absolute; top: 10px; right: 10px; display: grid; width: 38px; height: 38px; place-items: center; background: transparent; border: 0; }.modal-close svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; }.modal-search { position: relative; }.modal-search input { width: 100%; padding-right: 46px; font-size: 22px; }.modal-search .icon-action { position: absolute; right: 0; bottom: 0; width: 43px; height: 45px; }.search-results { display: flex; flex-direction: column; margin-top: 24px; }.search-results a { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 16px 0; border-top: 1px solid var(--ink); }.search-results strong { font: 800 27px/.9 var(--display); }.search-results span { font: 10px var(--mono); text-transform: uppercase; }.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Footer */
.site-footer { color: white; background: var(--ink); }.signup-band { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 55px var(--edge); color: var(--ink); background: var(--yellow); }.signup-band h2 { margin: 0 0 8px; }.signup-band p { margin: 0; }.footer-main { display: grid; grid-template-columns: .85fr .8fr .66fr; gap: 65px; padding: 70px var(--edge); }.footer-brand .pwc-logo { color: white; }.pwc-logo--footer .pwc-logo-bars i:nth-child(2) { background: white; }.footer-brand > p { max-width: 355px; margin: 32px 0 0; font-size: 17px; }.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }.footer-links h3, .footer-donate h3 { margin: 0 0 18px; font-size: 28px; }.footer-links div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }.footer-links a { font: 800 19px/1.1 var(--display); }.footer-donate { align-self: start; padding: 24px; color: var(--ink); background: var(--orange); }.footer-donate h3 { font-size: 41px; }.footer-donate-link { display: inline-flex; padding-bottom: 4px; font: 800 21px/1 var(--display); border-bottom: 2px solid currentColor; }.footer-legal { display: flex; justify-content: space-between; gap: 30px; padding: 20px var(--edge); color: rgba(255,255,255,.77); border-top: 1px solid rgba(255,255,255,.35); font: 10px/1.4 var(--mono); text-transform: uppercase; }.footer-legal > span:last-child { display: flex; gap: 15px; }.footer-legal a { text-decoration: underline; text-underline-offset: 3px; }
.not-found { min-height: 65vh; padding: 135px var(--edge); text-align: center; }

/* Responsive */
@media (min-width: 1051px) and (max-width: 1320px) {
  .header-shell { grid-template-columns: 62px minmax(0, 1fr) auto; height: 120px; padding: 0 36px; background-image: none; }
  .pwc-logo { width: 62px; gap: 6px; font-size: 18px; }.pwc-logo-bars { width: 60px; height: 55px; gap: 5px; }.pwc-logo-bars i { width: 14px; }.pwc-logo-bars i:nth-child(1) { height: 36px; }.pwc-logo-bars i:nth-child(2) { height: 55px; }.pwc-logo-bars i:nth-child(3) { height: 43px; }
  .primary-nav { display: flex; gap: 13px; margin-left: clamp(50px, 5vw, 76px); }.nav-group { gap: 4px; }.nav-group > a { font-size: clamp(16px, 1.55vw, 19px); }.nav-toggle { width: 18px; height: 18px; }.nav-toggle svg { width: 17px; height: 17px; }
  .header-actions { gap: 8px; margin-left: 16px; }.icon-action { width: 34px; height: 44px; }.icon-action svg { width: 31px; height: 31px; }.header-shop, .header-donate { width: 88px; height: 44px; font-size: 18px; }.mobile-menu { display: none; }.mega-panel { top: 120px; }
}

@media (max-width: 1050px) {
  .header-shell { height: 96px; grid-template-columns: 50px minmax(0, 1fr); padding: 8px 18px; background-image: none; }
  .pwc-logo { width: 50px; gap: 4px; font-size: 13px; }.pwc-logo-bars { width: 50px; height: 42px; gap: 4px; }.pwc-logo-bars i { width: 12px; }.pwc-logo-bars i:nth-child(1) { height: 27px; }.pwc-logo-bars i:nth-child(2) { height: 42px; }.pwc-logo-bars i:nth-child(3) { height: 32px; }
  .primary-nav, .search-action { display: none; }.header-actions { grid-column: 2; justify-self: end; gap: 7px; margin-left: 0; }.header-shop, .header-donate { width: 64px; height: 42px; font-size: 16px; }.header-donate { width: 76px; }.mobile-menu { display: grid; width: 34px; height: 42px; }.mobile-menu svg { width: 29px; height: 29px; }.mega-panel { display: none; }
  .mobile-panel { position: absolute; z-index: 60; top: 100%; right: 0; left: 0; max-height: calc(100svh - 96px); padding: 0 18px 22px; overflow-y: auto; background: var(--cream); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); box-shadow: 0 16px 32px rgba(30,30,30,.16); }
  .mobile-panel summary { min-height: 57px; padding: 18px 0; font-size: 25px; }.mobile-panel details > div { padding-bottom: 16px; }.mobile-panel-utility { display: block; padding: 18px 0 0; }.mobile-panel-utility a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 14px; color: white; background: var(--ink); font: 800 17px/1 var(--display); }
  .home-hero-copy h1 { width: min(860px, 74vw); }.home-pulse { grid-template-columns: 1fr 1fr; }.monthly-block { padding-left: 48px; }.pulse-stories { padding-right: 48px; }.home-store > div:last-child { padding-right: 48px; }.page-banner, .about-hero, .feature-link, .support-band, .signup-band, .footer-main, .footer-legal { --edge: 48px; }
}

@media (max-width: 900px) {
  :root { --edge: 24px; }
  .home-hero { grid-template-columns: 1fr; }.home-hero-media { grid-row: 1; min-height: 390px; }.home-hero-copy { grid-row: 2; padding: 37px 24px 62px; }.home-hero-copy h1 { width: auto; font-size: clamp(54px, 13.2vw, 92px); }.home-hero-copy > p:not(.eyebrow) { max-width: 500px; font-size: 16px; }
  .home-pulse { grid-template-columns: 1fr; }.monthly-block { padding: 48px 24px; }.pulse-stories { padding: 44px 24px; }.pulse-stories article { padding-left: 0; border-left: 0; }.pulse-social { padding-left: 0; }
  .action-showcase { padding: 63px 24px; }.action-card { flex-basis: min(80vw, 390px); }.home-store { grid-template-columns: 1fr; }.home-store-media { min-height: 340px; }.home-store > div:last-child { padding: 58px 24px; }
  .page-banner { grid-template-columns: 1fr; gap: 26px; min-height: 0; padding: 64px 24px; }.page-banner > p { max-width: 540px; }.about-hero { grid-template-columns: 1fr; padding: 62px 24px 0; }.about-hero-art { height: 310px; margin-top: 36px; }.editorial-intro, .work-statement, .listing-page, .contact-page, .donation-page, .product-detail, .cart-page { grid-template-columns: 1fr; gap: 45px; }.editorial-intro { padding: 65px 24px; }.feature-links { grid-template-columns: 1fr; }.feature-link, .feature-link:nth-child(n) { min-height: 300px; padding: 48px 24px; }.support-band { align-items: flex-start; flex-direction: column; padding: 55px 24px; }.principle-grid, .action-options { grid-template-columns: 1fr; padding: 0 24px; }.principle-grid article, .principle-grid article:not(:first-child), .action-options article, .action-options article:not(:first-child) { min-height: 0; padding: 36px 0; border-left: 0; }.principle-grid h2, .action-options h2 { margin-top: 42px; }.people-grid, .partner-grid, .story-grid, .product-grid { grid-template-columns: repeat(2, 1fr); padding-right: 24px; padding-left: 24px; }.person-card:nth-child(2n), .partner-card:nth-child(2n) { border-right: 0; }.person-card:nth-child(3n), .partner-card:nth-child(3n) { border-right: 1px solid var(--ink); }.work-rows { padding: 0 24px 70px; }.work-rows article { grid-template-columns: 52px 1fr 48px; gap: 18px; }.work-rows article > p { grid-column: 2 / 4; margin: 0; }.work-quote { padding: 78px 24px; }.partner-intro, .archive-toolbar, .store-header { align-items: flex-start; flex-direction: column; padding-right: 24px; padding-left: 24px; }.article-page header { grid-template-columns: 1fr; padding: 65px 24px; }.article-copy { padding: 65px 24px; }.article-copy blockquote { margin: 40px 0; }.article-more { grid-template-columns: 1fr; padding: 42px 24px; }.article-more .eyebrow { grid-column: auto; }.shop-hero { grid-template-columns: 1fr; }.shop-hero > div:first-child { padding: 62px 24px; }.shop-hero-media { min-height: 360px; }.store-products { padding: 64px 24px; }.store-principles { grid-template-columns: 1fr; padding: 55px 24px; }.product-detail { padding: 64px 24px; }.product-detail > .product-art { min-height: 420px; }.cart-page { padding: 64px 24px; }.donation-page, .contact-page { padding: 65px 24px; }.footer-main { grid-template-columns: 1fr 1fr; padding: 58px 24px; }.footer-donate { grid-column: 1 / -1; }.footer-legal, .signup-band { padding-right: 24px; padding-left: 24px; }
}

@media (max-width: 560px) {
  body { font-size: 15px; }.header-shell { height: 96px; padding-right: 16px; padding-left: 16px; }.home-hero-media { min-height: 219px; }.home-hero-copy h1 { font-size: clamp(50px, 14vw, 72px); }.home-hero-copy > p:not(.eyebrow) { font-size: 15px; }.home-pulse { min-height: 0; }.pulse-stories { grid-template-columns: 1fr; gap: 20px; }.pulse-stories article { min-height: 0; }.section-title { align-items: flex-start; flex-direction: column; }.action-card { flex-basis: 84vw; min-height: 350px; }.home-store h2 { font-size: 65px; }.page-banner h1 { font-size: clamp(58px, 16vw, 90px); }.about-hero h1 { font-size: 78px; }.story-grid, .people-grid, .partner-grid, .product-grid { grid-template-columns: 1fr; }.person-card, .person-card:nth-child(n), .partner-card, .partner-card:nth-child(n) { border-right: 0; }.story-media { height: 255px; }.archive-toolbar { gap: 18px; }.filter-list { max-height: 106px; overflow: auto; }.shop-hero h1 { font-size: 71px; }.store-header > div:first-child { flex-wrap: wrap; gap: 13px; }.store-header > div:last-child { position: absolute; top: 141px; right: 24px; }.product-card { grid-template-rows: 250px auto auto; }.cart-items article { grid-template-columns: 92px 1fr; }.cart-items article > strong { grid-column: 2; }.cart-art { min-height: 92px; }.donation-toast { bottom: 14px; left: 14px; grid-template-columns: 1fr; width: calc(100vw - 28px); gap: 9px; min-height: 0; padding: 15px 45px 15px 16px; }.toast-donate { width: max-content; min-height: 42px; font-size: 19px; }.donation-toast button { position: absolute; top: 10px; right: 10px; }.cookie-notice { right: 14px; bottom: 14px; width: calc(100vw - 28px); padding: 22px; }.cookie-notice > div { flex-direction: column; }.modal { padding: 48px 24px 30px; }.signup-band { align-items: flex-start; flex-direction: column; }.footer-main, .footer-links { grid-template-columns: 1fr; }.footer-legal { flex-direction: column; }.footer-legal > span:last-child { flex-wrap: wrap; }.pwc-logo--footer { width: 78px; }.pwc-logo--footer .pwc-logo-bars { width: 75px; height: 70px; }.pwc-logo--footer .pwc-logo-bars i { width: 18px; }.pwc-logo--footer .pwc-logo-bars i:nth-child(1) { height: 46px; }.pwc-logo--footer .pwc-logo-bars i:nth-child(2) { height: 70px; }.pwc-logo--footer .pwc-logo-bars i:nth-child(3) { height: 54px; }
}

@media (max-width: 900px) {
  .home-hero { display: flex; min-height: 0; flex-direction: column; background: white; }
  .home-hero-media { position: relative; order: -1; width: 100%; height: 300px; min-height: 0; }
  .home-hero-media img { object-position: 52% 35%; }
  .home-hero-copy { width: 100%; min-height: 0; padding: 37px 24px 62px; margin: 0; }
  .home-hero-copy h1 { width: auto; }
  .hero-desktop-break { display: none; }
  .action-showcase { padding: 64px 24px 74px; }
  .action-card { flex-basis: min(82vw, 390px); min-width: min(82vw, 390px); }
  .action-card h3 { min-height: 0; font-size: 38px; }
  .home-store { grid-template-columns: 1fr; gap: 38px; min-height: 0; padding: 58px 24px; }
  .home-store-media { width: min(100%, 490px); }
  .home-store > div:last-child { padding: 0; }
}

@media (max-width: 560px) {
  .donation-toast { bottom: 14px; left: 14px; grid-template-columns: minmax(0, 1fr) 112px 14px; width: calc(100vw - 28px); min-height: 72px; gap: 7px; padding: 10px; }
  .donation-toast strong { font-size: 17px; }
  .donation-toast p { font-size: 10px; }
  .toast-donate { min-height: 35px; padding: 0 8px; font-size: 16px; }
  .donation-toast button { position: static; font-size: 20px; }
}

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