.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{min-height:24px;margin-top:16px;font-size:14px;line-height:1.7}.form-status.success{color:#16804e}.form-status.error{color:#b42318}.contact-submit:disabled{opacity:.6;cursor:wait}.js [data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
/* 운영 정보가 세 업무 영역에 동시에 전달되도록 3개 경로를 분리합니다. */
.product-architecture .data-rail { left: 28px; right: 28px; top: 218px; bottom: 72px; width: auto; }
.product-architecture .data-rail i { animation-delay: 0s; }
.product-architecture .data-rail i:nth-child(1) { left: calc((100% - 20px) / 6 - 3px); }
.product-architecture .data-rail i:nth-child(2) { left: calc(50% - 3px); }
.product-architecture .data-rail i:nth-child(3) { left: calc(100% - (100% - 20px) / 6 - 3px); }
.product-architecture .architecture-groups article { position: relative; }
.product-architecture .architecture-groups article::before { content: ""; position: absolute; left: 50%; top: -18px; height: 17px; width: 1px; background: #7797ef; }
@media(max-width: 760px) { .product-architecture .architecture-groups article::before { display: none; } }
@media(prefers-reduced-motion: reduce) { .product-architecture .data-rail i { animation: none; display: none; } }

/* 회사 소개: 흩어진 업무에서 하나의 운영 화면으로 이어지는 흐름 */
.company-reason-layout { align-items: center; }
.company-workflow { width: 100%; padding: 26px; border: 1px solid #dce4f0; border-radius: 24px; background: linear-gradient(145deg, #fff, #f5f8ff); box-shadow: 0 20px 50px -32px #243b6840; }
.reason-visual-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; color: #65738a; font-size: 12px; font-weight: 700; letter-spacing: -.02em; }
.reason-visual-dot { width: 6px; height: 6px; border-radius: 50%; background: #93a3bc; }
.reason-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.reason-channel { position: relative; display: flex; align-items: center; gap: 10px; min-height: 88px; padding: 14px 12px; background: #fff; border: 1px solid #e0e7f2; border-radius: 12px; box-shadow: 0 4px 12px -8px #1e37672b; }
.reason-channel-icon { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; color: #526986; background: #f0f4fa; }
.reason-channel-icon svg { width: 19px; height: 19px; }
.reason-channel strong { color: #263a55; font-size: 13px; font-weight: 750; }
.reason-channel p { margin: 5px 0 0; color: #7b889c; font-size: 11px; line-height: 1.5; word-break: keep-all; }
.reason-channel i { position: absolute; bottom: -4px; left: calc(50% - 3px); width: 6px; height: 6px; border: 1px solid #a9bbda; border-radius: 50%; background: #fff; }
.reason-connections { position: relative; height: 62px; }
.reason-connections svg { display: block; width: 100%; height: 100%; overflow: visible; }
.reason-connections path { fill: none; stroke: #a9bfe9; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.reason-connections span { position: absolute; top: 32px; left: 50%; transform: translateX(-50%); padding: 3px 10px; background: #f8faff; color: #6280b4; font-size: 10px; white-space: nowrap; }
.reason-workspace { padding: 20px; border: 1px solid #3568ef; border-radius: 15px; color: #fff; background: linear-gradient(120deg, #214fe0, #3169ed); box-shadow: 0 12px 24px -15px #2256e5aa; }
.reason-workspace-top { display: flex; align-items: center; gap: 12px; }
.reason-workspace-mark { display: grid; place-items: center; flex-shrink: 0; width: 40px; height: 40px; border: 1px solid #ffffff35; border-radius: 12px; background: #ffffff15; }
.reason-workspace-mark svg { width: 22px; height: 22px; }
.reason-workspace strong { font-size: 22px; font-weight: 800; letter-spacing: -.045em; }
.reason-workspace p { margin: 5px 0 0; color: #dce7ff; font-size: 11px; line-height: 1.5; }
.reason-workspace-items { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #ffffff25; }
.reason-workspace-items span { padding: 5px 8px; color: #e8efff; border-radius: 6px; background: #ffffff12; font-size: 10px; }
@media (max-width: 760px) { .company-workflow { max-width: 520px; padding: 20px; border-radius: 20px; } .reason-channel { padding: 12px 10px; gap: 8px; } .reason-workspace { padding: 18px; } }
@media (max-width: 380px) { .company-workflow { padding: 16px; } .reason-channel-grid { gap: 8px; } .reason-channel { align-items: flex-start; flex-direction: column; } }

/* 회사 소개 상단의 빌딩 이미지 */
.company-building-photo { overflow: hidden; background: #d9e6f2; }
.company-building-photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.company-building-photo::after { background: linear-gradient(90deg, rgba(12,37,67,.04), transparent 35%); }
@media (max-width: 1100px) { .company-building-photo { min-height: 620px; } .company-building-photo img { object-position: center 45%; } }
@media (max-width: 760px) { .company-building-photo { min-height: 460px; } }
@media (prefers-reduced-motion: reduce) { .company-building-photo img { transition: none; } .company-building-photo:hover img { transform: none; } }

/* 모바일 홈 히어로: 화면 밖으로 확대하던 제품 이미지를 본문 너비에 맞춥니다. */
@media (max-width: 900px) {
  #top.hero { height: auto; }
  #top .hero-inner { height: auto; grid-template-columns: minmax(0, 1fr); }
  #top .hero-copy, #top .hero-product { min-width: 0; }
  #top .hero-product { width: 100%; max-width: 100%; margin-left: 0; }
  #top .hero-copy h1 { overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  #top .hero-copy h1 { font-size: clamp(34px, 10.5vw, 48px); line-height: 1.12; }
  #top .hero-inner { padding-bottom: 64px; }
}
