.page{--navy:#061b31;--navy2:#0b2948;--gold:#ffb20f;--paper:#f4f0e7;--ink:#102945;min-height:100vh;overflow:clip;background:var(--paper);color:var(--ink)}
.page *{box-sizing:border-box;min-width:0}
.partnersEmpty{margin:24px auto;max-width:1180px;padding:28px;border:1px solid rgba(6,27,49,.18);color:rgba(6,27,49,.72);text-align:center}
.hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.heroImage{position:absolute;inset:-4%;background:url('../../images/team-huddle.jpg') center 42%/cover no-repeat;filter:saturate(.78) contrast(1.06)}
.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,39,.98) 0%,rgba(4,20,39,.88) 48%,rgba(4,20,39,.38) 100%),linear-gradient(0deg,rgba(4,20,39,.72),transparent 60%)}
.heroInner{position:relative;z-index:1;width:min(1240px,calc(100% - 48px));margin:auto;padding:80px 0}
.heroInner>span,.patronsIntro>span,.ctaSection>div>span{display:block;margin-bottom:24px;color:var(--gold);font-size:.64rem;font-weight:950;letter-spacing:.19em}
.hero h1{max-width:850px;margin:0;font-family:var(--font-display);font-size:clamp(4rem,7.2vw,7.4rem);line-height:.84;letter-spacing:-.05em;text-transform:uppercase}
.hero h1 em,.sectionIntro h2 em,.ctaSection h2 em{color:var(--gold);font-style:normal}
.hero p{max-width:690px;margin:32px 0 0;color:#c0cbd4;font-size:1.04rem;line-height:1.72}

.featuredSection{padding:110px max(24px,calc((100% - 1240px)/2)) 125px;background:var(--navy);color:#fff}
.sectionIntro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:38px 8vw;align-items:end;margin-bottom:65px}
.sectionIntro h2,.patronsIntro h2,.ctaSection h2{margin:0;font-family:var(--font-display);font-size:clamp(2.9rem,5vw,5.3rem);line-height:.9;letter-spacing:-.045em;text-transform:uppercase}
.sectionIntro>p{margin:0;color:#aab9c5;line-height:1.75}
.featuredGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.logoCard{position:relative;display:grid;place-items:center;min-height:190px;padding:var(--logo-padding);overflow:hidden;border:1px solid transparent}
.logoCard img{display:block;width:min(var(--logo-width),100%);height:min(var(--logo-height),125px);max-width:100%;object-fit:contain;object-position:center}
.darkCard{background:var(--navy2);border-color:#ffffff1d}
.darkCard:nth-child(even){background:#0d3154}
.lightCard{background:#fff;border-color:#dfe2e0;box-shadow:0 10px 26px rgba(16,41,69,.045)}

.sponsorsSection{padding:90px max(24px,calc((100% - 1240px)/2)) 135px;background:var(--paper)}
.sponsorsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sponsorsGrid .logoCard{min-height:165px}

.patronsSection{padding:105px max(24px,calc((100% - 1240px)/2)) 90px;background:#e8e3d8}
.patronsIntro{max-width:800px;margin-bottom:50px}
.patronsIntro>span{color:#8f5e00}
.patronsIntro h2{font-size:clamp(3rem,5vw,5rem)}
.patronsIntro p{max-width:650px;margin:25px 0 0;color:#607386;line-height:1.72}
.patronsGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.compactCard{min-height:160px;background:#f7f4ed;box-shadow:none}

.ctaSection{padding:100px max(24px,calc((100% - 1240px)/2));display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;background:var(--gold);color:var(--navy)}
.ctaSection>div>span{color:var(--navy)}
.ctaSection h2 em{color:#fff}
.ctaSection p{margin:0 0 30px;font-size:1rem;line-height:1.72}
.ctaSection a{width:min(100%,310px);padding:19px 21px;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;font-size:.69rem;font-weight:950;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.ctaSection a span{color:var(--gold);font-size:1.1rem}

@media(max-width:1050px){
  .featuredGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sponsorsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .patronsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.patronsGrid .logoCard:last-child{grid-column:2}
}

@media(max-width:700px){
  .hero{min-height:500px}.heroInner{width:calc(100% - 40px);padding:65px 0}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.hero p{font-size:.94rem}
  .featuredSection,.sponsorsSection,.patronsSection{padding:78px 20px 88px}
  .sectionIntro{grid-template-columns:1fr;gap:25px;margin-bottom:44px}.sectionIntro h2,.patronsIntro h2,.ctaSection h2{font-size:clamp(2.35rem,10.5vw,3.35rem)}
  .sponsorsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sponsorsGrid .logoCard{min-height:145px;padding:20px}
  .patronsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.patronsGrid .logoCard:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
  .ctaSection{padding:78px 20px;grid-template-columns:1fr;gap:42px}
}

@media(max-width:430px){
  .hero{min-height:470px}.heroInner{width:calc(100% - 32px)}.hero h1{font-size:clamp(2.75rem,13vw,3.45rem)}
  .featuredSection,.sponsorsSection,.patronsSection{padding-inline:16px}
  .featuredGrid{grid-template-columns:1fr}.featuredGrid .logoCard{min-height:170px}
  .sponsorsGrid .logoCard{min-height:132px;padding:17px 12px}.sponsorsGrid .logoCard img{max-height:88px}
  .patronsGrid .logoCard{min-height:140px;padding:18px 12px}
  .logoCard>span{display:none}
  .ctaSection{padding-inline:16px}.ctaSection a{width:100%}
}

@media(prefers-reduced-motion:reduce){.logoCard>span{transition:none}}
