/* The two client forms (/start/ and /intake/), built to match design/sh313_forms_v01.figcraft. Skin: DESIGN.md
   (street-sign ink and paper, one green for the action). Phone first: 16px+ inputs so iOS never zooms, 44px+ targets. */
:root{
  --ink:#1d2025; --paper:#f3f3f3; --card:#fff; --line:#d9dce1; --mute:#5b616b; --soft:#b7bcc4; --go:#1d6b4f; --go-hi:#7fd1ae; --go-pale:#d6f0e4; --err:#b42318;
  --dsp:"Big Shoulders Display","Arial Narrow",Impact,sans-serif; --body:"Barlow",system-ui,sans-serif; --px:clamp(16px,5vw,56px); color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.5 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--go-hi)}
[hidden]{display:none!important}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.bar{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--px);min-height:64px}
.bar img{width:clamp(124px,14vw,182px);height:auto;display:block}
.bar a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:15px}
.hero{background:var(--ink);color:var(--paper);padding:clamp(20px,4vw,40px) var(--px) clamp(32px,5vw,56px);display:flex;flex-direction:column;gap:14px}
.hero .kick{color:var(--go-hi);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.hero h1{font:800 clamp(48px,7.6vw,96px)/.88 var(--dsp);text-transform:uppercase;letter-spacing:0;text-wrap:balance;max-width:16ch}
.hero p{color:var(--soft);font-size:clamp(17px,1.5vw,19px);max-width:62ch}

main{padding:clamp(20px,3vw,32px) var(--px) 64px;max-width:1180px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:22px}

.fld{display:flex;flex-direction:column;gap:6px}
.fld>label:not(.chk),.lbl{font-weight:700;font-size:16px}
.opt{font-weight:400;color:var(--mute);font-size:14px;margin-left:6px}
.hint{color:var(--mute);font-size:15px;line-height:1.4}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{
  width:100%;min-height:48px;font:400 17px/1.4 var(--body);color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:8px;padding:11px 14px;-webkit-appearance:none;appearance:none}
select{background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231d2025' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
textarea{min-height:110px;resize:vertical}
input::placeholder,textarea::placeholder{color:#767c86}
[aria-invalid=true]{border:2px solid var(--err)!important}
.err{color:var(--err);font-size:15px;font-weight:600}
.err:empty{display:none}

.chk{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:8px 0;cursor:pointer;font-weight:500;font-size:16px;line-height:1.4}
.chk input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--go)}
.radios{display:flex;flex-wrap:wrap;gap:4px 24px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:6px;font:700 17px var(--body);background:var(--go);color:var(--paper);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease-out,background .15s}
.btn:hover{background:#185a42;transform:translateY(-1px)}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}
.btn.ghost{background:none;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:rgba(29,32,37,.05)}
.btn.small{min-height:44px;font-size:15px;padding:0 16px}
@media (max-width:640px){.card>.btn,.send>.btn{width:100%}}
@media (prefers-reduced-motion:reduce){.btn,.btn:hover{transition:none;transform:none}}
.fine{color:var(--mute);font-size:14px;line-height:1.45}
.fine a{display:inline-block;min-height:24px}
.status{font-weight:600;font-size:16px;min-height:1.5em}
.status.bad{color:var(--err)}
.status:empty{display:none}

/* steps aside (start) */
.steps{display:flex;flex-direction:column;gap:16px}
.steps h2{font:800 34px/.9 var(--dsp);text-transform:uppercase}
.steps ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.steps li{display:grid;grid-template-columns:48px 1fr;gap:2px 10px}
.steps li b{font:800 36px/.9 var(--dsp);color:var(--go);grid-row:span 2}
.steps li span{color:var(--mute);font-size:15px}
.cols{display:grid;gap:32px}
@media (min-width:960px){.cols{grid-template-columns:minmax(0,680px) minmax(0,380px);gap:48px;align-items:start}}

/* done panel */
.sign{background:var(--go);color:var(--paper);border:3px solid var(--ink);border-radius:8px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:10px;max-width:680px}
.sign h2{font:800 clamp(56px,8vw,88px)/.88 var(--dsp);text-transform:uppercase}
.sign p{color:var(--go-pale);font-weight:500}
.sign ul{margin:4px 0 0;padding-left:20px;color:var(--paper)}
.after{display:flex;flex-direction:column;gap:8px;margin-top:20px;max-width:680px}
.after a{font-weight:700}

/* intake */
.prog{position:sticky;top:0;z-index:5;background:var(--go-pale);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 var(--px);min-height:48px}
.prog b{color:var(--go);font-size:16px}
.prog a{font-weight:700;font-size:15px;display:inline-flex;align-items:center;min-height:44px}
.secs{display:flex;flex-direction:column;gap:12px;max-width:760px}
.sec{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:20px;scroll-margin-top:60px}
.sec h2{font:800 34px/.9 var(--dsp);text-transform:uppercase;display:flex;gap:12px;align-items:baseline}
.sec h2 span{color:var(--go);font-size:42px}
.days{display:flex;flex-direction:column;gap:8px}
.day{display:grid;grid-template-columns:48px 1fr;gap:4px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.day>b{font-size:16px;align-self:start;padding-top:10px}
.day .chk{min-height:44px;padding:0}
.times{grid-column:2;display:flex;align-items:center;gap:8px}
.times input{min-width:0}
.times span{color:var(--mute);font-size:15px}
@media (min-width:640px){.day{grid-template-columns:56px 130px 1fr}.times{grid-column:auto}}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.thumbs:empty{display:none}
.thumbs li{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs .doc{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;font-weight:700;padding:6px;text-align:center;word-break:break-all}
.thumbs button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;background:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-end;padding:4px}
.thumbs button span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:18px;line-height:1}
.pick{position:relative}
.pick input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.pick:focus-within .btn{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--go-hi)}
.send{display:flex;flex-direction:column;gap:16px;max-width:760px;padding-top:28px}
.send h2{font:800 44px/.9 var(--dsp);text-transform:uppercase}
.left{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px}
.left p{font-weight:700;font-size:16px}
.left ul{margin:6px 0 0;padding-left:20px;font-size:16px}
.left li a{display:inline-flex;align-items:center;min-height:44px}
.plink{display:inline-flex;align-items:center;min-height:48px;font-weight:700;font-size:16px;align-self:flex-start}
.left.ok{border-color:var(--go);background:var(--go-pale)}
.left.ok p{color:var(--go)}
.load{max-width:680px;padding:24px 0;color:var(--mute)}
