/* Dark Spotlight project-start layout and states; no legacy theme imports. */
.site-project-start { color-scheme:light; }
.site-project-start .ps-section { padding:64px 0 80px; background:transparent; border:0; }
.site-project-start .wrap.ps-wrap { width:calc(100% - 48px); max-width:720px!important; margin-inline:auto; }
.ps-panel { --ps-progress:0; --ps-direction:1; color-scheme:dark; min-width:0; padding:28px; border:1px solid var(--dark-line); border-radius:24px; color:var(--light); background:var(--dark); box-shadow:none; overflow:hidden; }
.site-project-start .ps-header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:22px; }
.site-project-start .ps-header :is(h1,h2) { margin:0; font-size:17px; font-weight:600; line-height:1.4; letter-spacing:-.02em; color:var(--light); }
.site-project-start .ps-header p { margin:0; font-size:12px; line-height:1.5; color:var(--light-muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.ps-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:relative; list-style:none; padding:0; margin:0 0 22px; }
.ps-progress::before,.ps-progress::after { content:''; position:absolute; height:2px; top:16px; left:12.5%; border-radius:2px; }
.ps-progress::before { width:75%; background:var(--dark-line); }
.ps-progress::after { width:calc(75% * var(--ps-progress)); background:var(--lime); box-shadow:none; transition:width .2s ease; }
.ps-progress li { z-index:1; display:flex; flex-direction:column; align-items:center; gap:9px; margin:0; color:var(--light-muted); text-align:center; }
.ps-progress-number { position:relative; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--dark-line); border-radius:50%; color:var(--light-muted); background:var(--dark-surface); font-size:12px; font-weight:500; transition:background .2s,color .2s,box-shadow .2s; }
.ps-progress-label { font-size:12px; line-height:1.5; }
.ps-progress [aria-current] { color:var(--light); }
.ps-progress [aria-current] .ps-progress-number { background:var(--lime); border-color:transparent; color:#202A19; box-shadow:none; }
.ps-progress [data-complete] .ps-progress-number { background:var(--dark-surface); border-color:var(--dark-line); color:var(--lime); }
.ps-progress [data-complete] .ps-progress-number::after { content:'✓'; position:absolute; right:-5px; bottom:-3px; width:14px; height:14px; display:grid; place-items:center; background:var(--lime); border:2px solid var(--dark); border-radius:50%; color:#202A19; font-size:8px; }
.site-project-start .ps-context { margin:0 0 12px; color:var(--lime); font-size:12px; font-weight:500; }
.ps-viewport { min-height:0; }
.site-project-start #project-start fieldset { min-width:0; margin:0; padding:0; border:0; }
.site-project-start #project-start legend { display:block; width:100%; margin:0 0 20px; padding:0; font-size:26px; font-weight:600; letter-spacing:-.025em; line-height:1.3; color:var(--light); }
.site-project-start #project-start legend:focus-visible { outline:none; }
.ps-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ps-choice { position:relative; min-width:0; min-height:108px; padding:15px 31px 15px 16px; border:1px solid var(--dark-line); border-radius:13px; background:var(--dark-surface); color:var(--light); text-align:left; display:flex; flex-direction:column; align-items:flex-start; gap:12px; cursor:pointer; font-family:inherit; transition:border-color .18s,background .18s,transform .18s,box-shadow .18s; }
.ps-choice:hover { border-color:var(--lime); background:var(--dark-surface); transform:translateY(-2px); }
.ps-choice[aria-pressed='true'] { border-color:var(--lime); background:var(--dark-surface); box-shadow:none; }
.ps-choice-icon { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; color:var(--lime); }
.ps-choice-icon svg { display:block; width:25px; height:25px; }
.ps-choice-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ps-choice-copy strong { color:var(--light); font-size:14px; font-weight:500; line-height:1.45; }
.ps-choice-copy>span { color:var(--light-muted); font-size:12px; font-weight:400; line-height:1.5; }
.ps-choice-check { position:absolute; right:10px; top:12px; color:var(--lime); font-size:13px; opacity:0; }
.ps-choice[aria-pressed='true'] .ps-choice-check { opacity:1; }
.ps-choice:last-child:nth-child(odd) { grid-column:1/-1; min-height:76px; flex-direction:row; align-items:center; }
.ps-choices[data-count='5'] .ps-choice { min-height:94px; padding-top:12px; padding-bottom:12px; gap:8px; }
.ps-choices[data-count='5'] .ps-choice:last-child { min-height:60px; }
.ps-choice:disabled { cursor:default; transform:none; }
.site-project-start #project-start [data-flow-input] { display:block; width:100%; min-height:50px; padding:13px 14px; border:1px solid var(--light-muted); border-radius:10px; background:var(--dark-surface); color:var(--light); font:400 16px/1.5 var(--body); }
.site-project-start #project-start [data-flow-input]::placeholder { color:var(--light-muted); opacity:1; }
.site-project-start #project-start [data-flow-input][aria-invalid] { border-color:var(--error-light); }
.ps-industry-search { position:relative; display:block; }
.ps-search-icon { position:absolute; z-index:1; left:14px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:var(--lime); pointer-events:none; }
.ps-search-icon svg { display:block; width:20px; height:20px; }
.site-project-start #project-start [data-industry-search] { padding-left:44px; background:var(--dark-surface); border-color:var(--light-muted); }
.site-project-start #project-start [data-industry-search]:focus { border-color:var(--lime); }
.site-project-start .ps-industry-status { color:var(--light-muted); font-size:12px; line-height:1.5; margin:10px 0 12px; min-height:17px; }
.ps-industries { gap:10px; }
.ps-industries .ps-choice,.ps-industries .ps-choice:last-child:nth-child(odd) { min-height:64px; grid-column:auto; flex-direction:row; align-items:center; gap:10px; padding:12px 24px 12px 12px; }
.ps-industries .ps-choice-copy>span:empty { display:none; }
.ps-industries .ps-choice-copy strong { font-size:13px; overflow-wrap:anywhere; }
.ps-industries .ps-choice-icon { width:23px; height:23px; flex-basis:23px; }
.ps-industries .ps-choice-icon svg { width:23px; height:23px; }
.ps-industries .ps-industry-custom { grid-column:1/-1!important; border-style:dashed; background:var(--dark-surface); }
.ps-industries .ps-industry-custom .ps-choice-copy strong { color:var(--lime); }
.site-project-start #project-start :is(button,input,a,summary):focus-visible { outline:none; }
.site-project-start #project-start [data-flow-input]:focus { border-color:var(--lime); }
.site-project-start .ps-hint { color:var(--light-muted); font-size:12px; line-height:1.6; margin:11px 0 0; }
.site-project-start .ps-error { color:var(--error-light); font-size:12px; line-height:1.6; margin:10px 0 0; }
.ps-error:empty,.ps-hint:empty { display:none; }
.ps-form-error { margin:0 0 18px; padding:12px; color:var(--error-light); background:#3D2222; border:1px solid var(--error-light); border-radius:10px; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.ps-form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:20px; }
.ps-back { min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--light-muted); cursor:pointer; font:400 12px/1.5 var(--body); }
.ps-back:disabled { opacity:.4; cursor:default; }
.ps-auto-hint { color:var(--light-muted); font-size:12px; line-height:1.5; text-align:right; }
.ps-next { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; max-width:100%; padding:11px 17px; border:0; border-radius:9px; background:var(--lime); color:#202A19; font:600 13px/1.5 var(--body); cursor:pointer; }
.ps-next:disabled { opacity:.6; cursor:default; }
.site-project-start .ps-preview { color:var(--light-muted); font-size:12px; line-height:1.6; margin:12px 0 0; text-align:center; }
.site-project-start .ps-step-intro { color:var(--light-muted); font-size:13px; line-height:1.7; margin:-6px 0 18px; }
.ps-contact-summary { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--dark-line); background:var(--dark-surface); border-radius:11px; overflow-wrap:anywhere; }
.ps-contact-summary strong { color:var(--light); font-size:14px; font-weight:500; }
.ps-contact-summary span { color:var(--light-muted); font-size:12px; }
.ps-review { margin:14px 0 0; border-block:1px solid var(--dark-line); }
.ps-review summary { padding:12px 0; min-height:44px; color:var(--light-muted); font-size:13px; cursor:pointer; }
.ps-review dl { margin:0 0 12px; }
.ps-review dl>div { padding:8px 0; border-top:1px solid var(--dark-line); }
.ps-review dt { color:var(--light-muted); font-size:12px; }
.ps-review dd { margin:4px 0 0; color:var(--light); font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.site-project-start .ps-privacy { margin:14px 0 0; color:var(--light-muted); font-size:12px; line-height:1.7; }
.ps-privacy a { color:var(--lime); text-underline-offset:3px; }
.ps-honeypot { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.ps-success-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:22px; border-radius:50%; color:var(--lime); background:var(--dark-surface); font-size:23px; }
.site-project-start .ps-success :is(h1,h2) { color:var(--light); font-size:30px; line-height:1.3; letter-spacing:-.025em; margin:0; }
.site-project-start .ps-success p,.site-project-start .ps-fallback p { color:var(--light-muted); font-size:14px; line-height:1.8; margin:18px 0 0; }
.site-project-start .ps-success .ps-eyebrow { color:var(--lime); font-size:12px; margin:0 0 12px; }
.site-project-start .ps-success .ps-receipt { font-size:12px; overflow-wrap:anywhere; }
.ps-success a,.ps-fallback a { display:inline-flex; align-items:center; min-height:44px; margin-top:20px; color:var(--lime); font-size:13px; }
.site-project-start .ps-fallback :is(h1,h2) { color:var(--light); font-size:26px; }
.site-project-start [hidden] { display:none!important; }
.ps-viewport[data-moving='out'] { animation:ps-flow-out .14s ease-in both; }
.ps-viewport[data-moving='in'] { animation:ps-flow-in .2s ease both; }
@keyframes ps-flow-out { to { opacity:0; transform:translateX(calc(-4px * var(--ps-direction))); } }
@keyframes ps-flow-in { from { opacity:0; transform:translateX(calc(4px * var(--ps-direction))); } to { opacity:1; transform:translateX(0); } }
@media(max-width:600px) {
 .site-project-start .ps-section { padding:32px 0 48px; }
 .site-project-start .wrap.ps-wrap { width:calc(100% - 48px); }
 .ps-panel { padding:21px 17px 16px; border-radius:19px; }
 .site-project-start .ps-header { margin-bottom:20px; }
 .site-project-start .ps-header :is(h1,h2) { font-size:16px; }
 .ps-progress { margin-bottom:18px; }
 .site-project-start #project-start legend { font-size:23px; margin-bottom:18px; }
 .ps-choices { gap:10px; }
 .ps-choice { min-height:114px; padding:13px 23px 13px 12px; gap:10px; border-radius:11px; }
 .ps-choice-copy strong { font-size:13px; }
 .ps-choice-icon svg { width:23px; height:23px; }
 .ps-auto-hint { max-width:145px; }
 .ps-form-actions { padding-top:18px; }
 .site-project-start .ps-success :is(h1,h2) { font-size:25px; }
}
@media(max-width:350px) {
 .ps-panel { padding-inline:14px; }
 .site-project-start .ps-header :is(h1,h2) { font-size:15px; }
 .site-project-start .ps-header p { font-size:12px; }
 .ps-choice { padding-left:10px; padding-right:15px; }
 .ps-choice-copy strong { font-size:12px; }
 .ps-choice-check { right:4px; }
 .ps-industries .ps-choice,.ps-industries .ps-choice:last-child:nth-child(odd) { padding:10px 8px; gap:7px; }
 .ps-industries .ps-choice-copy strong { font-size:12px; }
 .ps-industries .ps-choice-icon,.ps-industries .ps-choice-icon svg { width:20px; height:20px; }
 .ps-industries .ps-choice-icon { flex-basis:20px; }
}
@media(max-height:650px) { .ps-viewport { min-height:0; } .ps-panel { padding-top:18px; } }
@media(prefers-reduced-motion:reduce) { .ps-viewport,.ps-progress::after,.ps-progress-number,.ps-choice { animation:none!important; transition:none!important; } .ps-choice:hover { transform:none; } }
