/* PACTPAN homepage: "Village Square" direction */

@font-face {
	font-family: "Bricolage Grotesque";
	src: url("fonts/bricolage-wght.woff2") format("woff2-variations"), url("fonts/bricolage-wght.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Bricolage Grotesque";
	src: url("fonts/bricolage-wght-ext.woff2") format("woff2-variations"), url("fonts/bricolage-wght-ext.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Figtree";
	src: url("fonts/figtree-wght.woff2") format("woff2-variations"), url("fonts/figtree-wght.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Figtree";
	src: url("fonts/figtree-wght-ext.woff2") format("woff2-variations"), url("fonts/figtree-wght-ext.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Figtree";
	src: url("fonts/figtree-wght-italic.woff2") format("woff2-variations"), url("fonts/figtree-wght-italic.woff2") format("woff2");
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
}

/* Tokens */
.pph {
	--pph-bg: #F3F3EE;
	--pph-surface: #FFFFFF;
	--pph-ink: #131815;
	--pph-night: #0F1B17;
	--pph-night-2: #16261F;
	--pph-accent: #F4B41A;
	--pph-accent-ink: #1B1505;
	--pph-muted: #5B625D;
	--pph-line: #D8DAD2;
	--pph-on-night: #EEF0EA;
	--pph-on-night-muted: #A9B3AC;
	--pph-display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;
	--pph-text: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--pph-r: 14px;
	--pph-gutter: clamp(20px, 4vw, 40px);
	--pph-max: 1240px;
	--pph-section: clamp(80px, 11vw, 160px);
	--pph-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Let the page run edge to edge inside Astra */
.pph-body #content > .ast-container,
.pph-body .site-content > .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block !important;
}
.pph-body #primary,
.pph-body .site-content #primary {
	margin: 0 !important;
	padding: 0 !important;
}

/* Scoped reset: one class of specificity, so it beats theme element rules while every component rule still wins */
:where(.pph) {
	display: block;
	background: var(--pph-bg);
	color: var(--pph-ink);
	font-family: var(--pph-text);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
.pph :where(*, *::before, *::after) { box-sizing: border-box; }
.pph :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, blockquote) {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: inherit;
	letter-spacing: normal;
	text-transform: none;
}
.pph :where(ul, ol, li) { list-style: none; }
.pph :where(li)::marker { content: none; }
.pph :where(a) { color: inherit; text-decoration: none; }
.pph :where(img) { display: block; max-width: 100%; height: auto; border: 0; }
.pph :where(a:focus-visible) { outline: 2px solid var(--pph-accent); outline-offset: 3px; border-radius: 4px; }

.pph-wrap {
	width: 100%;
	max-width: calc(var(--pph-max) + 2 * var(--pph-gutter));
	margin-inline: auto;
	padding-inline: var(--pph-gutter);
}

/* Type */
.pph .pph-h2 {
	font-family: var(--pph-display);
	font-weight: 800;
	font-size: clamp(2.1rem, 4.6vw, 3.9rem);
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: var(--pph-ink);
	font-variation-settings: "wdth" 90;
}
.pph .pph-h2--light { color: var(--pph-on-night); }
.pph .pph-body {
	font-size: clamp(1.02rem, 1.2vw, 1.14rem);
	line-height: 1.65;
	color: var(--pph-muted);
	max-width: 62ch;
}
.pph .pph-body--light { color: var(--pph-on-night-muted); }
.pph .pph-kicker {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pph-accent);
}
.pph .pph-meta {
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: var(--pph-muted);
}

/* Buttons and links */
.pph .pph-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
}
.pph .pph-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 999px;
	border: 1.5px solid transparent;
	font-family: var(--pph-text);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: transform .25s var(--pph-ease), background-color .25s var(--pph-ease), color .25s var(--pph-ease), border-color .25s var(--pph-ease);
}
.pph .pph-btn:active { transform: translateY(1px) scale(.98); }
.pph .pph-btn--primary { background: var(--pph-accent); color: var(--pph-accent-ink); }
.pph .pph-btn--primary:hover { background: #FFC53D; color: var(--pph-accent-ink); }
.pph .pph-btn--ink { background: var(--pph-night); color: #FFFFFF; }
.pph .pph-btn--ink:hover { background: var(--pph-night-2); color: #FFFFFF; }
.pph .pph-btn--outline { border-color: currentColor; color: var(--pph-ink); background: transparent; }
.pph .pph-btn--outline:hover { background: var(--pph-ink); color: var(--pph-bg); border-color: var(--pph-ink); }
.pph .pph-btn--ghost-light { border-color: rgba(255, 255, 255, .7); color: #FFFFFF; background: rgba(15, 27, 23, .25); }
.pph .pph-btn--ghost-light:hover { background: #FFFFFF; color: var(--pph-ink); border-color: #FFFFFF; }

.pph .pph-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 1rem;
	color: var(--pph-ink);
	border-bottom: 1.5px solid currentColor;
	padding-bottom: 3px;
}
.pph .pph-link--light { color: var(--pph-on-night); }
.pph .pph-link:hover { color: var(--pph-ink); border-bottom-color: var(--pph-accent); }
.pph .pph-link--light:hover { color: var(--pph-accent); }
.pph .pph-arrow { width: 18px; height: 18px; flex: none; transition: transform .25s var(--pph-ease); }
.pph a:hover .pph-arrow { transform: translateX(4px); }

/* Hero */
.pph .pph-hero {
	position: relative;
	min-height: min(88vh, 820px);
	display: flex;
	align-items: flex-end;
	color: #FFFFFF;
	background: var(--pph-night);
	isolation: isolate;
}
.pph .pph-hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.pph .pph-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.pph .pph-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 20, 16, .92) 0%, rgba(10, 20, 16, .72) 38%, rgba(10, 20, 16, .18) 75%, rgba(10, 20, 16, .05) 100%),
		linear-gradient(0deg, rgba(10, 20, 16, .75) 0%, rgba(10, 20, 16, 0) 45%);
}
.pph .pph-hero__inner {
	padding-top: clamp(120px, 16vh, 200px);
	padding-bottom: clamp(120px, 15vh, 170px);
}
.pph .pph-hero__title {
	font-family: var(--pph-display);
	font-weight: 800;
	font-size: clamp(2.7rem, 5.8vw, 5.4rem);
	line-height: .98;
	letter-spacing: -0.035em;
	color: #FFFFFF;
	max-width: 18ch;
	font-variation-settings: "wdth" 88;
}
.pph .pph-hero__title span { color: var(--pph-accent); }
.pph .pph-hero__lede {
	margin-top: clamp(20px, 2.4vw, 30px);
	max-width: 44ch;
	font-size: clamp(1.05rem, 1.35vw, 1.25rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, .86);
}
.pph .pph-hero .pph-actions { margin-top: clamp(28px, 3vw, 40px); }

/* Figures: panel that straddles the hero edge */
.pph .pph-figures { position: relative; z-index: 2; margin-top: -76px; }
.pph .pph-figures__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: var(--pph-surface);
	border-radius: var(--pph-r);
	overflow: hidden;
	border: 1px solid var(--pph-line);
}
.pph .pph-figure {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	gap: 6px;
	padding: clamp(22px, 3vw, 38px) clamp(20px, 2.6vw, 34px);
	border-left: 1px solid var(--pph-line);
}
.pph .pph-figure:first-child { border-left: 0; }
.pph .pph-figure dd {
	margin: 0;
	font-family: var(--pph-display);
	font-weight: 800;
	font-size: clamp(2.4rem, 4.6vw, 4rem);
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--pph-ink);
}
.pph .pph-figure:nth-child(1) dd { color: var(--pph-night); }
.pph .pph-figure dt { margin: 0; font-size: .95rem; font-weight: 600; color: var(--pph-muted); }

/* About */
.pph .pph-about { padding-top: var(--pph-section); padding-bottom: calc(var(--pph-section) * .8); }
.pph .pph-about__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}
.pph .pph-about__copy { display: grid; gap: 26px; justify-items: start; }
.pph .pph-about__media {
	position: relative;
	margin-right: calc(-1 * max(var(--pph-gutter), (100vw - var(--pph-max)) / 2));
}
.pph .pph-about__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--pph-r) 0 0 var(--pph-r);
}
.pph .pph-pillars {
	margin-top: clamp(56px, 7vw, 100px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 clamp(20px, 3vw, 40px);
}
.pph .pph-pillars li { border-top: 2px solid var(--pph-ink); padding-top: 22px; }
.pph .pph-pillars h3 {
	font-family: var(--pph-display);
	font-weight: 700;
	font-size: 1.32rem;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--pph-ink);
	margin-bottom: 10px;
}
.pph .pph-pillars p { font-size: .98rem; line-height: 1.55; color: var(--pph-muted); }

/* Community */
.pph .pph-community {
	background: var(--pph-night);
	color: var(--pph-on-night);
	padding-block: var(--pph-section);
	position: relative;
	overflow: hidden;
}
.pph .pph-community__grid {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
}
.pph .pph-community__copy { display: grid; gap: 24px; justify-items: start; }
.pph .pph-community .pph-h2 { font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: .98; }
.pph .pph-community .pph-h2 span { color: var(--pph-accent); }
.pph .pph-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.pph .pph-tags li {
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	padding: 11px 16px;
	border-radius: 999px;
	border: 1px solid rgba(238, 240, 234, .22);
	color: var(--pph-on-night);
	background: rgba(238, 240, 234, .04);
}
.pph .pph-community .pph-actions { margin-top: 8px; }
.pph .pph-note { font-size: .9rem; color: var(--pph-on-night-muted); }
.pph .pph-community__media { position: relative; padding-bottom: 70px; }
.pph .pph-community__main .pph-community__img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 35% 50%;
	border-radius: var(--pph-r);
}
.pph .pph-community__inset {
	position: absolute;
	left: -18%;
	bottom: 0;
	width: 52%;
	border: 6px solid var(--pph-night);
	border-radius: calc(var(--pph-r) + 6px);
	overflow: hidden;
}
.pph .pph-community__inset .pph-community__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

/* Congress */
.pph .pph-congress {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	background: var(--pph-surface);
	min-height: 620px;
}
.pph .pph-congress__media { position: relative; overflow: hidden; }
.pph .pph-congress__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pph .pph-congress__copy {
	display: grid;
	gap: 24px;
	align-content: center;
	justify-items: start;
	padding: var(--pph-section) var(--pph-gutter) var(--pph-section) clamp(40px, 6vw, 96px);
	max-width: calc(var(--pph-max) / 2 + var(--pph-gutter) + 40px);
}
.pph .pph-congress__place { font-size: .95rem; font-weight: 700; color: var(--pph-muted); }
.pph .pph-congress .pph-h2 { max-width: 12ch; }
.pph .pph-big {
	display: block;
	font-size: 1.9em;
	line-height: .9;
	letter-spacing: -0.05em;
	color: var(--pph-night);
	-webkit-text-stroke: 0;
}
.pph .pph-big::after {
	content: "";
	display: inline-block;
	width: .16em;
	height: .16em;
	margin-left: .04em;
	border-radius: 50%;
	background: var(--pph-accent);
	vertical-align: baseline;
}

/* Explore / bento */
.pph .pph-explore { padding-block: var(--pph-section); }
.pph .pph-bento {
	margin-top: clamp(36px, 4vw, 56px);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(250px, auto);
	gap: 14px;
}
.pph .pph-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 18px;
	padding: 26px;
	border-radius: var(--pph-r);
	overflow: hidden;
	isolation: isolate;
	text-decoration: none;
	transition: transform .35s var(--pph-ease);
}
.pph .pph-tile:hover { transform: translateY(-3px); }
.pph .pph-tile--feature { grid-column: span 2; grid-row: span 2; padding: clamp(26px, 3vw, 40px); }
.pph .pph-tile__body { display: grid; gap: 8px; }
.pph .pph-tile__title {
	font-family: var(--pph-display);
	font-weight: 700;
	font-size: 1.45rem;
	line-height: 1.08;
	letter-spacing: -0.015em;
}
.pph .pph-tile--feature .pph-tile__title { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; max-width: 14ch; }
.pph .pph-tile__text { font-size: .96rem; line-height: 1.5; max-width: 40ch; }
.pph .pph-tile .pph-arrow { position: absolute; top: 24px; right: 24px; width: 24px; height: 24px; }
.pph .pph-tile--photo { color: #FFFFFF; background: var(--pph-night); }
.pph .pph-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .8s var(--pph-ease); }
.pph .pph-tile--photo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(0deg, rgba(10, 20, 16, .9) 0%, rgba(10, 20, 16, .45) 45%, rgba(10, 20, 16, .08) 100%);
}
.pph .pph-tile--photo:hover .pph-tile__img { transform: scale(1.04); }
.pph .pph-tile--photo .pph-tile__text { color: rgba(255, 255, 255, .82); }
.pph .pph-tile--night { background: var(--pph-night); color: var(--pph-on-night); }
.pph .pph-tile--night .pph-tile__text { color: var(--pph-on-night-muted); }
.pph .pph-tile--night .pph-arrow { color: var(--pph-accent); }
.pph .pph-tile--light { background: var(--pph-surface); color: var(--pph-ink); border: 1px solid var(--pph-line); }
.pph .pph-tile--light .pph-tile__text { color: var(--pph-muted); }
.pph .pph-tile--deep { background: #DFE4DB; color: var(--pph-ink); }
.pph .pph-tile--deep .pph-tile__text { color: #4A524C; }
.pph .pph-quick {
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	padding-top: 24px;
	border-top: 1px solid var(--pph-line);
}
.pph .pph-quick a {
	font-weight: 600;
	font-size: .98rem;
	color: var(--pph-ink);
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease;
}
.pph .pph-quick a:hover { border-bottom-color: var(--pph-accent); color: var(--pph-ink); }

/* News */
.pph .pph-news { background: var(--pph-surface); padding-block: var(--pph-section); }
.pph .pph-news__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: clamp(36px, 4vw, 56px);
}
.pph .pph-news__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}
.pph .pph-lead { display: grid; gap: 14px; }
.pph .pph-lead__media { display: block; border-radius: var(--pph-r); overflow: hidden; background: #E4E6DF; margin-bottom: 8px; }
.pph .pph-lead__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .8s var(--pph-ease); }
.pph .pph-lead__fallback { display: block; aspect-ratio: 16 / 9; background: var(--pph-night-2); }
.pph .pph-lead:hover .pph-lead__img { transform: scale(1.03); }
.pph .pph-lead__title {
	font-family: var(--pph-display);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--pph-ink);
}
.pph .pph-lead__title a:hover { color: var(--pph-ink); text-decoration: underline; text-decoration-color: var(--pph-accent); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.pph .pph-list { display: grid; }
.pph .pph-list li { border-top: 1px solid var(--pph-line); }
.pph .pph-list li:last-child { border-bottom: 1px solid var(--pph-line); }
.pph .pph-row {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	padding: 22px 0;
	color: var(--pph-ink);
}
.pph .pph-row__media { display: block; border-radius: 10px; overflow: hidden; background: #E4E6DF; aspect-ratio: 1 / 1; }
.pph .pph-row__img { width: 100%; height: 100%; object-fit: cover; }
.pph .pph-row__body { display: grid; gap: 6px; }
.pph .pph-row__title {
	font-family: var(--pph-display);
	font-weight: 700;
	font-size: 1.08rem;
	line-height: 1.22;
	letter-spacing: -0.005em;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pph .pph-row:hover .pph-row__title { color: var(--pph-ink); text-decoration: underline; text-decoration-color: var(--pph-accent); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Join */
.pph .pph-join { background: var(--pph-accent); color: var(--pph-accent-ink); padding-block: clamp(72px, 9vw, 128px); }
.pph .pph-join__inner {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: end;
}
.pph .pph-join__title {
	font-family: var(--pph-display);
	font-weight: 800;
	font-size: clamp(2.4rem, 5.4vw, 4.6rem);
	line-height: .98;
	letter-spacing: -0.035em;
	color: var(--pph-accent-ink);
	max-width: 13ch;
	font-variation-settings: "wdth" 88;
}
.pph .pph-join__side { display: grid; gap: 26px; }
.pph .pph-join .pph-body { color: #3A2E0C; }
.pph .pph-join .pph-btn--outline { color: var(--pph-accent-ink); }
.pph .pph-join .pph-btn--outline:hover { background: var(--pph-accent-ink); color: var(--pph-accent); border-color: var(--pph-accent-ink); }

/* Reveal (only when JS runs and motion is allowed) */
@media (prefers-reduced-motion: no-preference) {
	.pph-js .pph .pph-reveal {
		opacity: 0;
		transform: translateY(22px);
		transition: opacity .8s var(--pph-ease), transform .8s var(--pph-ease);
	}
	.pph-js .pph .pph-reveal.is-in { opacity: 1; transform: none; }
	.pph .pph-hero__title,
	.pph .pph-hero__lede,
	.pph .pph-hero .pph-actions { animation: pph-rise .9s var(--pph-ease) both; }
	.pph .pph-hero__lede { animation-delay: .12s; }
	.pph .pph-hero .pph-actions { animation-delay: .22s; }
	@keyframes pph-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}

/* Tablet */
@media (max-width: 1080px) {
	.pph .pph-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pph .pph-tile--feature { grid-column: span 2; grid-row: span 1; min-height: 380px; }
	.pph .pph-pillars { grid-template-columns: repeat(2, 1fr); gap: 36px clamp(20px, 3vw, 40px); }
	.pph .pph-community__inset { left: -8%; }
}

/* Mobile */
@media (max-width: 900px) {
	.pph .pph-hero { min-height: 640px; }
	.pph .pph-hero__media::after {
		background: linear-gradient(0deg, rgba(10, 20, 16, .94) 0%, rgba(10, 20, 16, .7) 50%, rgba(10, 20, 16, .35) 100%);
	}
	.pph .pph-hero__inner { padding-bottom: 120px; }
	.pph .pph-figures { margin-top: -64px; }
	.pph .pph-figures__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pph .pph-figure:nth-child(3) { border-left: 0; }
	.pph .pph-figure:nth-child(n+3) { border-top: 1px solid var(--pph-line); }
	.pph .pph-about__grid,
	.pph .pph-community__grid,
	.pph .pph-news__grid,
	.pph .pph-join__inner { grid-template-columns: 1fr; }
	.pph .pph-about__media { margin-right: calc(-1 * var(--pph-gutter)); }
	.pph .pph-community__media { padding-bottom: 56px; margin-left: 12%; }
	.pph .pph-community__main .pph-community__img { aspect-ratio: 4 / 4.4; }
	.pph .pph-community__inset { left: -16%; width: 50%; }
	.pph .pph-congress { grid-template-columns: 1fr; min-height: 0; }
	.pph .pph-congress__media { aspect-ratio: 16 / 10; }
	.pph .pph-congress__copy { padding: 64px var(--pph-gutter) var(--pph-section); max-width: none; }
	.pph .pph-join__title { max-width: 14ch; }
}

@media (max-width: 560px) {
	:where(.pph) { font-size: 16px; }
	.pph .pph-hero__title { font-size: clamp(2.5rem, 11.5vw, 3.4rem); }
	.pph .pph-btn { min-height: 50px; padding: 0 22px; }
	.pph .pph-hero .pph-actions .pph-btn { flex: 1 1 auto; }
	.pph .pph-bento { grid-template-columns: 1fr; grid-auto-rows: minmax(200px, auto); }
	.pph .pph-tile--feature { grid-column: auto; min-height: 340px; }
	.pph .pph-pillars { grid-template-columns: 1fr; gap: 28px; }
	.pph .pph-row { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
	.pph .pph-figure dd { font-size: 2.3rem; }
}
