/* Public homepage only. Keep the established ink, sky, gold and abstract artwork. */
body.home.promospirit-marketing-home :is(.psm-home,.ps-community-guide,.ps-launch),
body.home.promospirit-marketing-home :is(.psm-home,.ps-community-guide,.ps-launch) * { font-family:Poppins,Inter,Arial,sans-serif!important; }
body.home.promospirit-marketing-home :is(.ps-community-guide,.ps-launch) { width:100vw; max-width:none; margin-inline:calc(50% - 50vw); }
body.home.promospirit-marketing-home :is(.psm-home,.ps-community-guide,.ps-launch) .psm-shell { width:min(1180px,calc(100% - 80px)); }
body.home.promospirit-marketing-home :is(.ps-front-hero,.psm-home,.ps-community-guide,.ps-launch,.psm-site-header,.psm-site-footer) a,
body.home.promospirit-marketing-home :is(.ps-front-hero,.psm-home,.ps-community-guide,.ps-launch,.psm-site-header,.psm-site-footer) a:hover,
body.home.promospirit-marketing-home :is(.ps-front-hero,.psm-home,.ps-community-guide,.ps-launch,.psm-site-header,.psm-site-footer) a:focus {
 text-decoration:none!important;
}
body.home.promospirit-marketing-home :is(.ps-front-hero,.psm-home,.ps-community-guide,.ps-launch,.psm-site-footer) a:focus-visible {
 outline:3px solid #069ad7; outline-offset:5px;
}
.ps-front-hero h1#ps-front-title {
 font-weight:700; font-size:clamp(42px,4.25vw,72px); line-height:1.12; letter-spacing:-.045em; margin:0 0 24px;
}
.ps-front-copy>p { font-weight:500; font-size:clamp(17px,1.3vw,20px); line-height:1.65; max-width:36em; }
.ps-front-actions { margin:28px 0 22px; gap:12px; }
.ps-front-actions a { border-radius:7px; padding:14px 20px; font-weight:600; }
.ps-front-actions .ps-front-primary { box-shadow:none; }
.ps-front-find { line-height:1.6; }
.ps-front-find a { display:inline-flex; gap:8px; margin-left:5px; color:#ffda53; }
.ps-front-find a:hover { color:#fff; }
.ps-front-device { width:clamp(170px,14vw,224px); transform:rotate(5deg); }
.ps-front-tabs { border-radius:7px; box-shadow:none; }
.ps-front-tabs label { border-radius:4px; font-weight:600; }
body.home.promospirit-marketing-home .psm-desktop-nav a { font-weight:600; }
body.home.promospirit-marketing-home :is(#ps-guide-title,#ps-launch-title) { font-weight:650; letter-spacing:-.04em; }
body.home.promospirit-marketing-home .ps-guide-overline::before,
body.home.promospirit-marketing-home .ps-launch-kicker::before { display:none; }
body.home.promospirit-marketing-home .ps-guide-overline { font-size:12px; font-weight:600; }
body.home.promospirit-marketing-home .ps-guide-feature { border-radius:6px; box-shadow:none; }
body.home.promospirit-marketing-home .ps-guide-badge { border-radius:3px; font-weight:600; }
body.home.promospirit-marketing-home .ps-guide-caption strong { font-weight:650; }
body.home.promospirit-marketing-home .ps-guide-start { border-radius:6px; box-shadow:none; font-weight:600; }
body.home.promospirit-marketing-home .ps-guide-groups h4 { font-weight:600; }
body.home.promospirit-marketing-home .ps-guide-icon { background:transparent; border-radius:0; }
body.home.promospirit-marketing-home .ps-guide-app { border-radius:0; border-width:1px 0; background:transparent; padding:20px 0; margin-top:30px; }
body.home.promospirit-marketing-home .ps-guide-app h3 { font-weight:600; }
body.home.promospirit-marketing-home .ps-guide-app a:hover { color:#122e47; }

/* A working relationship, set as an open list rather than a feature-card grid. */
body.home.promospirit-marketing-home .ps-owner { background:#122e47; color:white; }
.ps-owner-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(40px,8vw,115px); align-items:start; }
.ps-owner .ps-owner-label { color:#c3e4f2; font:500 13px/1.5 Poppins,Inter,sans-serif; margin:0 0 20px; }
body.home.promospirit-marketing-home .ps-owner h2 { font:600 clamp(34px,3.7vw,53px)/1.12 Poppins,Inter,sans-serif; letter-spacing:-.04em; margin:0 0 20px; color:white; }
body.home.promospirit-marketing-home .ps-owner header>p:last-of-type { color:#d5e4ec; font:400 17px/1.7 Poppins,Inter,sans-serif; max-width:36ch; }
.ps-owner-link { display:inline-flex; align-items:center; gap:28px; margin-top:27px; color:#ffda53!important; font-size:16px; font-weight:600; min-height:44px; }
.ps-owner-link:hover { color:white!important; }
.ps-owner-list { margin:0; padding:0; }
.ps-owner-list>div { padding:22px 0; border-top:1px solid #476174; }
.ps-owner-list>div:first-child { padding-top:0; border-top:0; }
.ps-owner-list>div:last-child { padding-bottom:0; }
.ps-owner-list dt { color:#fff; font:600 21px/1.3 Poppins,Inter,sans-serif; margin:0 0 8px; letter-spacing:-.025em; }
.ps-owner-list dd { margin:0; color:#c9dce8; font:400 16px/1.65 Poppins,Inter,sans-serif; max-width:47ch; }

body.home.promospirit-marketing-home #promospirit-how.ps-launch { background:white; }
body.home.promospirit-marketing-home .ps-launch-intro { border-radius:6px; background:#e5f2f9; color:#122e47; }
body.home.promospirit-marketing-home .ps-launch-intro::after { opacity:.3; }
body.home.promospirit-marketing-home #ps-launch-title { color:#122e47; }
body.home.promospirit-marketing-home #ps-launch-title em { color:#176399; }
body.home.promospirit-marketing-home .ps-launch-kicker { color:#315a76; font-weight:500; }
body.home.promospirit-marketing-home .ps-launch-summary { color:#405b70; font-weight:400; }
body.home.promospirit-marketing-home .ps-launch-cta { border-radius:5px; background:#122e47; color:white; border-color:#122e47; font-weight:600; }
body.home.promospirit-marketing-home .ps-launch-cta:hover { background:#205e86; color:white; }
body.home.promospirit-marketing-home .ps-launch-steps h3 { font-weight:600; }
body.home.promospirit-marketing-home .ps-launch-steps p { font-weight:400; }

/* An honest explanation of made-to-order fundraising, without invented sales totals. */
body.home.promospirit-marketing-home .ps-fund-story { background:#f2f7fa; }
.ps-fund-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,7vw,100px); }
.ps-fund-statement { position:relative; isolation:isolate; overflow:hidden; min-height:380px; display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,58px); color:#122e47; background:#ffda53; }
.ps-fund-statement::before { content:""; position:absolute; inset:0; z-index:-1; background:#ffe992; clip-path:polygon(70% 0,100% 0,100% 100%,35% 100%); }
.ps-fund-mark { position:absolute; right:-12px; bottom:-12px; width:135px; height:140px; border:26px solid #122e47; border-radius:50%; opacity:.12; z-index:-1; }
body.home.promospirit-marketing-home .ps-fund-statement h2 { font:600 clamp(34px,3.5vw,54px)/1.12 Poppins,Inter,sans-serif; color:#122e47; letter-spacing:-.045em; margin:0 0 24px; }
body.home.promospirit-marketing-home .ps-fund-statement p { color:#283e48; font-size:15px; margin:0; font-weight:500; }
body.home.promospirit-marketing-home .ps-fund-copy h3 { color:#122e47; font:600 23px/1.3 Poppins,Inter,sans-serif; letter-spacing:-.025em; margin:0 0 10px; text-transform:none; }
body.home.promospirit-marketing-home .ps-fund-copy p { color:#405b70; font:400 16px/1.75 Poppins,Inter,sans-serif; margin:0 0 26px; }
.ps-fund-copy>a { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:#155781; font:600 15px/1.5 Poppins,Inter,sans-serif; }
.ps-fund-copy>a:hover { color:#122e47; }

body.home.promospirit-marketing-home :is(.psm-stores,.psm-start) .psm-eyebrow { display:none; }
body.home.promospirit-marketing-home :is(.psm-stores .psm-section-head h2,.psm-start h2) { font-weight:600; letter-spacing:-.04em; }
body.home.promospirit-marketing-home .psm-stores { background:white; }
body.home.promospirit-marketing-home .psm-stores .ps-store-card { border-radius:6px!important; box-shadow:none!important; }
body.home.promospirit-marketing-home .psm-stores .ps-store-card:hover { box-shadow:none!important; border-color:#176399!important; }
body.home.promospirit-marketing-home .psm-lead-card { border-radius:7px; box-shadow:none; }
body.home.promospirit-marketing-home .psm-start { background:#122e47; }
body.home.promospirit-marketing-home .psm-start h2 { color:white; }
body.home.promospirit-marketing-home .psm-start p { color:#d5e4ec; }
body.home.promospirit-marketing-home .psm-lead-card :is(input,textarea,button) { border-radius:5px!important; }

@media(max-width:820px) {
 .ps-front-hero h1#ps-front-title { font-size:clamp(38px,6.6vw,55px); }
 .ps-front-device { width:157px; }
 .ps-front-art { padding-block:28px 24px; }
 .ps-owner-layout { gap:35px; }
 .ps-fund-layout { gap:32px; }
}
@media(max-width:700px) {
 body.home.promospirit-marketing-home :is(.psm-home,.ps-community-guide,.ps-launch) .psm-shell { width:calc(100% - 40px); }
 .ps-owner-layout,.ps-fund-layout { grid-template-columns:minmax(0,1fr); }
 body.home.promospirit-marketing-home .ps-owner header>p:last-of-type { max-width:48ch; }
 .ps-owner-list { margin-top:8px; }
 .ps-owner-list>div:first-child { border-top:1px solid #476174; padding-top:22px; }
 .ps-fund-statement { min-height:300px; }
 body.home.promospirit-marketing-home .ps-fund-statement h2 { font-size:42px; }
 .ps-fund-copy { padding-bottom:4px; }
}
@media(max-width:390px) {
 .ps-front-hero h1#ps-front-title { font-size:37px; }
 .ps-front-actions a { padding-inline:14px; font-size:14px; }
 .ps-front-find a { margin-left:0; }
 body.home.promospirit-marketing-home .ps-fund-statement h2 { font-size:36px; }
}
