﻿.sp-hero { padding:140px 0 60px; position:relative; overflow:hidden; }
.sp-hero::after { content:''; position:absolute; inset:-30% 0 0 0; background:radial-gradient(ellipse 80% 60% at 20% 20%, rgba(255,94,0,0.16), transparent 60%), radial-gradient(ellipse 70% 60% at 80% 30%, rgba(220,38,38,0.14), transparent 65%); pointer-events:none; }
.sp-hero-inner { position:relative; display:grid; gap:24px; }
.sp-pill { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:0.58rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--fire-light); background:rgba(220,38,38,0.08); border:1px solid rgba(220,38,38,0.2); padding:8px 16px; border-radius:999px; }
.sp-title { font-family:var(--font-display); font-size:2.2rem; letter-spacing:0.06em; text-transform:uppercase; }
.sp-sub { max-width:720px; color:var(--text-2); font-size:0.95rem; }
.sp-cta-row { display:flex; flex-wrap:wrap; gap:12px; }
.sp-how { display:grid; gap:18px; }
.sp-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sp-how-card { background:linear-gradient(180deg,rgba(18,18,26,0.92),rgba(8,8,12,0.92)); border:1px solid var(--border-soft); border-radius:20px; padding:20px; box-shadow:0 16px 38px rgba(0,0,0,0.28); display:grid; gap:10px; }
.sp-how-card h3 { margin:0; font-family:var(--font-display); font-size:0.98rem; letter-spacing:0.08em; text-transform:uppercase; }
.sp-how-card p { margin:0; color:var(--text-2); font-size:0.92rem; line-height:1.72; }
.sp-how-step { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:14px; background:rgba(255,94,0,0.14); border:1px solid rgba(255,94,0,0.24); color:var(--fire-light); font-family:var(--font-display); font-size:0.74rem; letter-spacing:0.12em; }

.sp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.sp-card { background:linear-gradient(180deg,rgba(18,18,26,0.9),rgba(8,8,12,0.9)); border:1px solid var(--border-soft); border-radius:18px; padding:18px; box-shadow:0 14px 40px rgba(0,0,0,0.25); display:flex; flex-direction:column; gap:14px; position:relative; overflow:hidden; transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.sp-card::after { content:''; position:absolute; inset:auto 0 0 0; height:2px; background:linear-gradient(90deg,rgba(255,94,0,0.2),rgba(255,94,0,0.8),rgba(255,94,0,0.2)); opacity:0; transition:opacity 0.25s ease; }
.sp-card:hover { transform:translateY(-4px); border-color:rgba(255,94,0,0.4); box-shadow:0 18px 46px rgba(0,0,0,0.35); }
.sp-card:hover::after { opacity:1; }
.sp-card-head { display:flex; align-items:center; gap:12px; }
.sp-card-logo { width:52px; height:52px; border-radius:14px; background:rgba(255,94,0,0.12); display:grid; place-items:center; font-family:var(--font-display); font-weight:800; color:var(--fire-light); }
.sp-card-title { font-family:var(--font-display); font-size:0.95rem; letter-spacing:0.08em; text-transform:uppercase; }
.sp-card-meta { color:var(--text-3); font-size:0.75rem; }
.sp-card-pitch { color:var(--text-2); font-size:0.85rem; }
.sp-card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.sp-success-shell { display:grid; grid-template-columns:1.4fr .9fr; gap:20px; margin-bottom:24px; padding:24px; border-radius:24px; border:1px solid rgba(255,94,0,0.18); background:linear-gradient(140deg,rgba(255,94,0,0.14),rgba(255,94,0,0.04) 30%,rgba(8,8,12,0.98) 72%),linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.01)); box-shadow:0 24px 56px rgba(0,0,0,0.32); }
.sp-success-title { font-family:var(--font-display); font-size:clamp(1.35rem,2.8vw,2.3rem); line-height:1.04; letter-spacing:0.05em; text-transform:uppercase; margin-top:10px; }
.sp-success-copy { margin-top:12px; max-width:60ch; color:var(--text-2); font-size:0.92rem; line-height:1.82; }
.sp-success-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-self:end; }
.sp-success-metric { padding:16px; border-radius:18px; border:1px solid rgba(255,94,0,0.16); background:linear-gradient(180deg,rgba(18,18,26,0.88),rgba(8,8,12,0.92)); box-shadow:0 16px 36px rgba(0,0,0,0.22); display:grid; gap:6px; }
.sp-success-metric-value { font-family:var(--font-display); font-size:1.2rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--fire-light); }
.sp-success-metric-label { color:var(--text-3); font-size:0.78rem; line-height:1.6; }
.sp-success-grid { margin-top:6px; }
.sp-success-card { min-height:100%; }
.sp-success-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.sp-success-points span { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; border:1px solid rgba(255,94,0,0.18); background:rgba(255,94,0,0.08); color:var(--text-2); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; }
.sp-success-cta { margin-top:24px; }
.sp-success-cta-title { font-family:var(--font-display); font-size:1.12rem; letter-spacing:0.08em; text-transform:uppercase; margin:10px 0 8px; }
.sp-success-cta-copy { color:var(--text-2); font-size:0.88rem; line-height:1.72; max-width:52ch; }

.sp-filter { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; background:var(--surface); border:1px solid var(--border-soft); border-radius:16px; padding:14px; margin-bottom:22px; }
.sp-filter .form-input, .sp-filter .form-select { background:rgba(0,0,0,0.35); }

.sp-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:28px; }
.sp-info-card { background:var(--raised); border:1px solid var(--border-soft); border-radius:16px; padding:16px; color:var(--text-2); font-size:0.86rem; }
.sp-bottom-cta { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px; border-radius:24px; border:1px solid rgba(255,94,0,0.18); background:linear-gradient(135deg,rgba(255,94,0,0.1),rgba(34,211,238,0.08)), color-mix(in srgb, var(--bg-surface) 90%, transparent); }

.sp-detail { padding:120px 0 80px; }
.sp-detail-grid { display:grid; grid-template-columns:1.2fr 0.8fr; gap:24px; }
.sp-detail-card { background:var(--surface); border:1px solid var(--border-soft); border-radius:20px; padding:20px; }
.sp-detail-logo { width:64px; height:64px; border-radius:16px; background:rgba(255,94,0,0.12); display:grid; place-items:center; font-family:var(--font-display); font-weight:800; color:var(--fire-light); margin-bottom:12px; }
.sp-detail-title { font-family:var(--font-display); font-size:1.4rem; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:8px; }
.sp-detail-meta { color:var(--text-3); font-size:0.8rem; margin-bottom:14px; }
.sp-detail-pitch { color:var(--text-2); font-size:0.9rem; margin-bottom:14px; }
.sp-limit { font-size:0.75rem; color:var(--text-3); }

.sp-form .form-input, .sp-form .form-textarea, .sp-form .form-select { width:100%; }
.sp-form .form-group { margin-bottom:14px; }

.sp-tag { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-size:0.55rem; text-transform:uppercase; letter-spacing:0.2em; color:var(--fire-light); }
.sp-dummy { display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; color:var(--text-3); }
.sp-tip { display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; border:1px solid rgba(255,94,0,0.4); color:var(--fire-light); font-size:0.7rem; }

@keyframes sp-fade-up { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.sp-animate { animation:sp-fade-up 0.6s ease both; }

@media (max-width: 900px) {
  .sp-detail-grid { grid-template-columns:1fr; }
  .sp-how-grid { grid-template-columns:1fr; }
  .sp-success-shell { grid-template-columns:1fr; }
  .sp-success-metrics { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  .sp-hero { padding:110px 0 42px; }
  .sp-title { font-size:1.55rem; line-height:1.08; }
  .sp-sub { font-size:0.86rem; line-height:1.75; }
  .sp-cta-row .btn { width:100%; justify-content:center; }
  .sp-filter { grid-template-columns:1fr; padding:12px; }
  .sp-filter > div:last-child { flex-direction:column; align-items:stretch !important; }
  .sp-filter > div:last-child .btn { width:100%; justify-content:center; }
  .sp-card { padding:16px; }
  .sp-card-head { align-items:flex-start; }
  .sp-info-grid { grid-template-columns:1fr; }
}

.sp-tooltip { position:relative; display:inline-flex; align-items:center; gap:8px; }
.sp-tooltip-btn { background:rgba(255,94,0,0.15); border:1px solid rgba(255,94,0,0.4); color:var(--fire-light); width:22px; height:22px; border-radius:50%; display:grid; place-items:center; cursor:pointer; font-size:0.7rem; }
.sp-tooltip-panel { position:absolute; top:36px; left:auto; right:0; min-width:220px; max-width:min(280px, calc(100vw - 36px)); background:#0f0f17; border:1px solid rgba(255,94,0,0.3); color:var(--text-2); padding:12px 14px; border-radius:12px; font-size:0.78rem; box-shadow:0 16px 36px rgba(0,0,0,0.38); opacity:0; pointer-events:none; transform:translateY(6px); transition:all 0.2s ease; z-index:12; }
.sp-tooltip-panel.show { opacity:1; pointer-events:auto; transform:translateY(0); }

.sp-slides { position:relative; display:grid; gap:18px; }
.sp-slide-stack { position:relative; min-height:420px; }
.sp-slide { position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,18,26,0.96),rgba(8,8,12,0.96)); border:1px solid rgba(255,94,0,0.2); border-radius:20px; padding:28px; display:grid; gap:14px; transition:transform 0.4s ease, opacity 0.4s ease, box-shadow 0.4s ease; box-shadow:0 18px 40px rgba(0,0,0,0.35); }
.sp-slide h3 { font-family:var(--font-display); font-size:1.1rem; letter-spacing:0.08em; text-transform:uppercase; }
.sp-slide p { color:var(--text-2); font-size:0.92rem; line-height:1.8; }
.sp-slide-meta { display:flex; gap:12px; flex-wrap:wrap; color:var(--text-3); font-size:0.76rem; }
.sp-slide.is-active { z-index:3; opacity:1; transform:translateY(0) scale(1); }
.sp-slide.is-next { z-index:2; opacity:0.7; transform:translateY(14px) scale(0.98); }
.sp-slide.is-last { z-index:1; opacity:0.45; transform:translateY(28px) scale(0.96); }
.sp-slide-nav { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-start; }
.sp-slide-btn { background:rgba(255,94,0,0.12); border:1px solid rgba(255,94,0,0.35); color:var(--fire-light); padding:8px 14px; border-radius:999px; font-family:var(--font-display); font-size:0.6rem; letter-spacing:0.16em; text-transform:uppercase; cursor:pointer; transition:all 0.2s ease; }
.sp-slide-btn.active { background:rgba(255,94,0,0.28); box-shadow:0 0 20px rgba(255,94,0,0.3); }

@media (max-width: 900px) {
  .sp-slide-stack { min-height:460px; }
}

@media (max-width: 640px) {
  .sp-slide-stack { min-height:520px; }
  .sp-slide { padding:20px; }
  .sp-slide h3 { font-size:0.95rem; }
}

.sp-carousel { display:grid; place-items:center; }
.sp-stack { position:relative; width:min(760px, 100%); height:360px; }
.sp-stack-card { position:absolute; inset:0; background:linear-gradient(180deg,rgba(18,18,26,0.96),rgba(8,8,12,0.96)); border:1px solid rgba(255,94,0,0.25); border-radius:22px; padding:28px; display:grid; gap:14px; box-shadow:0 20px 48px rgba(0,0,0,0.4); transition:transform 0.45s ease, opacity 0.45s ease, box-shadow 0.45s ease; cursor:pointer; }
.sp-stack-card h3 { font-family:var(--font-display); font-size:1.1rem; letter-spacing:0.08em; text-transform:uppercase; }
.sp-stack-card p { color:var(--text-2); font-size:0.92rem; line-height:1.85; }
.sp-stack-card .sp-pill { width:fit-content; }
.sp-stack-card.pos-0 { transform:translateY(0) scale(1); z-index:4; }
.sp-stack-card.pos-1 { transform:translateY(20px) scale(0.97); opacity:0.7; z-index:3; }
.sp-stack-card.pos-2 { transform:translateY(40px) scale(0.94); opacity:0.45; z-index:2; }
.sp-stack-card.pos-hide { transform:translateY(60px) scale(0.92); opacity:0; z-index:1; pointer-events:none; }
.sp-stack-hint { text-align:center; color:var(--text-3); font-size:0.75rem; margin-top:14px; }

@media (max-width: 640px) {
  .sp-stack { height:420px; }
  .sp-stack-card { padding:20px; }
  .sp-stack-card h3 { font-size:0.95rem; }
}
.sp-apply-card { background:linear-gradient(180deg,rgba(20,20,30,0.96),rgba(8,8,12,0.98)); border:1px solid rgba(255,94,0,0.25); box-shadow:0 20px 50px rgba(0,0,0,0.4); }
.sp-apply-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.sp-apply-badge { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--fire-light); background:rgba(255,94,0,0.1); border:1px solid rgba(255,94,0,0.35); padding:6px 14px; border-radius:999px; }
.sp-apply-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sp-apply-form .form-group { margin-bottom:0; }
.sp-apply-form .form-group.full { grid-column:1 / -1; }
.sp-apply-form .form-input, .sp-apply-form .form-select, .sp-apply-form .form-textarea { background:rgba(0,0,0,0.35); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:12px 14px; color:var(--text-1); }
.sp-apply-form .form-textarea { min-height:120px; }
.sp-apply-cta { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:18px; }
.sp-apply-note { color:var(--text-3); font-size:0.78rem; }

@media (max-width: 900px) {
  .sp-apply-form { grid-template-columns:1fr; }
}
.sp-apply-card { background:linear-gradient(160deg,rgba(18,18,28,0.98),rgba(8,8,12,0.98)); border:1px solid rgba(255,94,0,0.28); box-shadow:0 26px 70px rgba(0,0,0,0.55); }
.sp-apply-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }
.sp-apply-head h3 { font-size:1.25rem; }
.sp-apply-badge { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-size:0.58rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--fire-light); background:rgba(255,94,0,0.12); border:1px solid rgba(255,94,0,0.4); padding:6px 14px; border-radius:999px; }
.sp-apply-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sp-apply-form .form-group { margin-bottom:0; }
.sp-apply-form .form-group.full { grid-column:1 / -1; }
.sp-apply-form .form-input, .sp-apply-form .form-select, .sp-apply-form .form-textarea, .sp-apply-form input[type='file'] { background:rgba(8,8,12,0.85); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:12px 14px; color:var(--text-1); box-shadow:inset 0 0 0 1px rgba(0,0,0,0.2); }
.sp-apply-form input[type='file'] { padding:10px 12px; }
.sp-apply-form .form-textarea { min-height:140px; }
.sp-apply-form .form-input:focus, .sp-apply-form .form-select:focus, .sp-apply-form .form-textarea:focus { outline:none; border-color:rgba(255,94,0,0.6); box-shadow:0 0 0 2px rgba(255,94,0,0.2); }
.sp-apply-cta { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:18px; }
.sp-apply-note { color:var(--text-3); font-size:0.78rem; }
.sp-apply-side { background:linear-gradient(180deg,rgba(18,18,26,0.95),rgba(9,9,14,0.98)); border:1px solid rgba(255,255,255,0.06); }
.sp-apply-list { display:grid; gap:12px; }
.sp-apply-step { display:flex; gap:10px; align-items:flex-start; }
.sp-apply-step span { width:26px; height:26px; border-radius:50%; background:rgba(255,94,0,0.15); color:var(--fire-light); display:grid; place-items:center; font-size:0.75rem; font-weight:700; }

@media (max-width: 900px) {
  .sp-apply-form { grid-template-columns:1fr; }
}
.sp-apply-wrap { display:grid; grid-template-columns:1.15fr 0.85fr; gap:24px; }
.sp-apply-shell { background:linear-gradient(160deg,rgba(18,18,28,0.98),rgba(8,8,12,0.98)); border:1px solid rgba(255,94,0,0.28); border-radius:24px; padding:26px; box-shadow:0 28px 70px rgba(0,0,0,0.55); position:relative; overflow:hidden; }
.sp-apply-shell::after { content:''; position:absolute; inset:-40% 0 auto 0; height:220px; background:radial-gradient(ellipse 60% 60% at 20% 40%, rgba(255,94,0,0.18), transparent 70%); pointer-events:none; }
.sp-apply-title { font-family:var(--font-display); font-size:1.3rem; letter-spacing:0.08em; text-transform:uppercase; margin:12px 0 8px; }
.sp-apply-sub { color:var(--text-2); font-size:0.88rem; }
.sp-apply-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.sp-apply-grid .form-group { margin-bottom:0; }
.sp-apply-grid .full { grid-column:1 / -1; }
.sp-apply-grid .form-input, .sp-apply-grid .form-select, .sp-apply-grid .form-textarea, .sp-apply-grid input[type='file'] { background:rgba(8,8,12,0.85); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:12px 14px; color:var(--text-1); box-shadow:inset 0 0 0 1px rgba(0,0,0,0.2); }
.sp-apply-grid .form-textarea { min-height:140px; }
.sp-apply-grid .form-input:focus, .sp-apply-grid .form-select:focus, .sp-apply-grid .form-textarea:focus { outline:none; border-color:rgba(255,94,0,0.6); box-shadow:0 0 0 2px rgba(255,94,0,0.2); }
.sp-apply-cta { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:18px; }
.sp-apply-note { color:var(--text-3); font-size:0.78rem; }

.sp-apply-side { background:linear-gradient(180deg,rgba(12,12,18,0.95),rgba(6,6,10,0.98)); border:1px solid rgba(255,255,255,0.06); border-radius:24px; padding:24px; display:grid; gap:16px; }
.sp-apply-side h3 { font-family:var(--font-display); font-size:1.05rem; letter-spacing:0.08em; text-transform:uppercase; }
.sp-apply-steps { display:grid; gap:12px; }
.sp-apply-step { display:flex; gap:10px; align-items:flex-start; }
.sp-apply-step span { width:26px; height:26px; border-radius:50%; background:rgba(255,94,0,0.18); color:var(--fire-light); display:grid; place-items:center; font-size:0.75rem; font-weight:700; }
.sp-apply-badges { display:flex; flex-wrap:wrap; gap:8px; }
.sp-apply-badge-lite { background:rgba(255,94,0,0.12); border:1px solid rgba(255,94,0,0.35); color:var(--fire-light); font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; padding:6px 12px; border-radius:999px; font-family:var(--font-display); }

@media (max-width: 980px) {
  .sp-apply-wrap { grid-template-columns:1fr; }
  .sp-apply-grid { grid-template-columns:1fr; }
}
.sp-apply-wrap { display:grid; gap:24px; }
.sp-apply-center { max-width:980px; margin:0 auto; }
.sp-apply-tabs { max-width:980px; margin:0 auto; background:linear-gradient(180deg,rgba(12,12,18,0.95),rgba(6,6,10,0.98)); border:1px solid rgba(255,255,255,0.06); border-radius:22px; padding:18px; }
.sp-apply-tab-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.sp-apply-tab { background:rgba(255,94,0,0.12); border:1px solid rgba(255,94,0,0.3); color:var(--fire-light); font-family:var(--font-display); font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; padding:6px 14px; border-radius:999px; }
.sp-apply-steps { display:grid; gap:10px; }
.sp-apply-step { display:flex; gap:10px; align-items:flex-start; color:var(--text-2); font-size:0.86rem; }
.sp-apply-step span { width:26px; height:26px; border-radius:50%; background:rgba(255,94,0,0.18); color:var(--fire-light); display:grid; place-items:center; font-size:0.75rem; font-weight:700; }
.sp-apply-solo { max-width:900px; margin:0 auto; }
.sp-apply-wrap { display:block; }
.sp-form-section { border:1px solid rgba(255,255,255,0.06); border-radius:18px; padding:18px; background:rgba(8,8,12,0.6); display:grid; gap:14px; }
.sp-form-section-title { font-family:var(--font-display); font-size:0.85rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--fire-light); }
.sp-form-section-sub { color:var(--text-3); font-size:0.8rem; margin-top:-6px; }
.sp-apply-grid { grid-template-columns:1fr 1fr; }
.sp-apply-grid .full { grid-column:1 / -1; }
.sp-apply-shell { max-width:920px; margin:0 auto; }
@media (max-width: 900px){ .sp-apply-grid { grid-template-columns:1fr; } }
.sp-apply-shell { position:relative; }
.sp-apply-headrow { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.sp-apply-title { display:flex; align-items:center; gap:10px; }
.sp-apply-highlight { background:linear-gradient(90deg,rgba(255,94,0,0.18),transparent); padding:6px 12px; border-radius:999px; font-size:0.7rem; color:var(--fire-light); text-transform:uppercase; letter-spacing:0.2em; font-family:var(--font-display); }
.sp-form-section { border:1px solid rgba(255,94,0,0.18); background:linear-gradient(180deg,rgba(10,10,16,0.8),rgba(8,8,12,0.55)); }
.sp-form-section::after { content:''; height:2px; width:120px; background:linear-gradient(90deg,rgba(255,94,0,0.6),transparent); }
.sp-form-section-title { font-size:0.9rem; }
.sp-apply-grid .form-input, .sp-apply-grid .form-select, .sp-apply-grid .form-textarea, .sp-apply-grid input[type='file'] { background:rgba(6,6,10,0.9); border:1px solid rgba(255,255,255,0.06); }
.sp-apply-grid .form-input::placeholder, .sp-apply-grid .form-textarea::placeholder { color:var(--text-3); }
.sp-apply-cta { justify-content:space-between; }
.sp-apply-note { font-size:0.72rem; }
.sp-apply-shell { overflow:visible; }
.sp-tooltip-panel { right:0; left:auto; max-width:260px; }
@media (max-width: 640px){ .sp-tooltip-panel { right:auto; left:0; max-width:220px; } }

@media (max-width: 520px) {
  .sp-hero {
    padding: 98px 0 34px;
  }

  .sp-pill {
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 0.5rem;
    letter-spacing: 0.16em;
    padding: 8px 12px;
  }

  .sp-title {
    font-size: 1.28rem;
    line-height: 1.06;
  }

  .sp-sub {
    font-size: 0.82rem;
    line-height: 1.66;
  }

  .sp-grid,
  .sp-info-grid {
    gap: 12px;
  }
  .sp-success-shell,
  .sp-success-metric,
  .sp-success-cta {
    border-radius: 16px;
    padding: 14px;
  }

  .sp-card,
  .sp-detail-card,
  .sp-how-card,
  .sp-apply-shell,
  .sp-apply-side,
  .sp-apply-tabs,
  .sp-form-section {
    border-radius: 16px;
    padding: 14px;
  }

  .sp-card-head {
    gap: 10px;
  }

  .sp-card-logo,
  .sp-detail-logo {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .sp-card-title,
  .sp-detail-title,
  .sp-apply-title {
    font-size: 0.9rem;
  }

  .sp-card-pitch,
  .sp-detail-pitch,
  .sp-apply-sub,
  .sp-form-section-sub {
    font-size: 0.8rem;
    line-height: 1.6;
  }

  .sp-card-actions,
  .sp-cta-row,
  .sp-apply-cta,
  .sp-bottom-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .sp-card-actions .btn,
  .sp-cta-row .btn,
  .sp-apply-cta .btn,
  .sp-bottom-cta .btn {
    width: 100%;
    justify-content: center;
  }

  .sp-stack {
    height: 360px;
  }

  .sp-stack-card,
  .sp-slide {
    padding: 16px;
    border-radius: 16px;
  }

  .sp-slide-meta {
    gap: 8px;
    font-size: 0.7rem;
  }

  .sp-apply-headrow,
  .sp-apply-head {
    flex-direction: column;
    align-items: stretch;
  }

  .sp-apply-highlight {
    width: fit-content;
    max-width: 100%;
  }
}

html[data-theme="light"] body:not(.theme-locked) .sp-card,
html[data-theme="light"] body:not(.theme-locked) .sp-detail-card,
html[data-theme="light"] body:not(.theme-locked) .sp-how-card,
html[data-theme="light"] body:not(.theme-locked) .sp-slide,
html[data-theme="light"] body:not(.theme-locked) .sp-stack-card,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-card,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-shell,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-side,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-tabs,
html[data-theme="light"] body:not(.theme-locked) .sp-form-section,
html[data-theme="light"] body:not(.theme-locked) .sp-bottom-cta{
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(250,240,228,.98));
  border-color:rgba(68,36,18,.14);
  box-shadow:0 20px 44px rgba(91,58,29,.12);
}

html[data-theme="light"] body:not(.theme-locked) .sp-pill,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-badge,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-badge-lite,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-tab{
  background:rgba(249,115,22,.1);
  border-color:rgba(217,119,6,.24);
  color:var(--fire);
}

html[data-theme="light"] body:not(.theme-locked) .sp-card-logo,
html[data-theme="light"] body:not(.theme-locked) .sp-detail-logo,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-step span{
  background:rgba(249,115,22,.12);
  color:var(--fire);
}

html[data-theme="light"] body:not(.theme-locked) .sp-filter{
  background:rgba(255,252,246,.98);
  border-color:rgba(68,36,18,.14);
  box-shadow:0 14px 30px rgba(91,58,29,.08);
}

html[data-theme="light"] body:not(.theme-locked) .sp-filter .form-input,
html[data-theme="light"] body:not(.theme-locked) .sp-filter .form-select,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-form .form-input,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-form .form-select,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-form .form-textarea,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-grid .form-input,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-grid .form-select,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-grid .form-textarea,
html[data-theme="light"] body:not(.theme-locked) .sp-apply-grid input[type='file']{
  background:rgba(255,255,255,.94);
  border-color:rgba(91,58,29,.12);
  color:var(--text-1);
  box-shadow:none;
}

html[data-theme="light"] body:not(.theme-locked) .sp-tooltip-panel{
  background:#fffaf2;
  border-color:rgba(217,119,6,.22);
  box-shadow:0 12px 30px rgba(91,58,29,.14);
}

html[data-theme="light"] body:not(.theme-locked) .sp-info-card{
  background:rgba(255,252,246,.98);
  border-color:rgba(68,36,18,.14);
  box-shadow:0 14px 30px rgba(91,58,29,.08);
}

/* readability uplift */
.sp-pill,
.sp-tag,
.sp-apply-badge,
.sp-apply-badge-lite,
.sp-apply-tab,
.sp-slide-btn,
.sp-apply-highlight{
  font-size:.66rem;
  line-height:1.34;
}

.sp-card-meta,
.sp-limit,
.sp-slide-meta,
.sp-stack-hint,
.sp-apply-note,
.sp-tooltip-panel{
  font-size:.88rem;
  line-height:1.65;
}

.sp-card-pitch,
.sp-info-card,
.sp-detail-pitch,
.sp-slide p,
.sp-stack-card p,
.sp-apply-sub,
.sp-apply-step{
  font-size:.96rem;
  line-height:1.72;
}

@media (max-width: 767px) {
  .sp-pill,
  .sp-tag,
  .sp-apply-badge,
  .sp-apply-badge-lite,
  .sp-apply-tab,
  .sp-slide-btn,
  .sp-apply-highlight{
    font-size:.62rem;
  }

  .sp-card-meta,
  .sp-limit,
  .sp-slide-meta,
  .sp-stack-hint,
  .sp-apply-note,
  .sp-tooltip-panel{
    font-size:.84rem;
    line-height:1.58;
  }

  .sp-card-pitch,
  .sp-info-card,
  .sp-detail-pitch,
  .sp-slide p,
  .sp-stack-card p,
  .sp-apply-sub,
  .sp-apply-step{
    font-size:.9rem;
    line-height:1.64;
  }
}

/* font role enforcement */
.sp-title,
.sp-card-title,
.sp-detail-title,
.sp-slide h3,
.sp-stack-card h3,
.sp-apply-title,
.sp-apply-side h3,
.sp-form-section-title{
  font-family:var(--font-display);
  font-weight:900;
}

.sp-pill,
.sp-tag,
.sp-apply-badge,
.sp-apply-badge-lite,
.sp-apply-tab,
.sp-slide-btn,
.sp-apply-highlight{
  font-family:var(--font-display);
  font-weight:700;
}

.sp-sub,
.sp-card-pitch,
.sp-info-card,
.sp-detail-pitch,
.sp-slide p,
.sp-stack-card p,
.sp-apply-sub,
.sp-apply-step,
.sp-dummy,
.sp-form-section-sub{
  font-family:var(--font-body);
  font-weight:500;
}

.sp-card-meta,
.sp-limit,
.sp-slide-meta,
.sp-stack-hint,
.sp-apply-note,
.sp-tooltip-panel{
  font-family:var(--font-mono);
  font-weight:600;
}
