/* Sublunar sponsor pages (ported from Heirloom). Rides on styles.css. White/grey only, no orange. */
.subpage{--muted:var(--mist);--soft:var(--text-2);--faint:var(--text-3)}
.subpage .nav{background:rgba(11,11,11,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:rgba(255,255,255,.08)}
.sp-hero h1 em{font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-weight:400;color:var(--text);letter-spacing:-.01em}
.sp-hero h1{font-family:var(--display)}
.sp-sec > h2{font-family:var(--display)}
.sp-wrap { padding-top: clamp(56px, 8vw, 110px); }
.sp-hero h1 { font-weight: 500; font-size: clamp(46px, 6.4vw, 96px); letter-spacing: -.035em; line-height: 1.02; }
.sp-hero p { margin-top: 22px; max-width: 46ch; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.55; color: var(--muted); }
.sp-sec { margin-top: clamp(72px, 9vw, 130px); }
.sp-sec > h2 { font-weight: 500; font-size: clamp(28px, 3vw, 40px); letter-spacing: -.025em; }
.sp-sec > .lead { margin-top: 12px; color: var(--muted); font-size: 16px; max-width: 56ch; line-height: 1.6; }
.sp-get { margin-top: 32px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.07); }
.sp-get div { padding: 26px 24px 26px 0; }
.sp-get div + div { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.07); }
.sp-get .k { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--faint); }
.sp-get h3 { margin-top: 14px; font-size: 17px; font-weight: 500; }
.sp-get p { margin-top: 8px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.sp-price { margin-top: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; border: 1px solid rgba(255,255,255,.09); border-radius: 24px; overflow: hidden; }
.sp-price > div { padding: clamp(24px, 3vw, 40px); }
.sp-price > div + div { border-left: 1px solid rgba(255,255,255,.07); }
.sp-price .amt { font-weight: 500; font-size: clamp(48px, 5vw, 72px); letter-spacing: -.04em; line-height: 1; }
.sp-price .amt small { font-size: .3em; color: var(--muted); letter-spacing: 0; font-weight: 400; }
.sp-price .bill { margin-top: 10px; color: var(--muted); font-size: 15px; }
.sp-price .left { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; font: 600 10px var(--font); letter-spacing: .1em; text-transform: uppercase; color: #F4F2EE; border: 1px solid rgba(244,242,238,.4); border-radius: 100px; padding: 6px 10px; }
.sp-price ul { list-style: none; display: grid; gap: 12px; }
.sp-price li { display: flex; gap: 10px; color: var(--soft); font-size: 15px; line-height: 1.5; }
.sp-price li::before { content: ''; flex: none; width: 6px; height: 6px; margin-top: 8px; border-radius: 50%; background: #F4F2EE; }
.sp-steps { margin-top: 32px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: s; }
.sp-steps div { padding: 22px; border-radius: 18px; background: #161617; border: 1px solid rgba(255,255,255,.06); }
.sp-steps b { font: 600 10px var(--font); letter-spacing: .1em; text-transform: uppercase; color: var(--faint); }
.sp-steps h3 { margin-top: 12px; font-size: 16px; font-weight: 500; } .sp-steps p { margin-top: 6px; color: var(--muted); font-size: 14px; line-height: 1.55; }
/* application */
.sp-apply { margin-top: 32px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.sp-form { display: grid; gap: 16px; }
.sp-form label, .sp-form .fld { display: grid; gap: 8px; font-size: 14px; color: var(--soft); }
.sp-form label span small { color: var(--faint); font-weight: 400; }
.sp-form input[type=text], .sp-form input[type=url], .sp-form input[type=email], .sp-form textarea {
  width: 100%; background: #121213; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 13px 14px; color: var(--text);
  font: 15px var(--font); outline: none; transition: border-color .2s; }
.sp-form textarea { min-height: 96px; resize: vertical; line-height: 1.5; }
.sp-form input:focus, .sp-form textarea:focus { border-color: rgba(244,242,238,.7); }
.sp-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sp-drop { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px dashed rgba(255,255,255,.18); border-radius: 14px; cursor: pointer; transition: border-color .2s, background .2s; }
.sp-drop:hover, .sp-drop.over { border-color: rgba(244,242,238,.7); background: rgba(244,242,238,.04); }
.sp-drop .thumb { width: 48px; height: 48px; border-radius: 10px; background: #1a1a1b; display: grid; place-items: center; overflow: hidden; flex: none; color: var(--faint); font-size: 20px; }
.sp-drop .thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.sp-drop .t { font-size: 14px; color: var(--soft); } .sp-drop .t small { display: block; color: var(--faint); margin-top: 2px; }
.sp-form .check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--muted); line-height: 1.5; }
.sp-form .check input { margin-top: 3px; accent-color: #F4F2EE; }
.sp-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sp-form .err { color: #F0A08A; font-size: 14px; min-height: 1.2em; }
.sp-preview { position: sticky; top: 96px; }
.sp-preview .lbl { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--faint); margin-bottom: 12px; }
.sp-preview .strip { padding: 22px; border-radius: 22px; background: #121213; border: 1px solid rgba(255,255,255,.07); }
.sp-preview .strip p { text-align: center; color: var(--muted); font-size: 12px; margin-bottom: 14px; }
.pv-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pv-card { height: 96px; border-radius: 14px; border: 1px dashed rgba(255,255,255,.12); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--faint); font-size: 12px; }
.pv-card.me { border: 1px solid rgba(244,242,238,.5); background: #161617; color: var(--text); box-shadow: 0 0 0 4px rgba(244,242,238,.06); }
.pv-card.me img { max-width: 62%; max-height: 34px; object-fit: contain; }
.pv-card.me span { font-size: 12px; color: var(--soft); max-width: 90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-done { padding: 28px; border-radius: 22px; border: 1px solid rgba(244,242,238,.4); background: rgba(244,242,238,.04); }
.sp-done h3 { font-size: 22px; font-weight: 500; } .sp-done p { margin-top: 10px; color: var(--muted); line-height: 1.6; }
.sp-link { margin-top: 16px; display: flex; gap: 8px; }
.sp-link input { flex: 1; min-width: 0; background: #121213; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 11px 12px; color: var(--text); font: 13px ui-monospace, Menlo, monospace; }
.sp-link button, .sp-mini { height: 42px; padding: 0 16px; border-radius: 100px; border: 0; background: var(--text); color: #0B0B0B; font: 500 14px var(--font); cursor: pointer; transition: background .2s; }
.sp-link button:hover, .sp-mini:hover { background: #F4F2EE; }
.sp-faq { margin-top: 24px; border-top: 1px solid rgba(255,255,255,.07); }
.sp-faq details { border-bottom: 1px solid rgba(255,255,255,.07); padding: 18px 0; }
.sp-faq summary { cursor: pointer; font-size: 16px; font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sp-faq summary::after { content: '+'; color: var(--faint); transition: transform .2s; } .sp-faq details[open] summary::after { transform: rotate(45deg); }
.sp-faq p { margin-top: 10px; color: var(--muted); font-size: 15px; line-height: 1.65; max-width: 70ch; }
.sp-end { height: clamp(80px, 10vw, 140px); }
@media (max-width: 900px) { .sp-get, .sp-steps { grid-template-columns: 1fr 1fr; } .sp-get div:nth-child(3) { padding-left: 0; border-left: 0; } .sp-apply { grid-template-columns: 1fr; } .sp-preview { position: static; order: -1; } }
@media (max-width: 560px) { .sp-get, .sp-steps, .sp-price { grid-template-columns: 1fr; } .sp-get div { padding-left: 0 !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.07); } .sp-price > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.07); } .sp-form .row { grid-template-columns: 1fr; } }
/* status + admin */
.st-card { margin-top: 32px; max-width: 640px; padding: clamp(24px, 3vw, 36px); border-radius: 24px; border: 1px solid rgba(255,255,255,.09); }
.st-pill { display: inline-flex; font: 600 10px var(--font); letter-spacing: .1em; text-transform: uppercase; padding: 6px 10px; border-radius: 100px; border: 1px solid rgba(255,255,255,.14); color: var(--soft); }
.st-pill.approved, .st-pill.live { color: #F4F2EE; border-color: rgba(244,242,238,.5); } .st-pill.rejected, .st-pill.ended { color: var(--faint); }
.st-card h2 { margin-top: 16px; font-size: 26px; font-weight: 500; letter-spacing: -.02em; } .st-card p { margin-top: 10px; color: var(--muted); line-height: 1.65; }
.st-card .acts { margin-top: 24px; display: flex; gap: 12px; flex-wrap: wrap; }
.sp-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sp-seg label { display: flex !important; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); cursor: pointer; transition: border-color .2s, background .2s; }
.sp-seg label:has(input:checked) { border-color: rgba(244,242,238,.7); background: rgba(244,242,238,.05); }
.sp-seg input { margin-top: 3px; accent-color: #F4F2EE; }
.sp-seg b { display: block; font-weight: 500; color: var(--text); font-size: 14px; } .sp-seg small { display: block; margin-top: 2px; color: var(--faint); font-size: 12px; line-height: 1.45; }
.pv-card.me.wordmark img { max-width: 78%; max-height: 40px; }
.pv-card.me.mark { flex-direction: row; gap: 9px; padding: 0 10px; }
.pv-card.me.mark img { max-width: 28px; max-height: 28px; } .pv-card.me.mark span { font-size: 14px; font-weight: 500; color: var(--text); }
@media (max-width: 560px) { .sp-seg { grid-template-columns: 1fr; } }
