:root{
  --ps-navy:#071d3d;
  --ps-navy2:#102f5c;
  --ps-red:#c91f2a;
  --ps-gold:#e4a02a;
  --ps-soft:#f4f6f8;
  --ps-text:#17263a;
  --ps-muted:#617188;
  --ps-border:#dce3ea;
}

.partners-sponsors-page{
  font-family:Inter,sans-serif;
  color:var(--ps-text);
  background:#fff;
}

.ps-shell{
  width:min(1180px,calc(100% - 40px));
  margin:auto;
}

.ps-section{
  padding:88px 0;
}

.ps-soft{
  background:var(--ps-soft);
}

.ps-eyebrow{
  margin:0 0 12px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font:800 14px "Barlow Condensed",sans-serif;
  color:#fff;
}

.ps-eyebrow.dark{
  color:var(--ps-red);
}

.ps-section h2,
.ps-needs h2,
.ps-network h2,
.ps-future h2,
.ps-closing h2,
.ps-cta h2{
  font:800 clamp(42px,5vw,70px)/.94 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  color:var(--ps-navy);
  margin:0 0 24px;
}

.ps-rich{
  font-size:17px;
  line-height:1.8;
  color:#43556c;
}

.ps-rich p{
  margin:0 0 16px;
}

.ps-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 20px;
  border-radius:7px;
  font-weight:800;
  text-decoration:none;
  border:2px solid transparent;
}

.ps-btn-red{
  background:var(--ps-red);
  color:#fff;
}

.ps-btn-outline{
  border-color:#fff;
  color:#fff;
  background:transparent;
}

/* Hero */
.ps-hero{
  height:min(78vh,760px);
  min-height:620px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--ps-navy);
}

.ps-hero-image{
  position:absolute;
  inset:0;
}

.ps-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.ps-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(3,17,38,.96) 0%,
    rgba(3,17,38,.82) 40%,
    rgba(3,17,38,.34) 68%,
    rgba(3,17,38,.1) 100%
  );
}

.ps-hero-inner{
  position:relative;
  z-index:2;
}

.ps-hero-copy{
  max-width:670px;
  color:#fff;
}

.ps-hero h1{
  font:800 clamp(62px,7vw,103px)/.84 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  margin:0;
  color:#fff;
}

.ps-hero h2{
  font:800 clamp(28px,3.6vw,48px)/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  color:var(--ps-gold);
  margin:16px 0 22px;
}

.ps-lead{
  font-size:18px;
  line-height:1.7;
}

.ps-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

/* Impact */
.ps-section-head{
  max-width:860px;
  margin-bottom:34px;
}

.ps-impact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.ps-impact{
  padding:24px;
  background:#fff;
  border:1px solid var(--ps-border);
  border-radius:14px;
  box-shadow:0 10px 26px rgba(7,29,61,.06);
  display:flex;
  flex-direction:column;
  gap:9px;
}

.ps-impact i{
  font-size:29px;
  color:var(--ps-gold);
}

.ps-impact strong{
  font-size:20px;
  color:var(--ps-navy);
}

.ps-impact span{
  font-size:14px;
  color:var(--ps-muted);
  line-height:1.5;
}

/* Two-column sections */
.ps-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.ps-mission-list,
.ps-recognition-grid{
  display:grid;
  gap:12px;
}

.ps-mission-list div,
.ps-recognition-grid div{
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--ps-border);
  border-radius:10px;
  font-weight:700;
  color:#42556d;
}

.ps-mission-list i,
.ps-recognition-grid i{
  color:var(--ps-red);
  margin-right:8px;
}

/* Opportunities */
.ps-opportunity-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.ps-opportunity{
  padding:24px;
  background:var(--ps-navy);
  color:#fff;
  border-radius:14px;
}

.ps-opportunity h3{
  font:800 26px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  margin:0 0 12px;
}

.ps-opportunity p{
  margin:0;
  color:#d9e3ef;
  font-size:14px;
  line-height:1.55;
}

/* Full-width image sections */
.ps-needs,
.ps-network,
.ps-future,
.ps-closing{
  position:relative;
  min-height:600px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:var(--ps-navy);
}

.ps-needs-image,
.ps-network-image,
.ps-future-image,
.ps-closing-image{
  position:absolute;
  inset:0;
}

.ps-needs-image img,
.ps-network-image img,
.ps-future-image img,
.ps-closing-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ps-needs-shade,
.ps-network-shade,
.ps-future-shade,
.ps-closing-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(3,17,38,.96),
    rgba(3,17,38,.82) 48%,
    rgba(3,17,38,.22) 78%
  );
}

.ps-needs-inner,
.ps-network-inner,
.ps-future-inner,
.ps-closing-inner{
  position:relative;
  z-index:2;
}

.ps-needs-copy,
.ps-network-copy,
.ps-future-copy{
  max-width:650px;
  color:#fff;
}

.ps-needs h2,
.ps-network h2,
.ps-future h2,
.ps-closing h2{
  color:#fff;
}

.ps-needs .ps-rich,
.ps-network .ps-rich,
.ps-future .ps-rich,
.ps-closing .ps-rich{
  color:#fff;
}

/* Partnership needs */
.ps-needs-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.ps-need-card{
  padding:22px;
  background:#fff;
  border:1px solid var(--ps-border);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(7,29,61,.06);
}

.ps-need-card i{
  font-size:27px;
  color:var(--ps-gold);
}

.ps-need-card h3{
  font:800 26px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  color:var(--ps-navy);
  margin:14px 0 8px;
}

.ps-need-card p{
  color:var(--ps-muted);
  line-height:1.55;
}

.ps-need-card span{
  display:inline-block;
  margin-top:10px;
  padding:5px 8px;
  border-radius:999px;
  background:#edf3f9;
  color:var(--ps-navy);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.ps-need-card.fulfilled{
  opacity:.65;
}

.ps-need-card.fulfilled span{
  background:#e7f7ec;
  color:#18763a;
}

/* Partner cards */
.ps-partner-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.ps-partner-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--ps-border);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(7,29,61,.08);
}

/*
 * Default partner-image treatment.
 * This remains unchanged for photographs such as Santa Monica Pier.
 */
.ps-partner-logo{
  height:240px;
  display:grid;
  place-items:center;
  background:#f8fafc;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
}

.ps-partner-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/*
 * Add ps-partner-logo-contain only to a logo that must display in full.
 * This prevents the Art in Soul logo from being cropped.
 */
.ps-partner-logo.ps-partner-logo-contain{
  padding:18px;
  background:#fff;
}

.ps-partner-logo.ps-partner-logo-contain img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.ps-partner-logo i{
  font-size:50px;
  color:var(--ps-gold);
}

.ps-partner-body{
  padding:22px;
}

.ps-partner-body h3{
  font:800 31px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  color:var(--ps-navy);
  margin:10px 0;
}

.ps-partner-type{
  color:var(--ps-red)!important;
  font-weight:800!important;
  text-transform:uppercase;
  font-size:12px;
}

.ps-partner-body p{
  color:var(--ps-muted);
  line-height:1.6;
}

.ps-partner-body a{
  color:var(--ps-red);
  font-weight:800;
  text-decoration:none;
}

.ps-featured{
  display:inline-block;
  background:#fff6df;
  color:#9a6500;
  border-radius:999px;
  padding:5px 8px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

/* Coming soon */
.ps-coming{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:18px;
  align-items:center;
  padding:28px;
  background:var(--ps-soft);
  border:1px solid var(--ps-border);
  border-radius:16px;
}

.ps-coming i{
  font-size:36px;
  color:var(--ps-gold);
}

.ps-coming h3{
  font:800 34px/1 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  margin:0 0 8px;
  color:var(--ps-navy);
}

/* CTA */
.ps-cta{
  background:var(--ps-navy);
  color:#fff;
}

.ps-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

.ps-cta h2{
  color:#fff;
}

.ps-cta .ps-rich{
  color:#dce5ef;
  max-width:760px;
}

/* FAQ */
.ps-faq{
  display:grid;
  gap:12px;
}

.ps-faq details{
  border:1px solid var(--ps-border);
  border-radius:12px;
  background:#fff;
  padding:18px 20px;
}

.ps-faq summary{
  cursor:pointer;
  font-weight:900;
  color:var(--ps-navy);
}

.ps-faq p{
  color:var(--ps-muted);
  line-height:1.65;
}

/* Closing */
.ps-closing{
  min-height:660px;
  text-align:center;
}

.ps-closing-shade{
  background:rgba(3,17,38,.68);
}

.ps-closing-inner{
  max-width:850px;
  color:#fff;
}

.ps-closing strong{
  display:block;
  margin-top:26px;
  color:var(--ps-gold);
  font:800 29px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* Tablet */
@media(max-width:1050px){
  .ps-impact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ps-opportunity-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ps-needs-grid,
  .ps-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ps-two-col{
    grid-template-columns:1fr;
  }

  .ps-hero-shade{
    background:rgba(3,17,38,.75);
  }
}

/* Mobile */
@media(max-width:700px){
  .ps-shell{
    width:min(100% - 28px,1180px);
  }

  .ps-section{
    padding:65px 0;
  }

  .ps-hero{
    min-height:720px;
  }

  .ps-hero h1{
    font-size:58px;
  }

  .ps-hero h2{
    font-size:34px;
  }

  .ps-impact-grid,
  .ps-opportunity-grid,
  .ps-needs-grid,
  .ps-partner-grid{
    grid-template-columns:1fr;
  }

  .ps-cta-inner{
    display:block;
  }

  .ps-cta .ps-btn{
    margin-top:20px;
  }

  .ps-needs,
  .ps-network,
  .ps-future,
  .ps-closing{
    min-height:700px;
  }

  .ps-needs-shade,
  .ps-network-shade,
  .ps-future-shade{
    background:rgba(3,17,38,.78);
  }
}

/* 2026-08-13 Partners hero clipping fix */
.ps-hero{
  height:auto!important;
  min-height:680px!important;
  padding:72px 0 78px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}

.ps-hero-inner{
  width:min(1180px,calc(100% - 40px))!important;
  margin:auto!important;
  padding:0!important;
}

.ps-hero-copy{
  max-width:670px!important;
  padding-bottom:8px!important;
}

.ps-actions{
  margin-top:30px!important;
  padding-bottom:4px!important;
}

@media(max-width:1050px){
  .ps-hero{
    min-height:720px!important;
    padding:70px 0!important;
  }
}

@media(max-width:700px){
  .ps-hero{
    min-height:760px!important;
    padding:58px 0 64px!important;
  }

  .ps-actions{
    gap:10px!important;
  }

  .ps-actions .ps-btn{
    width:100%!important;
  }
}

/* Partnership Need CTA */
.ps-need-card{
  display:flex!important;
  flex-direction:column!important;
}

.ps-need-card > p{
  flex:1 1 auto;
}

.ps-need-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  box-sizing:border-box;
  margin-top:18px;
  padding:11px 14px;
  border-radius:8px;
  background:var(--ps-red);
  color:#fff!important;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  transition:transform .18s ease,background .18s ease;
}

.ps-need-cta:hover{
  background:#a91822;
  transform:translateY(-1px);
}

.ps-need-cta i{
  color:#fff!important;
  font-size:12px!important;
}

.ps-need-card.fulfilled .ps-need-cta,
.ps-need-card.paused .ps-need-cta{
  display:none!important;
}

/* Force the full Art in Soul logo to display */
.ps-partner-logo img[alt*="Art in Soul" i]{
  width:100% !important;
  height:100% !important;
  padding:16px !important;
  box-sizing:border-box !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}