/* P38: sponsor examples use independent text and picture frames in normal flow. */
.sponsors-hero { padding:64px 0; background:linear-gradient(115deg,#f7f3e9,#edf1e8); }
.sponsors-hero>.container { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.sponsors-hero-copy,.sponsors-purpose-copy,.sponsors-closing-copy { display:flex; flex-direction:column; align-items:flex-start; gap:24px; min-width:0; }
.sponsors-hero-copy>.eyebrow,.sponsors-purpose-copy>.eyebrow,.sponsors-closing-copy>.eyebrow { margin:0; }
.sponsors-hero-copy>p,.sponsors-purpose-copy>p,.sponsors-closing-copy>p { margin:0; }
.sponsors-hero-copy>p:not(.sponsors-hero-lead),.sponsors-purpose-copy>p,.sponsors-closing-copy>p { color:var(--muted); }
.sponsors-hero-lead { font:500 clamp(26px,2.6vw,38px)/1.6 var(--serif); color:var(--teal); letter-spacing:-.035em; }
.sponsors-hero-actions,.sponsors-closing-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:8px; }
.sponsors-hero-visual { display:grid; gap:24px; min-width:0; }
.sponsors-photo { margin:0; min-width:0; }
.sponsors-photo>.photo { width:100%; height:auto; min-height:0; }
.sponsors-photo figcaption { padding-top:12px; color:var(--muted); font-size:12px; line-height:1.7; }
.sponsors-hero-visual .photo { aspect-ratio:1.65; }
.sponsors-hero-caption { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:24px; align-items:center; padding:24px 28px; background:#fffcf3; border-left:3px solid var(--rust); }
.sponsors-hero-caption>span { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--rust); }
.sponsors-hero-caption .icon { width:22px; height:22px; }
.sponsors-hero-caption>p { margin:0; font:500 24px/1.6 var(--serif); }
.sponsor-directory { display:grid; gap:28px; }
.sponsor-featured { display:grid; grid-template-columns:minmax(160px,.75fr) minmax(0,1.45fr) minmax(0,.9fr); gap:32px; align-items:center; padding:36px; border:1px solid #b7c8b8; background:#f4f6ee; }
.sponsor-wordmark { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-width:0; padding:16px 8px; color:var(--teal); background:#e8eee2; aspect-ratio:1; text-align:center; }
.sponsor-wordmark>span { display:grid; place-items:center; }
.sponsor-wordmark .icon { width:24px; height:24px; }
.sponsor-wordmark strong { font:600 26px/1.3 var(--serif); letter-spacing:-.03em; }
.sponsor-wordmark small { font-size:11px; line-height:1.5; }
.sponsor-wordmark-featured { min-height:220px; background:var(--teal); color:#f8f4e5; }
.sponsor-wordmark-featured>span { margin-bottom:8px; }
.sponsor-wordmark-featured .icon { width:34px; height:34px; stroke-width:1.25; }
.sponsor-wordmark-featured strong { font-size:42px; }
.sponsor-wordmark-featured small { font-size:14px; }
.sponsor-featured-copy,.sponsor-card-copy { display:flex; flex-direction:column; align-items:flex-start; gap:18px; min-width:0; }
.sponsor-featured-copy h3 { font:600 clamp(28px,2.2vw,36px)/1.5 var(--serif); }
.sponsor-featured-copy>p,.sponsor-card-copy>p { margin:0; color:var(--muted); }
.sponsor-labels { display:flex; align-items:center; flex-wrap:wrap; gap:10px 12px; }
.sponsor-labels>span:not(.tag) { font-size:13px; color:var(--muted); }
.sponsor-featured-scope { padding-left:28px; border-left:1px solid #c9d5c4; display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; }
.sponsor-featured-scope>span { color:#6b866f; }
.sponsor-featured-scope h4 { font-size:17px; }
.sponsor-featured-scope p { font-size:17px; color:var(--teal); margin:0; }
.sponsor-featured-scope small { font-size:13px; line-height:1.8; color:var(--muted); }
.sponsor-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.sponsor-card { display:grid; grid-template-columns:110px minmax(0,1fr); gap:26px; padding:30px; align-items:start; min-width:0; background:#fffdf8; border:1px solid var(--line); transition:border-color .2s,box-shadow .2s; }
.sponsor-card:hover { border-color:#a7bba9; box-shadow:0 10px 25px #183c3608; }
.sponsor-card h3 { font-family:var(--serif); }
.sponsor-card-copy>p { font-size:16px; line-height:1.85; }
.sponsor-scope { display:grid; gap:8px; width:100%; margin:0; padding-top:16px; border-top:1px solid var(--line); }
.sponsor-scope dt { font-size:12px; color:var(--rust); }
.sponsor-scope dd { margin:0; font-size:14px; line-height:1.8; color:var(--teal); }
.sponsors-purpose-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:center; }
.sponsors-purpose-grid>.sponsors-photo .photo { aspect-ratio:1.25; }
.sponsors-purpose-list { display:grid; width:100%; }
.sponsors-purpose-list>article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:20px; border-top:1px solid #d5d5c8; padding:24px 0; }
.sponsors-purpose-list>article:last-child { padding-bottom:0; }
.sponsors-purpose-list>article>span { color:var(--rust); font-size:13px; padding-top:3px; }
.sponsors-purpose-list h3 { font-size:21px; margin-bottom:16px; }
.sponsors-purpose-list p { color:var(--muted); font-size:16px; }
.sponsors-principles { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.sponsors-principles>li { display:flex; flex-direction:column; gap:18px; padding-top:24px; border-top:1px solid #b8c8ba; min-width:0; }
.sponsors-principles>li>span { font:500 22px/1.4 var(--serif); color:var(--rust); }
.sponsors-principles h3 { font-size:22px; }
.sponsors-principles p { margin:0; color:var(--muted); font-size:16px; }
.sponsors-guideline-link { margin-top:40px; padding:24px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; background:#f5f3eb; }
.sponsors-guideline-link>p { color:var(--muted); }
.sponsors-path-heading { max-width:820px; margin:0 auto 40px; text-align:center; }
.sponsors-path-heading>p:not(.eyebrow) { margin-top:20px; color:var(--muted); }
.sponsors-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.sponsors-paths>article { display:grid; grid-template-columns:52px minmax(0,1fr); gap:24px; padding:32px; background:#fffdf8; min-width:0; }
.sponsors-path-icon { display:grid; place-items:center; width:52px; height:52px; color:var(--teal); border:1px solid #c7d6c5; border-radius:50%; }
.sponsors-paths>article>div { display:flex; flex-direction:column; align-items:flex-start; gap:20px; min-width:0; }
.sponsors-paths h3 { font-family:var(--serif); }
.sponsors-paths p { margin:0; color:var(--muted); font-size:16px; }
.sponsors-paths .button { margin-top:4px; }
.sponsors-closing { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.sponsors-closing .photo { aspect-ratio:1.5; }
.sponsors-closing-note { padding-top:24px; border-top:1px solid var(--line); font-size:14px; line-height:1.9; }
@media(max-width:1100px) {
 .sponsors-hero>.container,.sponsors-purpose-grid,.sponsors-closing { gap:36px; }
 .sponsor-featured { grid-template-columns:minmax(160px,.6fr) minmax(0,1.4fr); gap:28px; padding:28px; }
 .sponsor-featured-scope { grid-column:1/-1; padding:24px 0 0; border-left:0; border-top:1px solid #c9d5c4; display:grid; grid-template-columns:32px minmax(0,.8fr) minmax(0,1fr); gap:16px 20px; align-items:start; }
 .sponsor-featured-scope small { grid-column:2/-1; }
 .sponsor-card-grid { grid-template-columns:1fr; }
 .sponsor-card { grid-template-columns:110px minmax(0,1fr); }
 .sponsors-principles { gap:28px; }
 .sponsors-paths>article { grid-template-columns:1fr; }
 .sponsors-hero-caption { grid-template-columns:1fr; gap:16px; }
}
@media(max-width:760px) {
 .sponsors-hero { padding:44px 0; }
 .sponsors-hero>.container,.sponsors-purpose-grid,.sponsors-principles,.sponsors-paths,.sponsors-closing { grid-template-columns:1fr; gap:32px; }
 .sponsors-hero-copy,.sponsors-purpose-copy,.sponsors-closing-copy { gap:22px; }
 .sponsors-hero-copy>p br,.sponsors-purpose-copy h2 br,.sponsors-path-heading h2 br { display:none; }
 .sponsors-hero-caption { grid-template-columns:1fr 1.3fr; padding:24px; gap:20px; }
 .sponsors-hero-caption>span { font-size:13px; }
 .sponsors-hero-caption>p { font-size:21px; }
 .sponsors-hero-actions,.sponsors-closing-actions { flex-direction:column; align-items:flex-start; width:100%; }
 .sponsor-featured { grid-template-columns:1fr; padding:24px; gap:28px; }
 .sponsor-wordmark-featured { width:100%; aspect-ratio:auto; min-height:180px; }
 .sponsor-featured-scope { grid-column:auto; display:flex; gap:16px; }
 .sponsor-featured-scope small { grid-column:auto; }
 .sponsor-card { grid-template-columns:64px minmax(0,1fr); padding:24px; gap:20px; }
 .sponsor-card .sponsor-wordmark { gap:6px; padding:12px 6px; aspect-ratio:auto; min-height:96px; }
 .sponsor-card .sponsor-wordmark>span { display:none; }
 .sponsor-card .sponsor-wordmark strong { font-size:22px; }
 .sponsor-card .sponsor-wordmark small { font-size:10px; }
 .sponsor-card h3 { font-size:22px; }
 .sponsor-labels { gap:8px 10px; }
 .sponsors-purpose-grid>.sponsors-photo .photo { aspect-ratio:1.65; }
 .sponsors-purpose-list>article { grid-template-columns:28px minmax(0,1fr); gap:16px; }
 .sponsors-guideline-link { padding:24px; align-items:flex-start; }
 .sponsors-path-heading { text-align:left; margin-bottom:32px; }
 .sponsors-paths { gap:24px; }
 .sponsors-paths>article { padding:28px 24px; gap:24px; }
 .sponsors-closing .photo { aspect-ratio:1.65; }
}
@media(prefers-reduced-motion:reduce) {
 .sponsor-card { transition:none; }
}
