- 라이트 → 다크 캔버스 전환 (메인과 동일 비주얼 언어: 다크 루트 div + -mt-16 hero + border-t 섹션 리듬 + 모노 라벨 헤더) - Hero 축약 ~60vh + HeroField 배경 - #showcase 섹션 ShowcaseGrid variant="full"(8슬롯), #portfolio 하위호환 앵커 유지 - 구 SAMPLES(/work/website/samples) 노출 링크 제거 — 쇼케이스가 대체 - 운영 실사례/제공분야/프로세스/FAQ 다크 카드 + ScrollReveal 스태거 - OutsourcingRequestForm 다크 스킨(스타일 값만, 로직 diff 0) + placeholder dark-soft - "7년차"·"대기업" 잔존 카피 전부 운영 실증 톤으로 교체 (metadata 포함) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
useCallback deps([step])에 stepValid가 읽는 state가 없어 마운트 시점 빈 상태 기준으로 검증되던 회귀(b4f57c8) 수정. 일반 함수로 전환. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
b4f57c8
1. 반복되는 INPUT_STYLE 객체를 파일 상단 상수로 추출하여 5곳에서 재사용 - textarea (단계③) - input[name] (단계④) - input[email] (단계④) - input[phone] (단계④) - button.prev (네비게이션) 2. goNext 함수 첫 줄에 방어적 재검증 추가 - if (!stepValid(step)) return; 추가 - step dependency 복원 (useCallback 의존성 배열) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>