/*
Theme Name: AI4Giving
Theme URI: https://ai4giving.org/
Author: AI4Giving
Description: Bento-grid journal theme for AI4Giving: deep green, sprout and mist tones, rounded tiles.
Version: 2.3.1
Requires PHP: 8.0
Text Domain: ai4giving
*/

:root {
	--pine: #0f3d2e;
	--pine-2: #1a5b3f;
	--night: #0d2a1f;
	--sprout: #a8d89a;
	--mist: #dff0db;
	--paper: #f3f5f0;
	--white: #fff;
	--ink: #13241c;
	--text: #33443b;
	--muted: #66766d;
	--rule: color-mix(in srgb, var(--pine) 12%, #fff);
	--r-lg: 28px;
	--r: 20px;
	--r-s: 12px;
	--f-head: "Lexend", system-ui, sans-serif;
	--f-body: "Figtree", system-ui, sans-serif;
	--gap: clamp(14px, 1.6vw, 20px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--text); font: 17px/1.7 var(--f-body); overflow-x: hidden; }
img, svg, iframe, video { max-width: 100%; height: auto; display: block; }
a { color: var(--pine-2); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--pine); }
h1, h2, h3, h4 { font-family: var(--f-head); color: var(--ink); line-height: 1.2; letter-spacing: -.02em; margin: 0 0 .5em; font-weight: 600; }
:focus-visible { outline: 2px solid var(--pine-2); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--pine); color: #fff; padding: 8px 14px; border-radius: 10px; }
.skip-link:focus { top: 12px; }
.wrap { width: min(1240px, 100% - 32px); margin-inline: auto; }

/* Buttons, tags */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 999px; background: var(--pine); color: #fff; font: 600 15px/1 var(--f-head); text-decoration: none; border: 1.5px solid var(--pine); cursor: pointer; transition: background .2s, color .2s; }
.btn:hover { background: var(--pine-2); border-color: var(--pine-2); color: #fff; }
.btn-line { background: transparent; color: var(--pine); }
.btn-line:hover { background: var(--pine); color: #fff; }
.btn-sprout { background: var(--sprout); border-color: var(--sprout); color: var(--night); }
.btn-sprout:hover { background: var(--mist); border-color: var(--mist); color: var(--night); }
.btn-s { padding: 10px 16px; font-size: 14px; }
.tag { display: inline-block; font: 600 12px/1 var(--f-head); letter-spacing: .08em; text-transform: uppercase; color: var(--pine-2); margin-bottom: 18px; }
.tag::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--sprout); margin-right: 8px; vertical-align: 1px; }
.tag-dark { color: var(--sprout); }
.text-link { display: inline-flex; align-items: center; gap: 6px; font: 600 15px var(--f-head); text-decoration: none; color: var(--pine-2); }
.text-link:hover svg { transform: translateX(3px); }
.text-link svg { transition: transform .2s; }
.chip { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--white); color: var(--pine); font: 600 12px/1 var(--f-head); margin-bottom: 14px; }
.meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--muted); }
.meta span { display: inline-flex; align-items: center; gap: 6px; }
.round { width: 44px; height: 44px; display: inline-grid; place-items: center; border-radius: 50%; border: 0; background: var(--pine); color: #fff; cursor: pointer; }
.round:hover { background: var(--pine-2); }

/* Header: logo · pill menu · round search */
.masthead { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(10px); transition: box-shadow .2s; }
.masthead.is-scrolled { box-shadow: 0 1px 0 var(--rule); }
.masthead-in { display: flex; align-items: center; gap: 20px; min-height: 78px; }
.brandmark a { display: flex; align-items: center; gap: 10px; text-decoration: none; font: 700 22px/1 var(--f-head); color: var(--pine); letter-spacing: -.03em; }
.brandmark b { color: #3d8a52; font-weight: 700; }
.brandmark img { max-height: 44px; width: auto; }
.pillnav { margin-left: auto; }
.pillnav ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 5px; background: var(--white); border-radius: 999px; border: 1px solid var(--rule); }
.pillnav a { display: block; padding: 9px 18px; border-radius: 999px; text-decoration: none; color: var(--ink); font: 500 15px/1.2 var(--f-head); }
.pillnav a:hover { background: var(--mist); }
.pillnav .current-menu-item a, .pillnav .current_page_parent a { background: var(--pine); color: #fff; }
.masthead-tools { display: flex; align-items: center; gap: 10px; }
.nav-toggle { display: none; }
.nav-toggle .i-close, .nav-open .nav-toggle .i-open { display: none; }
.nav-open .nav-toggle .i-close { display: block; }
.topbar { margin: 0; padding: 8px 16px; text-align: center; background: var(--pine); color: var(--mist); font-size: 14px; }
.topbar a { color: var(--sprout); }

.finder { border: 0; padding: 18px; border-radius: var(--r); width: min(620px, 100% - 32px); display: none; gap: 10px; align-items: center; }
.finder[open] { display: flex; }
.finder::backdrop { background: rgb(13 42 31 / .55); }
.finder .search-form { flex: 1; }

/* Forms */
.search-form, .newsletter-form { display: flex; gap: 8px; }
.search-form input, .newsletter-form input[type=email] { flex: 1; min-width: 0; padding: 12px 16px; border: 1.5px solid var(--rule); border-radius: 999px; font: inherit; font-size: 15px; background: var(--white); color: var(--ink); }
.search-form input:focus, .newsletter-form input:focus { outline: 0; border-color: var(--pine-2); }
.search-form button, .newsletter-form button { flex: none; border: 0; border-radius: 999px; background: var(--pine); color: #fff; padding: 0 16px; min-height: 46px; font: 600 14px var(--f-head); cursor: pointer; }
.search-form button { width: 46px; padding: 0; display: grid; place-items: center; }
.hp-field { position: absolute; left: -9999px; }
.newsletter-done { margin: 0; font-weight: 600; color: var(--pine); }

/* Tiles */
.tile { background: var(--white); border-radius: var(--r-lg); padding: clamp(24px, 4vw, 48px); position: relative; overflow: hidden; }
.mono { position: absolute; color: var(--pine); opacity: .1; pointer-events: none; }

/* Home: bento hero */
.bento-hero { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--gap); margin-top: 8px; }
.tile-intro { background: var(--mist); display: flex; flex-direction: column; justify-content: center; min-height: 460px; }
.tile-intro h1 { font-size: clamp(32px, 4.4vw, 56px); font-weight: 600; max-width: 14ch; margin-bottom: 18px; }
.tile-intro .by { margin: 0 0 30px; font: 500 17px var(--f-head); color: var(--pine-2); }
.actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tile-photo { margin: 0; padding: 0; background: var(--pine); }
.tile-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Home: overview (page content) */
.overview { margin-top: var(--gap); display: grid; gap: var(--gap); }
.overview > p { margin: 0; }
.overview .lead { background: var(--pine); color: var(--mist); border-radius: var(--r-lg) var(--r-lg) 0 0; padding: clamp(28px, 4vw, 52px) clamp(24px, 4vw, 52px) 8px; font-size: clamp(18px, 1.6vw, 21px); line-height: 1.6; margin-bottom: calc(var(--gap) * -1); }
.overview .lead strong { display: block; font: 600 clamp(26px, 3vw, 38px)/1.15 var(--f-head); color: #fff; letter-spacing: -.02em; margin-bottom: 18px; }
.overview .lead + p { background: var(--pine); color: color-mix(in srgb, var(--mist) 80%, var(--pine)); border-radius: 0 0 var(--r-lg) var(--r-lg); padding: 16px clamp(24px, 4vw, 52px) clamp(28px, 4vw, 52px); font-size: 17px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); align-items: stretch; }
.split > div { background: var(--white); border-radius: var(--r-lg); padding: clamp(24px, 4vw, 48px); display: flex; flex-direction: column; justify-content: center; }
.split h2 { font-size: clamp(22px, 2.3vw, 30px); }
.split p { margin: 0; }
.split figure { margin: 0; border-radius: var(--r-lg); overflow: hidden; min-height: 280px; }
.split figure img { width: 100%; height: 100%; object-fit: cover; }
.split--flip figure { order: 2; }
.split ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.split li { position: relative; padding: 10px 14px 10px 42px; background: var(--paper); border-radius: var(--r-s); line-height: 1.45; font-size: 16px; }
.split li::before { content: ""; position: absolute; left: 14px; top: 13px; width: 16px; height: 16px; border-radius: 50%; background: var(--sprout) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.2 2.3 2.3 4.7-4.9' fill='none' stroke='%230f3d2e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px; }
.pull { margin: 0; background: var(--sprout); border-radius: var(--r-lg); padding: clamp(28px, 5vw, 64px); position: relative; overflow: hidden; }
.pull p { margin: 0 0 16px; font: 600 clamp(24px, 3vw, 40px)/1.2 var(--f-head); color: var(--night); letter-spacing: -.02em; max-width: 24ch; }
.pull cite { font-style: normal; font-weight: 600; color: var(--pine); }
.pull::after { content: "”"; position: absolute; right: 4%; bottom: -.32em; font: 700 280px/1 var(--f-head); color: var(--pine); opacity: .12; }

/* Home: spotlight post */
.spotlight { margin-top: calc(var(--gap) * 2.5); display: grid; grid-template-columns: 1fr 1.05fr; background: var(--night); border-radius: var(--r-lg); overflow: hidden; }
.spotlight-text { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; align-items: flex-start; }
.spotlight h2 { font-size: clamp(24px, 2.6vw, 34px); }
.spotlight h2 a { color: #fff; text-decoration: none; }
.spotlight h2 a:hover { color: var(--sprout); }
.spotlight p { color: color-mix(in srgb, var(--mist) 78%, var(--night)); margin: 0 0 18px; }
.spotlight .meta { color: color-mix(in srgb, var(--mist) 60%, var(--night)); margin-bottom: 26px; }
.spotlight-media { position: relative; display: block; margin: 14px; border-radius: var(--r); overflow: hidden; }
.spotlight-media img { width: 100%; height: 100%; object-fit: cover; min-height: 300px; }
.spotlight-media .mono { right: 18px; bottom: 18px; color: #fff; opacity: .55; }

/* Layout with sidebar */
.grid { display: grid; gap: calc(var(--gap) * 1.6); margin-top: calc(var(--gap) * 2.5); align-items: start; }
.grid--aside-left { grid-template-columns: 330px minmax(0, 1fr); }
.grid--aside-right { grid-template-columns: minmax(0, 1fr) 330px; margin-top: 8px; }
.aside { display: grid; gap: var(--gap); }
.box { background: var(--white); border-radius: var(--r); padding: 24px; }
.box-title { font-size: 18px; margin-bottom: 16px; }
.box-search { padding: 12px; }
.box-briefing { background: var(--mist); }
.box-briefing p { font-size: 15px; margin: 0 0 16px; line-height: 1.55; }
.box-briefing .tag { margin-bottom: 12px; }
.box-brand { background: var(--pine); color: color-mix(in srgb, var(--mist) 82%, var(--pine)); }
.box-brand svg { margin-bottom: 16px; border-radius: 16px; box-shadow: 0 0 0 1px rgb(168 216 154 / .35); }
.box-brand .box-title { color: #fff; }
.box-brand p { font-size: 15px; line-height: 1.55; }
.box-brand .text-link { color: var(--sprout); }
.mini-list, .steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mini { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; }
.mini-media img { width: 64px; height: 64px; border-radius: 14px; object-fit: cover; }
.mini-title { display: block; font: 500 14.5px/1.35 var(--f-head); color: var(--ink); text-decoration: none; }
.mini-title:hover { color: var(--pine-2); }
.mini time { font-size: 13px; color: var(--muted); }
.steps { counter-reset: s; }
.steps li { counter-increment: s; display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: start; }
.steps li::before { content: counter(s); width: 32px; height: 32px; border-radius: 10px; background: var(--mist); color: var(--pine); display: grid; place-items: center; font: 600 14px var(--f-head); }
.steps a { font: 500 14.5px/1.4 var(--f-head); color: var(--ink); text-decoration: none; }
.steps a:hover { color: var(--pine-2); }

/* Post rows (home, blog) */
.feed { display: grid; gap: var(--gap); }
.feed-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.feed-head h2 { font-size: clamp(24px, 2.4vw, 30px); margin: 0; }
.row { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(16px, 2.4vw, 28px); background: var(--white); border-radius: var(--r-lg); padding: 14px; align-items: center; }
.row-media, .card-media { position: relative; display: block; border-radius: var(--r); overflow: hidden; aspect-ratio: 16 / 10; background: var(--mist); }
.row-media img, .card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.row:hover .row-media img, .card:hover .card-media img { transform: scale(1.03); }
.row-body { padding: 8px 14px 8px 0; }
.row h3 { font-size: clamp(19px, 1.7vw, 22px); margin-bottom: 8px; }
.row h3 a, .card h3 a { color: var(--ink); text-decoration: none; }
.row h3 a:hover, .card h3 a:hover { color: var(--pine-2); }
.row p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.6; }
/* Image decor, rotating per item: sprout corner, dot patch, ring */
.deco-0 > a:first-child::after { content: ""; position: absolute; left: 0; top: 0; width: 58px; height: 58px; background: var(--sprout); border-bottom-right-radius: 58px; }
.deco-1 > a:first-child::after { content: ""; position: absolute; right: 12px; bottom: 12px; width: 64px; height: 40px; background: radial-gradient(circle, #fff 2px, transparent 2.5px) 0 0 / 12px 12px; opacity: .9; }
.deco-2 > a:first-child::after { content: ""; position: absolute; right: -22px; top: -22px; width: 84px; height: 84px; border-radius: 50%; border: 10px solid var(--mist); }

/* Pages and posts */
.page-tile { background: var(--mist); }
.page-tile h1 { font-size: clamp(30px, 3.8vw, 48px); max-width: 22ch; margin-bottom: 14px; }
.page-tile p { margin: 0; max-width: 62ch; }
.page-tile .mono { right: -30px; bottom: -60px; }
.post-tile h1 { font-size: clamp(28px, 3.4vw, 44px); }
.crumbs { font-size: 14px; color: var(--muted); margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.crumbs a { color: var(--pine-2); text-decoration: none; }
.crumbs-sep { opacity: .5; }
.byline { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; text-decoration: none; font-weight: 600; }
.byline img { border-radius: 50%; }
.cover { position: relative; margin: var(--gap) 0 0; padding: 0 0 14px 14px; }
.cover::before { content: ""; position: absolute; left: 0; bottom: 0; width: 62%; height: 70%; background: var(--sprout); border-radius: var(--r-lg); }
.cover img { position: relative; width: 100%; border-radius: var(--r-lg); }
.cover-badge { position: absolute; right: 18px; top: 18px; padding: 6px; background: var(--white); border-radius: 18px; }
.sheet { background: var(--white); border-radius: var(--r-lg); padding: clamp(24px, 4.5vw, 56px); margin-top: var(--gap); }
.empty { text-align: center; display: grid; gap: 16px; justify-items: center; }
.empty .search-form { width: min(440px, 100%); }

.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: clamp(23px, 2.2vw, 29px); margin: 1.7em 0 .6em; }
.prose h3 { font-size: clamp(19px, 1.8vw, 23px); margin: 1.5em 0 .5em; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.15em; }
.prose li { margin-bottom: .45em; }
.prose ul li::marker { color: var(--pine-2); }
.prose img { border-radius: var(--r); margin: 1.4em auto; }
.prose figure { margin: 1.4em 0; }
.prose figcaption { font-size: 14px; color: var(--muted); text-align: center; margin-top: -.6em; }
.prose blockquote:not(.pull) { margin: 1.5em 0; padding: 18px 24px; background: var(--mist); border-radius: var(--r); font: 500 18px/1.55 var(--f-head); color: var(--ink); }
.prose blockquote p:last-child { margin: 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 1.4em; display: block; overflow-x: auto; }
.prose th, .prose td { border-bottom: 1px solid var(--rule); padding: 10px 12px; text-align: left; }
.prose iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--r); }
.overview.prose { font-size: 17px; }
.overview.prose h2 { margin-top: 0; }

.share-line { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 2em; padding-top: 22px; border-top: 1px solid var(--rule); font: 600 15px var(--f-head); color: var(--ink); }
.share { display: flex; gap: 8px; }
.share a, .share button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--paper); color: var(--pine); border: 0; cursor: pointer; }
.share a:hover, .share button:hover, .share .is-done { background: var(--sprout); }
.pager { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); margin-top: var(--gap); }
.pager a { background: var(--white); border-radius: var(--r); padding: 20px 24px; text-decoration: none; display: grid; gap: 4px; }
.pager a:hover { background: var(--mist); }
.pager span { font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.pager strong { font: 600 16px/1.35 var(--f-head); color: var(--ink); }
.pager-next { grid-column: 2; text-align: right; }
.more { margin-top: calc(var(--gap) * 2.5); }
.more h2 { font-size: clamp(24px, 2.4vw, 30px); }
.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.card { background: var(--white); border-radius: var(--r-lg); padding: 12px 12px 22px; }
.card h3 { font-size: 18px; margin: 16px 10px 10px; }
.card .meta { margin: 0 10px; }
.pagination .nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 10px; }
.pagination .page-numbers { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--white); text-decoration: none; color: var(--ink); font-weight: 600; }
.pagination .current { background: var(--pine); color: #fff; }

/* Fluent Forms (contact page) */
.sheet .fluentform .ff-el-input--label label { font: 600 15px var(--f-head); color: var(--ink); }
.sheet .fluentform .ff-el-form-control { border: 1.5px solid var(--rule); border-radius: var(--r-s); padding: 12px 14px; font: inherit; font-size: 16px; }
.sheet .fluentform .ff-el-form-control:focus { border-color: var(--pine-2); box-shadow: none; }
.sheet .fluentform .ff-btn-submit { background: var(--pine) !important; border-radius: 999px; padding: 13px 26px; font: 600 15px var(--f-head); }
.sheet .fluentform .ff-btn-submit:hover { background: var(--pine-2) !important; }

/* Footer: rounded dark card with the outline mark */
.foot { padding: calc(var(--gap) * 3) 0 16px; }
.foot-card { position: relative; overflow: hidden; background: var(--night); color: color-mix(in srgb, var(--mist) 72%, var(--night)); border-radius: var(--r-lg); padding: clamp(28px, 4.5vw, 60px) clamp(22px, 4.5vw, 60px) 24px; }
.foot-card > .mono { right: -120px; top: -150px; color: var(--sprout); opacity: .07; }
.foot-cols { position: relative; display: grid; grid-template-columns: 1.3fr .7fr 1.5fr 1.7fr .8fr; gap: 34px; }
.foot h3 { color: #fff; font-size: 15px; margin-bottom: 16px; }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.foot a { color: inherit; text-decoration: none; font-size: 15px; line-height: 1.45; }
.foot a:hover { color: var(--sprout); }
.foot .footer-logo { display: inline-block; font: 700 22px var(--f-head); color: #fff; margin-bottom: 12px; }
.foot .footer-col p { font-size: 15px; line-height: 1.6; margin: 0 0 16px; }
.foot .social { display: flex; gap: 8px; }
.foot-line { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 44px; padding-top: 20px; border-top: 1px solid rgb(223 240 219 / .14); font-size: 14px; }
.foot-line p { margin: 0 auto 0 0; }
.foot-line ul { display: flex; gap: 20px; }
.foot-line a { font-size: 14px; }
.to-top { display: inline-flex; align-items: center; gap: 6px; }
.to-top svg { transform: rotate(-90deg); }

@media (max-width: 1080px) {
	.grid--aside-left, .grid--aside-right { grid-template-columns: minmax(0, 1fr); }
	.grid--aside-left .aside { order: 2; }
	.aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.box-search { grid-column: 1 / -1; }
	.foot-cols { grid-template-columns: 1fr 1fr 1fr; }
	.foot-cols > :first-child { grid-column: 1 / -1; max-width: 520px; }
}
@media (max-width: 860px) {
	.nav-toggle { display: inline-grid; }
	.pillnav { position: absolute; left: 16px; right: 16px; top: 74px; display: none; }
	.nav-open .pillnav { display: block; }
	.pillnav ul { flex-direction: column; border-radius: var(--r); padding: 8px; box-shadow: 0 20px 40px -20px rgb(13 42 31 / .35); }
	.pillnav a { padding: 12px 16px; border-radius: 12px; }
	.masthead-tools { margin-left: auto; }
	.bento-hero, .spotlight, .split { grid-template-columns: 1fr; }
	.tile-intro { min-height: 0; }
	.tile-photo { aspect-ratio: 16 / 10; }
	.split--flip figure { order: 0; }
	.split figure { min-height: 0; aspect-ratio: 3 / 2; }
	.spotlight-media { order: -1; margin: 12px 12px 0; }
	.spotlight-media img { min-height: 0; aspect-ratio: 16 / 10; }
	.tiles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	body { font-size: 16px; }
	.aside { grid-template-columns: 1fr; }
	.row { grid-template-columns: 1fr; padding: 12px; }
	.row-body { padding: 4px 8px 10px; }
	.tiles { grid-template-columns: 1fr; }
	.pager { grid-template-columns: 1fr; }
	.pager-next { grid-column: auto; }
	.foot-cols { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.foot-cols > :nth-child(3), .foot-cols > :nth-child(4) { grid-column: 1 / -1; }
	.brandmark a { font-size: 20px; }
	.brandmark svg { width: 34px; height: 34px; }
	.cover { padding: 0 0 10px 10px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } html { scroll-behavior: auto; } }
@media (max-width: 640px) { .page-tile .mono, .foot-card > .mono { display: none; } }
