/* NIDS Sponsors — branded, responsive sponsor wall.
   Logos sit on white cards for legibility, so this stays light on any theme. */
.nidssp{
	--n-navy:#0B1E3F; --n-navy2:#12336A; --n-cyan:#16B8E8; --n-orange:#F58220;
	--n-ink:#1b2a41; --n-ink-soft:#64748b; --n-line:#e2e8f0; --n-bg:#f7fafc;
	font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	color:var(--n-ink); max-width:1120px; margin:0 auto; padding:4px;
}
.nidssp *{box-sizing:border-box}

.nidssp-intro{
	text-align:center; color:var(--n-ink-soft); font-size:15px; line-height:1.6;
	max-width:680px; margin:0 auto 26px;
}
.nidssp-intro p{margin:0}

.nidssp-empty{
	text-align:center; color:var(--n-ink-soft); font-size:15px;
	padding:28px; border:1px dashed var(--n-line); border-radius:14px; background:var(--n-bg);
}

.nidssp-tier{margin:0 0 34px}
.nidssp-tier:last-child{margin-bottom:0}

.nidssp-tier-h{
	font-family:'Sora','Inter',sans-serif; font-weight:800; color:var(--n-navy);
	font-size:1.02rem; letter-spacing:.06em; text-transform:uppercase;
	display:flex; align-items:center; gap:14px; margin:0 0 18px;
}
.nidssp-tier-h::before,.nidssp-tier-h::after{content:"";height:2px;flex:1;border-radius:2px;background:var(--n-line)}
.nidssp-tier-h span{
	display:inline-flex; align-items:center; gap:8px;
}
.nidssp-tier-h span::before{
	content:""; width:9px; height:9px; border-radius:50%;
	background:linear-gradient(135deg,var(--n-cyan),var(--n-orange));
}

.nidssp-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(min(var(--sp-min,180px),100%),1fr));
	gap:16px; justify-items:stretch;
}

.nidssp-card{
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
	text-decoration:none; color:inherit;
	background:#fff; border:1px solid var(--n-line); border-radius:14px;
	padding:20px 16px; min-height:140px;
	transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;
}
a.nidssp-card:hover{
	transform:translateY(-3px); border-color:var(--n-cyan);
	box-shadow:0 16px 30px -18px rgba(11,30,63,.5);
}

.nidssp-logobox{
	width:100%; height:72px; display:flex; align-items:center; justify-content:center;
}
.nidssp-logo{max-width:100%; max-height:72px; width:auto; height:auto; object-fit:contain; display:block}
.nidssp-logo-text{
	font-family:'Sora','Inter',sans-serif; font-weight:700; font-size:1.05rem;
	color:var(--n-navy); text-align:center; line-height:1.2; max-height:none;
}

.nidssp-name{font-size:13.5px; font-weight:700; color:var(--n-navy); text-align:center; line-height:1.3}
.nidssp-tag{font-size:12px; color:var(--n-ink-soft); text-align:center; line-height:1.35}

/* Grayscale-until-hover option. */
.nidssp.is-gray .nidssp-logo{filter:grayscale(1); opacity:.78; transition:filter .25s,opacity .25s}
.nidssp.is-gray a.nidssp-card:hover .nidssp-logo,
.nidssp.is-gray .nidssp-card:hover .nidssp-logo{filter:none; opacity:1}

@media (max-width:600px){
	.nidssp-grid{gap:12px}
	.nidssp-card{padding:16px 12px; min-height:120px}
	.nidssp-logobox{height:60px}
	.nidssp-logo{max-height:60px}
	.nidssp-tier-h{font-size:.95rem; gap:10px}
}

@media (prefers-reduced-motion:reduce){
	.nidssp-card,.nidssp.is-gray .nidssp-logo{transition:none}
	a.nidssp-card:hover{transform:none}
}
