/* Sponsor review override — 2026-10-07
   Draft-only visual refresh. Original section CSS remains intact underneath. */
section.osf26-sponsors{
  position:relative;isolation:isolate;overflow:hidden;
  margin:56px auto 64px;
  padding:clamp(34px,5vw,60px);
  border:1px solid rgba(40,111,184,.14);
  border-radius:30px;
  background:
    radial-gradient(circle at 92% 8%,rgba(91,165,232,.16),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f7fbff 46%,#edf6ff 100%);
  box-shadow:0 24px 60px rgba(28,76,126,.08)
}
section.osf26-sponsors::before{
  content:"";position:absolute;z-index:-1;top:0;left:clamp(34px,5vw,60px);
  width:72px;height:4px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#1f67ad,#72b8ee)
}
section.osf26-sponsors>.osf-sponsor-kicker{
  margin:0 0 12px;color:#1f67ad;font-size:11px;font-weight:700;letter-spacing:.18em
}
section.osf26-sponsors>h2{
  margin:0 0 12px;color:#16284a;
  font-family:"Noto Serif JP",serif;
  font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1.55;letter-spacing:.025em
}
section.osf26-sponsors>.osf-sponsor-message{
  margin:0;color:#264c72;
  font-size:clamp(17px,1.7vw,21px);font-weight:500;line-height:1.8;letter-spacing:.02em
}
section.osf26-sponsors>.osf-sponsor-proof{
  margin:10px 0 0;color:#60758b;font-size:13px;line-height:1.8
}
section.osf26-sponsors .osf-sponsor-images{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.2fr);
  align-items:center;gap:clamp(18px,2.6vw,30px);
  margin:30px 0 0;padding:0;height:auto;min-height:0
}
section.osf26-sponsors .osf-sponsor-images>figure{
  position:static;display:block;overflow:hidden;
  width:100%;height:auto;min-height:0;margin:0;padding:10px;
  border:1px solid rgba(34,88,145,.12);border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(29,77,124,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
section.osf26-sponsors .osf-sponsor-images>figure:first-child{padding:clamp(14px,2vw,24px)}
section.osf26-sponsors .osf-sponsor-images>figure:hover{
  transform:translateY(-3px);border-color:rgba(31,103,173,.24);
  box-shadow:0 18px 42px rgba(29,77,124,.12)
}
section.osf26-sponsors .osf-sponsor-images>figure>a{
  display:block;width:100%;height:auto;margin:0;padding:0;border-radius:12px
}
section.osf26-sponsors .osf-sponsor-images>figure>a:focus-visible{
  outline:3px solid rgba(31,103,173,.38);outline-offset:4px
}
section.osf26-sponsors .osf-sponsor-images img{
  display:block;width:100%;max-width:100%;height:auto;margin:0;padding:0;
  border-radius:12px;aspect-ratio:auto!important;object-fit:contain!important;
  contain-intrinsic-size:none!important;content-visibility:visible!important
}
section.osf26-sponsors .osf-sponsor-images>figure:first-child img{aspect-ratio:1024/683!important}
section.osf26-sponsors .osf-sponsor-images>figure:nth-child(2) img{aspect-ratio:1024/773!important}
section.osf26-sponsors .osf-sponsor-link{
  display:inline-flex;align-items:center;gap:8px;
  margin:26px 0 0;padding:11px 16px;
  border:1px solid rgba(31,103,173,.22);border-radius:999px;
  background:rgba(255,255,255,.82);color:#1b5f9f;
  font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease
}
section.osf26-sponsors .osf-sponsor-link:hover,
section.osf26-sponsors .osf-sponsor-link:focus-visible{
  transform:translateY(-1px);border-color:rgba(31,103,173,.38);background:#fff
}
section.osf26-sponsors .osf-sponsor-link:focus-visible{
  outline:3px solid rgba(31,103,173,.24);outline-offset:3px
}
@media (max-width:760px){
  section.osf26-sponsors{
    margin:40px auto 44px;padding:30px 20px;border-radius:22px
  }
  section.osf26-sponsors::before{left:20px;width:56px}
  section.osf26-sponsors>h2{font-size:clamp(25px,7.2vw,30px);line-height:1.6}
  section.osf26-sponsors>.osf-sponsor-message{font-size:16px;line-height:1.8}
  section.osf26-sponsors>.osf-sponsor-proof{font-size:12px}
  section.osf26-sponsors .osf-sponsor-images{
    grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px
  }
  section.osf26-sponsors .osf-sponsor-images>figure{padding:8px;border-radius:16px}
  section.osf26-sponsors .osf-sponsor-images>figure:first-child{padding:16px}
  section.osf26-sponsors .osf-sponsor-link{margin-top:22px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  section.osf26-sponsors .osf-sponsor-images>figure,
  section.osf26-sponsors .osf-sponsor-link{transition:none}
}
