:root{--ink:#090909;--paper:#fff;--muted:#666;--line:#d7d7d7;--soft:#f4f4f2;--pad:clamp(22px,4vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}.topbar{height:60px;background:#050505;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:13px;font-weight:700;letter-spacing:.08em}.brand{color:#fff;text-decoration:none;font-size:22px;letter-spacing:.12em}.shell{display:grid;grid-template-columns:328px minmax(0,1fr);min-height:calc(100svh - 60px)}.sidebar{border-right:1px solid var(--ink);position:sticky;top:0;height:calc(100svh - 60px);display:flex;flex-direction:column}.progress-block{padding:40px}.progress-block span{font-size:12px;letter-spacing:.12em}.progress-block strong{font-size:42px;display:block;margin:14px 0 18px}.progress-track{height:5px;border:1px solid var(--ink)}.progress-track i{display:block;height:100%;width:25%;background:var(--ink);transition:width .35s ease}.step-nav{position:relative;width:100%;min-height:96px;border:0;border-top:1px solid var(--line);background:#fff;color:#111;display:grid;grid-template-columns:70px 1fr;align-items:center;text-align:left;padding:0 40px;cursor:pointer}.step-nav:last-child{border-bottom:1px solid var(--line)}.step-nav::before{content:"";position:absolute;left:5px;top:0;bottom:0;width:4px;background:#111;transform:scaleY(0);transition:transform .2s}.step-nav.active::before{transform:scaleY(.88)}.step-nav b{font-size:38px;font-weight:500}.step-nav span{font-size:16px}.security-note{margin:auto 40px 36px;padding-left:30px;font-size:13px;line-height:1.5;position:relative}.security-note::before{content:"";position:absolute;left:0;top:0;width:16px;height:19px;border:2px solid;border-radius:2px}.workspace{padding:56px var(--pad) 30px;max-width:1280px;width:100%;margin:0 auto}.intro{padding-bottom:48px;border-bottom:3px solid var(--ink);margin-bottom:44px}.intro h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;max-width:850px;margin:18px 0}.intro>p:last-child{max-width:680px;color:#444;line-height:1.6}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin:0 0 18px}.form-step{display:none;animation:reveal .35s ease}.form-step.active{display:block}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.04em;line-height:1.03;margin:0 0 14px}.lead{color:var(--muted);font-size:17px;line-height:1.55;max-width:760px;margin:0 0 34px}.project-types{display:grid;gap:12px}.type-option{width:100%;min-height:82px;border:1px solid var(--ink);background:#fff;display:grid;grid-template-columns:44px minmax(180px,260px) 1fr;align-items:center;padding:0 26px;text-align:left;cursor:pointer;transition:background .2s,color .2s}.type-option:hover,.type-option.selected{background:var(--ink);color:#fff}.type-option .radio{width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}.type-option.selected .radio::after{content:"✓"}.type-option strong{font-size:22px}.type-option small{font-size:15px;line-height:1.5;border-left:1px solid currentColor;padding-left:28px}.question{padding:35px 0;border-top:1px solid var(--ink)}.question:first-child{border-top:3px solid var(--ink)}.question-head{display:grid;grid-template-columns:52px 1fr;gap:16px}.question-number{font-size:16px;font-weight:700}.question h3{font-size:25px;letter-spacing:-.02em;margin:0 0 8px}.helper{color:var(--muted);line-height:1.5;margin:0 0 18px}.field-wrap{margin-left:68px}textarea,input,select{width:100%;border:1px solid #222;background:#fff;color:#111;border-radius:0;font:inherit;font-size:16px;padding:16px;outline:none;transition:box-shadow .2s}textarea{min-height:122px;resize:vertical}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #ddd}.quick-actions{display:flex;gap:24px;margin-top:12px}.quick-actions button,.text-button{border:0;border-bottom:1px solid;background:none;padding:4px 0;font:inherit;cursor:pointer}.choice-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.choice-grid label{border:1px solid #222;padding:10px 13px;cursor:pointer}.choice-grid input{width:auto;margin-right:7px}.review{border-top:3px solid}.review-row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.review-row dt{font-weight:700}.review-row dd{margin:0;color:#555;white-space:pre-wrap}.not-connected{margin-top:30px;padding:18px;border:1px solid;text-align:center;font-weight:700;letter-spacing:.08em}.form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--ink);margin-top:44px;padding:18px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.form-actions>span{color:#777;font-size:12px}.primary-button{justify-self:end;min-width:220px;min-height:58px;border:1px solid #050505;background:#050505;color:#fff;font-size:18px;font-weight:700;cursor:pointer}.primary-button:hover{background:#333}.primary-button:disabled{opacity:.35;cursor:not-allowed}.text-button{justify-self:start}.hidden{visibility:hidden}
@media(max-width:860px){.topbar{height:54px;padding:0 18px}.topbar span{font-size:10px}.brand{font-size:17px}.shell{display:block}.sidebar{position:sticky;top:0;z-index:5;height:auto;border-right:0;border-bottom:1px solid;background:#fff}.progress-block{padding:15px 20px;display:grid;grid-template-columns:1fr auto;align-items:center}.progress-block strong{font-size:20px;margin:0}.progress-track{grid-column:1/-1;width:100%;margin-top:10px}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr)}.step-nav{min-height:58px;padding:8px;border-top:0;border-right:1px solid var(--line);display:block;text-align:center}.step-nav::before{left:0;right:0;top:auto;height:4px;width:auto;transform:scaleX(0)}.step-nav.active::before{transform:scaleX(.9)}.step-nav b{font-size:13px}.step-nav span{display:none}.security-note{display:none}.workspace{padding:34px 20px 18px}.intro{padding-bottom:32px;margin-bottom:34px}.intro h1{font-size:40px}.type-option{grid-template-columns:36px 1fr;min-height:88px;padding:15px}.type-option strong{font-size:19px}.type-option small{grid-column:2;border-left:0;padding:5px 0 0;font-size:13px}.question-head{grid-template-columns:34px 1fr}.question h3{font-size:21px}.field-wrap{margin-left:0}.form-actions{grid-template-columns:1fr 1fr;padding:14px 0}.form-actions>span{display:none}.primary-button{min-width:0;width:100%;min-height:52px}.review-row{grid-template-columns:1fr;gap:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* UX refinements and submission state */
.workspace{padding-top:38px}
.intro{padding-bottom:30px;margin-bottom:32px}
.intro h1{font-size:clamp(40px,4.4vw,60px);margin:12px 0}
.form-actions{position:static;background:#fff;backdrop-filter:none}
.hidden{display:none!important}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}
.contact-grid label{display:grid;gap:9px;font-size:14px;font-weight:700}
.contact-grid label b{color:#b42318}
.consent{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--ink);padding:16px;margin:8px 0 18px;line-height:1.45;cursor:pointer}
.consent input{width:20px;height:20px;flex:0 0 20px;margin:0;padding:0}
.submit-status{min-height:24px;font-weight:700;margin:12px 0 24px}
.submit-status.error{color:#b42318}.submit-status.success{color:#176b35}
body[data-current-step]:not([data-current-step="1"]) .intro{display:none}

@media(max-width:860px){
  .workspace{padding:26px 20px 20px}
  .intro{padding-bottom:24px;margin-bottom:26px}
  .intro h1{font-size:34px;line-height:1.04;margin:10px 0 14px}
  .intro>p:last-child{font-size:15px;margin-bottom:0}
  h2{font-size:32px;line-height:1.08}
  .lead{font-size:15px;margin-bottom:24px}
  .step-nav{min-height:64px;padding:7px 3px}
  .step-nav b{display:block;font-size:13px;margin-bottom:4px}
  .step-nav span{display:block;font-size:9px;line-height:1.1}
  .type-option{min-height:0;padding:14px;grid-template-columns:32px 1fr}
  .type-option .radio{width:24px;height:24px}
  .type-option strong{font-size:18px}
  .type-option small{font-size:12px;line-height:1.4}
  .question{padding:26px 0}
  textarea{min-height:108px}
  .contact-grid{grid-template-columns:1fr;gap:14px}
  .form-actions{margin-top:28px;padding:14px 0 calc(14px + env(safe-area-inset-bottom))}
  .primary-button{font-size:16px}
}

/* Live typography correction */
.intro h1{font-size:clamp(32px,3.2vw,46px);line-height:1.08;letter-spacing:-.035em}
h2{font-size:clamp(29px,2.8vw,42px);line-height:1.1;letter-spacing:-.03em}
.form-actions{grid-template-columns:1fr 1fr}
@media(max-width:860px){
  .intro h1{font-size:28px;line-height:1.12}
  h2{font-size:26px;line-height:1.14}
}

.resource-heading{margin-top:64px;padding:34px 0 22px;border-top:5px solid var(--ink)}
.resource-heading h2{margin-bottom:12px}
.resource-heading .lead{margin-bottom:0}
.automation-final-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.automation-final-grid label span{display:block;font-weight:700;margin-bottom:8px}
.automation-details{margin-top:50px}
@media(max-width:860px){
  .resource-heading{margin-top:42px;padding:26px 0 16px}
  .automation-final-grid{grid-template-columns:1fr}
}

/* AI Automation brief: remove decorative rules while preserving field outlines. */
body.automation-mode .intro,
body.automation-mode .question,
body.automation-mode .question:first-child,
body.automation-mode .resource-heading,
body.automation-mode .form-actions,
body.automation-mode .review{border-top:0;border-bottom:0}
body.automation-mode .intro{padding-bottom:10px;margin-bottom:34px}
body.automation-mode .helper:empty{display:none}
