/* KIAC Partner Your Church — page-specific sections, transcribed from
   design/Partner Your Church.dc.html (locked). Pair-shared patterns live in
   involved.css, form primitives in site.css. Deviations (hero band
   normalization, #1E6E66 → --deep-teal, funding-ask paragraph omitted) are
   logged in docs/DECISIONS.md 2026-08-06. */

/* ---------- Hero variants ---------- */

.phero__img { background-image: url('/assets/photos/kiac-121-2-ms80m39d-ky8f.jpg'); }
.phero h1 { line-height: .99; margin-bottom: 4px; }
.phero__lede { max-width: 550px; }

/* ---------- The argument ---------- */

.argument { padding: 78px var(--gutter); background: #fff; }
.argument__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; }
.argument__head { margin-bottom: 34px; }
.argument__head h2 { margin: 0; font-family: var(--font-serif); font-weight: 300; font-size: 50px; line-height: 1.1; letter-spacing: -.02em; color: var(--ink); max-width: 700px; }
.argument__copy p { margin: 0; font: 400 17.5px/1.65 var(--font-serif); color: var(--ink); }
.argument__copy p + p { margin-top: 18px; }
.argument .text-link { margin-top: 26px; }
.argument .lcard { background: var(--paper-alpha); padding: 4px 28px 10px; }
.argument .lcard__row { gap: 0 22px; padding: 17px 0; }
.argument .lcard__term { min-width: 92px; }

/* ---------- Pitch quote band (sponsor .squote recipe: full-bleed photo,
   content on the rail) ---------- */

.cquote { position: relative; min-height: 500px; display: flex; align-items: flex-end; background: var(--photo-ink); padding: 0 var(--gutter); }
.cquote__img { position: absolute; inset: 0; background: url('/assets/photos/kiac-102-ms80rakf-6v90.jpg') 50% 20%/cover no-repeat; filter: var(--photo-filter); }
.cquote__scrim { position: absolute; inset: 0; background: linear-gradient(96deg, rgba(20, 21, 30, .94) 0%, rgba(20, 21, 30, .78) 52%, rgba(20, 21, 30, .3) 100%); }
.cquote__content { position: relative; padding: 76px 0 56px; max-width: 860px; }
.cquote__content blockquote { margin: 0; font: italic 300 30px/1.28 var(--font-serif); letter-spacing: -.01em; color: #fff; max-width: 700px; text-wrap: pretty; }
.cquote__attr { margin-top: 22px; font: 600 11px var(--font-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--light-teal); }

/* ---------- What partnership is ---------- */

.partnership { padding: 88px var(--gutter); background: #F5F3EE80; }
.partnership .section-header { margin-bottom: 54px; }
.partnership .section-header h2 { font-size: 50px; max-width: 600px; }
/* funding-ask paragraph omitted (Colin, 2026-08-06 — docs/DECISIONS.md) */
.partnership__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(41, 42, 60, .18); }
.pcard { background: #FAF9F7; padding: 30px 28px 32px; }
.pcard__num { font: 600 10.5px var(--font-sans); letter-spacing: .18em; text-transform: uppercase; color: rgba(41, 42, 60, .68); margin-bottom: 14px; }
.pcard__num--deep { color: var(--deep-teal); }
.pcard h3 { margin: 0; font-family: var(--font-condensed); font-weight: 700; font-size: 22px; line-height: 1; color: var(--ink); }
.pcard p { margin: 12px 0 0; font: 400 16px/1.55 var(--font-serif); color: var(--ink); }

/* ---------- Aziz split ---------- */

/* the prototype hand-drags the photo to 700×580 inside a .9fr track, which
   forces the rendered columns to 700px / remainder — built as explicit
   tracks (docs/DECISIONS.md 2026-08-06) */
.aziz { padding: 80px var(--gutter); background: #fff; display: grid; grid-template-columns: 700px 1fr; gap: 56px; align-items: center; }
.aziz__photo { height: 580px; }
.aziz__photo .photo__img { background-image: url('/assets/photos/kiac-127-ms6vljjs-191c.jpg'); }
.aziz__photo .photo__caption { padding: 64px 28px 18px; font-weight: 600; color: rgba(255, 255, 255, .84); }
.aziz__copy h2 { margin: 0; font-family: var(--font-serif); font-weight: 300; font-size: 50px; line-height: 1.1; letter-spacing: -.02em; color: var(--ink); max-width: 620px; }
.aziz__copy p { margin: 22px 0 0; max-width: 600px; font: 400 17.5px/1.65 var(--font-serif); color: var(--ink); }
.aziz__copy p + p { margin-top: 16px; }
.aziz__ledger { margin-top: 26px; border-top: 1px solid rgba(41, 42, 60, .18); }
.aziz__lrow { display: grid; grid-template-columns: auto 1fr; gap: 0 22px; align-items: baseline; padding: 15px 0; }
.aziz__lrow + .aziz__lrow { border-top: 1px solid rgba(41, 42, 60, .14); }
.aziz__lterm { font: 500 10.5px var(--font-sans); letter-spacing: .13em; text-transform: uppercase; color: rgba(41, 42, 60, .7); min-width: 104px; }
.aziz__ldef { font: 400 16px/1.45 var(--font-serif); color: var(--ink); }

/* ---------- Hub events callout ---------- */

.hubcall { padding: 52px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 48px; background: var(--deep-teal); }
.hubcall__kicker { font: 600 11px var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .88); margin-bottom: 13px; }
.hubcall h2 { margin: 0; font-family: var(--font-condensed); font-weight: 700; font-size: 46px; line-height: .98; text-transform: uppercase; color: #fff; }
.hubcall p { margin: 14px 0 0; max-width: 620px; font: 400 17px/1.58 var(--font-serif); color: #fff; }
.hubcall__btn { flex: 0 0 auto; padding: 17px 34px; background: #fff; color: var(--ink); font-family: var(--font-condensed); font-weight: 700; font-size: 16px; text-transform: uppercase; text-decoration: none; transition: background-color var(--t-fast) var(--ease); }
a.hubcall__btn:hover { color: var(--ink); background-color: var(--paper); }
a.hubcall__btn:active { background-color: color-mix(in srgb, var(--paper) 92%, black); transition-duration: 40ms; }

/* ---------- Partners strip ---------- */

.partners { padding: 56px var(--gutter) 60px; background: #fff; border-top: 1px solid rgba(41, 42, 60, .12); }
.partners__label { margin-bottom: 28px; font: 600 11px var(--font-sans); letter-spacing: .22em; text-transform: uppercase; color: rgba(41, 42, 60, .7); text-align: center; }
.partners__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--hairline); }
.partners__cell { background: #fff; padding: 28px 20px 24px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 22px; text-align: center; }
/* per-logo heights are hand-tuned inline in the markup (prototype values) */
.partners__cell img { display: block; width: auto; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .62; transition: filter var(--t-slow) var(--ease), opacity var(--t-slow) var(--ease); }
.partners__cell img:hover { filter: grayscale(0); opacity: 1; }
.partners__name { font: 500 11.5px/1.3 var(--font-sans); letter-spacing: .06em; color: var(--ink); }

/* ---------- Contact ---------- */

.contact { padding: 80px var(--gutter); background: #F5F3EE80; border-top: 1px solid rgba(41, 42, 60, .12); }
.contact .section-header { margin-bottom: 36px; }
.contact .section-header h2 { font-size: 50px; }

/* ---------- Doors variant ---------- */

.doors__head { padding-top: 74px; }

/* ==================== Responsive collapse ==================== */

@media (max-width: 1032px) {
   .argument__grid { grid-template-columns: 1fr; gap: 40px; }
   .argument__head h2 { font-size: clamp(34px, 5.5vw, 50px); }

   .cquote__content blockquote { font-size: clamp(26px, 4vw, 34px); }

   .partnership .section-header { margin-bottom: 40px; }
   .partnership__grid { grid-template-columns: 1fr 1fr; }

   /* photo drops under the copy (headline reads first) */
   .aziz { grid-template-columns: 1fr; gap: 40px; }
   .aziz__photo { order: 2; height: auto; min-height: 420px; }
   .aziz__copy h2 { font-size: clamp(34px, 5.5vw, 50px); }

   .hubcall h2 { font-size: clamp(32px, 5vw, 46px); }

   .partners__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
   .argument { padding-block: 52px 48px; }

   .cquote { min-height: 380px; }
   .cquote__content { padding: 56px 0 40px; }

   .partnership { padding-block: 52px; }
   .partnership__grid { grid-template-columns: 1fr; }
   .pcard { padding: 30px 0 32px; }

   .aziz { padding-block: 52px; }
   .aziz__photo { min-height: 340px; }
   .aziz__photo .photo__caption { padding: 48px 20px 16px; }

   .hubcall { flex-direction: column; align-items: flex-start; gap: 26px; padding-block: 48px; }

   .partners { padding-block: 48px; }
   .partners__grid { grid-template-columns: 1fr 1fr; }

   .contact { padding-block: 52px 56px; }
}
