/* v022 메인 3~5페이지 초안 (넥슨컴퍼니 방식: 페이지마다 대표 하나 + 하단 작은 항목)
   3페이지 솔루션 = 짙은 남색·하늘색, 4페이지 스토리 = 따뜻한 종이색·주황, 5페이지 파트너스 = 연한 초록 회색·초록 */

/* 3페이지 솔루션: PC 관리 알림 대표 장면 */
.sol-stage{--sol:#4cc3ff;background:#06101c;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:0 5vw;padding:calc(var(--header) + 4vh) 7vw 5vh}
.sol-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.sol-backdrop img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.7;filter:saturate(.75) hue-rotate(-8deg);transform:scale(1.04)}
.sol-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06101c 0%,#06101cf2 26%,#06101ca8 48%,#06101c40 72%,#06101c66 100%),linear-gradient(0deg,#06101c 0%,#06101cd9 14%,transparent 44%),linear-gradient(180deg,#06101cb3 0%,transparent 24%)}
.sol-keyword{position:absolute;right:-1vw;bottom:-3vw;z-index:1;font-size:clamp(110px,14vw,240px);font-weight:900;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1px #4cc3ff1c;pointer-events:none;user-select:none}
.sol-copy,.sol-screen,.sol-foot{position:relative;z-index:2}
.js .sol-screen.reveal{transition-delay:.18s}.js .sol-foot.reveal{transition-delay:.36s}
.sol-copy h2{font-size:clamp(44px,4.6vw,78px);line-height:1.14;margin-bottom:30px}
.sol-copy h2 em{color:var(--sol);font-style:normal}
.sol-copy p{color:#b9c3d0;font-size:16px;line-height:1.85;margin:0}
.sol-screen{margin:0;display:flex;flex-direction:column;align-items:center;min-width:0}
.sol-phone{position:relative;display:block;width:min(300px,100%);aspect-ratio:9/14;padding:58px 16px 20px;border-radius:38px;background:linear-gradient(160deg,#16243a,#0a1422 60%);box-shadow:0 0 0 1px #ffffff26,0 0 0 9px #0d1828,0 0 0 10px #ffffff1a,0 50px 120px -30px #4cc3ff55,0 30px 80px #000c;color:#fff;transition:transform .5s cubic-bezier(.16,.8,.25,1)}
.sol-phone:hover{transform:translateY(-6px)}
.sol-phone:focus-visible{outline:2px solid var(--sol);outline-offset:14px}
.sol-notch{position:absolute;left:50%;top:14px;width:84px;height:22px;margin-left:-42px;border-radius:12px;background:#02060c}
.sol-app{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#8fa3ba;margin:0 4px 14px}
.sol-alerts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sol-alerts li{padding:13px 14px;border-radius:14px;background:#ffffff12;border:1px solid #ffffff1a;backdrop-filter:blur(8px);font-size:13px;line-height:1.5;color:#dce4ee}
.sol-alerts time{display:block;font-size:10px;color:var(--sol);font-weight:700;letter-spacing:.06em;margin-bottom:3px}
.sol-alerts b{color:#fff}
.sol-hint{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:12px;font-weight:700;opacity:.85;transition:opacity .25s}
.sol-phone:hover .sol-hint{opacity:1;color:var(--sol)}
.sol-screen figcaption{font-size:10px;color:#8696aa;margin-top:22px}
/* 알림이 하나씩 도착하는 모션 (섹션이 보일 때만, 일시정지하면 모두 보인 채로 멈춤) */
.sol-stage:has(.sol-screen.in) .sol-alerts li{animation:sol-arrive 9s cubic-bezier(.16,.8,.25,1) infinite both}
.sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(2){animation-delay:.9s}
.sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(3){animation-delay:1.8s}
.sol-stage:has(.sol-copy.in) .sol-backdrop img{animation:sol-drift 24s ease-in-out infinite alternate}
@keyframes sol-arrive{0%{opacity:0;transform:translateY(14px) scale(.97)}8%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes sol-drift{from{transform:scale(1.04)}to{transform:scale(1.12) translate(-1.5%,-1%)}}
html.motion-paused .sol-alerts li{animation:none!important;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts li{animation:sol-arrive 9s cubic-bezier(.16,.8,.25,1) infinite both!important}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(2){animation-delay:.9s!important}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(3){animation-delay:1.8s!important}
html:not(.motion-paused) .sol-stage:has(.sol-copy.in) .sol-backdrop img{animation:sol-drift 24s ease-in-out infinite alternate!important}
}
.sol-foot{grid-column:1/-1;display:flex;align-items:center;gap:28px;margin-top:4vh;padding-top:22px;border-top:1px solid #ffffff2e}
.sol-label{font-size:11px;letter-spacing:.06em;color:#8696aa}
.sol-also{display:flex;gap:26px}
.sol-also a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:#b9c3d0;transition:color .2s}
.sol-also a:hover{color:#fff}
.sol-more{margin-left:auto;display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:700;color:#fff;border-bottom:1px solid #ffffff80;transition:color .2s,border-color .2s}
.sol-more:hover{color:var(--sol);border-color:var(--sol)}

/* 4페이지 스토리: 대표 이야기 크게 + 나머지 작게 */
.story-stage{--story:#d9572b;background:#f2ece2;color:#1d1913}
.story-stage .eyebrow{color:#9a8d7a}
.story-stage .section-heading h2{color:#1d1913}
.story-stage .news-grid{scrollbar-color:#c9bba6 #e8dfd1}
.story-stage .news-card{flex:0 0 23%}
.story-stage .news-card:first-child{flex-basis:44%}
.story-stage .news-card:first-child img{aspect-ratio:1.85}
.story-stage .news-card:not(:first-child) img{aspect-ratio:1.2}
.story-stage .news-card:first-child h3{font-size:26px;line-height:1.4}
.story-stage .news-card figure{background:#e3d9ca;border-radius:4px}
.story-stage .news-card small{color:var(--story);font-weight:700}
.story-stage .news-controls button{border-color:#1d191333;color:#1d1913}
.story-stage .news-bottom>span{color:#8a7f70}
.story-links{display:flex;gap:26px}
.story-stage .text-link{color:#1d1913}
.story-stage .text-link:hover{color:var(--story)}

/* 5페이지 파트너스: 협업 기업 로고 흐름 추가 */
.partner-stage{--pt:#1f8a5b;background:#ecefe9}
.partner-stage .partner-content h2 em{color:var(--pt)}
.pt-logos{margin:0 0 30px;max-width:520px}
.pt-logos>span{display:block;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#7d857c;margin-bottom:12px}
.pt-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.pt-track ul{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:6px 0;width:max-content}
.pt-track img{display:block;height:26px;width:auto;max-width:110px;object-fit:contain;filter:grayscale(1);opacity:.7}
.partner-stage:has(.partner-content.in) .pt-track ul{animation:pt-flow 32s linear infinite}
@media (prefers-reduced-motion:reduce){html:not(.motion-paused) .partner-stage:has(.partner-content.in) .pt-track ul{animation:pt-flow 32s linear infinite!important}}
@keyframes pt-flow{to{transform:translateX(-50%)}}

@media (max-width:760px){
.sol-stage{grid-template-columns:1fr;grid-template-rows:none;align-content:center;gap:22px;padding:calc(var(--header) + 24px) 24px 28px}
.sol-backdrop img{object-position:62% 50%}
.sol-backdrop:after{background:linear-gradient(180deg,#06101c 0%,#06101cf2 30%,#06101cb3 50%,#06101c80 66%,#06101cf0 86%,#06101c 100%)}
.sol-copy h2{font-size:clamp(34px,10vw,50px);margin-bottom:16px}
.sol-copy p{font-size:13px;line-height:1.75}
.sol-phone{width:min(268px,100%);aspect-ratio:auto;padding:44px 14px 46px;border-radius:30px}
.sol-notch{top:11px;height:18px;width:70px;margin-left:-35px}
.sol-app{margin-bottom:10px}
.sol-alerts{gap:8px}
.sol-alerts li{padding:9px 12px;font-size:12px}
.sol-hint{bottom:16px;font-size:11px}
.sol-screen figcaption{margin-top:14px}
.sol-keyword{font-size:30vw;bottom:-2vw}
.sol-foot{flex-wrap:wrap;gap:4px 18px;margin-top:0;padding-top:12px}
.sol-label{display:none}
.sol-also{gap:18px}
.sol-also a,.sol-more{font-size:12px;min-height:36px}
.story-stage .news-card,.story-stage .news-card:first-child{flex-basis:80%}
.story-stage .news-card:first-child h3{font-size:19px}
.story-stage .news-card:not(:first-child) img{aspect-ratio:1.6}
.story-links{gap:18px}
.pt-logos{margin:0 0 18px}
.pt-logos>span{margin-bottom:8px;font-size:9px}
.pt-track ul{gap:24px}
.pt-track img{height:20px}
}
@media (max-width:760px) and (max-height:700px){
.sol-stage{gap:14px}.sol-copy h2{font-size:30px;margin-bottom:12px}
.sol-alerts li:nth-child(3){display:none}
.sol-phone{padding:38px 12px 40px}
.pt-logos>span{display:none}.pt-logos{margin-bottom:12px}
}
@media (max-width:360px){.sol-foot{gap:4px 12px}.sol-also{gap:12px}.sol-also a span,.sol-more span{display:none}}
/* v023 1페이지 "단 하나의 이름" 타이핑 + 커서 깜빡임 */
.ht{position:relative;white-space:nowrap}
.ht-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ht-caret{display:inline-block;width:.07em;height:.9em;margin-left:.08em;vertical-align:-.06em;background:currentColor;animation:ht-blink 1.05s steps(1) infinite}
@keyframes ht-blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){html:not(.motion-paused) .ht-caret{animation:ht-blink 1.05s steps(1) infinite!important}}

/* v023 2페이지 서비스 목록: 로고 없는 항목은 글자 표시 */
.fs-ott{flex-wrap:wrap;row-gap:8px}
.fs-chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:7px;border:1px solid #ffffff4d;font-size:12px;font-weight:700;color:#e6e8ec;white-space:nowrap}

/* v023 4페이지 스토리: 첫 이야기 고정 + 나머지는 협업 기업 로고처럼 흐름 */
.story-stage .news-controls{display:none}
.story-stage .news-grid{overflow:hidden;scroll-snap-type:none;align-items:flex-start;gap:3vw;padding-bottom:0}
.story-stage .news-grid>.news-card{flex:0 0 40%}
.story-flow{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 90%,transparent)}
.story-track{display:flex;gap:24px;width:max-content}
.story-stage .story-track .news-card{flex:0 0 250px}
.story-stage .story-track .news-card img{aspect-ratio:1.2}
.story-stage .story-track .news-card h3{font-size:17px}
.story-stage:has(.section-heading.in) .story-track{animation:story-flow 46s linear infinite}
.story-flow:hover .story-track{animation-play-state:paused}
html.motion-paused .story-track{animation:none!important}
@media (prefers-reduced-motion:reduce){html:not(.motion-paused) .story-stage:has(.section-heading.in) .story-track{animation:story-flow 46s linear infinite!important}}
@keyframes story-flow{to{transform:translateX(calc(-50% - 12px))}}
@media (max-width:760px){
.ht-caret{width:.08em}
.fs-ott{flex-wrap:nowrap;gap:6px}.fs-ott img{width:22px;height:22px}.fs-chip{height:22px;padding:0 6px;border-radius:6px;font-size:10px}
.story-stage .news-grid{flex-direction:column;gap:14px;margin-right:0;padding-right:0}
.story-stage .news-grid>.news-card{flex:none;width:100%}
.story-stage .news-grid>.news-card img{aspect-ratio:2.6}
.story-stage .news-grid>.news-card figure{margin-bottom:10px}
.story-stage .news-grid>.news-card h3{margin:6px 0 0}
.story-flow{width:calc(100% + 24px);margin-right:-24px}
.story-track{gap:12px}
.story-stage .story-track .news-card{flex-basis:140px}
.story-stage .story-track .news-card figure{margin-bottom:8px}
.story-stage .story-track .news-card img{aspect-ratio:1.5}
.story-stage .story-track .news-card h3{font-size:13px;line-height:1.4;margin:4px 0 0}
@keyframes story-flow{to{transform:translateX(calc(-50% - 6px))}}
}
@media (max-width:760px) and (max-height:700px){
.story-stage .news-grid>.news-card img{aspect-ratio:3.4}
.story-stage .section-heading>p{display:none}
.story-stage .news-grid>.news-card h3{font-size:16px}
.story-stage .news-grid{gap:10px}
.story-stage .story-track .news-card{flex-basis:120px}
.story-stage .story-track .news-card img{aspect-ratio:1.8}
}
@media (max-width:360px){.fs-ott{gap:5px}.fs-ott img{width:20px;height:20px}.fs-chip{padding:0 5px;font-size:9.5px}}
@media (max-width:760px) and (max-height:700px){.funny-stage{gap:12px}.fs-foot{row-gap:6px;padding-top:12px}.fs-also a,.fs-more{min-height:36px}}

/* v026 2페이지 서비스 아이콘: 모두 같은 크기의 둥근 네모로 통일(공식 아이콘 우선, 영화·만화는 같은 형태의 그림 아이콘) */
.fs-ott{gap:10px}
.fs-ott .fs-ico{flex:none;width:30px;height:30px;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #ffffff47,0 2px 6px #0000004d}
.fs-ott .fs-ico img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;background:none}
@media (max-width:760px){.fs-ott{gap:7px}.fs-ott .fs-ico{width:26px;height:26px;border-radius:7px}.fs-ott .fs-ico img{width:100%;height:100%}}
@media (max-width:360px){.fs-ott{gap:6px}.fs-ott .fs-ico{width:24px;height:24px;border-radius:6px}.fs-ott .fs-ico img{width:100%;height:100%}}

/* v027 2페이지 알림 4개(VMware 설치 발견·네트워크 이상 감지 추가), 협업 기업 로고 컬러 */
.sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(4){animation-delay:2.7s}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts li:nth-child(4){animation-delay:2.7s!important}
@media (max-width:760px) and (max-height:700px){.sol-alerts li:nth-child(3){display:block}.sol-alerts li:nth-child(2){display:none}.sol-alerts{gap:6px}.sol-alerts li{padding:7px 11px;font-size:11.5px;line-height:1.45}.sol-alerts time{display:inline;margin:0 6px 0 0}.sol-phone{padding:32px 12px 34px}.sol-app{margin-bottom:8px}}
.pt-track img{filter:none;opacity:1}
/* v028 2페이지 알림: 새 알림이 맨 위에 하나씩 쌓이고, 칸이 차면 가장 오래된 알림만 아래에서 사라짐(전체 지우고 다시 시작하지 않음) */
.sol-alerts.sa-live{display:flex;flex-direction:column}
.sol-alerts.sa-live li{display:block!important}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts.sa-live li:not(.sa-in):not(.sa-out){animation:none!important;opacity:1;transform:none}
html:not(.motion-paused) .sol-stage .sol-alerts.sa-live li.sa-in{animation:sa-in .6s cubic-bezier(.16,.8,.25,1) both!important}
html:not(.motion-paused) .sol-stage .sol-alerts.sa-live li.sa-out{animation:sa-out .38s ease-in both!important}
@keyframes sa-in{0%{opacity:0;transform:translateY(-10px) scale(.96);margin-bottom:calc(-1 * var(--sa-h,60px) - 10px)}55%{opacity:1}100%{opacity:1;transform:none;margin-bottom:0}}
@keyframes sa-out{to{opacity:0;transform:translateY(6px) scale(.97)}}
/* v029 4페이지 스토리: 대표 이야기 크기만 약간 줄임(약 15%). 나머지 흐르는 카드는 그대로 */
.story-stage .news-grid>.news-card{flex:0 0 34%}
.story-stage .news-grid>.news-card:first-child h3{font-size:22px}
@media (max-width:760px){.story-stage .news-grid>.news-card{flex:none;width:100%}.story-stage .news-grid>.news-card img{aspect-ratio:3}.story-stage .news-grid>.news-card:first-child h3{font-size:17px}}
@media (max-width:760px) and (max-height:700px){.story-stage .news-grid>.news-card img{aspect-ratio:3.8}.story-stage .news-grid>.news-card:first-child h3{font-size:15px}}
/* v032 쌓이는 알림: 아래(오래된) 알림일수록 살짝 흐려짐. 새 알림이 위에 들어오면 아래로 밀리며 천천히 옅어짐 */
html .sol-stage .sol-alerts li{transition:opacity .6s ease}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts.sa-live li:not(.sa-in):not(.sa-out):nth-child(2),.motion-paused .sol-stage .sol-alerts li:nth-child(2){opacity:.8}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts.sa-live li:not(.sa-in):not(.sa-out):nth-child(3),.motion-paused .sol-stage .sol-alerts li:nth-child(3){opacity:.6}
html:not(.motion-paused) .sol-stage:has(.sol-screen.in) .sol-alerts.sa-live li:not(.sa-in):not(.sa-out):nth-child(n+4),.motion-paused .sol-stage .sol-alerts li:nth-child(n+4){opacity:.42}
/* v034 스토리 흐르는 카드: 끌어서 옮기기·좌우 버튼·마우스 올리면 정지 */
.story-wrap{position:relative;flex:1 1 auto;min-width:0}
.story-wrap>.story-flow{width:100%;margin-right:0}
.story-flow.js-flow{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.story-flow.js-flow .story-track{animation:none!important;will-change:transform}
.story-flow.is-dragging{cursor:grabbing}
.story-nav{position:absolute;top:var(--nav-top,38%);z-index:2;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;padding:0;border:1px solid #1d191326;border-radius:50%;background:#fffdf8e6;color:#1d1913;box-shadow:0 6px 18px #1d19131f;cursor:pointer;opacity:.88;transition:background .2s,color .2s,opacity .2s,transform .2s}
.story-nav:hover{background:#1d1913;color:#fff;opacity:1}
.story-nav:active{transform:scale(.93)}
.story-nav:focus-visible{outline:2px solid #e2572b;outline-offset:3px}
.story-nav i{display:block;width:9px;height:9px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateX(2px) rotate(45deg)}
.story-nav-next i{transform:translateX(-2px) rotate(-135deg)}
.story-nav-prev{left:10px}.story-nav-next{right:10px}
@media(max-width:760px){.story-wrap{width:calc(100% + 24px);margin-right:-24px}.story-nav{width:34px;height:34px;margin-top:-17px}.story-nav i{width:8px;height:8px}.story-nav-prev{left:4px}.story-nav-next{right:30px}}/* v038 솔루션 휴대폰(Claude 비교 시안): 세운 입체 휴대폰, 3초 안에 알림 7개가 차례로 떠올라 화면을 채움.
   새 알림은 아래에서 떠오르며 살짝 커진 채 떠 있다가, 다음 알림이 오면 화면에 붙으며 아래로 밀려남 */
.sol-screen{perspective:1500px;perspective-origin:50% 40%}
.sol-screen:before{content:"";position:absolute;left:50%;top:calc(var(--p38h,560px) - 18px);width:230px;height:40px;margin-left:-115px;border-radius:50%;background:radial-gradient(closest-side,#000c,#0000);filter:blur(6px);z-index:-1;pointer-events:none}
.sol-screen .sol-phone{--tilt:rotateY(-17deg) rotateX(5deg) rotateZ(1.2deg);width:272px;height:var(--p38h,560px);aspect-ratio:auto;padding:50px 12px 52px;border-radius:44px;background:linear-gradient(165deg,#1a2c46 0%,#0b1626 55%,#081120 100%);box-shadow:inset 0 0 0 1px #ffffff2e,0 0 0 8px #0b1524,0 0 0 9px #ffffff30,-3px 0 0 9px #2a3b52,-7px 2px 0 9px #142033,-10px 3px 0 9px #0a1220,-30px 40px 70px -10px #000d,0 40px 110px -30px #4cc3ff59;transform:var(--tilt);transform-origin:50% 50%;animation:p38-sway 8s ease-in-out infinite;overflow:hidden;transition:transform .6s cubic-bezier(.16,.8,.25,1)}
.sol-screen .sol-phone:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,#ffffff1f 0%,#ffffff08 28%,#0000 42%,#0000 70%,#ffffff0d 86%,#0000 100%);pointer-events:none;z-index:3}
.sol-screen .sol-phone:hover{animation-play-state:paused;transform:rotateY(-8deg) rotateX(3deg) translateY(-6px)}
html.motion-paused .sol-screen .sol-phone{animation:none}
@keyframes p38-sway{0%,100%{transform:var(--tilt) translateY(0)}50%{transform:rotateY(-12deg) rotateX(4deg) rotateZ(.6deg) translateY(-8px)}}
.sol-screen .sol-notch{top:14px;width:90px;height:24px;margin-left:-45px}
.sol-screen .sol-app{margin:0 6px 10px;font-size:10px}
.s38-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;height:calc(100% - 26px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 91%,#0000);mask-image:linear-gradient(180deg,#000 91%,#0000)}
.s38-list .a38{position:relative;flex:none;display:flex;gap:9px;align-items:flex-start;padding:8px 11px;border-radius:15px;background:#ffffff14;border:1px solid #ffffff1c;backdrop-filter:blur(10px);color:#dce4ee;font-size:11.5px;line-height:1.42;transform-origin:50% 0;transition:opacity .6s ease,transform .45s cubic-bezier(.16,.8,.25,1),background .45s,box-shadow .45s,border-color .45s}
.a38-ico{flex:none;width:26px;height:26px;border-radius:8px;background:linear-gradient(150deg,#ff5a4f,#d6252b);color:#fff;font:900 13px/26px inherit;font-style:normal;text-align:center;box-shadow:0 2px 6px #0006}
.a38-body{min-width:0;flex:1}
.a38-head{display:flex;justify-content:space-between;gap:6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;color:#8fa3ba;margin-bottom:1px}
.a38-head time{color:var(--sol);letter-spacing:.06em}
.a38-text{display:block}
.a38-text b{color:#fff}
.s38-list .a38:nth-child(2){opacity:.9}.s38-list .a38:nth-child(3){opacity:.8}.s38-list .a38:nth-child(4){opacity:.7}.s38-list .a38:nth-child(5){opacity:.6}.s38-list .a38:nth-child(n+6){opacity:.5}
/* 떠 있는 최신 알림: 살짝 커지고 밝아지며 그림자가 깊어짐 */
.s38-list .a38.a38-lift{opacity:1;transform:scale(1.045);background:#ffffff26;border-color:#4cc3ff8c;box-shadow:0 14px 30px -8px #000c,0 0 0 1px #4cc3ff40,0 0 26px -6px #4cc3ff99;z-index:2}
/* 도착: 자리가 열리며(위 알림들 아래로 밀림) 아래에서 위로 떠오르고, "띵" 하고 한 번 튀어 오름 */
html:not(.motion-paused) .s38-list .a38.a38-in{animation:a38-in .55s cubic-bezier(.2,.9,.25,1.15) both}
html:not(.motion-paused) .s38-list .a38.a38-in:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid var(--sol);animation:a38-ping .7s ease-out both;pointer-events:none}
@keyframes a38-in{0%{margin-top:calc(-1 * var(--h,58px) - 6px);opacity:0;transform:translateY(22px) scale(.9)}55%{opacity:1;transform:translateY(-3px) scale(1.07)}100%{margin-top:0;opacity:1;transform:scale(1.045)}}
@keyframes a38-ping{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.08,1.3)}}
@media (max-width:760px){
.sol-screen .sol-phone{--tilt:rotateY(-13deg) rotateX(4deg) rotateZ(1deg);width:min(250px,100%);border-radius:36px;padding:40px 11px 42px}
.sol-screen:before{width:200px;margin-left:-100px}
.sol-screen .sol-notch{top:11px;width:72px;height:19px;margin-left:-36px}
.sol-screen .sol-app{margin-bottom:8px}
.s38-list{gap:6px;height:calc(100% - 22px)}
.s38-list .a38{padding:7px 10px;font-size:11px;gap:8px;border-radius:13px}
.a38-ico{width:22px;height:22px;border-radius:7px;font-size:11px;line-height:22px}
@keyframes p38-sway{0%,100%{transform:var(--tilt) translateY(0)}50%{transform:rotateY(-9deg) rotateX(3deg) rotateZ(.5deg) translateY(-5px)}}
}
.sol-screen{--p38h:clamp(380px,calc(100svh - 290px),590px)}
@media (max-width:760px){.sol-screen{--p38h:clamp(220px,calc(100svh - 445px),410px)}}
@media (max-width:760px) and (max-height:700px){.sol-screen{--p38h:clamp(220px,calc(100svh - 425px),300px)}.s38-list .a38{padding:6px 9px;font-size:10.5px}}
/* v041 솔루션 휴대폰 입체감 강화: v038 세운 입체 휴대폰이 평면처럼 보인다는 의견.
   더 돌려 세우고(PC 21°, 휴대폰 19°) 옆면 두께를 5겹 14px로 늘려 금속 테두리가 보이게, 바닥 그림자도 깊게. 휴대폰 화면에서도 PC와 같은 정도로 */
.sol-screen .sol-phone{--tilt:rotateY(-21deg) rotateX(6deg) rotateZ(1.4deg);animation-name:p41-sway;box-shadow:inset 0 0 0 1px #ffffff33,0 0 0 8px #0b1524,0 0 0 9px #ffffff3d,-3px 0 0 9px #3a506b,-6px 1px 0 9px #2a3d55,-9px 2px 0 9px #1d2d42,-12px 3px 0 9px #142234,-14px 4px 0 9px #0a1220,-38px 46px 80px -10px #000e,0 40px 110px -30px #4cc3ff59}
.sol-screen .sol-phone:hover{transform:rotateY(-11deg) rotateX(4deg) translateY(-6px)}
.sol-screen:before{left:calc(50% - 14px)}
@keyframes p41-sway{0%,100%{transform:var(--tilt) translateY(0)}50%{transform:rotateY(-15deg) rotateX(5deg) rotateZ(.8deg) translateY(-8px)}}
@media (max-width:760px){
.sol-screen .sol-phone{--tilt:rotateY(-19deg) rotateX(5deg) rotateZ(1.2deg);animation-name:p41-sway-m;box-shadow:inset 0 0 0 1px #ffffff33,0 0 0 7px #0b1524,0 0 0 8px #ffffff3d,-3px 0 0 8px #3a506b,-5px 1px 0 8px #2a3d55,-8px 2px 0 8px #1d2d42,-10px 3px 0 8px #142234,-12px 4px 0 8px #0a1220,-28px 36px 60px -10px #000e,0 30px 80px -26px #4cc3ff59}
.sol-screen:before{left:calc(50% - 10px)}
@keyframes p41-sway-m{0%,100%{transform:var(--tilt) translateY(0)}50%{transform:rotateY(-14deg) rotateX(4deg) rotateZ(.6deg) translateY(-5px)}}
}
/* v043 스토리: 왼쪽 고정 카드 없이 블로그 글 7개가 전체 폭으로 흐름. 카드 전체가 블로그 글 링크 */
.story-stage .news-grid.story-only{display:block}
.story-stage .news-link{display:block;color:inherit;text-decoration:none}
.story-stage .news-link:focus-visible{outline:2px solid #e2572b;outline-offset:4px}
.story-stage .story-track .news-card{flex:0 0 300px}
.story-stage .story-track .news-card img{aspect-ratio:1.35}
.story-stage .story-track .news-card h3{font-size:18px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.story-stage .story-track .news-card small{letter-spacing:0}
@media (max-width:760px){.story-stage .story-track .news-card{flex-basis:200px}.story-stage .story-track .news-card img{aspect-ratio:1.4}.story-stage .story-track .news-card h3{font-size:14px;-webkit-line-clamp:3}}
@media (max-width:760px) and (max-height:700px){.story-stage .story-track .news-card{flex-basis:170px}.story-stage .story-track .news-card img{aspect-ratio:1.6}.story-stage .story-track .news-card h3{font-size:13px}}

/* v052 5페이지 협력사 3곳+제휴 혜택 4줄: 휴대폰에서 한 화면 높이 유지 */
@media(max-width:760px){.partners .partner-list>*{padding:10px 0}}
@media(max-width:760px) and (max-height:740px){.partners .partner-list{margin:8px 0}.partners .partner-list>*{padding:7px 0}}
/* v055 스토리: 대표글 1개 고정 + 나머지 흐름(v043 이전 방식). 휴대폰은 흐르는 카드를 낮춰 한 화면 유지 */
@media (max-width:760px){.story-stage .news-grid:not(.story-only) .story-track .news-card{flex-basis:170px}.story-stage .news-grid:not(.story-only) .story-track .news-card img{aspect-ratio:1.9}.story-stage .news-grid:not(.story-only) .story-track .news-card h3{font-size:13px;-webkit-line-clamp:2}}
@media (max-width:760px) and (max-height:700px){.story-stage .news-grid:not(.story-only) .story-track .news-card{flex-basis:150px}.story-stage .news-grid:not(.story-only) .story-track .news-card img{aspect-ratio:2.3}.story-stage .news-grid:not(.story-only) .story-track .news-card h3{font-size:12px}}
/* v061 (Slack 석기 1793612894.024969) */
/* 3번 솔루션: 알림 아이콘을 종 모양으로, 새 알림이 올 때 살짝 흔들림 */
.a38-ico.a38-bell{display:grid;place-items:center;font-size:0;background:linear-gradient(150deg,#6fd6ff,#1d86d6)}
.a38-bell svg{width:64%;height:64%;fill:#fff;transform-origin:50% 12%}
.a38-in .a38-bell svg{animation:a61-ring .9s ease-out}
@keyframes a61-ring{0%{transform:rotate(0)}15%{transform:rotate(16deg)}30%{transform:rotate(-13deg)}45%{transform:rotate(9deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}
/* 4번 스토리: 블로그 바로가기를 짧게, 눈에 띄는 버튼으로 */
.story-links{gap:12px}
.story-stage .story-blog{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px 0 12px;border-radius:999px;background:#1d1913;color:#fff;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 20px -10px #1d191399;transition:background .2s,transform .2s}
.story-blog img{width:24px;height:24px;border-radius:7px;background:#fff;object-fit:contain;padding:3px}
.story-blog i{font-style:normal;color:#ffb08a}
.story-stage .story-blog:hover{background:var(--story);transform:translateY(-2px)}
.story-stage .story-blog:hover i{color:#fff}
.story-stage .story-blog:focus-visible{outline:2px solid var(--story);outline-offset:3px}
@media(max-width:760px){.story-links{gap:8px}.story-stage .story-blog{min-height:38px;gap:7px;padding:0 13px 0 8px;font-size:12.5px}.story-blog img{width:20px;height:20px;padding:2px;border-radius:6px}}
/* 5번 파트너스: 혜택 글씨만 초록이던 것을 사이트 공통 빨강으로, 배경도 초록기 없는 밝은 회색으로 */
.partner-stage{--pt:var(--red);background:#efeeea}
/* 5번 + 마지막: 회사 주소·연락처 하단까지 한 화면에(PC). 하단 높이를 고정하고 파트너스는 그만큼 낮춤 */
@media(min-width:761px){
html:not(.service-detail){--foot-h:132px}
html:not(.service-detail) .partner-stage{min-height:calc(100svh - var(--foot-h))}
html:not(.service-detail) .partner-stage .partner-visual{min-height:0}
html:not(.service-detail) .partner-stage .partner-content{padding:calc(var(--header) + 2vh) 6vw 3vh}
html:not(.service-detail) .partner-stage .partner-list{margin:22px 0}
html:not(.service-detail) .partner-stage .partner-list>*{padding:15px 0}
html:not(.service-detail) .partner-stage .partner-content small{margin-top:14px}
html:not(.service-detail) .partner-stage .visual-title{bottom:5vh}
html:not(.service-detail) body>footer{height:var(--foot-h);padding-top:0;padding-bottom:0}
}
@media(min-width:761px) and (max-height:820px){
html:not(.service-detail){--foot-h:112px}
html:not(.service-detail) .partner-stage .partner-content h2{font-size:clamp(34px,3.4vw,52px);margin-bottom:16px}
html:not(.service-detail) .partner-stage .partner-content p{font-size:14px;line-height:1.7}
html:not(.service-detail) .partner-stage .partner-list{margin:14px 0}
html:not(.service-detail) .partner-stage .partner-list>*{padding:11px 0}
html:not(.service-detail) .partner-stage .consult{padding:16px 20px}
}
/* v064 (Slack 석기 1793614779.576669) 스토리·파트너스도 검정·빨강 느낌으로 서로 톤 일치 */
/* 밝은 바탕은 유지하되 누런 베이지·주황·초록기를 빼고, 두 페이지 바탕을 같은 밝은 회색으로. 강조는 사이트 공통 빨강, 글자·버튼은 검정 */
.story-stage{--story:var(--red);background:#efeeea;color:#15181e}
.story-stage .eyebrow,.partner-stage .eyebrow{color:var(--red)}
.story-stage .section-heading h2{color:#15181e}
.story-stage .section-heading>p{color:#5d6168}
.story-stage .news-grid{scrollbar-color:#b9b9b4 #e2e1dc}
.story-stage .news-card figure{background:#e0dfda}
.story-stage .news-card h3{color:#15181e}
.story-stage .news-controls button{border-color:#15181e33;color:#15181e}
.story-stage .news-bottom>span{color:#6c7077}
.story-stage .story-blog{background:#15181e;box-shadow:0 8px 20px -10px #15181e99}
.story-blog i{color:#ff5a72}
.story-stage .story-blog:hover{background:var(--red)}
.story-stage .news-link:focus-visible{outline-color:var(--red)}
.partner-stage .pt-logos>span{color:#6c7077}
.partner-stage .partner-list>*{border-bottom-color:#c9c8c3;transition:color .2s}
.partner-stage .partner-list>*:hover b{color:var(--red)}
.partner-stage .consult{background:#15181e;transition:background .2s}
.partner-stage .consult:hover{background:var(--red)}
.partner-stage .consult span{color:#ff5a72}
.partner-stage .consult:hover span{color:#fff}
/* v065 (Slack 석기 1793614876.764409·1793615096.485309) 1페이지 커서: 입력이 끝나면 0.5초 켜짐·0.5초 꺼짐을 세 번 반복한 뒤 꺼진 채로 사라짐 */
.ht-caret.ht-end{animation:ht-end 1s steps(1) 3 forwards}
@keyframes ht-end{0%{opacity:1}50%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){html:not(.motion-paused) .ht-caret.ht-end{animation:ht-end 1s steps(1) 3 forwards!important}}
/* v070 휴대폰에서만 도입 상담 옆 전화 연결 (PC는 카카오톡 상담만) */
.contact-tel,.sm-tel,.svc-hero-tel{display:none!important}
@media(max-width:760px){header .contact-tel{display:inline-flex!important;align-items:center;min-height:36px;padding:0 10px;border:1px solid currentColor;border-radius:18px;font-size:12px;font-weight:700;white-space:nowrap;opacity:.9}.site-menu-intro>a{white-space:nowrap}.site-menu-intro>a.sm-tel{display:inline-block!important;color:inherit;font-weight:700}.svc-hero-tel{display:inline-flex!important;margin-top:10px;background:transparent;color:inherit;border:1px solid currentColor}.svc-hero-tel:hover{background:transparent}}
@media(max-width:360px){header{gap:10px;padding-left:14px;padding-right:14px}header .brand img{width:100px}header .contact-tel{padding:0 8px}}

/* v072 파트너스: 옥산의자 아래 '제휴 혜택' 글자 제거, '가맹점 혜택 전체 보기'만 살짝 키움 */
.partner-list>.partner-all{justify-content:flex-start}
.partner-list>.partner-all span{font-size:14px;font-weight:700;color:#15181e;letter-spacing:-.01em}
.partner-list>.partner-all span:after{content:' →';color:var(--red)}
.partner-list>.partner-all:hover span{color:var(--red)}
@media(max-width:760px){.partner-list>.partner-all span{font-size:13px}}
