/* ===== CHECK-RO 페이지 전용 연출 ===== */
.checkro-hero{margin-top:0}
.checkro-hero .checkro__in{padding-block:clamp(40px,5vw,64px) clamp(32px,4vw,56px)}
.checkro__h1{font-size:clamp(34px,4.4vw,60px)}
.checkro__h1 .char{display:inline-block}
.crumb--dark{color:rgba(255,255,255,.5)}
.checkro-hero .lead{color:rgba(255,255,255,.75);max-width:520px}
/* 핵심기술 연결선 */
.tech{position:relative}
.tech__lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tech__lines path{fill:none;stroke:var(--atb-lime);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:opacity .3s}
.tech__lines path.is-on{opacity:1}
.tech__lines circle{fill:var(--atb-lime);opacity:0}
.tech__center{position:relative;display:grid;gap:10px;justify-items:center}
.tech__stage{position:relative;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--dark);box-shadow:0 30px 60px -28px rgba(0,0,0,.55)}
.tech__stage::before{content:"";position:absolute;inset:-8px;border-radius:20px;box-shadow:0 0 0 0 rgba(224,255,64,.6);animation:techpulse 2.2s ease-out infinite;pointer-events:none;z-index:3}
.tech__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease-out)}
.tech__stage img.is-on{opacity:1;animation:kenburns 4s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.14) translateY(-2%)}}
.tech__scan{position:absolute;top:0;bottom:0;left:-8%;width:8%;background:linear-gradient(90deg,rgba(224,255,64,0),rgba(224,255,64,.55),rgba(224,255,64,0));pointer-events:none;z-index:2;opacity:0}
.tech__scan.is-run{animation:techscan .9s ease-in-out 1}
@keyframes techscan{0%{left:-8%;opacity:1}100%{left:100%;opacity:1}}
.tech__cap{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;padding:10px 12px;border-radius:10px;background:rgba(11,15,30,.82);color:#fff;font-size:12.5px;line-height:1.45;backdrop-filter:blur(4px)}
.tech__cap b{display:block;color:var(--atb-lime);font-size:13.5px;margin-bottom:2px}
.tech__step{position:absolute;right:12px;top:12px;z-index:2;padding:4px 9px;border-radius:var(--pill);background:rgba(11,15,30,.82);color:var(--atb-lime);font-family:var(--font-en);font-weight:800;font-size:11px}
.tech__thumbs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.tech__thumb{position:relative;width:46px;height:53px;padding:0;border:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--atb-gray);opacity:.55;transition:opacity .3s,transform .3s var(--ease-out),background .3s;cursor:pointer}
.tech__thumb span{position:absolute;inset:3px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);overflow:hidden;display:block}
.tech__thumb img{width:100%;height:100%;object-fit:cover}
.tech__thumb:hover{opacity:.85}
.tech__thumb.is-on{opacity:1;background:var(--atb-lime);transform:translateY(-3px) scale(1.08)}
.tech__title{font-weight:700;font-size:14px;color:var(--ink-2)}
@keyframes techpulse{0%{box-shadow:0 0 0 0 rgba(224,255,64,.55)}100%{box-shadow:0 0 0 22px rgba(224,255,64,0)}}
.tech__item .circ{transition:transform .35s var(--ease-out),box-shadow .35s}
.tech__item.is-on .circ{transform:scale(1.12);box-shadow:0 0 0 6px rgba(224,255,64,.35)}
/* 기능: 도면 넘김 */
.feat__media--flip{position:relative;aspect-ratio:1/.72}
.feat__media--flip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .6s}
.feat__media--flip img.is-on{opacity:1}
.flip__cap{position:absolute;left:10px;bottom:10px;padding:4px 10px;border-radius:var(--pill);background:rgba(11,15,30,.85);color:#fff;font-size:12px;font-weight:600}
.flip__cap b{color:var(--atb-lime);font-family:var(--font-en)}
/* 기능: 핀 드롭 */
.feat__media--pins{position:relative}
.feat__pin{position:absolute;width:16px;height:16px;margin:-16px 0 0 -8px;border-radius:50% 50% 50% 0;background:var(--atb-lime);transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.35);opacity:0}
.feat__ripple{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--atb-lime);opacity:0}
.feat__chip{position:absolute;padding:4px 9px;border-radius:var(--pill);background:#fff;color:var(--ink);font-family:var(--font-en);font-size:11px;font-weight:800;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);opacity:0;white-space:nowrap}
/* 기능: 폰 부유 */
.feat__media--float{background:transparent;border:0;overflow:visible}
.feat__media--float img{max-width:min(300px,100%);margin-inline:auto;border-radius:24px;box-shadow:0 30px 60px -28px rgba(0,0,0,.45);animation:floaty 4.5s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
/* 로드맵 진행선 */
.roadmap__track{position:relative;height:6px;margin:0 8% 18px;border-radius:3px;background:var(--atb-gray)}
.roadmap__track i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:var(--atb-lime)}
.roadmap__track b{position:absolute;top:50%;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--atb-lime);box-shadow:0 0 0 0 rgba(224,255,64,.6);animation:techpulse 1.8s ease-out infinite}
@media (prefers-reduced-motion:reduce){html:not(.motion-on) .tech__stage::before,html:not(.motion-on) .tech__stage img.is-on,html:not(.motion-on) .tech__scan,html:not(.motion-on) .roadmap__track b,html:not(.motion-on) .feat__media--float img{animation:none}html:not(.motion-on) .roadmap__track i{width:20%}html:not(.motion-on) .roadmap__track b{left:20%}}
