body.light {
--bg-dark: #ffffff;
--bg-dark-secondary: #f8fafc;
--glass-border: #dbe4ef;
--glass-bg: rgba(15, 23, 42, 0.04);
--text-primary: #0f172a;
--text-secondary: #475569;
--text-muted: #5b6779;
background: #f3f6fb;
color: var(--text-primary);
}
body.light::before { display: none; }
body.light .navbar {
background: rgba(255, 255, 255, 0.92);
border-bottom: 1px solid #e2e8f0;
backdrop-filter: blur(10px);
}
body.light .logo,
body.light h1,
body.light h2,
body.light h3 { color: var(--text-primary); }
.partner-program { padding-top: 7rem; padding-bottom: 4rem; }
.partner-head { max-width: 900px; margin: 0 auto 1.25rem; }
.partner-shell { max-width: 900px; margin: 0 auto; display: grid; gap: 1rem; }
.partner-hero {
background: linear-gradient(135deg, #3f0f86 0%, #5b22b0 100%);
color: #fff;
border-radius: 14px;
padding: 1.6rem 1.5rem;
border: 1px solid rgba(255,255,255,0.2);
}
.partner-hero h1 { margin: 0 0 0.55rem; font-size: 2rem; line-height: 1.2; color: #fff !important; }
.partner-hero p { margin: 0; color: rgba(255,255,255,0.92); font-size: 1rem; max-width: 860px; }
.muted-eyebrow {
display: inline-block;
margin-bottom: 0.55rem;
font-size: 0.8rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #ede9fe;
font-weight: 700;
}
.partner-card {
background: #ffffff;
border: 1px solid var(--glass-border);
border-radius: 12px;
padding: 1.2rem 1.25rem;
box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}
.partner-card h2 {
margin: 0 0 0.7rem;
font-size: 1.35rem;
font-weight: 800;
color: #0f172a !important;
background: none !important;
-webkit-text-fill-color: #0f172a !important;
-webkit-background-clip: border-box !important;
background-clip: border-box !important;
}
.partner-card p { margin: 0.4rem 0; color: var(--text-secondary); line-height: 1.65; }
.partner-list { margin: 0.4rem 0 0; padding-left: 1.1rem; color: #334155; }
.partner-list li { margin: 0.34rem 0; }
.at-a-glance { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 0.6rem; }
.glance-item {
border: 1px solid var(--glass-border);
border-radius: 10px;
background: #f8fafc;
padding: 0.75rem;
}
.glance-label { font-size: 0.73rem; text-transform: uppercase; letter-spacing: 0.05em; color: #5b6779; font-weight: 700; }
.glance-value { margin-top: 0.2rem; font-size: 1.05rem; font-weight: 800; color: #0f172a; }
.split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.8rem;
}
.steps { display: grid; gap: 0.6rem; margin-top: 0.7rem; }
.step {
border: 1px solid var(--glass-border);
border-radius: 10px;
padding: 0.78rem 0.85rem;
background: #f8fafc;
color: var(--text-secondary);
display: flex;
gap: 0.65rem;
align-items: center;
}
.step-index {
min-width: 28px;
height: 28px;
border-radius: 999px;
background: #ede9fe;
color: #5b21b6;
font-size: 0.8rem;
font-weight: 800;
display: inline-flex;
align-items: center;
justify-content: center;
}
.step strong { color: #0f172a; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.field { display: flex; flex-direction: column; gap: 0.35rem; }
.field label { font-weight: 700; color: #0f172a; font-size: 0.9rem; }
.field input, .field select, .field textarea {
border: 1px solid var(--glass-border);
border-radius: 8px;
padding: 0.74rem 0.85rem;
font-family: inherit;
font-size: 0.93rem;
background: #fff;
color: var(--text-primary);
}
.field input:focus, .field select:focus, .field textarea:focus {
outline: none;
border-color: #7c3aed;
box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}
.field textarea { min-height: 120px; resize: vertical; }
.field.full { grid-column: 1 / -1; }
.required { color: #dc2626; }
.notice { display: none; margin-bottom: 0.9rem; border-radius: 8px; padding: 0.75rem 0.9rem; border: 1px solid transparent; font-size: 0.9rem; }
.notice.show { display: block; }
.notice.success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.notice.error { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.captcha-wrap { margin-top: 0.5rem; }
.captcha-help { margin-top: 0.4rem; color: var(--text-muted); font-size: 0.82rem; }
@media (max-width: 900px) {
.form-grid, .split, .at-a-glance { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
.partner-program { padding-top: 6rem; padding-bottom: 2.75rem; }
.partner-hero h1 { font-size: 1.7rem; }
}
.section.section-flush-top {
padding-top: 0;
}
.about-card h2.about-h2-spaced {
margin-top: 1.2rem;
}
.about-card h2.about-h2-spaced-lg {
margin-top: 2rem;
}
.contact-card h2.contact-h2-spaced {
margin-top: 1.2rem;
}
.device-list.device-list-mb1 {
margin-bottom: 1rem;
}
.device-list.device-list-mb2 {
margin-bottom: 2rem;
}
.device-card p.device-note {
margin-bottom: 0.5rem;
font-size: 0.9rem;
}
.device-card.device-card-spaced {
margin-top: 1.5rem;
}
.partner-head p.partner-intro {
color: var(--text-secondary);
line-height: 1.6;
}
.partner-card p.partner-blurb {
margin-top: 0.9rem;
}
.partner-submit-row {
margin-top: 0.9rem;
}
.field.field-honeypot,
.captcha-wrap[hidden] {
display: none;
}
#submit-application-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.error-wrap {
min-height: 60vh;
display: grid;
place-items: center;
padding: 8rem 1rem 4rem;
text-align: center;
}
.error-wrap h1 {
font-size: 3rem;
margin-bottom: 0.5rem;
}
.error-wrap h1.error-title-long {
font-size: 1.75rem;
}
.error-wrap p {
color: #475569;
margin-bottom: 1.5rem;
}
.error-ref {
font-size: 0.8rem;
color: var(--text-muted);
margin-top: 1.5rem;
}
