*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard',-apple-system,sans-serif;color:rgba(0,0,0,.9);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 40px}

/* === GNB === */
.gnb{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.05);transition:box-shadow .3s}
.gnb.scrolled{box-shadow:0 1px 20px rgba(0,0,0,.06)}
.gnb-inner{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center}
.logo-img{height:28px;width:auto}
.nav-menu{display:flex;gap:36px}
.nav-menu a{font-size:15px;font-weight:500;color:rgb(75,85,99);transition:color .2s}
.nav-menu a:hover{color:#3182f6}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
.mobile-toggle span{display:block;width:22px;height:2px;background:#111;border-radius:2px}

/* === Hero (카카오 스타일, 초록) === */
.hero{min-height:70vh;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 40px;position:relative;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg video{width:100%;height:100%;object-fit:cover;opacity:.06}
.hero::before{content:'';position:absolute;bottom:-200px;width:800px;height:800px;background:radial-gradient(circle,rgba(49,130,246,.15),transparent 70%);border-radius:50%;left:50%;transform:translateX(-50%)}
.hero__content{position:relative;z-index:1}
.hero__icon{width:72px;height:72px;background:#3182f6;border-radius:20px;margin:0 auto 28px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 24px rgba(49,130,246,.3)}
.hero__send{animation:heroSend 3s ease-in-out infinite}
@keyframes heroSend{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(4px,-4px) scale(1.1)}60%{transform:translate(0,0) scale(.95)}80%{transform:scale(1)}}
.hero__ping{position:absolute;inset:0;border-radius:20px;border:2px solid #3182f6;animation:heroPing 3s ease-out infinite;pointer-events:none}
.hero__ping--delay{animation-delay:1s}
@keyframes heroPing{0%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
.hero h1{font-size:clamp(28px,4.6vw,48px);font-weight:800;line-height:1.25;letter-spacing:-.03em;color:#191919}
.hero h1 em{font-style:normal;color:#fff;background:#3182f6;padding:0 8px;border-radius:8px}
.hero__sub{margin-top:16px;font-size:clamp(16px,2vw,20px);color:#666;line-height:1.6;max-width:480px;margin-left:auto;margin-right:auto}
.hero__cta{margin-top:64px;display:flex;gap:12px;justify-content:center}
.hero__btn{padding:18px 44px;border-radius:14px;font-size:17px;font-weight:700;transition:all .2s}
.hero__btn--fill{background:#3182f6;color:#fff}
.hero__btn--fill:hover{background:#1b64da}
.hero__btn--ghost{background:#f5f5f5;color:#555}
.hero__btn--ghost:hover{background:#eee}.btn-primary{display:inline-block;padding:14px 32px;background:#3182f6;color:#fff;border-radius:12px;font-size:15px;font-weight:600;transition:all .2s;text-decoration:none}
.btn-primary:hover{background:#1b64da;transform:translateY(-1px)}
.btn-outline{display:inline-block;padding:14px 32px;border:1.5px solid #e5e8eb;color:#4e5968;border-radius:12px;font-size:15px;font-weight:600;transition:all .2s;text-decoration:none}
.btn-outline:hover{border-color:#3182f6;color:#3182f6}

/* === Stats === */
.stats-section{padding:80px 0;background:#fff;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.stats-nums{display:flex;justify-content:center;gap:80px;flex-wrap:wrap}
.stat-item{text-align:center}
.stat-num{margin:0;font-size:clamp(24px,3.5vw,36px);font-weight:600;color:#222;letter-spacing:-.02em}
.stat-val{font-size:clamp(36px,5vw,52px);font-weight:800;color:#3182f6}
.stat-txt{margin:8px 0 0;font-size:15px;font-weight:400;color:#6b7280}
.stats-row{display:flex;justify-content:center;gap:80px;flex-wrap:wrap}
.stats-row.compact{background:#fafafa;border-radius:20px;padding:40px;gap:48px;margin-top:40px;justify-content:space-around}

/* === About Big Text (마이다스 스타일) === */
.about-section{padding:160px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,#e8f3ff 0%,#fff 100%)}
.about-wave-wrap{position:absolute;bottom:0;left:0;right:0;height:200px;z-index:0;overflow:hidden}
.about-wave{position:absolute;bottom:0;width:200%;height:100%;animation:aboutWaveSlide 8s linear infinite}
.about-wave:nth-child(2){animation-delay:-4s;opacity:.5}
.about-wave svg{width:100%;height:100%}
@keyframes aboutWaveSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.about-section .container{position:relative;z-index:1}
.about-big-text p{font-family:'Pretendard',sans-serif;font-weight:600;font-size:clamp(32px,6vw,80px);line-height:1.2;letter-spacing:-.02em;color:rgba(0,0,0,.9)}
.roll-box{display:inline-block;overflow:hidden;vertical-align:bottom;background:#3182f6;color:#fff;border-radius:.15em;padding:0 .2em;height:1.2em;position:relative}
.roll-track{display:flex;flex-direction:column;animation:rollBox 8s ease-in-out infinite}
.roll-track span{display:block;height:1.2em;line-height:1.2em;white-space:nowrap}
@keyframes rollBox{0%,18%{transform:translateY(0)}25%,43%{transform:translateY(-1.2em)}50%,68%{transform:translateY(-2.4em)}75%,93%{transform:translateY(-3.6em)}100%{transform:translateY(-4.8em)}}

/* === History (마이다스아이티 스타일) === */
.history-section{padding:80px 0;background:#fff}
.history-wrap{display:flex;max-width:1200px;margin:0 auto;padding:0 40px;gap:0;max-height:700px;overflow:hidden}
.history-right{flex:1;padding-left:40px;overflow-y:auto;max-height:700px;scrollbar-width:thin}
/* 왼쪽 시대 구분 - sticky indicator */
.history-left{width:320px;flex-shrink:0;position:relative;display:flex;align-items:center;padding-right:48px}
.era-indicator{transition:opacity .35s ease, transform .35s ease}
.era-range{font-family:'Pretendard',sans-serif;font-weight:500;font-size:clamp(48px,6vw,88px);line-height:1.1;letter-spacing:-.02em;color:rgb(54,54,54);transition:all .5s ease}
.era-range-sub{font-size:.7em}
.era-subtitle{font-weight:600;font-size:24px;line-height:1.6;color:rgb(54,54,54);margin-top:12px;transition:all .5s ease}
.era-dots{display:flex;gap:10px;margin-top:24px}
.era-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;transition:all .3s}
.era-dot.active{background:#3182f6;width:32px;border-radius:5px}

/* 가운데 타임라인 */
.history-center{width:60px;flex-shrink:0;position:relative}
.timeline-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#e5e7eb;transform:translateX(-50%)}

/* 오른쪽 연도별 상세 */
.era-marker{height:0;overflow:hidden}
.era-head-text{font-weight:600;font-size:clamp(24px,3vw,34px);line-height:1.5;letter-spacing:-.01em;color:#3182f6;margin-bottom:48px;padding-top:80px}
.year-group{margin-bottom:32px;position:relative;padding-left:0;opacity:.35;transition:opacity .7s ease}
.year-group.in-view{opacity:1}
.tl-dot-row{position:absolute;left:-70px;top:6px;width:20px;display:flex;justify-content:center}
.tl-dot{width:12px;height:12px;border-radius:50%;background:#d1d5db;transition:background .5s}
.year-group.in-view .tl-dot{background:#3182f6}
.era-head-text{font-weight:600;font-size:clamp(24px,3vw,34px);line-height:1.5;letter-spacing:-.01em;color:#3182f6;margin-bottom:32px;padding-top:48px;opacity:.35;transition:opacity .7s ease}
.era-head-text.in-view{opacity:1}
.year-title{font-weight:600;font-size:28px;line-height:1.5;letter-spacing:-.01em;color:rgb(17,24,39);margin-bottom:8px}
.year-items p{font-weight:400;font-size:18px;line-height:1.6;letter-spacing:-.01em;color:rgb(75,85,99)}

/* === Corp Section (카카오뱅크 스타일) === */
.corp-section{padding:120px 0}
.corp-card{display:flex;border-radius:20px;overflow:hidden;min-height:480px}
.corp-left{flex:1;background:#f3f4f6;display:flex;align-items:center;justify-content:center;padding:48px 40px}
.corp-org h4{font-size:20px;font-weight:700;margin-bottom:28px;text-align:center}
.corp-right{flex:1;background:#1a1a1a;padding:48px 40px;display:flex;flex-direction:column;justify-content:center}
.corp-logo{font-size:28px;font-weight:800;color:#3182f6;letter-spacing:-.03em;margin-bottom:36px}
.corp-info-list{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}
.corp-info-item h6{font-size:13px;font-weight:600;color:rgba(255,255,255,.5);margin-bottom:4px}
.corp-info-item p{font-size:15px;color:rgba(255,255,255,.85);line-height:1.5}
.corp-right .cert-row{gap:8px}
.corp-right .cert{background:rgba(49,130,246,.12);border-color:rgba(49,130,246,.25);color:#3182f6;font-size:12px;padding:6px 14px}
.corp-map{margin-top:40px}
.corp-map-title{font-size:20px;font-weight:700;margin-bottom:16px}
.org{display:flex;flex-direction:column;align-items:center;gap:0}
.org-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.org-row.wrap{gap:8px}
.org-line-v{width:2px;height:20px;background:#d1d5db;margin:0 auto}
.org-box{padding:12px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;text-align:center}
.org-box.ceo{background:#3182f6;color:#fff;border-color:#3182f6;font-weight:700}
.org-box.sm{padding:10px 16px;font-size:13px}
.cert-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:48px}
.cert{padding:10px 24px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;font-size:14px;font-weight:600;color:#1e40af}

/* === Info Accordion (센드버드 스타일) === */
.info-acc{padding:140px 0}
.info-acc:nth-of-type(even){background:#fafafa}
.info-acc__wrap{display:flex;align-items:center;gap:64px;max-width:1400px;margin:0 auto;padding:0 40px}
.info-acc--reverse .info-acc__wrap{flex-direction:row-reverse}
.info-acc__img{flex:1;border-radius:20px;overflow:hidden;min-height:620px;position:relative;background:#f3f4f6}
.info-acc__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .5s ease}
.info-acc__content{flex:1;max-width:560px}
.info-acc__content h2{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-bottom:40px}
.info-acc__items{display:flex;flex-direction:column}
.info-acc__item{border-bottom:1px solid #e5e7eb}
.info-acc__heading{width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 0;background:none;border:none;font-size:17px;font-weight:600;color:rgb(17,24,39);cursor:pointer;text-align:left;gap:16px}
.info-acc__icon{width:24px;height:24px;position:relative;flex-shrink:0}
.info-acc__icon::before,.info-acc__icon::after{content:'';position:absolute;background:rgb(156,163,175);border-radius:2px;transition:transform .3s}
.info-acc__icon::before{width:14px;height:2px;top:11px;left:5px}
.info-acc__icon::after{width:2px;height:14px;top:5px;left:11px}
.info-acc__item.is-active .info-acc__icon::after{transform:rotate(90deg)}
.info-acc__body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.info-acc__item.is-active .info-acc__body{max-height:300px}
.info-acc__body p{padding:0 0 24px;font-size:16px;color:rgb(75,85,99);line-height:1.7}
.info-acc__link{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:#3182f6;margin-bottom:24px;transition:opacity .2s}
.info-acc__link:hover{opacity:.7}

/* === Service List === */
.svc-list{padding:120px 0;border-top:none}
.svc-list--alt{background:#fff}
.svc-list__wrap{max-width:1100px;margin:0 auto}
.svc-list__header{display:flex;align-items:baseline;gap:12px;margin-bottom:56px;padding-bottom:0;border-bottom:none}
.svc-list__label{font-family:'Pretendard',sans-serif;font-size:13px;font-weight:700;color:#3182f6;letter-spacing:.04em}
.svc-list__sub{font-family:'Pretendard',sans-serif;font-size:13px;font-weight:500;letter-spacing:.04em;color:#bbb}
.svc-list__row{display:flex;align-items:center;gap:48px;padding:40px;border-radius:20px;margin-bottom:16px;border:1px solid rgba(0,0,0,.06);background:#fff;transition:box-shadow .25s ease,transform .25s ease}
.svc-list__row:hover{box-shadow:0 12px 40px rgba(0,0,0,.07);transform:translateY(-2px)}
.svc-list--alt .svc-list__row{flex-direction:row-reverse}
.svc-list__row:last-child{margin-bottom:0}
.svc-list__text{flex:1}
.svc-list__text h3{font-family:'Pretendard',sans-serif;font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.03em;color:#191f28;margin-bottom:10px}
.svc-list__text p{font-size:15px;line-height:1.7;color:#8b95a1;margin-bottom:24px;max-width:440px}
.svc-list__btns{display:flex;gap:10px;flex-wrap:wrap}
.svc-list__badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.02em;color:#3182f6;margin-bottom:8px}
.svc-list__img{flex:1;border-radius:14px;overflow:hidden;aspect-ratio:2/1;background:#f4f5f7;transition:all .4s ease;align-self:flex-start}
.expanded .svc-list__img{aspect-ratio:3/2}
.svc-list__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.svc-list__row:hover .svc-list__img img{transform:scale(1.03)}

/* Toggle detail */
.svc-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #e5e8eb;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;color:#8b95a1;cursor:pointer;transition:all .2s}
.svc-toggle:hover{border-color:#3182f6;color:#3182f6;background:rgba(49,130,246,.04)}
.svc-toggle__icon{transition:transform .3s}
.expanded .svc-toggle__icon{transform:rotate(180deg)}
.expanded .svc-toggle__text::after{content:'접기'}
.expanded .svc-toggle__text{font-size:0}
.expanded .svc-toggle__text::after{font-size:14px}
.svc-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease,margin .3s ease}
.expanded .svc-detail{max-height:800px;opacity:1;margin-top:24px}
.svc-detail__head h4{font-size:18px;font-weight:700;color:#191f28;margin-bottom:4px}
.svc-detail__head p{font-size:14px;color:#8b95a1;margin-bottom:20px}
.svc-detail__cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.svc-card{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid #f2f3f5;border-radius:14px;background:#fafbfc;transition:border-color .2s,background .2s}
.svc-card:hover{border-color:#3182f6;background:#eff6ff}
.svc-card__icon{color:#3182f6;margin-bottom:2px}
.svc-card strong{font-size:14px;font-weight:700;color:#333d4b}
.svc-card span{font-size:13px;color:#8b95a1;line-height:1.5}
.svc-detail__channels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.svc-channel{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;color:#3182f6;background:rgba(49,130,246,.06)}

/* Solution detail extras */
.svc-detail__cards--3col{grid-template-columns:repeat(3,1fr)}
.svc-detail__stats{display:flex;gap:12px;margin-bottom:24px}
.svc-stat{flex:1;padding:14px 12px;background:#f8f9fc;border-radius:10px;text-align:center}
.svc-stat strong{display:block;font-size:20px;font-weight:800;color:#3182f6;letter-spacing:-.02em}
.svc-stat span{font-size:11px;color:#888;margin-top:2px}
.svc-detail__targets{display:flex;gap:12px;margin-bottom:16px}
.svc-target{flex:1;padding:14px 12px;border:1px solid #f0f0f0;border-radius:10px}
.svc-target strong{display:block;font-size:13px;color:#222;margin-bottom:2px}
.svc-target span{font-size:12px;color:#888}
.svc-detail__schedule{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.svc-schedule-item{font-size:13px;color:#666;padding:8px 16px;background:#f8f9fc;border-radius:8px}
.svc-schedule-item strong{color:#111;margin-right:6px}

/* === Solution Section (다글로 스타일) === */
.sol-section{padding:120px 20px;display:flex;flex-direction:column;align-items:center;gap:64px}
.sol-title{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.03em;color:#191f28;text-align:center}
.sol-title em{font-style:normal;position:relative;display:inline-block}
.sol-title em::after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:8px;background:rgba(49,130,246,.25);border-radius:4px;z-index:-1;animation:solUnderline 1.2s ease both}
@keyframes solUnderline{from{width:0}to{width:100%}}
.sol-header{display:flex;flex-direction:column;align-items:center;gap:12px}
.sol-header__badge{font-size:14px;font-weight:700;letter-spacing:.12em;color:#3182f6;padding:8px 20px;border:1px solid rgba(49,130,246,.25);border-radius:999px;background:rgba(49,130,246,.06)}
.sol-features{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:80px}
.sol-row{display:flex;align-items:center;gap:200px}
.sol-row--reverse{flex-direction:row-reverse}
.sol-text{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px;padding:16px 0;word-break:keep-all}
.sol-label{font-size:28px;font-weight:700;color:#3182f6}
.sol-heading{font-size:clamp(20px,2.8vw,28px);font-weight:700;line-height:1.4;letter-spacing:-.02em;color:#191f28;word-break:keep-all}
.sol-desc{font-size:15px;line-height:1.8;color:#8b95a1;word-break:keep-all}
.sol-img{flex:1 1 0;min-width:0;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px}
.nb{white-space:nowrap}
.sol-img img{width:100%;min-height:280px;max-height:360px;object-fit:contain;object-position:center;display:block}

/* Toggle button */
.sol-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid #e5e8eb;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:500;color:#8b95a1;cursor:pointer;transition:all .2s;width:fit-content}
.sol-toggle:hover{border-color:#3182f6;color:#3182f6;background:rgba(49,130,246,.04)}
.sol-toggle__icon{transition:transform .3s}
.sol-expanded .sol-toggle__icon{transform:rotate(180deg)}
.sol-expanded .sol-toggle__text{font-size:0}
.sol-expanded .sol-toggle__text::after{content:'접기';font-size:14px}

/* Detail panel */
.sol-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .3s ease}
.sol-expanded .sol-detail{max-height:800px;opacity:1}
.sol-detail__cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.sol-detail__cards--3col{grid-template-columns:repeat(3,1fr)}
.sol-card{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid #f2f3f5;border-radius:12px;background:#fafbfc;transition:border-color .2s;min-width:0}
.sol-card:hover{border-color:#3182f6;background:#eff6ff}
.sol-card strong{font-size:14px;font-weight:700;color:#333d4b;word-break:keep-all}
.sol-card strong .nb{color:#333d4b}
.sol-card span{font-size:13px;color:#8b95a1;line-height:1.5;word-break:keep-all;overflow-wrap:break-word}
.sol-card .nb{white-space:normal}
.sol-detail__stats{display:flex;gap:10px;margin-bottom:16px}
.sol-stat{flex:1;padding:12px;background:#f8f9fc;border-radius:10px;text-align:center}
.sol-stat strong{display:block;font-size:20px;font-weight:800;color:#3182f6}
.sol-stat span{font-size:11px;color:#888}
.sol-detail__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.sol-detail__tags span{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;color:#3182f6;background:rgba(49,130,246,.06)}
.sol-detail__targets{display:flex;gap:10px;margin-bottom:12px}
.sol-target{flex:1;padding:12px;border:1px solid #f0f0f0;border-radius:10px}
.sol-target strong{display:block;font-size:13px;color:#222;margin-bottom:2px}
.sol-target span{font-size:12px;color:#888}
.sol-detail__schedule{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.sol-detail__schedule span{font-size:13px;color:#666;padding:6px 14px;background:#f8f9fc;border-radius:8px}
.sol-detail__schedule strong{color:#111;margin-right:4px}
.sol-detail__btns{display:flex;gap:10px}

@media(max-width:768px){
  .sol-section{gap:40px;padding:80px 20px}
  .sol-features{gap:56px}
  .sol-row,.sol-row--reverse{flex-direction:column-reverse;gap:24px}
  .sol-img{width:100%}
  .sol-img img{min-height:auto;max-height:240px}
  .sol-detail__cards,.sol-detail__cards--3col{grid-template-columns:1fr}
  .sol-detail__stats,.sol-detail__targets{flex-direction:column}
}

/* === Contact CTA (다글로 스타일) === */

/* === Careers Section === */
.section--dark{color:#e2e8f0}
.careers{position:relative;padding:120px 0;overflow:hidden}
.careers__bg-image{position:absolute;inset:0;z-index:0}
.careers__bg-image img{width:100%;height:100%;object-fit:cover;opacity:.15}
.careers__bg-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(15,23,42,.85))}
.section__container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 40px}
.section__label{font-size:14px;font-weight:700;letter-spacing:.12em;display:block;margin-bottom:12px}
.section__title{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.3;color:#fff;margin-bottom:16px}
.section__desc{font-size:17px;color:#94a3b8;line-height:1.7;margin-bottom:48px}
.careers__traits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}
.card--dark{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:32px 24px;transition:border-color .2s,background .2s}
.card--dark:hover{border-color:rgba(139,183,248,.3);background:rgba(255,255,255,.08)}
.careers__trait-icon{color:#8bb7f8;margin-bottom:16px}
.careers__trait-title{font-size:20px;font-weight:800;color:#fff}
.careers__trait-subtitle{font-size:13px;font-weight:500;color:#8bb7f8;margin-bottom:12px}
.careers__trait-desc{font-size:14px;color:#94a3b8;line-height:1.7}
.careers__benefits{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:56px}
.careers__benefit-chip{padding:10px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);font-size:14px;font-weight:500;color:#cbd5e1}
.careers__cta{text-align:center;padding:48px 32px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px}
.careers__cta-title{font-size:22px;font-weight:700;color:#fff;margin-bottom:8px}
.careers__cta-desc{font-size:15px;color:#94a3b8;margin-bottom:24px}
.btn--primary{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:#3182f6;color:#fff;border-radius:12px;font-size:15px;font-weight:600;transition:background .2s}
.btn--primary:hover{background:#1b64da}
@media(max-width:768px){
  .careers{padding:80px 0}
  .section__container{padding:0 20px}
  .careers__traits{grid-template-columns:1fr;gap:12px}
  .careers__benefits{gap:8px}
  .careers__benefit-chip{padding:8px 14px;font-size:13px}
  .careers__cta{padding:32px 20px}
}

.contact-cta{position:relative;padding:80px 40px;background:linear-gradient(135deg,#edf6ff,#eff6ff);overflow:hidden}
.contact-cta__blur{position:absolute;top:-40px;left:20%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(49,130,246,.2),rgba(49,130,246,0) 70%);filter:blur(60px);pointer-events:none}
.contact-cta__inner{position:relative;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:48px}
.contact-cta__left{flex:1;display:flex;flex-direction:column;gap:16px}
.contact-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.contact-tab{padding:10px 22px;border-radius:999px;border:1px solid #e5e8eb;background:#fff;font-size:14px;font-weight:600;color:#8b95a1;cursor:pointer;transition:all .2s}
.contact-tab:hover{border-color:#3182f6;color:#3182f6}
.contact-tab.active{background:#3182f6;border-color:#3182f6;color:#fff}
.contact-panel{display:none}
.contact-panel.active{display:block}
.contact-cta__title{font-size:clamp(24px,3.5vw,34px);font-weight:800;letter-spacing:-.03em;color:#191f28;line-height:1.45}
.contact-cta__desc{font-size:15px;line-height:1.8;color:#6b7280;margin-top:16px}
.contact-cta__right{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 4px 24px rgba(0,0,0,.06);min-width:280px}
.contact-cta__item{display:flex;align-items:center;gap:12px;padding:14px 0}
.contact-cta__row{display:flex;align-items:center;gap:24px}
.contact-cta__vdivider{width:1px;height:32px;background:#e5e8eb}
.contact-cta__label{font-size:13px;font-weight:600;color:#aaa;white-space:nowrap}
.contact-cta__val{font-size:16px;font-weight:700;color:#191f28;display:inline-flex;align-items:center;gap:6px}
.contact-cta__copy{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:6px;border:1px solid #e5e8eb;background:#fafbfc;color:#aaa;font-size:11px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .15s}
.contact-cta__copy:hover{border-color:#3182f6;color:#3182f6;background:#eff6ff}
@media(max-width:768px){
  .contact-cta__inner{flex-direction:column;text-align:center;gap:32px}
  .contact-cta__right{width:100%;min-width:0}
  .contact-cta__row{flex-direction:column;gap:0}
  .contact-cta__vdivider{width:100%;height:1px}
}

/* === Footer === */
.footer{padding:72px 0;background:rgb(17,24,39);color:rgb(156,163,175)}
.footer-inner{display:flex;align-items:flex-start;gap:40px;flex-wrap:wrap}
.footer-logo-img{height:36px;width:auto}
.footer-info p{font-size:16px;line-height:2}
.copy{margin-top:8px;font-size:13px;color:rgb(107,114,128)}

/* === Responsive === */
@media(max-width:960px){
  .contact-row{flex-direction:column;gap:12px}
  .history-wrap{flex-direction:column;max-height:none;overflow:visible}
  .history-left{width:100%;position:static;transform:none;display:flex;align-items:center;gap:16px;padding:0 0 32px;flex-wrap:wrap}
  .era-range{font-size:36px}
  .era-subtitle{font-size:16px;margin-top:0}
  .era-dots{margin-top:0}
  .history-center{display:none}
  .history-right{padding-left:0;max-height:none;overflow:visible}
  .tl-dot-row{display:none}
  .info-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .container{padding:0 20px}
  .gnb-inner{padding:0 20px;height:60px}
  .logo-img{height:24px}
  .nav-menu{display:none}
  .mobile-toggle{display:flex}
  .nav-menu.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#fff;padding:24px;gap:20px;border-bottom:1px solid #e5e7eb;box-shadow:0 8px 24px rgba(0,0,0,.08)}

  /* Hero */
  .hero{height:auto;min-height:70vh;padding:100px 20px 60px}
  .hero__icon{width:56px;height:56px;border-radius:16px;margin-bottom:20px}
  .hero__send{width:24px;height:24px}
  .hero__sub{font-size:15px}
  .hero__cta{flex-direction:column;gap:10px;align-items:center}
  .hero__btn{padding:16px 36px;font-size:15px;width:100%;max-width:280px;text-align:center}

  /* Stats */
  .stats-section{padding:48px 0}
  .stats-nums{flex-direction:column;gap:24px;align-items:center}
  .stats-row{flex-direction:column;gap:24px;align-items:center}

  /* About */
  .about-section{padding:80px 0}
  .about-big-text p{font-size:clamp(24px,7vw,40px)}

  /* History */
  .history-section{padding:48px 0}
  .history-wrap{padding:0 20px;max-height:none;overflow:visible}
  .history-right{max-height:none;overflow:visible}
  .era-head-text{font-size:clamp(18px,5vw,24px);padding-top:40px;margin-bottom:24px}
  .year-title{font-size:22px}
  .year-items p{font-size:15px}
  .year-group{margin-bottom:24px}

  /* Solutions / Services */
  .sol-section{gap:40px;padding:60px 16px}
  .sol-features{gap:48px}
  .sol-row,.sol-row--reverse{flex-direction:column-reverse;gap:20px}
  .sol-img{width:100%}
  .sol-img img{min-height:auto;max-height:240px}
  .sol-heading{font-size:clamp(20px,5vw,26px)}
  .sol-desc{font-size:14px}
  .sol-detail__cards,.sol-detail__cards--3col{grid-template-columns:1fr}
  .sol-detail__stats,.sol-detail__targets{flex-direction:column}
  .sol-detail__btns{flex-direction:column;gap:8px}
  .sol-detail__btns .btn-primary,
  .sol-detail__btns .btn-outline{text-align:center;width:100%}
  .sol-detail__schedule{flex-direction:column;gap:8px}

  /* Service list */
  .svc-list__row{flex-direction:column;gap:24px;padding:24px}
  .svc-list--alt .svc-list__row{flex-direction:column}
  .svc-list__img{width:100%;aspect-ratio:16/9}
  .svc-detail__cards,.svc-detail__cards--3col{grid-template-columns:1fr}
  .svc-detail__stats,.svc-detail__targets{flex-direction:column}

  /* Corp */
  .corp-card{flex-direction:column}
  .corp-left,.corp-right{padding:32px 20px}

  /* Info accordion */
  .info-acc{padding:80px 0}
  .info-acc__wrap{flex-direction:column!important;gap:32px;padding:0 20px}
  .info-acc__img{min-height:220px;width:100%}

  /* Contact */
  .contact-cta{padding:60px 20px}
  .contact-cta__inner{flex-direction:column;text-align:center;gap:28px}
  .contact-cta__title{font-size:clamp(22px,5vw,28px)}
  .contact-cta__right{width:100%;min-width:0;padding:20px 24px}
  .contact-tabs{justify-content:center}
  .contact-tab{padding:8px 16px;font-size:13px}
  .contact-cta__item{flex-direction:column;gap:6px;align-items:center}
  .contact-cta__val{font-size:15px}

  /* Footer */
  .footer{padding:48px 0}
  .footer-inner{flex-direction:column;align-items:center;text-align:center;gap:24px}
  .footer-info p{font-size:14px;line-height:1.8}
}

/* 로고 캐러셀 */
.logo-carousel-section {
  padding: 60px 0;
  background: #fff;
  overflow: hidden;
}
.logo-carousel-title {
  text-align: center;
  font-size: clamp(24px,3.5vw,36px);
  font-weight: 600;
  color: #b0b8c1;
  letter-spacing: -.02em;
  line-height: 1.3;
  margin-bottom: 40px;
  font-family: 'Pretendard', system-ui, -apple-system, 'Apple SD Gothic Neo', sans-serif;
  word-break: keep-all;
}
.logo-card {
  text-align: center;
  margin-bottom: 40px;
}
.logo-carousel {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.logo-track {
  display: flex;
  align-items: center;
  gap: 48px;
  width: max-content;
  animation: logoScroll 40s linear infinite;
}
.logo-track img {
  flex-shrink: 0;
  height: 40px;
  width: 120px;
  object-fit: contain;
  object-position: center center;
  opacity: 0.85;
  transition: opacity 0.3s ease;
  mix-blend-mode: multiply;
  image-rendering: -webkit-optimize-contrast;
  display: block;
}
.logo-track img:hover { opacity: 1; }
.logo-track img[src*="logo_messaging_1.png"],
.logo-track img[src*="logo_public_1.png"],
.logo-track img[src*="logo_public_3.png"] {
  height: 52px;
  width: 140px;
}
@keyframes logoScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 768px) {
  .logo-carousel-section { padding: 40px 0; }
  .logo-track { gap: 32px; }
  .logo-track img { height: 36px; }
}

/* Services 섹션 연보라색 테마 */
#services .sol-header__badge{color:#8b5cf6;border-color:rgba(139,92,246,.25);background:rgba(139,92,246,.06)}
#services .sol-label{font-size:28px;color:#8b5cf6}
#services .sol-detail__tags span{color:#8b5cf6;background:rgba(139,92,246,.06)}
#services .btn-primary{background:#8b5cf6}
#services .btn-primary:hover{background:#7c3aed}
#services .btn-outline:hover{border-color:#8b5cf6;color:#8b5cf6}
#services .sol-title em::after{background:rgba(139,92,246,.25)}
#services .sol-desc{font-size:14px}
