/* =========================================================
   메인 풀페이지 스크롤
   - 데스크톱(마우스): 휠 한 번 = 한 섹션 (fullpage.js), 섹션 = 화면 높이
   - 모바일·태블릿(터치): 기본 스와이프 + 섹션 가까이에서 부드럽게 맞춰 멈춤(scroll-snap)
   - 화면보다 긴 섹션은 잘리지 않고, 섹션 안에서 먼저 끝까지 내려간 뒤 다음 섹션으로 이동
   ========================================================= */
:root{--fp-head:72px}

/* ---------- 데스크톱 풀페이지 ---------- */
/* 헤더 높이를 72px로 고정 → 섹션 정렬 기준이 흔들리지 않게 */
.fp-on #shared-header.is-scrolled .sangs-header{height:var(--fp-head)!important}
.fp-on,.fp-on body{scroll-behavior:auto!important}
.fp-on body{overflow-anchor:none}

/* 각 섹션 = 헤더 아래 보이는 화면 전체, 내용은 세로 가운데 */
.fp-on .concept-home .hero,.fp-on body.concept-home .hero{min-height:calc(100vh - var(--fp-head))!important}
.fp-on .cx,
.fp-on .sc-pin:not(.sc-pinned)>.sc,
.fp-on .fp-group,
.fp-on .home-ai-guide{min-height:calc(100vh - var(--fp-head));display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}

/* 핵심 역량: 한 화면에 들어오도록 여백 압축 */
.fp-on .cx{padding:28px 32px 36px!important}
.fp-on .cx .cx-lead{margin-top:14px!important}
.fp-on .cxb-grid{margin-top:32px}
.fp-on .cxb-card{min-height:388px}
.fp-on .cxb-blk{height:150px}
.fp-on .cx .cx-cue{display:none!important}

/* 솔루션 쇼케이스: 기본은 화면 고정 + 휠 한 번에 솔루션 하나씩 (화면이 낮아 고정이 꺼질 때만 한 화면으로) */
.fp-on .sc-pin:not(.sc-pinned){height:auto!important}
.fp-on .sc-pin:not(.sc-pinned)>.sc{padding:28px 32px!important}

/* 고객사 + 문의 띠를 한 화면으로 */
.fp-on .fp-group>.home-showcase{padding:20px 0 28px!important}
.fp-on .fp-group>.home-services{padding:0!important}
.fp-on .home-ai-guide{padding:24px 0!important}

/* 오른쪽 섹션 내비게이션 점 */
.fp-nav{position:fixed;right:clamp(14px,2vw,30px);top:50%;z-index:60;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.fp-nav button{position:relative;display:block;width:12px;height:12px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.fp-nav button::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#AFC0E3;transition:inset .3s,background .3s}
.fp-nav button:hover::before{background:#2A5FE0}
.fp-nav button[aria-current="true"]::before{inset:0;background:#2A5FE0;box-shadow:0 0 0 4px rgba(42,95,224,.16)}
.fp-nav span{position:absolute;right:22px;top:50%;transform:translate(6px,-50%);white-space:nowrap;padding:5px 10px;border-radius:8px;background:#13254A;color:#fff;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.fp-nav button:hover span,.fp-nav button:focus-visible span{opacity:1;transform:translate(0,-50%)}
.fp-nav.on-dark button::before{background:rgba(255,255,255,.45)}
.fp-nav.on-dark button[aria-current="true"]::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}

/* ---------- 모바일·태블릿: 자연스러운 스와이프 + 섹션 맞춤 ---------- */
@media (pointer:coarse),(max-width:1024px){
 html:not(.fp-on){scroll-snap-type:y proximity;scroll-padding-top:64px}
 html:not(.fp-on) :is(.concept-home .hero,.cx,.sc-pin,.fp-group,.home-ai-guide,#shared-footer){scroll-snap-align:start;scroll-snap-stop:normal}
 html:not(.fp-on) .concept-home .hero{min-height:calc(100svh - 64px)}
}
@media(prefers-reduced-motion:reduce){html:not(.fp-on){scroll-snap-type:none}}

/* =========================================================
   11차 — 고객사 독립 섹션 / 문의+푸터 한 화면
   ========================================================= */
.fp-on .fp-clients{min-height:calc(100vh - var(--fp-head));display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding:32px 0!important}
