.arch-sponsors{--arch-ink:#202a32;--arch-muted:#77818a;--arch-accent:#b28b55;--arch-line:#e9e5df;color:var(--arch-ink);font-family:inherit;width:100%;box-sizing:border-box}
.arch-sponsors *{box-sizing:border-box}
.arch-sponsors__header{text-align:center;margin:0 auto 30px;max-width:760px}
.arch-sponsors__header h2{font-size:clamp(22px,3vw,32px);line-height:1.5;font-weight:700;margin:0 0 8px;color:var(--arch-ink)}
.arch-sponsors__header p{font-size:14px;line-height:2;color:var(--arch-muted);margin:0 auto 17px}
.arch-sponsors__line{display:block;width:54px;height:2px;background:var(--arch-accent);margin:auto}
.arch-sponsors__grid{display:grid;grid-template-columns:repeat(var(--arch-columns),minmax(0,1fr));gap:18px;align-items:stretch}
.arch-sponsor-card{min-width:0;border:1px solid var(--arch-line);border-radius:13px;background:#fff;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.arch-sponsor-card:hover{transform:translateY(-4px);border-color:#d8c4a8;box-shadow:0 12px 30px rgba(28,38,46,.07)}
.arch-sponsor-card__trigger{appearance:none;border:0;background:transparent;color:inherit;text-align:center;font:inherit;width:100%;height:100%;min-height:190px;padding:22px 16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}
.arch-sponsor-card__logo{width:100%;height:82px;display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.arch-sponsor-card__logo img{display:block;max-width:82%;max-height:76px;width:auto;height:auto;object-fit:contain}
.arch-sponsor-card__placeholder{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#f3f0eb;color:var(--arch-accent);font-size:27px;font-weight:700}
.arch-sponsor-card__name{font-size:16px;font-weight:700;line-height:1.7;color:var(--arch-ink)}
.arch-sponsor-card__role{font-size:12px;color:var(--arch-muted);margin-top:2px}
.arch-sponsor-card__more{font-size:12px;color:var(--arch-accent);margin-top:12px}
.arch-sponsor-card__more span{display:inline-block;margin-right:4px;transition:transform .2s}
.arch-sponsor-card__trigger:hover .arch-sponsor-card__more span{transform:translateX(-3px)}
.arch-sponsor-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:20px}
.arch-sponsor-modal.is-open{display:flex}
.arch-sponsor-modal__backdrop{position:absolute;inset:0;background:rgba(14,22,28,.68);backdrop-filter:blur(3px)}
.arch-sponsor-modal__panel{position:relative;width:min(100%,520px);max-height:min(85vh,720px);overflow:auto;background:#fff;border-radius:17px;padding:38px 34px 32px;box-shadow:0 24px 80px rgba(0,0,0,.24);text-align:right;animation:archSponsorIn .2s ease}
@keyframes archSponsorIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.arch-sponsor-modal__close{position:absolute;left:15px;top:12px;border:0;background:#f3f3f3;color:#333;width:34px;height:34px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer}
.arch-sponsor-modal__eyebrow{font-size:11px;color:var(--arch-accent);letter-spacing:.04em;margin-bottom:8px}
.arch-sponsor-modal__title{font-size:24px;line-height:1.5;margin:0 0 4px;color:var(--arch-ink)}
.arch-sponsor-modal__role{font-size:13px;color:var(--arch-muted);margin-bottom:18px}
.arch-sponsor-modal__summary{font-weight:600;font-size:15px;line-height:2;margin:0 0 8px}
.arch-sponsor-modal__description{font-size:14px;line-height:2.1;color:#59636b;margin:0 0 22px;white-space:pre-line}
.arch-sponsor-modal__link{display:inline-flex;align-items:center;justify-content:center;background:var(--arch-ink);color:#fff!important;text-decoration:none!important;border-radius:7px;padding:11px 20px;font-size:13px;transition:background .2s}
.arch-sponsor-modal__link:hover{background:var(--arch-accent)}
@media(max-width:1024px){.arch-sponsors__grid{grid-template-columns:repeat(min(var(--arch-columns),3),minmax(0,1fr))}}
@media(max-width:767px){.arch-sponsors__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.arch-sponsor-card__trigger{min-height:165px;padding:17px 10px 14px}.arch-sponsor-card__logo{height:68px}.arch-sponsor-card__logo img{max-height:62px}.arch-sponsor-card__name{font-size:14px}.arch-sponsor-modal__panel{padding:34px 22px 25px}}
@media(max-width:360px){.arch-sponsors__grid{grid-template-columns:1fr}}
