/* 실제 화면 검수 뒤 보완한 접근성·좁은 화면 규칙입니다. */
a, button { min-width: 44px; }
.site-logo { padding: 11px; flex-shrink: 0; }
.site-logo img { height: 42px; width: auto; object-fit: contain; }
section.founder-summary { display: block; }
section.founder-summary > .container { border-bottom: 0; padding-top: 0; padding-bottom: 0; }
.about-prose, .about-b-container, .about-tech-page, .founder-tech-summary { padding-left: 1.5rem; padding-right: 1.5rem; }
.about-b-toc-list { flex-wrap: wrap; overflow: visible; gap: .5rem 1rem; }
.item-desc, .item-details, .timeline-desc, .records-item,
.service-b-desc, .service-b-specs, .service-tech-desc, .service-tech-spec,
.step-desc, .process-b-card p, .pipeline-step p { font-size: 1rem; }
.copy-feedback { min-height: 1.7em; }
.contact-tech-dark .copy-feedback { color: #F5F3EE; }
.contact-tech-dark .copy-feedback[data-state="success"] { color: #78C6B6; }
.contact-tech-dark .copy-feedback[data-state="error"] { color: #F5F3EE; }
section { scroll-margin-top: 24px; }
@media (max-width: 640px) {
 .header-inner { flex-direction: row; align-items: center; flex-wrap: wrap; gap: .5rem; }
 .header-inner > nav { width: auto; margin-left: auto; flex: 0 0 auto; }
 .header-inner .nav-list { width: auto; gap: .875rem; flex-wrap: wrap; justify-content: flex-end; }
 .header-inner .nav-list a { white-space: nowrap; }
 .site-header, .site-header-dark, .site-header-light { padding-top: .5rem; padding-bottom: .5rem; }
 .about-prose, .about-b-container, .about-tech-page, .founder-tech-summary { padding-left: 1.125rem; padding-right: 1.125rem; }
 .hero-identity, .hero-content, .hero-tech-content, .founder-body, .about-b-content { min-width: 0; }
 .contact-email-row, .contact-tech-email-row { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { transition: none !important; }
}

/* 공통 컨테이너 기준선은 유지하고 로고 링크 내부의 중복 여백만 제거한다. */
.site-logo { padding: 0; }
.site-logo img { height: 60px; }

/* 서비스 코드는 줄이지 않고, 제목이 남은 폭 안에서 자연스럽게 줄바꿈한다. */
.service-tech-card-header { align-items: flex-start; gap: .75rem 1rem; }
.service-tech-card-title { min-width: 0; flex: 1 1 auto; }
.service-tech-code { flex-shrink: 0; margin-top: .2rem; white-space: nowrap; }

@media (max-width: 640px) {
 /* 로고와 메뉴를 한 줄로 배치하고, 실제 공간이 부족할 때만 줄을 바꾼다. */
 .site-logo { flex: 1 1 128px; min-width: 128px; max-width: 208px; min-height: 44px; }
 .site-logo img { width: 100%; max-width: 208px; height: auto; }
 .header-inner { gap: .5rem; }
 .hero-tech-actions, .contact-tech-actions { flex-direction: column; width: 100%; }
 .hero-tech-actions .btn, .contact-tech-actions .btn { width: 100%; }
 .hero-tech-dark { padding: 3.5rem 0 3rem; }
 .services-tech, .process-tech, .contact-tech-dark { padding: 3.5rem 0; }
}

