/* Website intake */
.intake-hero{padding-bottom:clamp(5rem,9vw,7rem)}
.intake-wrap{margin-top:clamp(-4rem,-6vw,-3rem);padding-bottom:clamp(4rem,8vw,7rem)}
.intake{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.intake-side{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5)}
.progress{height:4px;border-radius:999px;background:rgb(25 24 35 / .08);overflow:hidden;margin-bottom:var(--space-4)}
.progress span{display:block;height:100%;width:12%;background:var(--blue);border-radius:inherit;transition:width .5s var(--ease)}
.stepnav{display:flex;flex-direction:column;gap:2px}
.sn{width:100%;text-align:left;display:grid;grid-template-columns:1fr;gap:.1rem;align-items:center;padding:.55rem .8rem;border-radius:var(--radius-md);min-height:44px;color:var(--text)}
.sn:hover:not(:disabled){background:var(--paper)}
.sn:disabled{color:rgb(25 24 35 / .38);cursor:not-allowed}
.sn[aria-current=step]{background:var(--ink);color:#fff}
.sn[aria-current=step] .sn-w{color:var(--blue-on-dark)}
.sn-w{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-text)}
.sn:disabled .sn-w{color:inherit}
.sn-t{font-size:var(--text-sm);font-weight:500}
.sn.done .sn-t::after{content:" ✓";color:var(--blue-text)}
.side-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}
.req{color:#c4352b;font-weight:700}
.opt{font-weight:400;font-size:var(--text-xs);color:var(--muted);margin-left:.35rem}

.intake-form{min-width:0}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(1.25rem,4vw,3rem);box-shadow:0 30px 60px -40px rgb(20 24 50 / .35)}
.panel-head{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}
.panel-head h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);letter-spacing:-.02em;margin-block:var(--space-3) var(--space-2);outline:none}
.panel-head p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5)}
.field{grid-column:1/-1;display:flex;flex-direction:column;gap:.45rem;min-width:0;border:0}
.field.half{grid-column:span 1}
.field label,.field legend{font-weight:700;font-size:var(--text-sm);color:var(--text)}
.field legend{margin-bottom:.45rem;padding:0}
.help{font-size:var(--text-xs);color:var(--muted);margin-top:-.2rem}
fieldset.field .help{margin:-.25rem 0 .5rem}
.field input:not([type=radio]):not([type=checkbox]):not([type=file]),.field textarea,.select select{width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid rgb(25 24 35 / .18);border-radius:var(--radius-md);background:#fff;font-size:var(--text-base)}
.field textarea{resize:vertical;min-height:96px;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:rgb(25 24 35 / .4)}
.field input:hover,.field textarea:hover,.select select:hover{border-color:rgb(25 24 35 / .34)}
.field input:focus,.field textarea:focus,.select select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgb(14 123 224 / .18)}
.select{position:relative}
.select select{appearance:none;padding-right:2.5rem}
.select::after{content:"";position:absolute;right:1rem;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opt-chip{position:relative;display:inline-flex;cursor:pointer}
.opt-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt-chip span{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem 1rem;border:1px solid rgb(25 24 35 / .16);border-radius:999px;font-size:var(--text-sm);font-weight:500;background:#fff;transition:all .18s var(--ease)}
.opt-chip:hover span{border-color:rgb(25 24 35 / .4)}
.opt-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.opt-chip input[type=checkbox]:checked+span::before{content:"✓";font-size:12px;color:var(--blue-on-dark)}
.opt-chip input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.field.invalid input:not([type=radio]):not([type=checkbox]),.field.invalid textarea,.field.invalid select{border-color:#c4352b}
.field.invalid .opt-chip span{border-color:rgb(196 53 43 / .5)}
.err{font-size:var(--text-xs);color:#b02a21;font-weight:500;min-height:0}
.err:empty{display:none}
.drop{position:relative;border:1.5px dashed rgb(25 24 35 / .22);border-radius:var(--radius-md);padding:1.25rem;background:var(--paper);text-align:center}
.drop.over{border-color:var(--blue);background:rgb(14 123 224 / .06)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop-label{font-size:var(--text-sm);color:var(--muted);pointer-events:none}
.drop-label strong{color:var(--blue-text)}
.file-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem;text-align:left;position:relative;z-index:1}
.file-list:empty{display:none}
.file-list li{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem;font-size:var(--text-sm)}
.file-list li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-list button{color:#b02a21;font-size:var(--text-xs);font-weight:700;min-height:32px}
.hint{margin-top:var(--space-6);padding:1rem 1.15rem;border-radius:var(--radius-md);background:rgb(14 123 224 / .07);border:1px solid rgb(14 123 224 / .2);font-size:var(--text-sm);color:var(--text)}
.panel-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--line)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{margin-top:var(--space-5);padding:.9rem 1rem;border-radius:var(--radius-md);background:#fdecea;color:#8a1f17;font-size:var(--text-sm);font-weight:500}
.consent-field{margin-top:var(--space-8)}
.consent-chip span{border-radius:var(--radius-md);align-items:flex-start;padding:1rem 1.1rem;line-height:1.5}
.consent-chip span::before{content:"";flex:none;width:18px;height:18px;margin-top:.1rem;border:1.5px solid rgb(25 24 35 / .35);border-radius:4px;background:#fff}
.consent-chip input:checked+span::before{content:"✓";display:grid;place-items:center;background:var(--blue);border-color:var(--blue);color:#fff;font-size:12px}
.consent-chip input:checked+span{background:#fff;color:var(--text);border-color:var(--blue)}
.consent-chip a{color:var(--blue-text);position:relative;z-index:2}

.review{display:flex;flex-direction:column;gap:var(--space-4)}
.rv-sec{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}
.rv-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--paper);border-bottom:1px solid var(--line)}
.rv-head h3{font-size:var(--text-sm);font-weight:700}
.rv-head .link{font-size:var(--text-sm);min-height:32px}
.rv-sec dl{padding:.25rem 1rem}
.rv-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:1rem;padding:.6rem 0;border-bottom:1px dashed var(--line);font-size:var(--text-sm)}
.rv-row:last-child{border-bottom:0}
.rv-row dt{color:var(--muted)}
.rv-row dd{white-space:pre-wrap;overflow-wrap:anywhere}
.rv-row .muted{color:var(--muted)}

.done{text-align:left}
.done h2{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);letter-spacing:-.02em;margin-block:var(--space-4);outline:none}
.done>p{color:var(--muted);max-width:60ch}
.ref{color:var(--text);font-family:var(--font-mono);font-size:.95em}
.book{margin-top:var(--space-8);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);align-items:center;padding:clamp(1.25rem,3vw,2rem);border-radius:var(--radius-lg);background:var(--ink);color:var(--on-dark)}
.book h3{font-size:var(--text-lg);font-weight:700;margin-bottom:.25rem}
.book p{color:var(--on-dark-muted);font-size:var(--text-sm);max-width:44ch}
.book-fallback{color:var(--on-dark)!important;font-weight:500}
.book-link{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.book-link code{user-select:all;word-break:break-all}

@media (max-width:960px){
  .intake{grid-template-columns:minmax(0,1fr)}
  .intake-side{position:static;padding:var(--space-4);min-width:0}
  .stepnav{flex-direction:row;overflow-x:auto;gap:.35rem;scrollbar-width:none;padding-bottom:2px}
  .stepnav::-webkit-scrollbar{display:none}
  .sn{grid-template-columns:1fr;gap:0;white-space:nowrap;padding:.45rem .8rem}
  .sn-t{display:none}
  .side-note{display:none}
}
@media (max-width:620px){
  .grid{grid-template-columns:1fr}
  .field.half{grid-column:1/-1}
  .rv-row{grid-template-columns:1fr;gap:.15rem}
  .panel-nav .btn{flex:1}
}

.campaign-note{display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;padding:1rem 1.25rem;margin-bottom:1rem;border-radius:var(--radius-md);background:#eaf3fe;border:1px solid #cfe2fb;color:var(--text)}
.campaign-note .mono{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-text);font-weight:500}
.campaign-note p{margin:0;font-size:var(--text-sm);color:var(--muted)}
